I wanted to write this to act as a quick lookup for anyone who needs it (Mostly me). Almost all of the guides I found mention inserting a launch-prefix into a launch file to launch gdb with the node, but I don’t like doing that. I don’t want to have start gdb from scratch and manually insert the break-points each time I want to debug. That’s goofy. Also, I’d like to use my editor’s built-in debugging tools.
The Motor Driver Node Getting an output from the PI If we’re going to drive the motors, we’re going to need some method of interfacing with the GPIO output pins on the Pi. After doing some reading and researching, I think that pigpio (Probably pronounced pi-gpio, and not pig-pio like my mind keeps reading it as) perfectly fits the bill for what we are looking for. There is a small potential caveat about using pigpio, which is that under normal operation, it requires sudo access.
The chassis This is an Arexx RP6 robot platform. I have spent a lot of time messing with this thing over the years, and I have learned a lot from it. The website for it can be found here: RP6 Robot system (I highly recommend doing some browsing around their website, it’s a reminder of a time when websites had character). A run down of the specs lists an 8-bit ATMEGA32, a pair of optical encoders, motors, light sensors, touch sensors, the whole shebang.
Great, yet another “How to install $x$ on $y$” blog post. Exactly what the internet was missing. Just be grateful I’m not serving ads on this website. I wanted to do my best to ensure this build log was as close to self-contained as reasonable, which means that sometimes we’re going to get low hanging fruit. I found two different sources already covering this, one Youtube Video by Ubuntu-robotics, and a Blog post on Medium.