Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
6
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Switch to GitLab Next
Sign in / Register
Toggle navigation
eskf_odometry_ros
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Iterations
Merge Requests
0
Merge Requests
0
Requirements
Requirements
List
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Test Cases
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Package Registry
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issue
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Angel Santamaria-Navarro
C
code
S
state_estimation
eskf_odometry
eskf_odometry_ros
Commits
c6456e04
Commit
c6456e04
authored
Jan 05, 2015
by
adrianamor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
TAG: Debugged with read_from_file! Working with computation using global and local frame method
parent
d125cf91
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
9 deletions
+14
-9
include/eskf_odom_alg.h
include/eskf_odom_alg.h
+2
-1
launch/params.yaml
launch/params.yaml
+1
-1
src/eskf_odom_alg.cpp
src/eskf_odom_alg.cpp
+2
-2
src/eskf_odom_alg_node.cpp
src/eskf_odom_alg_node.cpp
+9
-5
No files found.
include/eskf_odom_alg.h
View file @
c6456e04
...
...
@@ -172,8 +172,9 @@ class EskfOdomAlgorithm
* Input:
* t: Time stamp.
* val: Sensor readings: val = [pz;vx;vy].
* flow: Optical flow raw reading flow = [flow_x,flow_y].
*/
void
set_px4_reading
(
const
double
&
t
,
const
Vector3d
val
);
void
set_px4_reading
(
const
double
&
t
,
const
Vector3d
&
val
,
const
Vector2d
&
flow
);
/**
* \brief Nominal State Propagation
...
...
launch/params.yaml
View file @
c6456e04
...
...
@@ -12,7 +12,7 @@ imu_a_std: [0.2,0.2,0.2]
imu_w_std
:
[
0.005
,
0.005
,
0.005
]
imu_ab_std
:
[
0.0
,
0.0
,
0.0
]
imu_wb_std
:
[
0.0
,
0.0
,
0.0
]
imu_method
:
discrete
#Sets the data time nature (continous
or discrete
).
imu_method
:
discrete
#Sets the data time nature (continous
: simulated IMU or discrete: IMU sensor
).
# PX4 STD values
px4_std_landed
:
[
0.1
,
0.001
,
0.001
]
...
...
src/eskf_odom_alg.cpp
View file @
c6456e04
...
...
@@ -44,9 +44,9 @@ void EskfOdomAlgorithm::set_imu_reading(const double& t, const Vector3d& a, cons
this
->
filter_
.
set_imu_reading
(
t
,
a
,
w
);
}
void
EskfOdomAlgorithm
::
set_px4_reading
(
const
double
&
t
,
const
Vector3d
val
)
void
EskfOdomAlgorithm
::
set_px4_reading
(
const
double
&
t
,
const
Vector3d
&
val
,
const
Vector2d
&
flow
)
{
this
->
filter_
.
set_px4_reading
(
t
,
val
);
this
->
filter_
.
set_px4_reading
(
t
,
val
,
flow
);
}
void
EskfOdomAlgorithm
::
prop_nominal
(
void
)
...
...
src/eskf_odom_alg_node.cpp
View file @
c6456e04
...
...
@@ -246,6 +246,9 @@ void EskfOdomAlgNode::mainNodeThread(void)
// [publish messages]
// Set Quadrotor State
this
->
alg_
.
lock
();
// protect algorithm
this
->
alg_
.
set_obs_phase
(
this
->
flying_
,
this
->
gnd_dist_
);
// Set observation phase (Landed, toff, Flying or Landing)
this
->
alg_
.
unlock
();
#ifdef READ_FROM_FILE
...
...
@@ -284,12 +287,17 @@ void EskfOdomAlgNode::mainNodeThread(void)
this
->
gnd_dist_
=
this
->
px4_
[
this
->
px4_idx_
][
4
];
double
vx
=
this
->
px4_
[
this
->
px4_idx_
][
7
];
double
vy
=
-
this
->
px4_
[
this
->
px4_idx_
][
8
];
// axis change according to simulation
double
flowx
=
this
->
px4_
[
this
->
px4_idx_
][
5
];
double
flowy
=
-
this
->
px4_
[
this
->
px4_idx_
][
6
];
// axis change according to simulation
Vector3d
val
;
val
<<
this
->
gnd_dist_
,
vx
,
vy
;
Vector2d
flow
;
flow
<<
flowx
,
flowy
;
this
->
alg_
.
lock
();
this
->
alg_
.
set_px4_reading
(
t_px4
,
val
);
// Set values into filter object
this
->
alg_
.
set_px4_reading
(
t_px4
,
val
,
flow
);
// Set values into filter object
this
->
alg_
.
obs_error_and_up_nominal
();
// Error observation and Nominal-State Update
this
->
alg_
.
unlock
();
...
...
@@ -311,10 +319,6 @@ void EskfOdomAlgNode::mainNodeThread(void)
#endif
this
->
alg_
.
lock
();
// protect algorithm
this
->
alg_
.
set_obs_phase
(
this
->
flying_
,
this
->
gnd_dist_
);
// Set observation phase (Landed, toff, Flying or Landing)
this
->
alg_
.
unlock
();
#ifndef READ_FROM_FILE
if
(
this
->
new_imu_
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment