Ask Your Question

Using google maps to tell the robot where to go

asked 2018-03-23 05:30:54 -0600

bobl gravatar image

Currently working on an autonomous boat project, I was wondering if there is way to choose a point on google maps and plug it into ROS terminal to tell the boat to go to that coordinate?

Much Appricated

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2018-03-23 08:11:17 -0600

stevejp gravatar image

updated 2018-03-23 08:14:15 -0600

I think you're really asking two questions here: 1) How do you convert a geographic coordinate into a coordinate in your boat's map frame, and 2) How do you navigate to a point in your boat's map frame. The details of the answers will depend a lot on your setup, but I'll give some high level ideas for each.

For 1:

If you are okay with doing some manual work every time you want to move your boat, you can convert the lat-long coordinates of the point you want to move to into UTM coordinates. Assuming you are localizing your boat with GPS, you should be able to convert the UTM coordinates into coordinates in your boat's map frame.

If you want to be able to click a point on a map and automatically have your boat navigate to that point, a good starting point would be to look at the ROS packages RVizSatellite and mapviz, which can both be used to display maps (maps are generated using map tiles). Something to note though is that Google map tiles are only officially available through their API, which you'll need a key to use. There are free map tile providers though (like mapbox), which you can use with RVizSatellie & mapviz.

For 2:

Once you have the coordinates of your desired position in your boat's map frame, you should be able to use the existing ros navigation stack for sending commands (see tutorials here).

edit flag offensive delete link more

answered 2018-08-08 06:08:51 -0600

Stepan Kostusiev gravatar image

updated 2018-08-08 06:18:22 -0600

You can use Mapviz with plugin Point Click Publisher.

To set your goal to Navigation Stack you can use gps_goal. But Point Click Publisher publish point using geometry_msgs::PointStamped and gps_goal listen for geometry_msgs/PoseStamped or sensor_msgs/NavSatFix. You need modify gps_goal or convert message to required type for your purpose.

To display Google Maps in Mapviz you can use this solution.

Edit 1: Now gps_goal using NED reference frame, according REP-103 convention

edit flag offensive delete link more


Hello Stepan, Do you have any document about the installation steps about Mapviz or Rviz satellite. I tried to install both, but both throwing some errors. I think I need to download some libraries for making it work. But I didnt find any documents for that. Requesting you help

Thanks Melvin

manuelmelvin gravatar image manuelmelvin  ( 2019-11-08 14:55:25 -0600 )edit

answered 2018-03-24 04:40:28 -0600

updated 2018-03-24 05:22:49 -0600

In my opinion, it is better to use Cartesian coordinates, since the UTM does not coincide with the maps provided by the Mapbox and Google. I use GeographicLib to convert WGS84 - Cartesian

edit flag offensive delete link more

Your Answer

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

Add Answer

Question Tools



Asked: 2018-03-23 05:30:54 -0600

Seen: 1,558 times

Last updated: Aug 08 '18