Starting from:

$30

EECE5554-LAb 1 Robotics Sensing & Navigation Solved

Hardware/ Sensors
1. USB based GNSS puck, issued one per team.

Data collection Policy
Everyone in the team needs to

1.       Write their own device driver for data acquisition.

2.       Everyone will be collecting their own datasets individually. They will be sharing the GPS device issued to them.

1.       Setting up the GPS puck
When you will connect your GPS device, you can see the device name with this terminal command.

$ ls –lt /dev/tty* | head

You will see a list of devices from which you have to figure out your  -device file i dentifier. Let us say it is  /dev/ttyUSB2

Then you need to set the read write permissions for reading the device properly.  

$ chmod 666 /dev/ttyUSB2

You are all set for reading the device using minicom now. Configure your device’s settings in minicom. A quick guide to use minicom

For saving data to a text file, you need to use –C flag on minicom. Save as gps-data.txt

Or simply copy paste the terminal output and save it in a text file. Cd

This creates a gps-data.txt file in your current directory. When you want to stop writing to

the file, press ctrl c .

$ more gps_data.txt

For checking the contents of file

Additional note:

If you want to understand any command, you can either go to web man pages of linux or type the following on terminal.

$ man <command_name>.

2.Write Device Driver for GNSS puck to parse $GPGGA
As we will see in class the GNSS puck provides a number of differently formatted messages. We will focus our attention on the messages that are formatted according to the $GPGGA format.

We need a driver to read in serial data from the puck, parse it for the latitude, longitude and altitude. We have provided an example device driver for a depth sensor in the appendix section, so that you can use that as a template.

You need to then convert the latitude and longitude to utm using the python package “utm” as discussed in class.

Define a custom ros message with header, latitude, Longitude, Altitude, utm_easting, utm_northing, Zone, letter as fields.

Your ros node should then publish all these values in your custom defined ros msg.

3.Go outside and collect data
2.1 Stationary data outdoors
Data-collection
Go outside and collect 10 minutes of data at one spot in a rosbag.

2.2Walk in a straight line outdoors
In a new ros-bag recording, walk in a straight line for a few hundred meters.

4.1   Analyse stationary data
Examine the data at your leisure (in a warm spot!) by plotting it or analyzing its statistics.
What does this say about GPS navigation? What can you say about the distribution of the error in GPS? What is a good error estimate? Can we put a bounds to these errors? What is the source of these errors?

4.2   Analyse straight line walk data
Examine the utm data (by plotting it or doing statistics on it)
What does this say about GPS navigation when moving? How does the error estimate change as you move as opposed to stay in a spot? What can you say about the distribution of noise in this case?
    Given pressure (in m fresh) and latitude (in radians) returns ocean depth (in m.).  Uses the formula discovered and presented by Leroy and Parthiot in: Claude C.

More products