TrickfireRobotics / urc-2023

The codebase for the "Viator" rover for the University Rover Challenge
11 stars 3 forks source link

Implement GNSS Module Support #46

Open VladimirKupryukhin opened 3 months ago

VladimirKupryukhin commented 3 months ago

Context

The rover will need to use GNSS coordinates for all four missions in the URC, we need a way to interface between the hardware and the rest of the codebase.

Here is the GNSS/GPS module that we are current using. It plugs into the NVidia Jetson Orin (our main computer) through a USB port.

What to do

Take a look at the code structure, and add code to the "low level" that interfaces with this hardware. Modify the RobotInterface and RobotInfo for the "high level" code to use. RobotInfo should have methods that allow access to the data that the GNSS module gives. For the RobotInfo, maybe you will need to add methods here maybe not; use your best judgement.

loukylor commented 1 month ago

I did a little bit of research on the GPS module and found this datasheet, which lists the USB driver as u-blox. This is supported by the gpsd library which is a Linux library that has Python bindings. An example usage can be found here.