This post was updated on .
Hi matteu,
after that i run a bag file, and then rtabmap, it shows me the following error: "guess_frame_id" is set, but guess cannot be computed between frames "odom" -> "base_link". Aborting odometry update... I have activeted the icp_odometry, and I have the following setting in rtabmap.launch file: <arg if="$(arg icp_odometry)" name="icp_odometry" value="true" /> <arg if="$(arg icp_odometry)" name="odom_guess_frame_id" value="odom" /> <arg if="$(arg icp_odometry)" name="vo_frame_id" value="icp_odom" /> <arg unless="$(arg slam2d)" name="wait_imu_to_init" value="true" /> <arg if="$(arg lidar3d)" name="odom_args" value="--Icp/CorrespondenceRatio 0.01"/> <arg name="frame_id" default="base_link"/> <arg name="odom_frame_id" default="icp_odom"/> <arg name="odom_frame_id_init" default=""/> <arg name="map_frame_id" default="map"/ How can i resolve this error? |
Dear Mattieu,
in the main launch file you have set: param name="guess_frame_id" type="string" value="$(arg odom_guess_frame_id)" and when i activate icp_odometry, guess_fame_id is activated as well, because: (pay attention to the second line in the following part) <arg if="$(arg icp_odometry)" name="icp_odometry" value="true" /> <arg if="$(arg icp_odometry)" name="odom_guess_frame_id" value="odom" /> <arg if="$(arg icp_odometry)" name="vo_frame_id" value="icp_odom" /> <arg unless="$(arg slam2d)" name="wait_imu_to_init" value="true" /> <arg if="$(arg lidar3d)" name="odom_args" value="--Icp/CorrespondenceRatio 0.01"/> so there is no way to not to use guess_frame_id! what should i do to remove the error: "guess_frame_id" is set, but guess cannot be computed between frames "odom" -> "base_link". Aborting odometry update... |
Dear AMttieu,
Would you please help me to solve this problem? Thanks a lot |
In reply to this post by Masoumeh
hi everyone,
I get stuck in this stage, i would be grateful, if anybody can support. Thanks a lot |
Administrator
|
Which node is publishing /odom->/base_link? if there is no node publishing it, remove odom_guess_frame_id.
|
hi,
odom --> base_link is publishing by robot-localization pkg which is stored in the robot side. as i activate the icp-odometry, guess frame-id is also activated as well, because of the setting which you have defined: param name="guess_frame_id" type="string" value="$(arg odom_guess_frame_id)" <arg if="$(arg icp_odometry)" name="icp_odometry" value="true" /> <arg if="$(arg icp_odometry)" name="odom_guess_frame_id" value="odom" /> (HERE I MEAN!) <arg if="$(arg icp_odometry)" name="vo_frame_id" value="icp_odom" /> <arg unless="$(arg slam2d)" name="wait_imu_to_init" value="true" /> <arg if="$(arg lidar3d)" name="odom_args" value="--Icp/CorrespondenceRatio 0.01"/> thanks |
Administrator
|
Hi,
well I think this was for a specific example. In your case, if robot_localization is depending on icp_odometry to publish its odometry, and icp_odometry is waiting for robot_localization output, this is a deadlock. |
This post was updated on .
Dear mattieu,
robot-localization is not depending on icp-odometry. actually we are using two instances of robot-localization pkg, one of them provide the /odometry/filtered topic for odom->baselink. (local odometry) the other one provides global odometry (/odometry/filtered_map) between map->odom. but as i want to do navigation based on gps, I used rtabmap just as a map provider, and I have activated icp-odometry as well to provide the odometry information for merging with the global odometry information. now my frame is sth like this: frames_RITA2.png rosgraph.svg but now the problem is that: 1) i have ERROR related the guess-frame-id: "guess_frame_id" is set, but guess cannot be computed between frames "odom" -> "base_link" 2) in RVIZ, the vehicle is moving a lot, the lidar points always changing, when the vehicle wants to turn, the point clouds is also turning so the poit cloud is not matched with the 2d map anymore In the following you can see my launch file: ekf_se_map: frequency: 30 sensor_timeout: 0.1 two_d_mode: true transform_time_offset: 0.0 transform_timeout: 0.0 print_diagnostics: true debug: false map_frame: map odom_frame: icp_odom base_link_frame: base_link world_frame: map # ------------------------------------- # Wheel odometry: odom0: /warthog_velocity_controller/odom odom0_config: [false, false, false, false, false, false, true, true, false, false, false, true, false, false, false] odom0_queue_size: 10 odom0_nodelay: true odom0_differential: false odom0_relative: false # ------------------------------------- # GPS odometry: odom1: /outdoor_waypoint_nav/odometry/gps odom1_config: [true, true, false, false, false, false, false, false, false, false, false, false, false, false, false] odom1_queue_size: 10 odom1_nodelay: true odom1_differential: false odom1_relative: false # ------------------------------------- # Lidar odometry: # velocity from odometry odom2: /rtabmap/odom odom2_config: [false, false, false, false, false, false, true, true, false, false, false, true, false, false, false] odom2_queue_size: 10 odom2_nodelay: true odom2_differential: true odom2_relative: false #.................................................. #Localization_Pose pose0: /rtabmap/localization_pose pose0_config: [true, true, false, false, false, true, false, false, false, false, false, false, false, false, false] pose0_queue_size: 10 pose0_differential: false pose0_relative: false # -------------------------------------- # imu configure: imu0: /gx5/imu/data imu0_config: [false, false, false, false, false, true, false, false, false, true, true, false, true, true, false] imu0_nodelay: true imu0_differential: true imu0_relative: false # imu0_queue_size: 10 imu0_remove_gravitational_acceleration: true use_control: false process_noise_covariance: [1.0, 0, 0, 0, 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, 1e-3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 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.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.3] initial_estimate_covariance: [1.0, 0, 0, 0, 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, 1e-9, 0, 0, 0, 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, 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1e-9, 0, 0, 0, 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, 1.0, 0, 0, 0, 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, 1.0, 0, 0, 0, 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, 1.0, 0, 0, 0, 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, 1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.0] |
Free forum by Nabble | Edit this page |