Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

much smoother after applying a low pass Butterworth filter with a 3hz cutoff. this filters out high frequency small movements (aka noise) in the trajectory, it also naturally attenuates the signal so makes the robot move slower, I’ve added a bit of gain back to compensate and speed it...

71,900 Aufrufe • vor 8 Monaten •via X (Twitter)

32 Kommentare

Profilbild von Jack Vial
Jack Vialvor 8 Monaten

I'm using the scipy Butterworth filter These kinds of filters are implemented as 1d convolutions in the time domain and can easily run at robot control rates. I find it more intuitive to think about filters in the Fourier domain, so if you take the discrete Fourier transform of the robot trajectory, then a low pass filter is just multiplying anything above the cutoff frequency by zero (convolution theorem)

Profilbild von Jack Vial
Jack Vialvor 8 Monaten

trajectories before and after apply the low pass filtering you can very clearly see one is smoother than the other

Profilbild von Harrison Kinsley
Harrison Kinsleyvor 8 Monaten

Nice work!

Profilbild von Jack Vial
Jack Vialvor 8 Monaten

Thank you!

Profilbild von Chyna
Chynavor 8 Monaten

Nice improvement. Stability first, responsiveness second.

Profilbild von max titov
max titovvor 8 Monaten

this is awesome!! if i wanted to recreate this, do you have your work in a repo? also do you think that upgrading to better servos with less backlash would help with smoothing the motion out even more?

Profilbild von Jack Vial
Jack Vialvor 8 Monaten

thank you! I will make the code public soon along with a detailed technical blog. yes I think upgrading the shoulder pan and lift to STS3250s would help smooth things out even more. The STS3250 has a CNC'd aluminum housing, higher quality steel gears so has less backlash and more also has more torque. They are plug and play with the so101, but they are slightly larger and have a harder material so ideally need modify the so101 joints to be a little bigger so they fit nicely without too much force

Profilbild von sadernoheart
sadernoheartvor 8 Monaten

so smooth, good job!

Profilbild von Jack Vial
Jack Vialvor 8 Monaten

Thank you!

Profilbild von Damian
Damianvor 8 Monaten

NOTED

Profilbild von Steven Uecke
Steven Ueckevor 8 Monaten

Interesting. I had tried smoothing, but a cutoff is a great idea

Profilbild von Jack Vial
Jack Vialvor 8 Monaten

worth a try, it’s simple to implement, you can manually try cutoffs or you can look at the Fourier transform of the trajectories and base it on the power spectrum distribution

Profilbild von Chris
Chrisvor 8 Monaten

Nice!

Profilbild von jx
jxvor 8 Monaten

wow. This is so much harder than it seems. Woww

Profilbild von Dhruv Diddi
Dhruv Diddivor 7 Monaten

Excellent smoothing

Profilbild von Jack Vial
Jack Vialvor 7 Monaten

Thank you!

Profilbild von Karim C
Karim Cvor 8 Monaten

Love this. Filtering the jitter is the difference between “cool demo” and something people actually trust watching in a room. The slower move is often a feature too, humans read it as more intentional.

Profilbild von Intrepid Sponge 𐇐𐇑𐇒𐇓𐇔𐇕𐇖𐇗𐇘𐇙𐇚
Intrepid Sponge 𐇐𐇑𐇒𐇓𐇔𐇕𐇖𐇗𐇘𐇙𐇚vor 8 Monaten

Have you ever tried median filtering? I used that once to get rid of transients in an oscilloscope signal.

Profilbild von Jack Vial
Jack Vialvor 8 Monaten

I haven’t but that I want to try it now, sounds like has favorable characteristics. The Butterworth is somewhat heavy handed for sure

Profilbild von Ran
Ranvor 8 Monaten

This is awesome. Timeline needs more of this.

Profilbild von Sitarama Chekuri
Sitarama Chekurivor 8 Monaten

Very smooth.

Profilbild von Will
Willvor 8 Monaten

Nice, it is looking really smooth. Doesn't have any of that servo jitter I am used to seeing in the even simpler 3d printed robot arms

Profilbild von George Tru
George Truvor 8 Monaten

butterworth filters are so satisfying when they click. clean trajectory = happy robot

Profilbild von Eddie
Eddievor 8 Monaten

so you filtered out the noise but forgot to filter out the incompetence. smooth moves don’t fix dumb code.

Profilbild von Rue Mohr🇨🇦
Rue Mohr🇨🇦vor 8 Monaten

are the servos digital or analog?

Profilbild von Kevin Peterson
Kevin Petersonvor 8 Monaten

Ya. Smoothing is important until you get to a certain data scale. You may also want to implement an immutable region that takes care of prediction latency. Pin the first portion of the trajectory and treat it like an infill or sentence completion problem. If your model latency is longer than execution latency, you’re not where your model thinks it was when it starts planing.

Profilbild von 19
19vor 8 Monaten

Well, its obvious you're not working with a "blue chip" robot controller.(Yaskawa, Denso, ABB....) You're battling open loop. closed loop or positioned based encoder motion profiles with sub par motor, amps, control mechatronics. Keep up the good work when exploring motion control of decades past but know the good stuff is up next.

Profilbild von Jack Vial
Jack Vialvor 8 Monaten

this is low cost so101 robot with LeRobot open source framework that is focused on physical AI. Here I’m running SmolVLA model (a neural net), stereo images and current motor positions are input to model and the output is a sequence of motor positions. So in some ways it’s quite different from traditional control but methods like signal processing and PID control that have been around for the better part of a century are still useful

Profilbild von Kiaran Ritchie
Kiaran Ritchievor 8 Monaten

Might want to try a One Euro filter. It has adaptive cutoff frequencies so you can move faster and then apply more aggressive filtering only when moving slowly. It's also super fast to compute.

Profilbild von Dolan
Dolanvor 8 Monaten

Interesting

Profilbild von Mr. Awesome
Mr. Awesomevor 8 Monaten

Very nice? Now can you speed it up?

Profilbild von Merchant
Merchantvor 7 Monaten

@grok where can I buy this robot?

Ähnliche Videos