# Motion control bits for homemade robots

Talk given at LAAS-CNRS on 19 July 2022.

## Abstract

We have learned a lot from big expensive robots, but their weight and price are likely damping further progress. In this talk, we will follow an alternative made possible by recent innovations in actuators: light homemade robots, of the kind that can bump, fall on, or be lifted by us with no harm. By aiming for less actuators and lower complexity, we end up with morphologies that don't fit exactly the bill of previous ideas. This is a good start to revisit them! We will tour some examples from the open source software and hardware of Upkie, a wheeled biped robot that proudly stands on 3D printed parts and sawed broomsticks (among other mechanical marvels).

## Content

 Slides Recording (42 min) Motion control software for Upkie James Bruton, great explorator of new morphologies

## Discussion

Thanks to all those who have contributed to the conversation so far. Feel free to leave a reply using the form below, or subscribe to the  Discussion's atom feed to stay tuned.

• Posted on

Is it possible to lock the wheels on this robot?

• Posted on

It's something we can try on this robot. There is no additional brake system on the wheels, here the actuator does all the braking; therefore, as long as it has enough torque to resist backdriving, we can make the wheel behave like a point foot.

Personally, I'm more excited about using the wheels in different ways. For instance, if you are facing the stairs, shall you lock the wheels and start climbing like a point-foot biped? Or can you keep the wheels in contact with the ground, but taking into account the slope variations of the terrain.

• Posted on

What is the maximum velocity of the knees? Is it fast enough for e.g. bipedal swinging?

• Posted on

The hip and knee actuators are qdd100 beta 2 servos with maximum velocity $$\omega_\mathrm{max}$$ = 2500 deg / s = 43.6 rad / s. We can do the math for a given swing profile but judging from the scale this part of the spec is not going to be the bottleneck for swing velocities. (More likely, the maximum torque coupled with the inertia of the lower leg into an acceleration limit will be more limiting.)

On a related note, the actuators of the wheels are mj5208 brushless motor. According to the spec, their maximum velocity is $$\omega_\mathrm{max}$$ = 7500 rpm = 785 rad / s. Since the radius of these wheels is $$r$$ = 6 cm, the velocity constraint we get for the ground contact point from the actuator is $$v_\mathrm{max} = r \omega_\mathrm{max} =$$ 47 m / s. It is not the bottleneck for Upkie's forward velocity 😉

• Posted on

Can the robot stand on one leg?

• Posted on

Not for long! Upkie doesn't have direct control over the pitch of its floating base.

• Posted on

But it has two legs so it can actually pitch around, right?

• Posted on

That's correct, with two legs on the ground it can control the base pitch by differential flexing of its knees. Otherwise, it has time and legs, so it is also possible to control the pitch indirectly over time. But if it starts leaning to the side, beyond a certain point it has no way to come back, i.e. it gets out of the capturability region of the balancing task.

• Posted on

Can this robot also turn around?

• Posted on

Absolutely, by differential drive kinematics. One phenomenon to take into account when turning around is the increase in internal forces it causes to the closed kinematic chain including the two legs and the ground (in this particular controller there is even some gain scaling while turning to better resist these forces).

On Upkie today the wheels are 4WD RC car wheels (radius $$r = 6$$ cm) that we can order from online retail. They are bigger and have more grip than the sleeker race RC car wheels. In turn, more grip means they produce more traction, thus (1) more internal forces on the legs, and (2) more disturbances while balancing back and forth, which requires some tuning of the balancing gains.

• Posted on

• Posted on

Interestingly Upkie's chassis is adapted from the quad A1 quadruped, whose 3D printed parts are available under the Apache 2.0 license. To turn it into a full quadruped we would need two more legs (of course) and an additional abduction-adduction joint on each leg. This would raise the actuator count to 16, which may not fit within the spec of the CAN-FD bus with the pi3hat; or perhaps you can, but you have to lower some other parameter like the bus frequency.

• Posted on

In terms of hardware reproducibility, have you checked the Open Robot Actuator Hardware from ODRI? What's missing from there in your opinion that would improve reproducibility?

• Posted on

Absolutely, this is actually one of the first options I considered when I started this project. One of the things that pushed me back in the design itself is that:

1. Some steps required getting in touch with this or that company to get a quote, as opposed to ordering directly from a website.
2. Some steps required expert knowledge that I didn't have at the time (so there was more risk in evaluating how much time and effort it would require), like disassembling a BLDC actuator to replace its stator.
• Posted on

But don't you think they have already started laying out a good process for hardware reproducibility?

• Posted on

I like the project very much and I think this repository is a great example. But following an example is not a process yet. A process would be: if you want to add a new robot to the collection, here is a template repository, here are the common first steps to follow, etc.

• Posted on

One question that was not properly answered is that of licenses. What do you think are the propoer licenses to distribute parts or electrical designs?

• Posted on

IANAL! It's still confusing today, for instance Printables only supports a limited number of licenses, some of which (GPLv3) are arguably not very good for part designs. Upkie's parts are under the CC BY 4.0 license, but some of its parts come from the mjbots quad A1 so they are distributed under the Apache 2.0 license. I'm not convinced the latter, or BSD licenses, are a good idea because from what I've read so far software licenses are not appropriate for hardware designs in general.

So far, CC BY(-SA) 4.0 seems like the best option to me (with or without the SA attribution clause depending on whether you want a permissive or copyleft license). But I don't have stronger arguments to support it and as of today this is the best answer I can come up with.

• Posted on

Why does the robot use broomsticks in its lower legs?

• Posted on

In the beginning I was keen on using more wood, because wood has a nice low mass density. However, as time went by, I eventually came to realize that having cables lying around is not a good idea, so I reprinted the bones as hollow shapes to take care of cable routing as well. But then Upkie lost some ground on limb mass density.

You can use Markdown with $\LaTeX$ formulas in your comment.