-
Notifications
You must be signed in to change notification settings - Fork 71
rplidar_link ros2 launch turtlebot4_viz view_robot.launch.py namespace:='tb4' #690
Description
Robot Model
Turtlebot4 Standard
ROS distro
Humble
Networking Configuration
Discovery Server
OS
Ubuntu 22.04
Built from source or installed?
Built from Source
Package version
ubuntu@ubuntu:~/turtlebot4_ws/src/turtlebot4$ git rev-parse HEAD
7fd29fb420e906f3aca4a904adb54b69b11c7c00
ubuntu@ubuntu:~/turtlebot4_ws/src/turtlebot4$ cd ../turtlebot4_robot/
ubuntu@ubuntu:~/turtlebot4_ws/src/turtlebot4_robot$ git rev-parse HEAD
f2f30da6a003570b6ff413cbe1e63327a3d5ecb5Type of issue
Networking
Expected behaviour
The transformations need to arrive with the correct timestamp so I can use localization, navigation and one node that i created for a project that uses the transformations too.
Actual behaviour
This problem were tested using Simple Discovery, discovery server and CycloneDDS, using multicast and without multicast. Using WiFi router 6e and 7 (different routers for different tests).
Right now I'm using Discovery Server but I'm gonna change it for Simple Discovery or CycloneDDS using peer to peer because I don't like to use the namespace on all the topics (included tf), it gives too much trouble for only using one robot. I tried to use the discovery server because I found that maybe if the raspberry pi republish the topics from create3 the problem with the timestamp could disapear.
I only have one modification of the original turtlebot4 and it's that I replace the OAK-D camera for a Realsense D435, so I built from source the turtebot4 packages to modify the urdf and the standard.launch.py to eliminate the ussage of the OAK-D. The realsense D435 cannot be used with the raspberry pi of the turtlebot4, so I connect it straig to my laptop and put the laptop on top of the turtlebot4.
The localization node gives the error rplidar link timestamp is earlier than the rest of the tf buffer.
The raspberry and my laptop are properly syncronized using chronyc:
ubuntu@ubuntu:~$ chronyc sources
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.50.79 5 3 377 1 -57us[ -48us] +/- 1805us
ubuntu@ubuntu:~$ sudo chronyc clients
Hostname NTP Drop Int IntL Last Cmd Drop Int Last
===============================================================================
localhost 0 0 - - - 6 0 8 113
192.168.186.2 12 0 8 - 34 0 0 - -
ubuntu@ubuntu:~$ sudo chronyc tracking
Reference ID : C0A8324F (192.168.50.79)
Stratum : 6
Ref time (UTC) : Thu Apr 02 01:55:43 2026
System time : 0.000009184 seconds slow of NTP time
Last offset : +0.000001548 seconds
RMS offset : 0.000070200 seconds
Frequency : 34.919 ppm fast
Residual freq : +0.000 ppm
Skew : 0.161 ppm
Root delay : 0.003083913 seconds
Root dispersion : 0.000048223 seconds
Update interval : 8.1 seconds
Leap status : NormalError messages
The localization node gives this error:
`[amcl-2] [INFO] [1775093613.601510913] [tb4.amcl]: Message Filter dropping message: frame 'rplidar_link' at time 1775093613.364 for reason 'the timestamp on the message is earlier than all the data in the transform cache'
[amcl-2] [INFO] [1775093616.192914269] [tb4.amcl]: Message Filter dropping message: frame 'rplidar_link' at time 1775093615.955 for reason 'the timestamp on the message is earlier than all the data in the transform cache'
`To Reproduce
- Turn on Turtlebot4.
- Connect to Turtlebot4 using ssh
- Check chronyc status, if it's not syncronized force the syncronization
- Run localization launcher:
ros2 launch turtlebot4_navigation localization.launch.py map:=/home/mike/maps/aist.yaml namespace:=/tb4
Other notes
No response