-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
questionFurther information is requestedFurther information is requested
Description
- Operating System:
- Docker image on Ubuntu 22.04
- Installation type:
- binaries
- ROS Version
- ROS2, Humble
- Version or commit hash:
- Package: ros-humble-navigation2
Version: 1.1.6-1jammy.20230426.153445 - Package: ros-humble-slam-toolbox
Version: 2.6.4-1jammy.20230426.114424
- Package: ros-humble-navigation2
- Laser unit:
- simulated in Gazebo Fortress
- DDS implementation:
- Cyclone DDS
Steps to reproduce issue
- Instruction on setting up Docker container. Please make sure you are on the
pr-add_navigationbranch (link to my open PR). - Instructions on running the robot and starting navigation.
- Link to my nav2_parameters.yaml
Expected behavior
I have been experiencing several issues with the clock as I setup my robot to run in Gazebo. As you can see in my launch file I have use_sim_time set to True and below have verified through the parameter server that its set properly.
Here is the output from a few of the nodes on the parameter server...
# ros2 param get slam_toolbox use_sim_time
Boolean value is: True
# ros2 param get bt_navigator use_sim_time
Boolean value is: True
# ros2 param get lifecycle_manager_navigation use_sim_time
Boolean value is: True
# ros2 param get robot_state_publisher use_sim_time
Boolean value is: True
# ros2 param get joint_state_broadcaster use_sim_time
Boolean value is: True
Here is what the beginning of my /scan message looks like:
header:
stamp:
sec: 3
nanosec: 420000000
frame_id: base_laser
and /tf_static data for the base_laser frame:
- header:
stamp:
sec: 0
nanosec: 0
frame_id: base_laser_mount
child_frame_id: base_laser
- When I run the navigation stack with a dummy map that I have previously made I get errors about my LIDAR's frame_id data not being in sync with the system clock.
[component_container_isolated-2] [amcl 1684977727.446646155]: Message Filter dropping message: frame 'base_laser' at time 37.760 for reason 'the timestamp on the message is earlier than all the data in the transform cache'
And a map is never published so I get tf errors:
[component_container_isolated-2] [global_costmap.global_costmap 1684977727.002686044]: Timed out waiting for transform from base_link to map to become available, tf error: Invalid frame ID "map" passed to canTransform argument target_frame - frame does not exist
- If I try to run SLAM I get spammed with errors in the console saying the message queue is full and if I try to navigate the robot somewhere I can see that
transformPoseInTargetFramenode is using the system clock.
[sync_slam_toolbox_node-5] [slam_toolbox 1684848588.260446441]: Message Filter dropping message: frame 'base_laser' at time 59.460 for reason 'discarding message because the queue is full'
[component_container_isolated-2] [transformPoseInTargetFrame 1684848588.293940594]: Extrapolation Error looking up target frame: Lookup would require extrapolation into the future. Requested time 1684848585.909372 but the latest data is at time 59.498000, when looking up transform from frame [base_link] to frame [map]
Actual behavior
I cant navigate or SLAM in sim.
Metadata
Metadata
Assignees
Labels
questionFurther information is requestedFurther information is requested