dual_ekf_navsat+Turtlebot3 - problem with getting orientation
Nov 4th update:
https://youtu.be/0kUQZ5qLRQA 30seconds video
Oct 26th update:
Problems: 1. odometry orientation does not changes. 2. warning messages when running dualekfnavsat_example.launch
commands that I run on the master (laptop):
roscore
roslaunch turtlebot3_navigation turtlebot3_navigation.launch map_file:=/home/yuxiang/Desktop/Robot/empty_map.yaml
[ WARN] [1666806297.992307247]: Map update loop missed its desired rate of 10.0000Hz... the loop actually took 0.3222 seconds
roslaunch robot_localization dual_ekf_navsat_example.launch predict_to_current_time_:=true
[ WARN] [1666806296.747844208]: navsattransform, Parameter 'broadcastutmtransform' has been deprecated. Please use'broadcastcartesian_transform' instead.
[ WARN] [1666806299.803550675]: Unable to obtain base_link->gps transform. Will assume navsat device is mounted at robot's origin
[ WARN] [1666806299.836781441]: Could not obtain base_link->gps transform. Will not remove offset of navsat device from robot's origin.
[ WARN] [1666806301.019605730]: Transform from basefootprint to baselink was unavailable for the time requested. Using latest instead.
[ WARN] [1666806301.019705977]: Transform from basefootprint to baselink was unavailable for the time requested. Using latest instead.
[ WARN] [1666806302.270112237]: Could not obtain transform from gps to baselink. Error was "gps" passed to lookupTransform argument sourceframe does not exist.
commands that I run on the turtlebot3 (remote):
roslaunch turtlebot3_bringup turtlebot3_robot.launch
roslaunch ros_imu_bno055 imu.launch serial_port:=/dev/ttyUSB1 operation_mode:=NDOF_FMC_OFF use_magnetometer:=True
rosrun nmea_navsat_driver nmea_serial_driver _port:=/dev/ttyUSB2 _baud:=9600
physical setup:
rqt_graph
tf tree
You could also see the images, more details and a bag file here: https://drive.google.com/drive/folders/1zmdocKT49abUHVkeW7uTFkuDEBOep992?usp=sharing
the most recent launch files and yaml file
ekf yaml https://github.com/AutoPlow/TurtleBot/blob/main/GPS/modified_dual_ekf_navsat_example.yaml
dualekfnavsatexample.launch https://github.com/AutoPlow/TurtleBot/blob/main/GPS/dualekfnavsatexample.launch
turtlebot3navigation.launch https://github.com/AutoPlow/TurtleBot/blob/main/GPS/turtlebot3navigation.launch
I have also modified the turtlebot controller code where I disabled its original IMU: https://github.com/AutoPlow/TurtleBot/blob/main/GPS/turtlebot3_core.ino
a video that describes the issue: https://www.youtube.com/watch?v=dO-2orfRYpo
Your suggestions would be much appreciated!
Thanks,
related questions: https://answers.ros.org/question/342480/persistent-transform-warning-in-robot_localization/ https://answers.ros.org/question/372501/robot-localization-time-stamps/file:///home/yuxiang/Pictures/Screenshot%20from%202022-10-15%2021-33-05.png
Asked by noname on 2022-10-15 22:07:53 UTC
Answers
Is there any chance a clock sync may be needed? The only reason I can see is that there is some sort of time discrepancy. Everything running locally on the same machine, or is there a ROS master remote? Please add some more details regarding setup, environment, version, etc
Asked by PointCloud on 2022-10-16 03:15:21 UTC
Comments
yep everything runs locally, ROS version Noetic 1.15.14; From ROSwtf:
Online checks summary:
Found 2 warning(s).
Warnings are things that may be just fine, but are sometimes at fault
WARNING The following node subscriptions are unconnected:
* /gazebo:
* /gazebo/set_link_state
* /gazebo/set_model_state
* /rviz:
* /map_updates
* /move_base:
* /move_base/cancel
* /ekf_se_odom:
* /set_pose
* /imu/data
* /ekf_se_map:
* /set_pose
* /imu/data
* /navsat_transform:
* /imu/data
* /fix
WARNING These nodes have died:
* spawn_urdf-3
Found 1 error(s).
ERROR The following nodes should be connected but aren't:
* /move_base->/move_base (/move_base/global_costmap/footprint)
* /move_base->/move_base (/move_base/local_costmap/footprint)
,
Asked by noname on 2022-10-16 10:00:51 UTC
Comments