How To Make Robots Move Smoothly | Arduino Tutorial

แชร์
ฝัง
  • เผยแพร่เมื่อ 16 พ.ค. 2024
  • AD $2 for 5 PCBs, SMT Assembly fee $0. Order from jlcpcb.com/RHS
    There are lots of great animatronic and robotics props and projects out there, and it's easy to make r/c servos and other actuators move using the Arduino servo library. This means that the servos stops and start very suddenly, moving as fast as they can between positions. In this video I'm going to show you two lines of very simple code to make things smoother.
    CAD and Code: github.com/XRobots/ServoSmoot...
    You can support me on Patreon or buy my Merchandise:
    ***************************
    Patreon: / xrobots
    Merchandise: teespring.com/stores/james-br...
    ***************************
    Affiliate links - I will get some money of you use them to sign up or buy something:
    ***************************
    Matterhackers 3D printing supplies: www.matterhackers.com?aff=7500
    Music for your TH-cam videos: share.epidemicsound.com/xrobots
    ***************************
    Other socials:
    ***************************
    Instagram: / xrobotsuk
    Facebook: / xrobotsuk
    Twitter: / xrobotsuk
    ***************************
    CAD and Code for my projects: github.com/XRobots
    Huge thanks to my Patrons, without whom my standard of living would drastically decline. Like, inside out-Farm Foods bag decline. Plus a very special shoutout to Lulzbot, Inc who keep me in LulzBot 3D printers and support me via Patreon.
    HARDWARE/SOFTWARE
    Below you can also find a lot of the typical tools, equipment and supplies used in my projects:
    Filament from: www.3dfuel.com/
    Lulzbot 3D Printers: bit.ly/2Sj6nil
    Lincoln Electric Welder: bit.ly/2Rqhqos
    CNC Router: bit.ly/2QdsNjt
    Ryobi Tools: bit.ly/2RhArcD
    Axminster Micro Lathe: bit.ly/2Sj6eeN
    3D Printer Filament: bit.ly/2PdcdUu
    Soldering Iron: bit.ly/2DrNWDR
    Vectric CNC Software: bit.ly/2zxpZqv
    Why not join my community, who are mostly made up of actual geniuses. There’s a Facebook group and everything: / 287089964833488
    XROBOTS
    Former toy designer, current TH-cam maker and general robotics, electrical and mechanical engineer, I’m a fan of doing it yourself and innovation by trial and error. My channel is where I share some of my useful and not-so-useful inventions, designs and maker advice. Iron Man is my go-to cosplay, and 3D printing can solve most issues - broken bolts, missing parts, world hunger, you name it.
    XRobots is the community around my content where you can get in touch, share tips and advice, and more build FAQs, schematics and designs are also available.
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 853

  • @wilmantube
    @wilmantube 2 ปีที่แล้ว +606

    this guy makes a whole ass senior engineering project every week
    That’s dedication

    • @caner8688
      @caner8688 2 ปีที่แล้ว +8

      How did this british accented guy educate hımself? That s What i really Wonder.

    • @brianbagnall3029
      @brianbagnall3029 2 ปีที่แล้ว +1

      Amazing result this week.

    • @planetdesign4681
      @planetdesign4681 2 ปีที่แล้ว +6

      @@caner8688 I’m sensing some sort of antagonistic energy here, just wondering

    • @caner8688
      @caner8688 2 ปีที่แล้ว +2

      @@planetdesign4681 well after a mature age if you didnt get, smoothness in action becomes "divine" secret.you watch and see the speed and perfectness in productivity at the same time.

    • @SamWane
      @SamWane 2 ปีที่แล้ว +5

      We do have some excellent universities in Britain:Cambridge, Oxford, Hull,…. But this hands on stuff wouldn’t be acquired there, this is pure passion and practical graft

  • @benGman69
    @benGman69 2 ปีที่แล้ว +948

    Nice one. Be careful not to add too much smoothing to the eyes though. A lot of 3d artists get this wrong when animating. Human eyes look very creepy when they move too smoothly.

    • @Avetho
      @Avetho 2 ปีที่แล้ว +74

      Its difficult to move your eyes slowly without tracking a moving object, but you can do it if you force your eyes to defocus or otherwise not lock on to any targets. I like doing strange things that somewhat give people the heebie-jeebies, like moving my scalp without touching it, or making my eyes roam about, or moving in a robotic fashion, or changing my gait to a different one a dozen times in as many minutes, or speaking like a DECTalk machine although that last one is more funny instead XD

    • @JackSpiggle
      @JackSpiggle 2 ปีที่แล้ว +30

      Yeah I was thinking this too, eyes and eyelids are probably the worst candidates to show off this smoothing

    • @user-wz3ci8lc7c
      @user-wz3ci8lc7c 2 ปีที่แล้ว +12

      Agree, totally. Eyeballs move almost discretly in real life

    • @Avetho
      @Avetho 2 ปีที่แล้ว +12

      @@user-wz3ci8lc7c Yep! I believe we can also say its why most people have trouble when it comes to _not looking_ at things that happen around them, or things that move, its because the eyes move so fast and naturally the brain wants to snap focus on objects. Like men looking at _dat bounce,_ be it an old pristine Cadillac or something _finer and fairer_ XD

    • @mr_tom_1_0
      @mr_tom_1_0 2 ปีที่แล้ว

      See also: Sauron’s eye in LOTR movies ;-)

  • @mikeselectricstuff
    @mikeselectricstuff 2 ปีที่แล้ว +554

    This method also works well for making LED animation look smoother.

    • @Ensamma_Vargen
      @Ensamma_Vargen 2 ปีที่แล้ว +2

      Example?

    • @snik2pl
      @snik2pl 2 ปีที่แล้ว +16

      This is Mike, you don't ask him for example. His channel is example

    • @fvgoya
      @fvgoya 2 ปีที่แล้ว

      I can’t imagine this. Any examples?

    • @dominicstocker5144
      @dominicstocker5144 2 ปีที่แล้ว +5

      It also works for making smoother music synthesizer sounds

    • @mbunds
      @mbunds 2 ปีที่แล้ว +2

      @@BlondieSL Hey, thanks - it’s kind of out of left-field, but your description of the echo problem may have solved a weird problem my plant has been having with an identical pair of Endress-Houser level sensors being used to measure water levels in two identical stainless-steel mix tanks. Visually, the water exhibits no turbulence as the tank is filled, then emptied, yet the graphs from both instruments show regular “steps” as the water level is slowly drawn down. I’m willing to bet we have a resonance issue in the cavity formed by the stainless tanks, and the interactions with the sonar!
      Further backing this possibility is that another identical E.H. level does not produce “stepped” graphs at all; just a smooth, linear “sawtooth” as the hopper empties between refills. But this isn’t water, it’s soda-ash, which I’ll bet dampens the hell out of echoes compared to water. Thanks for possibly solving a real head-scratcher!

  • @WRSomsky
    @WRSomsky 2 ปีที่แล้ว +317

    Here's something to try, though it will take a small bit of computation. Have the eyes snap left or right quickly, and then have the neck turn more slowly in that direction, but counter-rotate the eyes as this happens so they appear to have locked onto looking at something, and the head then turns to consider it...

    • @JTCF
      @JTCF 2 ปีที่แล้ว +72

      Fun fact: human eyes won't move smoothly unless they are focused on a moving object (or what brain thinks is a moving object). At any other time eyes just snap to a new position very quickly.

    • @maxxsteele9396
      @maxxsteele9396 2 ปีที่แล้ว +3

      @@JTCF Not a fact and why would it be fun for everyone if it was true.

    • @albertweber1617
      @albertweber1617 2 ปีที่แล้ว +48

      @@maxxsteele9396 it's absolutely true

    • @iAmTheSquidThing
      @iAmTheSquidThing 2 ปีที่แล้ว +22

      ​@@JTCF Yes, but they will also move smoothly when you focus on a stationery object and then move your head.

    • @SamFisk
      @SamFisk 2 ปีที่แล้ว +17

      @@maxxsteele9396 how about you cite a source supporting your claim and refuting theirs, rather than resort to baseless insults?

  • @fiveoneecho
    @fiveoneecho 2 ปีที่แล้ว +78

    For anyone wondering how to smooth the launch of the curve as well, just check out different interpolation functions. Trigonometric or cosine interpolation is a really common one for essentially making this curve from the video smooth on both launch and landing. They are also going to be just one line in your code!

    • @BlixemBlixem
      @BlixemBlixem 2 ปีที่แล้ว +8

      Very good point. A programmer friend of mine went and did his high school maths again to remember how to use Sin wave. He uses it to start and stop motion smoothly.

  • @MrScorpianwarrior
    @MrScorpianwarrior 2 ปีที่แล้ว +11

    I could just watch it move around for a long time. I didn't expect it to work that well!

  • @ooslum
    @ooslum 2 ปีที่แล้ว +58

    I think the loss of jitter improves effect vastly as well. You could read the speed of joystick movement as well, that would allow variable speed smooth movements. In operation sounds may elicit faster movement than vision. Cheers

  • @bradkoerner1
    @bradkoerner1 2 ปีที่แล้ว +12

    Fantastic video! Thanks for doing simpler videos covering the "basics" once in awhile - it inspires newbies like myself to give it a try with my kids!

  • @isthissiddh
    @isthissiddh 2 ปีที่แล้ว +3

    this was really very helpful. please please please bring in more tutorials like these about minor things which go unnoticed in a larger project but are key to its success. thank you!!!

  • @Stoneman06660
    @Stoneman06660 2 ปีที่แล้ว +5

    That is beautiful in its simplicity, execution and aesthetic. Well done, sir!

  • @smellycat249
    @smellycat249 2 ปีที่แล้ว +2

    Thank you so much. I kinda gave up on a project because I couldn’t figure out servo smoothing. Now I can get back into it

  • @mattimotion
    @mattimotion 2 ปีที่แล้ว

    Super useful video, thank you for that! The robot projects on this channel combined with some animatronics like these could become terrifyingly characteristic

  • @HendrikxWorkshop
    @HendrikxWorkshop 2 ปีที่แล้ว +1

    Hi James, thank you for sharing my project! I am not using arduino this time, but your suggestion to move it smoothly is great! I will adapt it in future movement sequences. Right now I am focused on the hardware. Files are being shared, so anyone can build it 😊

  • @BenRyherd
    @BenRyherd 2 ปีที่แล้ว +1

    It's crazy how big of a difference such a small chunk of code makes! Very lifelike. Thanks for sharing!

  • @howtodothingssask4385
    @howtodothingssask4385 2 ปีที่แล้ว +23

    Love your hard work on all your projects !

  • @vrcxmeta4598
    @vrcxmeta4598 10 หลายเดือนก่อน

    this video just in my recommended just brought me back to one of my favorite channels from a while ago, used to binge watch your hulkbuster build series trying to figure out what anything you were saying meant

  • @GrahamDIY
    @GrahamDIY 2 ปีที่แล้ว +2

    Congrats on reaching 1m subs. I’ve only just noticed. 🏆
    Thoroughly well deserved. Been watching you for years. You’ve taught me a lot. Even though I’ve been programming since 89 and the programming isn’t too advanced for me, it’s a brilliant intro for my daughter and others.
    Thanks 🙏

  • @brianbrewster6532
    @brianbrewster6532 2 ปีที่แล้ว

    That smoothing algorithm you used was as elegant as it was ingenious. And the way you demonstrated this in the visual graphing really made this apparent you went from those choppy square waves to those poetic looking curves. You should consider making a full-sized animatronic running 6 - 8 arudinos to show how life like this can be in terms of arm/hand movement, treadle turning, and of course facial movements including your pair of amazing eyes.

  • @ka24det
    @ka24det 2 ปีที่แล้ว

    I did something similar to that smoothing code for an ESC but with integer amount rather than percent. Percent makes so much more sense!

  • @circleofowls
    @circleofowls 2 ปีที่แล้ว

    Perfect timing, I'm just about done with the physical design of my omniwheel astromech project, this will help a lot in the movement code.

  • @StaticE3
    @StaticE3 2 ปีที่แล้ว +23

    Wow thats eerily realistic, good job!

  • @cameronross4559
    @cameronross4559 2 ปีที่แล้ว

    Brilliant, straight-forward, and simple to implement! Thanks James!

  • @tpobrienjr
    @tpobrienjr 2 ปีที่แล้ว +1

    Excellent tutorial! My own experience with smoothing motion comes from the control used in the Canadarm/Canadarm2 robots. In those, the operator puts in a desired motion vector, and the joint servos are commanded simultaneously to give a blended (resolved) motion along the desired vector, which changes every 80 milliseconds. The operator's command is with two joysticks that give 6 axis control. It looks very smooth and natural (but of course costs multizillion dollars).

  • @carlesmolins3269
    @carlesmolins3269 2 ปีที่แล้ว +54

    Fun fact: a similar method can also be used to fuse two sensors' data giving out the same information to smooth out the output data, for example:
    If we have an a gyroscope and an accelerometer sensing the same angle, we can set a new variable fused_angle = 0.95*gyro_angle + 0.05*accel_angle.
    Cool thing about this is that the gyroscope captures changes in the angle faster but it has what is called "drift" (the value it senses slowly deviates from the actual angle), while the accelerometer is not nearly as fast at detecting such angle changes but it does not drift. Fusing them together gives you an angle reading which is responsive thanks to the gyro contribution, but does not drift thanks to the accelerometer cobtribution.
    This is a good alternative to using more complicated (and computationally expensive) methods such as a kalman filter while still giving very good results in most cases (at least when talking about arduino projects).

    • @angelusmaker
      @angelusmaker 2 ปีที่แล้ว +4

      Of course, I read this now, months after giving up on trying to work this out on my own on 6050s, and instead just (through sheer luck) used someone else's head tracker XD
      All jokes aside, this is fantastic to read and I might give it another go. While the tracker I found works, it'd be nice to do some customising!

    • @martinmckee5333
      @martinmckee5333 2 ปีที่แล้ว +6

      Yes. This is a good option. For anyone who wants to learn more, the sensor fusion version described here is known as a Complementary Filter.

    • @carlesmolins3269
      @carlesmolins3269 2 ปีที่แล้ว

      @@martinmckee5333 thanks, completely forgot about the name!

    • @fiveoneecho
      @fiveoneecho 2 ปีที่แล้ว +2

      Wow... This is the kind of thing you don't know how to find when you need it, you don't learn in a class because you were distracted for the 2 minutes it was mentioned, and no one talks about. It's so obvious but so passable. Great tip!

    • @kitlith
      @kitlith 2 ปีที่แล้ว +2

      @@fiveoneecho i've been like, toe deep or ankle deep in this stuff for a couple days, and while complementary filters are cool, kalman filters, madgwick filters, and others are even cooler.
      (EDIT: wow i missed that kalman filters were already mentioned as more expensive, reading comprehension fail. >_>)
      I'm currently using a library called dcmimu (which is the rust port of a c library with an associated paper called dcm-imu) and, frankly, i'm just treating it like a black box. probably shouldn't be, but i haven't had the bandwidth to try to properly evaluate all the options i have, when i'm still trying to figure out what the best method for calibration is. (after all, garbage in, garbage out)

  • @ethanbreen5500
    @ethanbreen5500 2 ปีที่แล้ว +3

    I want to see this guy build an animatronic like the one at pandora. He’s got the skills to make it really realistic

  • @Simon_SolutionS
    @Simon_SolutionS 2 ปีที่แล้ว

    Getting back to basics time to time is really important
    Thanks and once again great job

  • @sabrinazwolf
    @sabrinazwolf 2 ปีที่แล้ว

    Amazing as always. I really want to make this. The smoothing makes it look so cool.

  • @Robonza
    @Robonza 2 ปีที่แล้ว +3

    Its great to see you using my 5% 95% smoothing algo. You have done really well with this project. Don't under estimate the value of some animated eyebrows. They are really easy to make.

  • @rebeldefmusik
    @rebeldefmusik 27 วันที่ผ่านมา

    This is beautiful. I will try to make one following your tutorial. Thanks 🙏🏾

  • @almondtech
    @almondtech 2 ปีที่แล้ว +1

    Congrats on 1mil subs! idk how long its been since u got to it but congrats anyways! Idk when I followed because I made this channel more recently, but I remember back when you made the xenomorph, this channel is what got me interested in engineering, arduino, and 3d printing.

  • @danterusso6354
    @danterusso6354 2 ปีที่แล้ว

    Really enjoy your work, sir. Just subscribed and look forward to watching many more of your videos! Well done.

  • @jacocoetzee762
    @jacocoetzee762 2 ปีที่แล้ว +3

    Thank you so much! I’m working on a 6 DOF robotic arm and want to use various accelerometers spaced over the arm to work out the position of the head in relation to the base of the arm. This smoothing will be key to make the movement of the arm easier to control with less jerking.

    • @blackbomb64
      @blackbomb64 2 ปีที่แล้ว +1

      If you are working on creating a robotic arm, you should try to work towards programming a PID controller. It will give you much more control over how the arm moves.

    • @jacocoetzee762
      @jacocoetzee762 2 ปีที่แล้ว

      @@blackbomb64 PID is so next level. Thank you for the advice. Will give it a go :)

  • @madman7923
    @madman7923 8 หลายเดือนก่อน

    holy cow when you connected the joysticks it really brought him to life with smooth motion. thanks for such a cool video!

  • @CREATIVEINNOVATOR
    @CREATIVEINNOVATOR 2 ปีที่แล้ว +1

    I just fall in love with all your projects

  • @ChrysalideEngineering
    @ChrysalideEngineering 8 หลายเดือนก่อน

    Like these projects a lot
    Thank you
    Jean-François

  • @tomwoolley5779
    @tomwoolley5779 2 ปีที่แล้ว

    Thanks for making this video. I'm going to try using it to smooth out Bittle's movements.

  • @jordanletchford9139
    @jordanletchford9139 2 ปีที่แล้ว

    Nice video! Pretty much showing how easy it is to do essentially just a kalman filter. Changing the percentage you rely on the previous and the next value would be the Q and R in the filter

  • @AnimilesYT
    @AnimilesYT 2 ปีที่แล้ว +103

    In animation everything should have an ease in when it starts moving and an ease out when it stops moving. The easing should depend on the total movement, the speed, the elasticity, the mass, and things like that. Something with little mass can accelerate quick and it can also decelerate quickly. So the eyelids don't need as much smoothing as the eyes, and the eyes don't need as much as the head.
    I think the way you did it is a huge improvement on the default binary speed. It's also nice that it is very easy on resources and it's easy to understand and implement. So I think this solution is a very good compromise between realistic movement and complexity. This also makes it great for beginners.
    That said, as I mentioned in the beginning of my comment it should look even more realistic if it also included an ease in. It should also look more realistic if all servos get their own smoothing parameters. Choosing the wrong smoothing can make it look worse though, so it requires a bit of tweaking

    • @viniciusfriasaleite8016
      @viniciusfriasaleite8016 2 ปีที่แล้ว +9

      A little ease in is achieved naturally by the limited force the servo has to move the mass. It would be cool to wire the feedback potentiometer of the servo to the arduino to see the real position. We only saw the desired position on that plot

    • @FiNiTe_weeb
      @FiNiTe_weeb 2 ปีที่แล้ว +2

      ​@@viniciusfriasaleite8016 also the fact that he's converting rotational motion to linear theres some sinusoidal ease-in and out

  • @augustopizarro6823
    @augustopizarro6823 8 หลายเดือนก่อน

    I Just started to mount one with your files. Thank you, thank you!!! Tomorrow it will be completed.

  • @fvgoya
    @fvgoya 2 ปีที่แล้ว

    This is amazing!!!!! I never thought something like this for “any one” can do. Very helpful!! Thank you.

  • @Ernzt8
    @Ernzt8 2 ปีที่แล้ว

    How a simple piece of code makes such a big difference, thanks!

  • @FinepixF30
    @FinepixF30 ปีที่แล้ว

    Great work, it really proves that every thing in nature behaves like a logarithmic curve, what you explain here is warping the pulse within a logarithmic curve that shapes the on and off transition instead of having sharp sudden changes. As per comments below yes, this can also be applied to turning LED on or off to make them glow up or glow down (emulate a candle light for example) or to shape sounds to create smooth transitions for amplitude or frequency allowing different sound effects . As someone said below think of all the applications that use pulse width modulation.

  • @Reality2Robots
    @Reality2Robots 2 ปีที่แล้ว

    This is so awesome!! Gotta try this with one of my up and coming projects!!

  • @justinberdell7517
    @justinberdell7517 2 ปีที่แล้ว

    I live outside Chicago and i love the creators from other parts of the world! It's 1am and this pops up. So awesome lol
    Also your background music is pretty great

  • @netizen5467
    @netizen5467 4 หลายเดือนก่อน

    I usually dont really comment on a yt video. But this one just blows my mind.
    how simple yet elegant...really amazing. keep going 😊❤️🔥

  • @waylontmccann
    @waylontmccann 2 ปีที่แล้ว

    Out of all the animatronic tutorials, this one manages to make arduino coding sensible... what? Awesome 👌

  • @ubidefeo
    @ubidefeo 2 ปีที่แล้ว

    Nice project.
    In the standard Arduino IDE examples, under "Analog", we have an example called "smoothing" which basically uses an Array of values in order to get an average value which smooths over time.
    I use something similar to send smoothed out values over OSC/MIDI

  • @jamesmor5305
    @jamesmor5305 2 ปีที่แล้ว

    You are so fast with Projects, really inspiring

  • @devinjohnson4507
    @devinjohnson4507 2 ปีที่แล้ว

    That's pretty cool and so simple! I've got a project I'll be using this in right away.

  • @Mitraloxy
    @Mitraloxy 2 ปีที่แล้ว

    With how realistic the robot's actions are, *it's unexpectedly wholesome.*

  • @billburnard3790
    @billburnard3790 2 ปีที่แล้ว +1

    I'm definitely going to try this! Thank you James!

  • @kikihobbyrepair
    @kikihobbyrepair 2 ปีที่แล้ว

    This is so simple but looks so cool. I love it.

  • @Geeksmithing
    @Geeksmithing 2 ปีที่แล้ว

    Oh man, this is so damn helpful. Thanks James!

  • @juanignacioalvarez3390
    @juanignacioalvarez3390 5 หลายเดือนก่อน

    FANTASTIC! THANK YOU SO MUCH 4 SHARING!

  • @easyBob100
    @easyBob100 2 ปีที่แล้ว +3

    This is cool. It's also another chance to let everyone know that Disney has a lot of research on this. Their robots are a lot heavier, and if you just target a location, the whole robot can rattle around. IIRC, they used some kind of overshoot method, which allows them to move fast, yet keep the robot from shaking from the move. I think lol.

  • @allan4317
    @allan4317 11 หลายเดือนก่อน

    By far the best animatronic 3D printed eye mechanism I've seen. Willing to purchase obj or stl files.

  • @joell439
    @joell439 2 ปีที่แล้ว

    Very interesting- I really appreciate you sharing this practical example. I’m inspired 👍👍

  • @richo13
    @richo13 2 ปีที่แล้ว

    Great video James. Going to implement this on a small robotic arm to stop it jolting when it moves

    • @WistrelChianti
      @WistrelChianti 2 ปีที่แล้ว +1

      I think James just smoothed out the internet!

  • @jameshughes3014
    @jameshughes3014 2 ปีที่แล้ว +1

    This is perfect for my social distance Halloween project. Thank you

  • @ahbushnell1
    @ahbushnell1 2 ปีที่แล้ว

    Another way is the single pole digital filer.
    Vnew=(Vin-Vold)*delT/tau+Vold
    Vold=Vnew
    Tau is the time constant (small is fast) and delT is the step size (in your case 10ms). Vin is the signal from the switch. Vnew goes to your servo.
    Good video as usual!

  • @Internatube
    @Internatube 2 ปีที่แล้ว

    I love these bite sized tutorials!

  • @imamuffin2400
    @imamuffin2400 2 ปีที่แล้ว

    Watch till the end this is amazing

  • @invertedowl
    @invertedowl 2 ปีที่แล้ว

    This worked great to make my robotic arm project way less jerky!!

  • @WistrelChianti
    @WistrelChianti 2 ปีที่แล้ว

    Thanks! Lovely demo and very well explained. Such great results too! =D

  • @caslor2002
    @caslor2002 2 ปีที่แล้ว +1

    Yes i would love more of this type of video.. with arduino code projects .

  • @vomitedthoughts
    @vomitedthoughts 2 ปีที่แล้ว

    This is a great video i wish I had this back when I starting building animatronics.

  • @djmips
    @djmips 2 ปีที่แล้ว

    I hadn't watched a Bruton video in 4 years and it's quite striking how the narration has changed. It's almost like there is smoothing on the end of sentences. :)

    • @djmips
      @djmips 2 ปีที่แล้ว

      I think I figured it out, it's a conscious effort to talk more slowly, probably as the result of feedback. My solution. Watch the video at 1.5 X and I get the faster talking Bruton back. ;-)

  • @angusmclaren6257
    @angusmclaren6257 2 ปีที่แล้ว +1

    It's a great tutorial. Really gives you a good idea how they animated Baby Yoda.

  • @electronic7979
    @electronic7979 2 ปีที่แล้ว +2

    Excellent project. I liked it

  • @Bucket_of_Chicken
    @Bucket_of_Chicken ปีที่แล้ว

    Thank you for making this video now I know how to make smoother Movements and make the eyelids thank you

  • @097_shashanksahu6
    @097_shashanksahu6 ปีที่แล้ว

    Learned something cool today, Subscribed.

  • @WilliamHemmingsen
    @WilliamHemmingsen 9 หลายเดือนก่อน

    I know this is old, but I'm in progress of making this. My version will have face tracking via depthai. And powered by openai API. Love this version of animatronic eyes. thanks for such a great design. And thanks for posting the CAD!

  • @marco_gallone
    @marco_gallone 2 ปีที่แล้ว

    First order filters are such a huge asset for all digital control systems

  • @darklightining6412
    @darklightining6412 10 หลายเดือนก่อน

    one of the GREATEST videos ever, Thanks

  • @Jhinsydney
    @Jhinsydney 2 ปีที่แล้ว

    Excellent tutorial, well done !!!

  • @fgbhrl4907
    @fgbhrl4907 2 ปีที่แล้ว

    Always enjoy your videos. Project suggestion: A mini motion platform for a desk chair / flight sim.

  • @unit98.15
    @unit98.15 2 ปีที่แล้ว +2

    Absolutely love this video! This is so well presented and easy to replicate at home, great content man 🤘🏽

  • @nathansergeant2832
    @nathansergeant2832 2 ปีที่แล้ว

    This is just so cool, and useful for me thank you so much.

  • @zachkorinis3935
    @zachkorinis3935 2 ปีที่แล้ว

    Great work, thank you for sharing

  • @Gotenham
    @Gotenham 2 ปีที่แล้ว

    Dang, for such a simple implementation it looks very life like

  • @ajeethsuryash5123
    @ajeethsuryash5123 2 ปีที่แล้ว

    Thanks for sharing this trick

  • @DmitriyKhazansky
    @DmitriyKhazansky 2 ปีที่แล้ว +1

    I love these great little how to videos

  • @askjacob
    @askjacob 2 ปีที่แล้ว

    this kind of multi tasking can also benefit from setting up a timer with interrupt and check flags/update values that way. Less overhead than checking millis() all the time if you need to do more heavy lifting in your mainline code

  • @dpsamu2000
    @dpsamu2000 2 ปีที่แล้ว

    Learned that trick when programming CNC in the '80s.

  • @philharris9631
    @philharris9631 2 ปีที่แล้ว

    This is absolutely superb!

  • @BlaiseBarrette
    @BlaiseBarrette 2 ปีที่แล้ว +1

    I loved that video! Well done! My suggestion for a future video would be a beginner’s guide tu Fusion electronics. Design a simple PCB and and have it made by JLC PCB! Fusion electronics really opened up so many possibilities for me.

  • @daniee5992
    @daniee5992 ปีที่แล้ว

    This is very neat, thank you.

  • @nathaniellangston5130
    @nathaniellangston5130 2 ปีที่แล้ว

    I really like your little eyeballs and eyelids a LOT more than that first human head you showed!!! I would love to see some of these kinds of things integrated into open dog where the visual sensor for depth would be able to pan and tilt in the same way but in a sort of mechanized organic kinda way like this!

  • @andymouse
    @andymouse 2 ปีที่แล้ว

    Theses little tutorials are a great idea, more please.....cheers.

  • @ntc7335
    @ntc7335 11 หลายเดือนก่อน

    THank you for this!

  • @PopExtra
    @PopExtra 8 หลายเดือนก่อน

    That's awesome, looks like a muppet show character but moved by mechanics.

  • @ChrisContin
    @ChrisContin 10 หลายเดือนก่อน

    Absolutely great!

  • @robincarr111
    @robincarr111 2 ปีที่แล้ว

    Similar technique can be used to smooth analog signals, a FIFO buffer of 10 or so values, added together then divided by 10. When a new value enters put the old one out and reaverage. Easiest is to keep an array and cntr. Put the value in at the cntr, increment by on. If the cntr >9 reset to zero. You just overright the last item in.

  • @djmips
    @djmips 2 ปีที่แล้ว

    A good eye rotation calculation has each eye looking at the same point. Then you get a bit of toe in. Then you can move the virtual look at position with your controller ( could be on an arc) This looks more realistic than both eyes in parallel turning at the same speed.
    Nice work. Good building and showing how to use a simple low pass filter.

    • @paulnewman2000
      @paulnewman2000 9 หลายเดือนก่อน

      Nice idea. What about sensors to detect distance to object? Then you could have it go cross-eyed as you brought objects close.

  • @likekkk
    @likekkk 10 หลายเดือนก่อน

    Great video as always! I was thinking about it, and if you want to double how organic it can look, you can combine smoothed motion and jerky motion.
    For example: say you have your animatronic in a sort of 'sleeping' state, but then you need to 'wake it up'. At the very beginning, you can take a few approaches, such as being startled. Essentially, start with jerky movement scanning the entire environment very quickly, and then 'calming down' and use the smoothed-out motion.
    A lot of this would be easier with pre-programmed movements, especially if you want to quickly switch between jerky and smoothed-out motions to help simulate different emotions and such. You would also need to take into account that humans are hardwired to be incapable of moving their eyes smoothly without tracking an object. Otherwise, the eyes move in a somewhat smooth, but still jerky motion. All of this is just me thinking, and animatronics aren't really my thing, so if you're into this kind of thing, maybe this could be useful to you. Maybe not.
    Anyway, great video, and hope you have a good day!

  • @JimyFlips
    @JimyFlips 2 ปีที่แล้ว

    Wow... Wow Man!!! Amazing. Just Amazing. Thanks !

  • @SamWane
    @SamWane 2 ปีที่แล้ว

    What James has created here is a low pass filter (fast input changes are reduced). This can also be used to reduce 'blips' in analogue values such as reading a light sensor etc. I hope you don't mind but I've pasted a function to do this. Call it with input=the analogue value read (converted to double), and f as the cutoff frequency in Hz (try 0.3). Call it from a timed loop (e.g. reading a value and having a delay (e.g.100ms)
    double filter(double input, double f)
    {
    static bool initialise = true;
    static double prev_x = 0, prev_y = 0;
    double y;
    double T;
    static unsigned long lastmillis;
    T = (millis() - lastmillis) / 1000.00;
    //f = 0.2; //Cutoff frequency in Hz, small value makes a slow response
    f = f * 2 * PI;
    //if (initialise) y = input; else
    y = f * T * prev_x + prev_y - f * T * prev_y;
    initialise = false;
    prev_x = input;
    prev_y = y;
    lastmillis = millis();
    return y;
    }

  • @em30142
    @em30142 2 ปีที่แล้ว

    This looks freaking awesome.

  • @tonywharton5220
    @tonywharton5220 2 ปีที่แล้ว

    Hi there James. I built something similar but used oled screens for the eyes. I recall it's called uncanny eyes. I built these into a 3d printed pumpkin for Halloween a couple of years back. It's amazing what a 3d printer adds to Arduino. I love your videos 👍

  • @salcamp01
    @salcamp01 9 หลายเดือนก่อน

    Great tutorial James!! Have you done any tutorials on implementing a 6DOF board? I’m interested in how it is used to compensate servo movement/positioning like for a self leveling robot.