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
29b3460a
Commit
29b3460a
authored
Dec 31, 2014
by
adrianamor
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
implemented robot phases and px4 STD
parent
d622e3f5
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
9 additions
and
39 deletions
+9
-39
include/eskf_odom_alg.h
include/eskf_odom_alg.h
+0
-2
launch/params.yaml
launch/params.yaml
+3
-1
src/eskf_odom_alg.cpp
src/eskf_odom_alg.cpp
+1
-34
src/eskf_odom_alg_node.cpp
src/eskf_odom_alg_node.cpp
+5
-2
No files found.
include/eskf_odom_alg.h
View file @
29b3460a
...
...
@@ -31,8 +31,6 @@
//include eskf_odom_alg main library
const
double
PX4_MIN_HEIGHT
=
0.31
;
/**
* \brief IRI ROS Specific Driver Class
*
...
...
launch/params.yaml
View file @
29b3460a
...
...
@@ -15,7 +15,9 @@ imu_wb_std: [0.0,0.0,0.0]
imu_method
:
continuous
#Sets the data time nature (continous or discrete).
# PX4 STD values
px4_std
:
[
0.01
,
0.1
,
0.1
]
px4_std_landed
:
[
0.1
,
0.001
,
0.001
]
px4_std_below30cm
:
[
10.0
,
10.0
,
10.0
]
px4_std_30cmto5m
:
[
0.01
,
0.15
,
0.15
]
# Initial Nominal-State vector (p,v,q,ab,wb,g)
xstate0
:
[
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
1.0
,
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
0.0
,
-9.803057
]
...
...
src/eskf_odom_alg.cpp
View file @
29b3460a
...
...
@@ -36,38 +36,5 @@ void EskfOdomAlgorithm::print_ini_params()
void
EskfOdomAlgorithm
::
set_obs_phase
(
const
bool
&
flying
,
const
double
&
gnd_dist
)
{
Robot
::
kinton_phases
phase
;
this
->
filter_
.
get_robot_phase
(
phase
);
switch
(
phase
)
{
case
Robot
::
LANDED
:
if
(
flying
){
this
->
filter_
.
set_robot_phase
(
Robot
::
TOFF
);
this
->
filter_
.
print_robot_phase
();
}
break
;
case
Robot
::
TOFF
:
if
(
gnd_dist
>
PX4_MIN_HEIGHT
){
this
->
filter_
.
set_robot_phase
(
Robot
::
FLYING
);
this
->
filter_
.
print_robot_phase
();
}
break
;
case
Robot
::
FLYING
:
if
(
gnd_dist
<
PX4_MIN_HEIGHT
){
this
->
filter_
.
set_robot_phase
(
Robot
::
LANDING
);
this
->
filter_
.
print_robot_phase
();
}
break
;
case
Robot
::
LANDING
:
if
(
!
flying
){
this
->
filter_
.
set_robot_phase
(
Robot
::
LANDED
);
this
->
filter_
.
print_robot_phase
();
}
else
if
(
gnd_dist
>
PX4_MIN_HEIGHT
){
this
->
filter_
.
set_robot_phase
(
Robot
::
FLYING
);
this
->
filter_
.
print_robot_phase
();
}
break
;
}
this
->
filter_
.
set_obs_phase
(
flying
,
gnd_dist
);
}
\ No newline at end of file
src/eskf_odom_alg_node.cpp
View file @
29b3460a
...
...
@@ -18,7 +18,7 @@ EskfOdomAlgNode::EskfOdomAlgNode(void) :
// Initialize ROBOT phase
this
->
flying_
=
false
;
this
->
gnd_dist_
=
PX4_MIN_HEIGHT
;
// a little bit more than the minimum distance PX4 can detect (0.3m)
this
->
gnd_dist_
=
0
;
// a little bit more than the minimum distance PX4 can detect (0.3m)
// [init publishers]
...
...
@@ -87,7 +87,10 @@ void EskfOdomAlgNode::read_and_set_ini_params(void)
// PX4 STD values
Sensor
::
px4_params
px4_params
;
px4_params
.
std
=
read_vec
(
"px4_std"
,
3
);
px4_params
.
std_landed
=
read_vec
(
"px4_std_landed"
,
3
);
px4_params
.
std_below30cm
=
read_vec
(
"px4_std_below30cm"
,
3
);
px4_params
.
std_30cmto5m
=
read_vec
(
"px4_std_30cmto5m"
,
3
);
px4_params
.
std
=
px4_params
.
std_landed
;
// Considering initially landed
// Initialize Nominal-State vector
VectorXd
x_state
=
read_vec
(
"xstate0"
,
19
);
...
...
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