3D Printed Research Robotics Platform Runs Remotely

The Open Dynamic Robot Initiative Group is a collaboration between five robotics-oriented research groups, based in three countries, with the aim to build an Open Source robotics platform based around the torque-control method. Leveraging 3D printing, a few custom PCBs, and off-the-shelf parts, there is a low-barrier to entry and much lower cost compared to similar robots.

The eagle-eyed will note that this is only a development platform, and all of the higher level control is off-machine, hosted by a separate PC. What’s interesting here, is just how low-level the robot actually is. The motion hardware is purely a few BLDC motors driven by field-orientated control (FOC) driver units, a wireless controller and some batteries. The FOC method enables very efficient motor commutation, giving excellent efficiency and maximum torque.  A delve into the maths of how this method operates will be an eye opener for the uninitiated. Optical encoders attached to the motors give positional feedback for the control loop.

It is this control loop that’s kinda weird, in that operates over Wi-Fi! Normally one would do all the position, torque and speed sensing locally within the leg unit, with local control loops, as well as running all the limb kinematics and motion planning. This would need some considerable local processing grunt, which can make development more difficult.

This project side-steps this, by first leveraging the ESPNOW protocol, initially aimed at the ESP8266 and friends. By patching Ubuntu Linux, and enabling preemptive multitasking for real-time scheduling, as well as carefully selecting Wi-Fi drivers, it was possible to get raw packets out to robot in about 1 ms, enabling control loop bandwidths of around 1 Khz. And, that, was fast enough to run at least sixteen motors in parallel.

By pushing all the processing grunt to a fast PC, it is possible to get very creative with the kinematics, and develop new ideas much faster than the embedded approach, without worrying about running low on local CPU resource. You can see from the videos below, that the platform is already significantly advanced, capable of walking over uneven, and inconsistent surfaces, jumping vertically a meter, as well as recovering from shoves, slips and other external perturbations. The project YouTube has many more videos of the testing process to whet your appetite.

There are many repositories to explore on the project GitHub, which would be a great start for your next robot build, so if robots are your thing, this is definitely one to study up on. Maybe start with the research paper and get stuck into the discourse?

Newest 12 DOF four-legged platform, “Solo” goes for a walk:

6 DOF Biped, “Bolt” being poked around:



8 thoughts on “3D Printed Research Robotics Platform Runs Remotely

  1. Gosh !
    I don’t damn well stamp my feet when I go walkabout because of course, I have local control. If I had to rely on external control then I damn well would have to stamp my feet so at least, the wifi operator hears me all the time, don’t wanna fall over, doh.

    Nature worked out how to make a brain so our local control loop negligible but, there’s a niggle – other than the heart 100K+ neurons and some intestinal motions via neurons having some 100Million ie all over the gut from mouth to anus. Wonder how much neuron feedback eg tension, ATP concentration etc within each muscle that offers feedback “up the line”…

    Seriously, thanks for posting, nice idea though I wonder how much external wifi type loop control can go given silicon advances such as, integrated into connectors, built into actuators etc With I guess higher level (coarse) control eg direction, stride, gait etc via telemetry – for various risk assessment reliability issues not software accessible And with tight fall back positions regarding communications continuity.

    It is an interesting development, shades of Skynet ah lah Terminator & Black Mirror/twilight zone paradigms come to mind, fodder for ever more lucid dream states :D


    1. I experimented with an analog for the bodies local control aa couple of years ago. Each input and output had it’s own trio of dedicated low performance microcontrollers, one for watching the peripheral and making sure it was doing what it was supposed to, trimming it as necessary and sending out a “pain” signal if there was a problem, another for communication with a more capable processing unit and a third that did some local basic anticipation, like slowing down close to the limit switches, it also took a bit of input directly from other nearby io so it could smooth kinematics and account for inertia, it basically graphed things over time and compared them to form a truth table. Sadly it was shelved due to lack of funding. I do wonder what might be possible now, given what Moor’s law has provided in recent years.

  2. One thing that surprises me is that bipedal robots almost always use the knees as overcenters for a stable no-power position, while the quadrupeds never do this, combined with easily back driveable for force measurement, this is a constant battery drain for standing still, unless they lay down.

    I also do not see much applications of mechanical brakes, elastic bands or springs to lessen the load on the motors.

    1. Most bipedal robots are still using a constantly bent knee motion so every day they’re shuffling. ;) Even their “running” is a shuffle motion, just with enough forward inertia they can get both feet off the ground then one back down before the robot falls down.

      When I was much younger I used to do crazy things like running across a rough garden plot, in the dark, without twisting an ankle.

      How? By keeping my feet and ankles loose with my toes up. Let my heel touch down then my foot *flop* so it’d quickly angle however it needed to contact the ground. Then I’d tense the muscles to hold that angle while I pivoted forward on the ankle. Pushing off from the landed foot would vary depending on its angles. Repeat with the other foot. Think of a “bottom up” approach with sensors for each way the ankle can pivot providing feedback to the control to operate the knee and ankle. Read the knee sensor too for angle and force. It all has to be compliant to read the surface the feet are touching, while they’re in the process of coming down onto the unknown surface.

      Then there was my method for running on ice. Keep the feet flat for maximum contact area. Put down the forward foot flat then pull back while pushing up and back from the back foot, without pivoting the foot up for the usual toe push off. Much easier to do that to describe, with both feet in a continual cycle of motion. The hard part was getting started, especially if the ice was really slick. But once going I could get some good speed. Matching the speed to shoe traction was important. Go too fast and the forward foot would slide forward. Not fast enough so the forward foot slips back when pulling, go faster. Easier to recover from than going too fast. Rear foot traction wasn’t as important because its main function was to push the body up/forward to ‘throw’ it over the forward foot’s ankle. IIRC my knees would be bent so I was sort of crouched down, looked crazy but I could move, unlike trying regular running heel first then laying the foot down to rotate over to toe push off. Too little traction area, heel slips forward or toe slips back.

      Another bit of fun was ditch running. We had a hill with a shallow, narrow irrigation ditch along its top. I’d run along it, criss-crossing my legs so my right foot was touching the left bank of the ditch and my left foot on the right bank. The banks were at an angle of 45 degrees or so. Must have looked pretty weird. Never tripped by catching my feet on the backs of my calves. I’ve always had very good proprioception.

  3. I would understand for a two legs robot but why this one, with four legs, needs to dance continuously ? Can’t it just stay still on its four legs or is it too heavy for that ? Please explain…

    1. Ah ha, it might be they are adopting the inherent dynamic vis a vis forces orientation so it can up, down and across hills. In that if static under those conditions or within transition it’s more like to fall over.

      Also, they !ight be making it appear (as good as) the highly developed Boston Dynamics early 4 legged droids. Of course this related motion prompted my comment at head of list, which can be avoided with inclinometers within let down of control feedback…

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.