Good for you, it's a good objective.
[*]There is pre-existing code written in Python, generalized for the robot, that handles interfacing to a GPS and parsing the NMEA messages so that you can request and use various data like position, altitude, heading, velocity, etc.
[*]While the development of these GPS libraries were ongoing, Dexter Industries was acquired by Modular Robotics. As a consequence of some (common, but idiotic), management decisions at MR, a lot of the talented people at Dexter ended up either leaving or were dismissed.
[*]The consequence of all this is that the robot's GPS libraries are incomplete and essential methods are still missing.
[/list]
My goal is to complete the development of the GoPiGo-3 GPS libraries that were interrupted by the acquisition, with certain goals in mind:
- Make the libraries work correctly.
- Ensure they are compatible with the rest of the GoPiGo libraries, and will work with the Blockly-based programming interface that's included for teaching beginning programming and robotics to younger students at schools. There are existing "easyxxx" libraries for the robot, (easygopigo, easysensors, easyusb, easypicamera, and an easygps library that I am working on) - all designed to work within the existing robot programming framework, interact with each other in an intelligent way, and interface to the rest of the robot's functionality.
- Ensure the methods in the resultant Python library(ies), generate useful data and add any needed methods that don't already exist.
- Create a pull-request and upload them to the main Dexter Industries/GoPiGo3 GitHub repo so that others can use the results, and it can be included in later versions of the GoPiGo-3 libraries.
But, if you want to test NEMEA decoding you don't need a serial port, you can focus on the data and the code.
And if there is an incomplete NEMEA library it would be most efficient to adopt a different and more complete NEMA decoding library so you can focus your efforts on integrating with the programming interface.
Use separation of concerns to break down the complexity into simpler sub tasks. From your earlier posts it seems you have serial data capture working just fine, so you can move on from that. The NEMEA decode is a solved problem. Use a library that works. There seem to be good options there.
Develop the bit that doesn't already exist.
And if you pefer to sodier on debugging somone else's NMEA decoder you might get some help with that if you explain what is wrong with it. So far we have zero info about the actual problems.
BTW this may be useful for viewing and generating paths in NMEA format.
https://nmeagen.org/
Statistics: Posted by PiGraham — Tue Mar 18, 2025 8:40 am