@KeithW, I give up. I thought somebody would have a tutorial on how to display Dave’s track. Can’t find one.
What I want to do:
- Start bagging the odom and imu topics
- Drive Dave (or write a program to drive Dave) in a square ending as close as I can to the starting point and heading.
- Visualize the track according to the odom in RViz
- Configure a robot_localization EKF node
- “Play” the recorded bag
- Visualize the track according to the fused odom and imu,
( ideally Visualize both the odom track and the EKF track at the same time.)
Can you tell me what I have to do to display a track?
(I already have a program in python using the EasyGoPiGo3 drive_cm() and turn_degrees() called easy_square, but I really need to get my feet wet by writing my first two ROS2 “behavior” programs.
One that subscribes to odom and publishes cmd_vel to
Loop 4 times:
- drive
- stop when the odom says desired distance is traveled,
- turn
- stop when the odom says Dave has turned 90 degrees,
And the second program with turns based on the imu instead of wheel encoders
Loop 4 times:
- drive
- stop when the odom says desired distance is traveled,
- turn
- stop when the imu says Dave has turned 90 degrees,
Of course the “ROS way” would be to create a parameterized action goal “drive_turn” with use_imu:=false and use_imu:=true parameter and with parameterized distance, angle, and loop count, drive speed, and turn speed so that I could do:
- out and back
- triangle with 120 degree turns
- square with 90 degree turns
- pentagons with 72 degree turns
- hexagons with 60 degree turns
- [polygons with 360/num_sides turns]
But first I have to figure out how to display Dave’s track, and reset the track to 0.