Ask Your Question
2

GPS waypoint navigation with Jackal

asked 2017-04-19 07:34:06 -0500

P_Brand gravatar image

updated 2017-04-19 07:34:46 -0500

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 flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2017-04-19 17:09:20 -0500

M@t gravatar image

updated 2017-04-19 17:15:02 -0500

  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:
    image description

    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.

edit flag offensive delete link more

Comments

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

P_Brand gravatar imageP_Brand ( 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.

P_Brand gravatar imageP_Brand ( 2017-04-21 07:07:19 -0500 )edit

Awesome! I'm glad that fixed your problem!

M@t gravatar imageM@t ( 2017-04-22 16:01:34 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

3 followers

Stats

Asked: 2017-04-19 07:34:06 -0500

Seen: 966 times

Last updated: Apr 19 '17