ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
So this you really checkout this? Because there are some notes you dont follow. They suggest that you actually run two robot_localization
nodes. One in the odom frame where you fuse only continuous data such as odometry and/or an IMU. Another instance of the robot_localization
fuses this data too but additionally the GPS data.
What I think that you really wanted to do so but what I just see in your launch file is that you start ekf_se_odom
but not the instance of ekf_se_map
.
So another thing is that you don't set the parameters of the navsat_transform_node
like f.e. here.
Also you dont remap to the imu
and the GPS
data. Please check if the default one are correct.
So ok the navsat_transform_node
needs now the input of the ekf_se_odom
what means that your remapping is currently wrong. Your ekf_se_odom
dont remap so its default output is /odometry/filtered
. But you change the input from the navsat_transform_node
to odometry/filtered_map
(wherever this comes from). So just dont remap in this case.
Than you need to feed your ekf_se_map
with the complete data of ekf_se_odom
and additionally with the output of your navsat_transform_node
which is publishing its data by default to /odometry/gps
.
2 | No.2 Revision |
So this you really checkout this? Because there are some notes you dont follow. They suggest that you actually run two robot_localization
nodes. One in the odom frame where you fuse only continuous data such as odometry and/or an IMU. Another instance of the robot_localization
fuses this data too but additionally the GPS data.
What I think that you really wanted to do so but what I just see in your launch file is that you start ekf_se_odom
but not the instance of ekf_se_map
.
So another thing is that you don't set the parameters of the navsat_transform_node
like f.e. here.
Also you dont remap to the imu
and the GPS
data. Please check if the default one are correct.
So ok the navsat_transform_node
needs now the input of the ekf_se_odom
what means that your remapping is currently wrong. Your ekf_se_odom
dont remap so its default output is /odometry/filtered
. But you change the input from the navsat_transform_node
to odometry/filtered_map
(wherever this comes from). So just dont remap in this case.
Than you need to feed your ekf_se_map
with the complete data of ekf_se_odom
and additionally with the output of your navsat_transform_node
which is publishing its data by default to /odometry/gps
.
Edit to comment:
No you need the ekf_se_odom
as well! So you need two instances of the EKF of the robot_localization. The ekf_se_odom
is also an input for the navsat_transform_node
. The instance ekf_se_map
get than also the same input of the ekf_se_odom
plus the output of the navsat_transform_node
.
3 | No.3 Revision |
So this you really checkout this? Because there are some notes you dont follow. They suggest that you actually run two robot_localization
nodes. One in the odom frame where you fuse only continuous data such as odometry and/or an IMU. Another instance of the robot_localization
fuses this data too but additionally the GPS data.
What I think that you really wanted to do so but what I just see in your launch file is that you start ekf_se_odom
but not the instance of ekf_se_map
.
So another thing is that you don't set the parameters of the navsat_transform_node
like f.e. here.
Also you dont remap to the imu
and the GPS
data. Please check if the default one are correct.
So ok the navsat_transform_node
needs now the input of the ekf_se_odom
what means that your remapping is currently wrong. Your ekf_se_odom
dont remap so its default output is /odometry/filtered
. But you change the input from the navsat_transform_node
to odometry/filtered_map
(wherever this comes from). So just dont remap in this case.
Than you need to feed your ekf_se_map
with the complete data of ekf_se_odom
and additionally with the output of your navsat_transform_node
which is publishing its data by default to /odometry/gps
.
Edit to comment:
No you need the ekf_se_odom
as well! So you need two instances of the EKF of the robot_localization. The ekf_se_odom
is also an input for the navsat_transform_node
. The instance ekf_se_map
get than also the same input of the ekf_se_odom
plus the output of the navsat_transform_node
.
So you need two lines like:
<node pkg="ivlocalization" type="ekf_localization_node" name="ekf_se_map" clear_params="true" output="screen">
<node pkg="ivlocalization" type="ekf_localization_node" name="ekf_se_odom" clear_params="true" output="screen">