Increasing the Precision of a 6 Axis Robot Arm

  Рет қаралды 30,416

RoTechnic

RoTechnic

Күн бұрын

Пікірлер: 108
@kaedkay2472
@kaedkay2472 2 жыл бұрын
Your progress and commitment to making levels of redundancy that most other 3d printed arms ignore is inspiring, and your videos are incredibly made. Keep it up!
@roTechnic
@roTechnic 2 жыл бұрын
Wow, thank you!
@Wez_wolf
@Wez_wolf Жыл бұрын
Agreed, nice progress and simple explanation. Keep up the good work
@winandd8649
@winandd8649 2 жыл бұрын
Case anyone is wondering: the sensor he uses is a AS5600
@HornbyCrazy
@HornbyCrazy 2 жыл бұрын
Fantastic progress, I see this series becoming the go-to series for arms when it's complete
@MrNoipe
@MrNoipe 2 жыл бұрын
Great video, and its awesome to see the code open sourced too. It would be a huge benefit to make the title more informative to people looking up information about motor positioning!
@roTechnic
@roTechnic 2 жыл бұрын
Point taken :) I've changed it!
@MrNoipe
@MrNoipe 2 жыл бұрын
@@roTechnic you're the best!
@IainMace
@IainMace 2 жыл бұрын
Great video... Again. Thanks for taking the time to explain the logic you used in the error correction. That's really useful. Thanks and keep up the great work. Going to have a play with your Jupyter code... That looks super useful.
@DesignCell
@DesignCell 2 жыл бұрын
I used the same AS5600's and multiplexers on my quadruped! Amazing capability at a great price.
@RacoonMedia
@RacoonMedia 2 жыл бұрын
This is a robot arm I actually want to build since it’s much simpler and well explained. Well done
@TheBauwssss
@TheBauwssss 2 жыл бұрын
dude this is truly awesome, and its so super mega cool that you're just releasing all of the cad (and code?) stuff for free on your Github!! :O
@JoergGebhard
@JoergGebhard 2 жыл бұрын
a very nice approach using the sensor and also nicely explained!
@robertrodgers8859
@robertrodgers8859 3 ай бұрын
This is genius. I keep coming back to it. I think the future of robotics for decades can be seen here. Keep the weight (motors in this case) where you want, make the limbs light, and track position with sensors. AI vision maybe for end tools
@pitcher1716
@pitcher1716 2 жыл бұрын
You need a PID controller for the joint angles.
@tumpen1
@tumpen1 2 жыл бұрын
An absolute joy to watch your videos! your explanation of the code made me breifly forget i don't read code without googling for hours, its brilliant! I'm definetely going to build one of theese as a gift for my littlebrother.
@gfodale
@gfodale 2 жыл бұрын
Again, very impressive. I have too many irons in the fire at present, but have bookmarked your videos to come back to when I have the time. Thanks much.
@PersianFilmMakers
@PersianFilmMakers Жыл бұрын
It was a wonderful video. It only lacks a few limit switches and the command to return home.
@jamieshelley6079
@jamieshelley6079 8 ай бұрын
Brilliant idea, thank you! I have been really struggling to work out how to actually know the movement is accurate.
@klausnielsen1537
@klausnielsen1537 Жыл бұрын
This is amazing. So well done both the video and the robot and the description. Thank you😊
@smudgepost
@smudgepost 6 ай бұрын
Loving this project, can't wait to start building
@ShittyMetronome
@ShittyMetronome 2 жыл бұрын
That's brilliant ! I was affraid that, because of the bowden tubes, the wrist would be innacurate when the first three joints are moving. But the way that you've mounted the sensors and the code makes up for this ! Thank you for sharing all of this. Do you think you'll have a go with inverse kinematics ?
@capanemo
@capanemo 2 жыл бұрын
Amazing work!! This is what inspired me to build a robot arm. Greetings from Brazil!
@alexkart9239
@alexkart9239 2 жыл бұрын
6:25 this solution nice and easy, but what you think about PID loops? PID controllers are commonly using in the industrial servos.
@roTechnic
@roTechnic 2 жыл бұрын
Yeah, you can use a PID loop. in fact, this is basically just the P part of a PID loop. At the moment, I'm not seeing any oscillations using this method, but if they start happening then I'll switch to a PID loop. However, I do like to try to keep things simple, and if I don't need the full PID implementation then I think this is easier to understand :)
@topordrop2402
@topordrop2402 2 жыл бұрын
Love your work! I've been working on a very similar project. 3D printed 6 axis arm, with the same sensors. The multiplexer was one idea I was missing.
@roTechnic
@roTechnic 2 жыл бұрын
oh awesome! I’d love to see it. what reducers/gearboxes are you using?
@topordrop2402
@topordrop2402 2 жыл бұрын
@@roTechnic unfortunately I'm travelling at the moment and my robot is mostly failed prints in a drawer somewhere right now. It's a hobby project so I've challenged myself to try include as many different reducer types as possible. Some axes are using planetary gearsets and GT2 belt and pulleys. I'm in the process of refining a cycloidal reducer for the elbow, and a harmonic drive for the wrist. Wrist is actuated from behind the elbow with a torque shaft and fishing line pulley system running through the forearm. Over engineered and destined to fail, but the project kept me sober during lockdown and that's all that matters.
@roTechnic
@roTechnic 2 жыл бұрын
@@topordrop2402 It sounds awesome! Good luck!
@Alexander_Meyer
@Alexander_Meyer Жыл бұрын
You really make this easier for us pessants, thank you so much!!
@Serpleti
@Serpleti 2 жыл бұрын
Cool project ! You might want to check problems linked with sensor and actuator non-colocation tho, it can make your system unstable
@nigelhungerford-symes5059
@nigelhungerford-symes5059 Жыл бұрын
Nicely done video and project
@sermadreda399
@sermadreda399 2 жыл бұрын
Great video, thank you for sharing
@rondlh20
@rondlh20 2 жыл бұрын
Well done, great job!
@JournalEngineer
@JournalEngineer 2 жыл бұрын
Your videos are just a treasure! Thank you for all knowledge and great explanations! I keep a close on every part of you projects 😍
@roTechnic
@roTechnic 2 жыл бұрын
Thank you very much! It's nice to see you making videos again!
@xToTaLBoReDoMx
@xToTaLBoReDoMx Жыл бұрын
PID might be a more robust option for the angle tracking
@basharkernel8992
@basharkernel8992 Жыл бұрын
Nice content and work. You could use something like pid controller better control the motors and reduce overdraft
@volpir4672
@volpir4672 2 жыл бұрын
Excellent! love this channel
@frankgiordano1751
@frankgiordano1751 2 жыл бұрын
Really good job!!
@geekonarium
@geekonarium 2 жыл бұрын
This channel is amazing :D Very cool. looking forward to find the time to build your robot on my own :D
@warhammertoken4022
@warhammertoken4022 Жыл бұрын
how come the control wires don't come loose? They do need some freedom as the arm rotates, so how is that managed?
@PhG1961
@PhG1961 2 жыл бұрын
Very impressive !
@roTechnic
@roTechnic 2 жыл бұрын
thanks Philip
@reality655
@reality655 2 жыл бұрын
What about POTs
@Antihelpful
@Antihelpful 2 жыл бұрын
Just found your channel today, amazing work! This is exactly the type of project I love to follow! Not sure if this has been said anywhere before but have you thought about using a synchromesh cable system for the build?
@roTechnic
@roTechnic 2 жыл бұрын
I hadn't thought of that - Ill look into it. Thank you!
@Antihelpful
@Antihelpful 2 жыл бұрын
@@roTechnic I seen one being used in the positron v3 3D printer on a pulley system to keep position and it looks like it did a great job. Not sure if it would overcomplicate things for you, or simplify knowing the position of each motor. Would love to know if you end up using it or the reasons why it's probably a terrible idea haha
@alexkart9239
@alexkart9239 2 жыл бұрын
3:12 can we use an SPI bus instead of this multiplexor? i mean, exactly the same sensors but with SPI instead of i2c.
@roTechnic
@roTechnic 2 жыл бұрын
Yes, if you can find cheap 12 bit magnetic encoders with SPI then please let me know - that would be much easier!
@plfreeman111
@plfreeman111 2 жыл бұрын
Be careful the rabbit hole you're going down! Next is joint mastering, then camera-in-hand parametric calibration, then higher order calibration, then...
@DucBanal
@DucBanal 2 жыл бұрын
I think that I am not the only thinking it but I want amplify the signal : the problem you are trying to solve has a solution, a PID loop.
@roTechnic
@roTechnic 2 жыл бұрын
Yeah, I could use i PID loop here - and it would probably be better for a normal robot arm. But I'd like to put a camera on the end of the arm and have very well defined accelerations and speeds for camera moves. A PID loop, unless it is tuned perfectly won't give me the accuracy of speed/acceleration I need.
@DucBanal
@DucBanal 2 жыл бұрын
@@roTechnic I understand the problem you are facing but as far as I know of control theory (so correct me if I am wrong) but any control loop you would implement would just be a dimished version of a PID loop, just with some terms missing.
@roTechnic
@roTechnic 2 жыл бұрын
@@DucBanal in theory, yes. But in practice it’s much easier to tune a simple feedback loop like I’ve done here rather than implement a pod controller and just use the proportional side of it. As you saw in the video, I can easily adjust the p part (the 70/30% bit) but I have quick access to the timings around it too and can add polynomial terms in if I need to. I guess I’m saying that using a pid controller here would be like flying a jumbo jet to your local shops - very cool, but difficult to park!
@robertoguerra5375
@robertoguerra5375 2 жыл бұрын
Great job :D Inspirational :)
@greendsnow
@greendsnow Жыл бұрын
Your voice is impressing!
@MicrobyteAlan
@MicrobyteAlan 2 жыл бұрын
Awesome machine. 👍👍
@SaintMatthieuSimard
@SaintMatthieuSimard 2 жыл бұрын
Awesome!
@EnderSpy007
@EnderSpy007 2 жыл бұрын
Could you make a short video showing us how the robot arm might go about only changing a single value for each of its 6 degrees of freedom? Like for 1 shot, it oscilates between its rest position another position that only translates/rotates an attatched object along 1 axis at a time. How would you go about changing the pitch without changing the position, roll, or yaw of JUST the object? (More specifically, not changing the position of a single point, such as the center of mass or perhaps the attatchment point, Idk which one is correct)
@roTechnic
@roTechnic 2 жыл бұрын
that’ll be coming up very shortly when I dive into the inverse kinematics
@xfsr20box
@xfsr20box 2 жыл бұрын
Can you comment about the accuracy from this setup?
@FilmFactry
@FilmFactry 2 жыл бұрын
Question: I have that as5600 board. what would you recommend for linear motion? Would this work as well for a motor the has to spin thousands of steps to say move a Z axis or even a belted X or Y? In inkjet printers they use a very fine transparent "barcode" thing, and that lets them count the steps I guess. I also use Geared stepper motors so the motor has to rotate multiple times to effect a single rotation. And finally, I haven't used them yet, but are you familiar with Geared DC motors that have built in encoders? They use two hall effect sensors to provide the position. If you are familiar, the MASLOWCNC uses 2 of these motors to "plot" a rotor, to cut plywood. Cool project. But again another closed loop approach.
@roTechnic
@roTechnic 2 жыл бұрын
They don't work that well for direct encoding, because they take a while to read (like 1/10ms) so can't be used to read the position every microsecond.. Although, that being said, I've got a project on the back burner using these and a stepper motor for full FOC control - a couple of things to sort out with it though.
@richardmarkham8369
@richardmarkham8369 2 жыл бұрын
Looking good! How accurate is the AMS sensor? I think the datasheet says +/- 1 degree. Seems a lot for a 12 bit sensor? I assume you're not microstepping the motors?
@roTechnic
@roTechnic 2 жыл бұрын
the +-1 degree is the accuracy of the initial reading. All readings following that are to 12 bit precision. We can get over the accuracy by manually setting the offset of the sensor and then get nice precise readings after that
@richardmarkham8369
@richardmarkham8369 2 жыл бұрын
@@roTechnic I did some work with these a few years ago, looking for a cheap replacement for a resolver, but back then they weren't terribly accurate and needed a calibration. Then we looked at a sensor using pcb track antennas by Zettlex. Looks like the AMS chips have improved a lot in the meantime.
@TFlorian
@TFlorian 2 жыл бұрын
very nice !
@edwineuricomanat1852
@edwineuricomanat1852 6 ай бұрын
what you usee for joint 2? what types off your motor stepper sir? after your base
@rizalardiansyah4486
@rizalardiansyah4486 2 жыл бұрын
I thought you are going to apply PID for those encoders. What is this method called again? I remember James Bruton doing the same thing for one of his robots. I'd like to look up more about this method....
@rizalardiansyah4486
@rizalardiansyah4486 2 жыл бұрын
Oh, and also do you plan on switching to a regular motor like a brushless or a brushed one now that you have encoders? Would certainly help in reducing the noise and heat from steppers I guess!
@boulder795
@boulder795 2 жыл бұрын
@@rizalardiansyah4486 Steppers are pretty much the ideal motor for these arms until you can move up to fully fledged servos, brushed motors are obsolete these days and nothing quite comes close to the ease of use and stall torque of a stepper
@roTechnic
@roTechnic 2 жыл бұрын
PID is more appropriate for control of analog devices such as heaters or brushed motors. I think I'm going to stick with steppers for now - see how far I can take them. I'd love to do a bigger arm with brushless motors though.
@unknownhours
@unknownhours 2 жыл бұрын
​@@roTechnic Analog has nothing to do with it. PID would work fine expect this is a nonlinear system (Damn you gravity!). Though if you have enough torque , stiffness, and good sensor resolution, the non-linearity may be manageable.
@roTechnic
@roTechnic 2 жыл бұрын
Interesting, I didn't know that - thank you! unfortunately, torque and stiffness are not in great supply in this arm, but I am tempted to try out a PID loop. I imagine that you'd just set the PID to control the speed of the steppers and set them to rotate continuously - do you agree?
@danfilbert8859
@danfilbert8859 2 жыл бұрын
Hi your project is awesome I'd love to take a look at the code. I tried looking at the linked Github page but is seems the only Arduino code posted is the code for the sensors alone. Is there a separate file that contains the code for running and controlling the stepper motors?
@danfilbert8859
@danfilbert8859 2 жыл бұрын
Whoops never mind user error. For some reason when viewing the code from the Arduino IDE only some of the code is transferred. The rest of the code showed up when I opened it in Visual Studio.
@roTechnic
@roTechnic 2 жыл бұрын
Hiya, no the zip file that says sensors contains all the code for the sensors and the steppers. It's all in separate classes in that. If you've got any questions, I'd be happy to help - just drop me an email - address is in the about section on my channel.
@PersianFilmMakers
@PersianFilmMakers Жыл бұрын
there is no email address in your about section !@@roTechnic
@roTechnic
@roTechnic Жыл бұрын
@@PersianFilmMakers there is, you've just got to click on "show email address"
@doctorbobstone
@doctorbobstone 2 жыл бұрын
So, it looks like you mounted the magnets in the center of the joint which I would have expected to mean that the magnetic field didn't change as they rotate. What am I missing? Are they off-center? Is something else going on?
@roTechnic
@roTechnic 2 жыл бұрын
the AS5600 sensors are supplied with "diametrically magnetised" magnets which have the field at 90 degrees to "normal" magnets. I got carried away and forgot to mention that in the video. Please accept my apologies.
@doctorbobstone
@doctorbobstone 2 жыл бұрын
@@roTechnic oh. That's neat. Thanks for explaining!
@89Snyda
@89Snyda 2 жыл бұрын
Pretty cool progress! I am quite happy to have stumbled over your profile!
@roTechnic
@roTechnic 2 жыл бұрын
yes, the sensors are supplied with diametrically polarized magnets. I forgot to mention this in the video. good catch!
@SaintMatthieuSimard
@SaintMatthieuSimard 2 жыл бұрын
Q: Could it have extensible arms and still know exactly its exact ampleness as you stretch its limbs? It would be greatly useful when filming ample outdoor shots! That would require a way to give a lot of loose on the strings to adapt to the extra length.
@roTechnic
@roTechnic 2 жыл бұрын
Interesting idea!
@SaintMatthieuSimard
@SaintMatthieuSimard 2 жыл бұрын
@@roTechnic I just thought of something to prevent twisting... What if the motors section would rotate independently from the robotic arm so it could follow the arm's rotation and carry the cables along? It would prevent the dog from wrapping itself around the post right, sort of speaking.
@roTechnic
@roTechnic 2 жыл бұрын
nice idea. I was considering mounting the motors on a free running bearing, like a lazy susan or something like that so they could move round the arm.
@SaintMatthieuSimard
@SaintMatthieuSimard 2 жыл бұрын
​@@roTechnic Somehow! I was thinking tonight also that alternatively, you could mount all motors on the lowest part of the arm and have it spin around with the same lazy susan but even better, if the base arm rotation can carry the motors around with their strings without torsion, maybe they could even be fixed. You could calculate, software side, the rotation of the arm's base to carry the strings around. And if I forgot anything and it wouldn'T work, the motors could still be attached around the arm base, but with an extra motor, smaller, weaker, that rotates the ring around, mounted back on that lazy susan. Also in any manner, you could keep the strings organized in something akin to fishing pole line guides which could be mounted onto something smooth like a bearing too.
@DeltaGodWasTaken
@DeltaGodWasTaken 2 жыл бұрын
i love this man
@RacoonMedia
@RacoonMedia 2 жыл бұрын
Would it be possible to have the print files in STL format. I don’t have fusion nor do I want to install it since I’m in another ecosystem
@roTechnic
@roTechnic 2 жыл бұрын
I've just uploaded them as STEP files which you should be able to open in any CAD software. There are too many parts to export them all as STL and you'll need the cad to see what bearings and fasteners are needed and see how it all goes together
@devanshgarg31
@devanshgarg31 2 жыл бұрын
Why not use an optical encoder such as CUI AMT102-V which can be directly mounted on the shaft, but use a magnetic sensor instead? Any reason to go with that particular one?
@roTechnic
@roTechnic 2 жыл бұрын
I don't want the encoders directly on the shaft of the motor as I'd like it to report on any deviations that the 3d printed gearboxes/bowden cables add to the system. The other problem with the optical encoders is that it takes quite a bit of processing power to read them as each pulse gennerates an interrupt, whereas I can just query the magnetic encoders any time I like with no overhead in between queries.
@BeefIngot
@BeefIngot 2 жыл бұрын
To add to what I assume is part of their reasoning, the encoder you listed is incremental, and therefore wouldn't give them the absolute position of the arm on boot up, necessitating some sort of homing sequence. Furthermore, its far more expensive.
@roTechnic
@roTechnic 2 жыл бұрын
@@BeefIngot Yup, both of those too!
@irkiIIer
@irkiIIer 2 жыл бұрын
how many jobs can we automate with this, theres a labor shortage get them filled up with these bots test out your rough draft and make the final draft
@Hoptronics
@Hoptronics 2 жыл бұрын
I like Joy Division.. :)
@haideralikhan5947
@haideralikhan5947 2 жыл бұрын
Great project. This is very helpful for hobbists, would be nice also to see the overall cost of the project
@roTechnic
@roTechnic 2 жыл бұрын
Thanks, that's a great idea. As the project progresses, I'll definitely add the cost to the details
@jesseservice7828
@jesseservice7828 2 жыл бұрын
Perfeito !
@settlece
@settlece 2 жыл бұрын
👍
@h7opolo
@h7opolo Жыл бұрын
2:08 "era, era" hahah you mean "error". there are two "R"s. why can't you pronounce the second one?
@blehblehbleh2003
@blehblehbleh2003 2 жыл бұрын
first!! nice video btw
How to cheat at Inverse Kinematics
7:19
RoTechnic
Рет қаралды 50 М.
Building an Internal Cycloidal Robotic Actuator
19:01
Aaed Musa
Рет қаралды 684 М.
So Cute 🥰 who is better?
00:15
dednahype
Рет қаралды 19 МЛН
Robot Arm Wrists are too heavy - until now!
7:16
RoTechnic
Рет қаралды 183 М.
an easier robot arm actuator...
6:23
RoTechnic
Рет қаралды 131 М.
I built myself a new Robot Buddy!
17:11
Made with Layers (Thomas Sanladerer)
Рет қаралды 215 М.
I Made The Ultimate Cheating Device
9:39
ChromaLock
Рет қаралды 1,7 МЛН
Stop Buying Filament, Use This 6x CHEAPER Alternative instead
12:43
WLED Project: A Maker’s Journey
21:35
Alex Zaslavskis
Рет қаралды 148
What are Eccentrically Cycloidal Gears?
5:04
RoTechnic
Рет қаралды 52 М.