I saw your posting about ROS. That sounds very cool Are your plans to run the main ROS node on something like a RasperryPi SBC that’s sitting on top of the 3π+ or using some kind of remote connection like WiFi, BLE, etc to communicate between ROS nodes?
Right now I am experimenting with the MicroPython library/samples that Pololu has provided. My current plan is to develop some simple behavior based control code for the bot in MicroPython and then set it free in my house to see what kind of trouble it can get itself into
After that I will probably switch to having some fun in C/C++ as those are my preferred languages. I don’t know if I will use the PicoSDK as Pololu does in their GitHub repository though. I might use Arduino’s RP2040 offerings instead.
I might work on a wireless programming/debugging solution after that.
No, I think I’ll run a wireless serial link, like the Wixel, to a main laptop. The power requirements of a raspberry pi are probably too much to run for long on AAA batteries.
I’ve built an implementation like that for the Romi with a raspberry pi and camera mounted on top. That platform was a little bigger and had more batteries.
Your projects sound like a lot of fun. Please keep posting about them! I started out with a copy of the Anita Flynn book way back when. It’s amazing how much more approachable table-top robotics has become thanks to folks like Pololu!
The Personal Robotics discord sounds like a fun group. Can you share a link?
I have updated my repository to include notes about the behavior based robot code that I quickly ported from the Mobile Robots book and got working in MicroPython on the 3pi+ 2040 robot. The code can be found here: 3pi-2040/behave.py at main · adamgreen/3pi-2040 · GitHubWarning: I am not an experienced Python developer and that will show in this code
At this point I only have a portion of the library ported but I thought I would commit what I have so far to my 3pi+ 2040 Arduino Library GitHub Repository so that I can share my current progress and solicit some feedback.
Features/Examples that have been ported so far:
6 examples have been ported: BlinkLEDs, BumpSensorTest, LineSensorTest, LineFollowSimple, LineFollowerPID, WallBumper.
OLED Display driver.
LED driver. This includes the Yellow LED shared with the 32U4 version and the 6 addressable RGB LEDs that are new for the 2040 version.
Bump Sensor driver.
Line Sensors driver.
Encoders - Will use PIO for the RP2040 port like Pololu did in their MicroPython library.
This week I received the debug adapter board that I designed for the 3π+ 2040 robot. It includes a 10-pin connector to accept standard SWD debug cables, easy to access reset button, and less obscured power LED.
Design a wireless programming and debugging solution for the 3π+ 2040.