Beagleboard for realtime control of a robotic arm

Hi all,

I’m in the design process of my senior project at CU Boulder, and my team is tasked with constructing a mechanism from which a drone will take off and land from.

The idea is to provide an inertially stable platform, attached to a moving vehicle, that a drone can land on. This is despite heaving on waves in roll pitch or yaw.

For that, we’ll need to run a feedback control law in real time. I’m looking for boards that can do that. I hold no illusions that I know what to look for. My team was warned that we wouldn’t be limited by sensor output rate, but rather control law compute time.

To that end, is BeagleBone Black a viable board to run our arm with? Are there factors or specs I should look for when researching viable options should BeagleBone Black not suffice?

thank you for your help c:

That sounds like a fun project.

I would say in theory it would be possible, but have never tried it myself.
The BBB has the PRU units which could be used to control your actuators and then use the main CPU to calculate your positioning. But it might be better to look for a simpler board.

This is done with a Teensy 4.1 board Ball Balancing Robot which is pretty much doing what you need. I have seen a few using Arduino’s also. There are quite a few such ball balancing robot videos on Youtube and for Stewart platforms as well, but it is not always easy to tell what hardware they are using.

This is also pretty impressive ping pong ball

That really depends on system dynamics. We use an ADXL355 and it performs extremely well even on i2c, with that said you need to do vector calc since you have x,y,z data. If your system is only trying to maintain a “level” platform on a rolling ocean you should be okay, JUST A GUESS, I don’t know that for fact. You will have to get a sensor and do a quick mock up and see what you get. Comparing to other products like a drone, it works on a low end hardware and that is more demanding than rolling sea.

If you need precision you might have to stream data to a big box with gpu that is cuda capable and use pytorch tensor tools to resolve the final position. That might be extreme overkill, just tossed it out for reference.

Also, might consider the beagley-ai. The latency on the gpio is about half of the bbbi board. Also outliers are averaged to around 120ms, latency toggling the pins is 10 to 35 ms. If memory is correct the bbbi outliers were in the 200 ms range, so if you system cannot deal with that you might have to use the PRU as @benedict.hewson mentioned. Those numbers are from an out of the box official debian image. And this is from memory, so it is not hard fact at this point. Code used is same c++ source with the exception of the pin callouts and compiled natively.