ROS on GoPiGo3 - Let me "Frame" my question right

When I look at the ROS tf2 documentation, it shows two turtlebots with “world” as the top frame that provides a universal frame of reference.

When I run Dave, and view frames:

* View tf2 frames
Dave:  ./runit.sh
Desk: ros2 run tf_tools view_frames.py
  Listening to tf data during 5 seconds...
  Generating graph in frames.pdf file...
Desk: evince frames.pdf   (or browse to folder and dbl-click frames.pdf)

I have the imu_link and joint_imu that ties the imu_link to the base_link, but that doesn’t show in the frames display for some reason.

@KeithW does Finmark know where in the “world” frame he is? If so - what generates the odom->world or base_link->world transform?

2 Likes

This is the issue I was having. In my case the tf from imu_link to world was being published by the imu driver. That overrode the tf coming from the URDF between the imu_link and base_link. When I was using AMCL did did have a transform from map to odom - I think that comes from the localization package.

I was going to try removing the tf published by the imu driver to see what happened. I never got to that because the imu node kept crashing. If your new driver keeps it from crashing, I’ll try removing the tf publisher next.

/K

1 Like

Yes, no crashing confirmed. I’ll work on creating the safe_imu_sensor.py for ROS(1) this weekend.

It also looks like every other robot is using the robot_localization package to fuse IMU and Odometry to feed the nav stack.

2 Likes