The first step is to choose an appropriate GPS module. Before you make a decision, make sure your GPS sensor can communicate via a serial interface and can sending data in NMEA format. In the tutorial, we apply the u-blox neo-6m GPS module. Link to the datasheet.
U-blox NEO-6m GPS module
Power requirements: 2,7 V - 5,0 V; 80 mA
Communication: NMEA, UART 4800, 9600 (default), 19200, 38400, 57600, 115200, 230400 bps
Positioning accuracy: 2,5 m
Sensitivity: -161 dBm
Max. update rate: 5 Hz (deault 1 Hz)
Cold / Warm start: 27 sekund / 1 sekunda
Internal antenna and u.FL connector for additional external antenna
To connect the GPS module to the Core2ROS driver, use the hSense port 3.
Connect the GPS module according to pin description below. The easiest way to connect GPS module to the controller is to use IDC connector and four jumper cables.
The best way to get clear GPS data from the module is to mount it as far from the Rover's electronics as possible. We recommend mounting it on the top of the Rover so the module is shielded from its bottom and has clear 'view' to the satellites.
First you need to route the module cables out of the main electronics box (MEB). The easiest way is to use one of Dev-Covers that we prepared for such projects.
Make sure your rover is up-to-date. GPS functionality was added to the default firmware in the v1.0.0 release.
Open a new remote terminal session on the Rover:.
Enable the GPS functionality by calling the service to
rosservice call /core2/set_gps true
Restart the board to apply changes.
Check if the GPS module is configured properly by listing available topics. You should see the new topic
To check if GPS is publishing data correctly, type:
rostopic echo /gps_fix
There will be coordinate data occurring only if GPS found its position.
Check if the coordinates obtained are correct in Google Maps.