I am trying to learn how to rogram the PIO. These are very powerfull little devices, like 8 extra cores. My first PIO project is to read a quadrature encoder. Then I wanto to look at doing a Sonar controller in the PIO
A single Pico should be abler to run a complete base controller under micro ROS, I think running the sonar, bumper switches and motor control PID loops and so kind of LCD status/debug display. All the fast real-time stuff could run in the PIOs.
My goal is that all the sonar, bumper, odometry and twist messages go over one USB cable from Pico to RPI4. Maybe IMU data too. I don't know yet. But I'm sure the Pico can handle it.
BTW I really like the idea of using a PCB to connect the Pico and sonar units. I made one of those multi-sonar units and I don't like mine. I used a wire harnes and it turns out to be a rat's nest of wire. Even if the 3D printed housing looks good. Here is what I did. I think after seeing yours I can combine your idea and mine somehow
I'm replacing my Blue Pill boads with Pico. I think those PIOs are going to be very usful.
BTW, I found it's good to record the time the distance was measured as there might be a delay before batch of distance measurements are sent. The rout planner can apply TF trasforms if it knows the time and "back out" the robot's motion.