# GPS waypoint navigation with Jackal

I have a the UGV "Jackal" from Clearpath Robotics. My Task is to let the robot follow a predetermined path (given in UTM -Coordinates). The robot has already GPS, IMU and odometry implemented. The robot_localization package is also already installed and preconfigured.

To let the robot navigate autonomously, I would like to use the move_base package. Therefore the goals (move_base/goal or move_base_simple/goal) have to be "in the robots world frame, or a frame that can be transormed to the world frame" (see Answer for this question). The robot_localization package should provide a transform from world_frame->utm. But when I start the robot outside, I cant't see this transformation in the tf node. Because of that I can't send goals to the move_base node with frame_id utm I think.

My Questions are now:

1. Where can I check that the navsat_transform_node provides the world_frame -> utm transformation?
2. How should I configure the move_base node that he will accepts goals in the utm-frame? (I know this is a very open question, but I am very glad for every tip.)

Thank you for your help and support.

edit retag close merge delete

Hello.. I am facing the same issue with my Jackal robot. Could you please help me to resolve this. I also need to send the jackal robot to follow certain GPS waypoints. I have all the Jackal packages installed. I launched the base.launch, move_base.launch and Rviz view_robot.launch. Have added the below "robot_localization" inside the base.launch and I made "broadcast_utm_transform=true" .

<node pkg="robot_localization" type="navsat_transform_node" name="navsat_transform" &gt;="" <rosparam=""> magnetic_declination_radians: 0 roll_offset: 0 pitch_offset: 0 yaw_offset: 0 zero_altitude: false broadcast_utm_transform: true </rosparam> </node>

( 2021-09-21 10:53:13 -0500 )edit

Sort by » oldest newest most voted
1. First, make sure that navsat_transform is broadcasting the world_frame->utm transform (you've probably already done this). In your launch file for navsat_transform make sure that broadcast_utm_transform=true. Next, launch Rviz and check the TF tree, you should see something like this:

You should see utm in the list. Note that for reasons explained here on the docs page, the utm frame is actually a child of the map/world_frame.

Also as an FYI, even though the utm frame is there, it doesn't seem to show up when you run rosrun tf view_frames (at least not for me anyway). The easiest way I've found to check the existence of the utm frame is to check it like this in Rviz.

2. The move_base node should accept move goals in any frame, provided there is a valid transformation between the frame you specify and the base_link frame. The easiest way to do this is just to send a PoseStamped message to the /move_base_simple/goal topic. You should be able to specify whatever frame you want in the header.

If you want a more complicated way of doing this that also lets you get feedback on your goal, I suggest you look at the actionlib package and these questions here and here for more information and some sample code.

Hopefully this helps or at least points you in the right direction. Let me know how you get on, and if any specific error messages appear when you try sending a move goal in the utm frame, post those as well since that might help debug the problem.

more

Thank you for your help, I will try this out!

( 2017-04-20 02:24:08 -0500 )edit
1

I tried this out and it worked! I can see now the utm- frame in the tf Tree. When I rosrun tf view_frames the utm - frame doesn't appear in the PDF like you expected. When I send a PoseStamped message to the /move_base_simple/goal topic (with frame_id: "utm"), the robot starts to move.

( 2017-04-21 07:07:19 -0500 )edit

( 2017-04-22 16:01:34 -0500 )edit

## Stats

Seen: 1,431 times

Last updated: Apr 19 '17