My juggling robot can finally juggle! 🤹‍♀️ | PDJ #22

Поділитися
Вставка
  • Опубліковано 17 вер 2024

КОМЕНТАРІ • 241

  • @futonmonkey82
    @futonmonkey82 20 днів тому +92

    Doesn't matter if it's perfect! It's the journey and learning along the way!!!

    • @harrisonlow
      @harrisonlow  20 днів тому +3

      Absolutely! Cheers 😊

    • @SHAINON117
      @SHAINON117 19 днів тому +1

      Correct I just made a refillable lighter out of boredom and having to buy new ones and it worked but failed fast and I learnt that butane reacts with hot glue by melting it and it makes sense since it was a hydrocarbon and that I would never have learnt if I didn't do it and now I'll get some proper adhesive and the next prototype may work ❤❤❤❤❤❤❤

  • @StuffMadeHere
    @StuffMadeHere 18 днів тому +21

    Awesome! All I could think while watching is that you need motion capture! An optitrack / vicon rig would directly tell you the position of all joint and the ball with sub millimeter accuracy @ 100s of Hz.
    This would make debugging a lot easier since you can play back all the actual motions and zero in on what’s contributing to errors. It would also let you generate a calibration to null out the Stewart platform errors. Also if you wanted to be fancy, you could close the loop on the ball position fairly trivially.
    Univerities often have rigs in the robotics / sports / bio labs. Your project is interesting enough that I bet you could get access if you found the right interested researcher…

    • @harrisonlow
      @harrisonlow  17 днів тому +5

      Cheers Shane!
      Yeah I've been looking into getting a mocap system but they're so darn expensive! Asking around at a university is a good idea 🤔 I'm very jealous of your setup 😅
      Definitely agree on how useful mocap would be. There are so many problems that suddenly become tractable when using such a system...

  • @Alex-yq2tf
    @Alex-yq2tf 19 днів тому +70

    Love the 3D ball UA-cam icon. Never seen anyone use the circular icon like that!

  • @illich1010
    @illich1010 19 днів тому +28

    If you planing to enlarge hand, don't forget to make air holes. Resistance at such speeds is significant

    • @harrisonlow
      @harrisonlow  19 днів тому +5

      Very good point! This would be really fascinating to measure to understand better. Cheers for the suggestion ☺️

  • @Wintergatan
    @Wintergatan 11 днів тому +2

    Love this series Thank you for the great update!! 💪

  • @lanzer22
    @lanzer22 19 днів тому +18

    I still remember one of your first videos when the actuator design was completely different. It's great to follow you on your journey to perfection.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Cheers for the continued support! ☺️

  • @yolo6741
    @yolo6741 17 днів тому +2

    Fantastic project! In addition to the great result, for me this is also a great example of how much physical stress is placed on the joints and connections even on such small machines with fast movements. I am really looking forward for the further development with ‘two hands’ and ‘eyes’ - thanks for sharing and good luck with the further development.

  • @akhmadasrori3239
    @akhmadasrori3239 19 днів тому +14

    this is actually so cool!
    THOSE HAND MOVEMENTS ARE SO SATISFYING

  • @99seaweed
    @99seaweed 6 днів тому +2

    The engineering corner of UA-cam is definitely my favorite corner.

    • @harrisonlow
      @harrisonlow  6 днів тому +1

      Agreed! So much happening here. What a time to be alive! 😁

  • @alana314
    @alana314 19 днів тому +10

    Jugglebot’s hips don’t lie. Great work!

  • @ElectroBlep
    @ElectroBlep 19 днів тому +2

    Thanks a lot! Becoming a juggler was my back up plan for when the robots take over all the jobs, and now you've taken that away from me as well. 😜😂
    Seriously though. That was impressive!

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      Haha well you can still go for being a club juggler! That should buy you at least a few extra years 😉
      Cheers ☺️

  • @nWestie
    @nWestie 17 днів тому +1

    The amount of progress you've made in the past couple months is incredible, I havent kept up with the livestreams, but WOW!
    And I concur that a state machine would be a good plan - implemented one for one of my recent projects and it the feeling of switching everything over from nested if statements was wild.I could feel the code becoming easier to reason about and also more flexible as I wrote the new version

  • @Schmogel92
    @Schmogel92 19 днів тому +13

    Regarding the missing 3mm in height: Check whether your measuring tape actually is accurate, just to be sure...

    • @harrisonlow
      @harrisonlow  19 днів тому +5

      That's a very good point! I'll check this when I get my new linear scale set up 😁
      Cheers for the suggestion!

  • @davecgriffith
    @davecgriffith 20 днів тому +9

    It's awesome to see it juggle!
    Congrats on that accomplishment!

  • @Gavo9649
    @Gavo9649 19 днів тому +3

    I always appreciate creators who try to open source their projects and the extent that you’re doing that is awesome! Loving this project and best of luck ❤❤

  • @juschu85
    @juschu85 17 днів тому +2

    If Jugglebot ever gets eyes and computer vision, you couldn't just make it throw balls at you or see the balls it threw itself, you could also make it catch balls you throw at it.

    • @harrisonlow
      @harrisonlow  17 днів тому +1

      Exactly! I'm very keen for when Jugglebot and I can juggle together 😁

  • @BramCohen
    @BramCohen 20 днів тому +4

    The hand shape you've got now is pretty good. Probably best to leave that shape exactly as is for the bottom then extend it with a slightly conical section going up to guide the ball back in place if it's a bit off. CoreXY is a good idea, but it seems completely unnecessary to make the hand able to pivot. With that largely spherical hand throwing mostly up it matches all the directions of throw you need already, just have to coordinate the XY and the hand to get exactly the trajectory you want. Aside from giving it eyes and getting the subtle details of the control systems working properly it looks like that approach should be able to get you there but you should test whether the hand mechanism you have now can throw high and fast enough to do 7 in one hand without breaking.

  • @roboman2444
    @roboman2444 19 днів тому +2

    If you can unify the hand movement with the arm movement, you can likely utilize the arm to assist in movement for catching or throwing. Essentially speeding up the hand.

    • @harrisonlow
      @harrisonlow  19 днів тому +2

      Yep, 'piggybacking' the hand movement on top of the arm movement would be great. Should be able to get super high throws and much gentler catches this way!

  • @mrphilosoraptor5671
    @mrphilosoraptor5671 19 днів тому +3

    About connectors:
    I am taking part in the Bauman Racing Team car electronics department. We have been used Molex MX150, MX150L, DTM, Superseal, Microfit connectors, but I have never been totally happy with them. I consider aviation connectors definitely worth trying, but MX150 (with no L) and DTM connectors are definitely good enough if you have a proper crimping tool.

    • @harrisonlow
      @harrisonlow  19 днів тому +2

      Cheers! These appear very worth looking into

  • @kianwerner7487
    @kianwerner7487 13 днів тому +1

    I think it is really satisfying to see the robot do this without any cameras tracking. If one uses tracking, in any project, i always think it is constraining the environment it will work in so much. Wouldnt it be cool, to just take it somewhere and have to care just about the robot and its brain only, not the + / - 10 cameras and and and

  • @Brocknoviatch
    @Brocknoviatch 19 днів тому +3

    Ideas from 3d printing. Certain stepper drivers allow you to monitor if it has reached the end. Could you use this sort of thing to know that it has caught a ball? Like the voltage has changed so there is a ball in the hand? Also from 3d printing, could you use input shaper to help with any resonances or wobble?
    Super impressed it can juggle just based on physics and no vision! Infrared for vision maybe?

    • @harrisonlow
      @harrisonlow  19 днів тому +3

      What you're describing is absolutely possible right now! The (stationary) hand motor can detect a ball placed in it, so it should be possible to detect caught balls, though I'm not sure how the signal processing would work to have it be reliable when the system is in motion. Definitely an interesting possible avenue to look into!
      Re infrared: one of the options I'm considering is a motion capture system and these use IR! Good thinking 😊

  • @sreynoldshaertle
    @sreynoldshaertle 19 днів тому +2

    The keyword you need on McMaster is "continuous flex". No extant connector has the necessary strain relief built in, so you either need a conduit that'll bear most of the strain and set a minimum bend radius or you need to fix the cable to the structure in a way that will prevent strain from accumulating in the first place.

    • @harrisonlow
      @harrisonlow  19 днів тому

      It's not so much the strain relief that I'm worried about, but rather the connector itself unplugging due to being shaken. I suppose the cable is pulled by the strain, but I've come to realize that the current connector really doesn't 'snap' together at all and comes out far too easily. Fwiw I also may add an extra strain relief as a backup.
      Cheers for the suggestion! ☺️

  • @Maymerich
    @Maymerich 19 днів тому +2

    I feel that the best whay to aproach the configuration of a jugglebot is with cableRobot so you can have 6dof for full control of the motion and launching.
    For this type of robot its really important to design something where the moving parts are as light as possible so you can have high speeds. Also its really important to solve the problem you talked about the motor coordination so all of them arrive to the correct position at the same time, if not you would not have proper control of the endfactor of the robot.
    Nice work!

    • @harrisonlow
      @harrisonlow  19 днів тому

      Agreed! Though the question is whether we really need 6dof for the hand. I think 3 dof would be the bare minimum, but 5 dof would be ideal (imo) and I reckon this can ~potentially~ be done better in a non-cable robot design 🤔

    • @TheMadninjamike
      @TheMadninjamike 19 днів тому

      I was surprised at how far I had to scroll to find this comment to agree with it. I knew that there would be SOMEONE who would agree that the cable design would be "the bee's knees". I feel like it would be the option most likely lead to the most nimble AND the easiest to re-configure, but I would also bet that in terms of BoM costs and the cost to replicate enough to meet the end goal of throwing & catching 14 balls reliably, it HAS to be far FAR cheaper.
      I think you may even be able to make it more compact too.
      but it could get awfully difficult to constrain the ball paths such that you DIDN'T end up needing the entire cable robot on a Stuart platform in a corexy on a delta platform.....and designing an optimum way of routing the cables....makes my brain hurt thinking about it

  • @peterrasmussen2793
    @peterrasmussen2793 18 днів тому +1

    In terms of connector you could use a Molex SL 4 pin connector, look at the DJI Can-Hub that was used with their drones . You could even use their hubs to connect everything. The connectors have a clip that secures them.

    • @harrisonlow
      @harrisonlow  17 днів тому +1

      Interesting! These look similar to the connectors used for the CAN bus on the ODrives. Very solid option and I'll add them to my list! Cheers for the suggestion ☺️

  • @TheKylanNicoTrio
    @TheKylanNicoTrio 12 днів тому

    Bloody fantastic, and a very smooth video! Nice one Harrison

  • @DanteYewToob
    @DanteYewToob 4 дні тому +2

    Keep in mind that the bigger you make the hand, the longer the ball will take to potentially settle for accurate throws and fast patterns might lose accuracy if the ball doesn’t land perfectly and bounces or rolls a bit in the hand.
    Making the hand as small as possible is more challenging but probably better in the long run because you want to eventually toss and catch faster and faster. I’d stick with the small hand for now and just experiment with shape and do some high speed footage to see if/how it bounces or moves during a catch.
    Good luck!

    • @harrisonlow
      @harrisonlow  3 дні тому +1

      Yeah this is a very real concern of mine and is something I'll need to experiment with. I think the "correct" solution here is to use a larger hand with so-called "Russian" style juggling balls, which are basically firm plastic balls partially filled with sand. The sand (should) do a great job of dissipating excess energy and stopping the balls from dilly-dallying around the hand.
      No doubt, there's a lot of testing to be done!
      Cheers for the input ☺️🤹‍♀️

    • @DanteYewToob
      @DanteYewToob 2 дні тому +1

      @@harrisonlow Oh cool! So Russian style balls are basically deadblow juggling balls? Haha
      I forgot to mention that you can get a used GoPro for pretty cheap that’s capable of 120fps at 1080 and if you can afford it there are a few Sony and canon cameras that can do 120fps at higher res and 240fps at 1080. It’s not suuuper slow motion but should be enough to get a decent understanding of what’s happening with your robot.
      A friend of mine had the same issue and had decent luck, he found a Sony that films 120fps at 4K used for about $700usd. But you can probably find a used GoPro for less than half that…
      If you need anything higher speed, I’d recommend rental if that’s an option in your area… anything over 120fps starts to get pretty expensive, starting around $2k or so.
      Just don’t make the mistake my friend did by being unprepared… high speed cameras need way more light than you think and if you’re renting, remember to have everything set up and prepared ahead of time so you can make the most out of it. Also, high speed footage chews through storage so that’s a huge factor is affordability and logistics.
      I’m not sure how fast jugglebot actually is, so hopefully one of the cheaper options will be enough for you to gather the data you need and you can avoid the cost and hassle of slowmo video setups. Either way, I know you can handle it.
      Good luck! I look forward to seeing some robo-human juggle action in the future! Haha

    • @harrisonlow
      @harrisonlow  2 дні тому +1

      Cheers for the suggestions! ☺️

  • @braver1234
    @braver1234 19 днів тому +3

    M12 connectors are quite affordable and should stay in place, same for M8 and M5 connectirs for that matter

  • @thaer12345
    @thaer12345 20 днів тому +6

    looking forward to seeing bathrobe again

    • @harrisonlow
      @harrisonlow  20 днів тому +4

      Haha it does have a cameo or two throughout the video 😂

  • @neilmoran5549
    @neilmoran5549 19 днів тому +1

    Great video and explanation. Congratulations on your fantastic effort.

  • @azkubaisi
    @azkubaisi 19 днів тому +2

    it may be easier for the bot to use paddle and ping pong balls., as most of the time is used for the throw and you would only need for the ball to touch the paddle to bounce up. Just a suggestion. I know it will mess up your future plans for the robot.

    • @harrisonlow
      @harrisonlow  19 днів тому +2

      Good intuition! Paddle juggling is a lot easier than proper toss juggling for exactly this reason. Unfortunately paddle juggling also can't do the same patterns that toss juggling can (eg. three ball cascade)

  • @fritzbender5916
    @fritzbender5916 19 днів тому

    Great video, happy I found this

  • @Pioters2
    @Pioters2 19 днів тому +1

    I dont know if you implemented it already but something like input shaping on 3d printers could help

  • @stevestarcke
    @stevestarcke 19 днів тому

    I have always wanted to build one of these. Wonderful video.

  • @loadeddice1304
    @loadeddice1304 19 днів тому +1

    What an interesting project. I immediately subscribed . keep up the great work !

  • @roboman2444
    @roboman2444 19 днів тому +1

    What are your goals for the next movement platform design? Minimizing end effector mass? In that case, if you can somehow move the "hand" motor off of the actuator, that may greatly reduce the mass. I'm not sure how you would do that, maybe a bowden cable would be good enough? Maybe clever corexy style belts with multiple drive motors? Maybe even make the "hand" pneumatic with an extremely lightweight cylinder that acts as both the actuator as well as the linear guide?

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      I need to do some analysis for precisely what speeds I need, but at a guess, I'd want the hand to move at up to 14 m/s (for a 10m high throw) and the arm to move around 4 m/s.
      The whole system needs to be fully symmetric, or at least agnostic as to the direction that balls are coming in/out

  • @binatronic
    @binatronic 17 днів тому

    Check out industrial M8 / M12 connectors. There are various configurations (pin counts, key position, ...) and they are designed to by used on industrial robots - preferably with robotic cables. You can start by looking at SICK or Phoenix contact.
    Also, those green phoenix connectors you use are also made with locks, so they doesn't fall out so easily. We are using them without problems, lock-less versions always had to be glued in place to be secure.

    • @harrisonlow
      @harrisonlow  13 днів тому

      Wow those look super solid! Cheers for the recommendation!
      Also big thanks for referring to my current connectors by their actual name. I had no idea what they're called so it's very handy to know that they're Phoenix connectors (and that they come in a locking variety!). Cheers ☺️🤹‍♀️

  • @stefanguiton
    @stefanguiton 17 днів тому

    Excellent work

  • @multiplysixbynine
    @multiplysixbynine 19 днів тому

    I feel that vision based closed loop control will get you closer to your goal faster by compensating for imperfections in the motion system. Juggling seems like a task where suppleness, speed, and perception matter more than rigidity.

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      Yeah I'm inclined to agree. Just frustrating how darn expensive motion capture systems are 🤑

  • @Ataraxia_Atom
    @Ataraxia_Atom 19 днів тому

    This is really impressive and love the community input. New sub!

  • @FilterYT
    @FilterYT 18 днів тому

    Congratulations!

  • @smiro2000
    @smiro2000 19 днів тому

    great progress!

  • @NEWGHOST9
    @NEWGHOST9 6 днів тому

    More n more we move closer to the future of that terrifying ride from spykids where it juggles you becomes a reality

    • @harrisonlow
      @harrisonlow  6 днів тому

      Hahaha "terrifying" is subjective 😂🤹‍♀️

  • @SHAINON117
    @SHAINON117 19 днів тому +1

    Your gonna have so much stuff going on in that workshop once chat can easily interface and control all your robotics ❤❤❤❤❤❤❤

  • @christopherd8096
    @christopherd8096 19 днів тому +1

    others might have suggested this already, personally i would use an optical/ light/dark detector in the hand looking up. and programming it as a state machine is much better.

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      That's definitely a solid option, though it wouldn't tell us anything about the balls after they've left the hand, so those first few measurements would have to be really good to inform a physics model to predict collisions etc.
      Or, we could use an external set of eyes to watch the whole shebang. Lots to consider!
      Cheers for the affirmation of the benefits of a state machine ☺️

  • @jonathanmyers8477
    @jonathanmyers8477 19 днів тому

    I'm a big fan of the M8 and M12 style connectors. That's what I'd use for the CAN bus.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Interesting! I've never heard of these and they keep being suggested now and I can see why. They look very good!
      Cheers for the suggestion ☺️

  • @normandragot9927
    @normandragot9927 19 днів тому

    I love his experimental/collaborative build style. very entertaining and informative

  • @davehayes8812
    @davehayes8812 19 днів тому

    Awesome work Harrison! It's amazing how complex this problem is to solve. And even more amazing that our brains and body's can juggle (with a fair bit of practice :)

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      Absolutely! It's so impressive that humans can juggle at all. It's going to be a very long time before we have anthropomorphic robots that can juggle as well as the best humans

  • @zer0gravity184
    @zer0gravity184 16 днів тому

    This is the second video that I have seen on your Channel. Great work and I look forward to viewing the rest of your content. Subscribed. 🔔

    • @harrisonlow
      @harrisonlow  15 днів тому

      Cheers for the support! ☺️🤹‍♀️

  • @XA--pb9ni
    @XA--pb9ni 19 днів тому

    Deutsch DTM Plugs can be an option. We use them at work, but they sometimes need to be plugged in and unplugged a couple of times for them to work.
    Another option would be to just use a XRL Plug and Cable that is normally used for microfones. The cables are usually really soft and shielded and the connector hat a solid connection.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Ooh that's interesting! I've never heard that issue with Deutsch plugs so I'm glad you told me about it!
      I'll have a look into XLR plugs. Cheers for the suggestion ☺️

    • @XA--pb9ni
      @XA--pb9ni 18 днів тому

      @@harrisonlow No Problem. It is pretty much a joke at this point, we call them 1 2 3 Plugs, cause you need to plug them in 3 times for them to work xD

  • @jeremygalloway1348
    @jeremygalloway1348 19 днів тому

    This is awesome!

  • @nigelhungerford-symes5059
    @nigelhungerford-symes5059 19 днів тому

    Well done

  • @lassikinnunen
    @lassikinnunen 19 днів тому +3

    It needs a camera feedback so it can catch a thrown ball and compensate for when its own throw is a little bit off

    • @CrazyMineCuber
      @CrazyMineCuber 19 днів тому +1

      Absolutely agree with this. I think you have come impressively far by just making the hardware close to perfection. But if you want to juggle 14 balls, I think you will have a really bad and long time if you just try to perfect the hardware. I think you need to spend some serious time getting camera feedback or getting a proper tracking system. You will also need to develop control algorithms which can compensate for imperfect throws and balls bouncing against each other. Even things like air pressure, humidly and temperature will affect robot and ball performance from day to day. And in order to compensate for this you need a proper control system.

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      Absolutely agree! I'm very curious to see how far we can get with open-loop control, though I highly doubt it'd be all the way to 14 balls. Motion capture systems are just so darn expensive 😨

    • @CrazyMineCuber
      @CrazyMineCuber 18 днів тому

      @@harrisonlow ua-cam.com/video/0ql20JKrscQ/v-deo.htmlsi=wsBfqomIldgRd78K

    • @lassikinnunen
      @lassikinnunen 18 днів тому

      @@harrisonlow they don't need to be that expensive. 2 pi's and picams should suffice(one even but more complicated lens/positioning to get z from ball size). The tricky part is taking into account the lag. No lag systems would get increasingly expensive.
      Like the computer vision part to detect balls at realtime can run even on a cellphone just on cpu.
      Pi and cellphone based sbc's have better/faster camera interfaces than you'd get hooked up on a desktop cheaply(this is why laptop cameras are usually crap..). The picams hook up straight to the interface on a pi

    • @yosemitebandit
      @yosemitebandit 18 днів тому

      I was surprised that it's open loop

  • @roboman2444
    @roboman2444 19 днів тому +1

    If you are going to switch to corexy, it may be a good idea to use an existing 3d printer platform to prototype on. That would also make creating many jugglebots easier.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Very good point! It's be great to have a solid foundation to develop on top of. Cheers for the suggestion!

    •  19 днів тому

      I've built a laser engraver by building a Voron 2.4 Gantry and putting it on some self designed legs that hold the honeycomb plate. The gantry is a good standalone coreXY assembly

  • @kurtnelle
    @kurtnelle 19 днів тому

    Congrats!

  • @StuartRobinson123
    @StuartRobinson123 18 днів тому

    this is so beautiful

  • @defenestrated23
    @defenestrated23 19 днів тому

    Anderson Powerpole gives you tons of amps and lets you make any number of pin connectors. Haven't used deutsch but they look nice. XLR 5 pin are nice and easy to find connectors. There are also the "M16" series of threaded connectors, often used in lighting, not exactly a standard so you have to hunt around for a bit. Then there are amphenol connectors, widely used in aerospace and military, which come in every shape and size, rugged as heck, and $$$

    • @harrisonlow
      @harrisonlow  19 днів тому

      Whoo, those amphenol connectors *do* look awfully sexy though 🤔 I'll add these to my list of options! Cheers for the suggestions ☺️

  • @matthewlevine502
    @matthewlevine502 19 днів тому

    I think an important aspect of human juggling that the bot is missing is in reflecting the ball’s trajectory with less energy loss. The human juggler makes a small circle with their hand, like a pendulum, to rebound the ball. I think a simple way to achieve a more efficient rebound would be adding springs for the ball to bounce off of. This should make it much easier to speed up each toss.

    • @harrisonlow
      @harrisonlow  19 днів тому

      I absolutely agree regarding needing smoother redirection of the ball's momentum, though I'm not sure I agree about springs. These would be rather difficult to set up to allow variable throw heights and variable hold times. Perhaps with some sort of latch system with a slider that can lengthen or shorten the spring? But then it's becoming very complicated... 🤔

    • @matthewlevine502
      @matthewlevine502 19 днів тому

      @@harrisonlowThat’s a very fair point. If the motor can still overdrive the spring, you could still probably vary the throwing speed. At minimum, it could help to just counteract gravity like floating monitor stands do

  • @GNARGNARHEAD
    @GNARGNARHEAD 20 днів тому +1

    awesome!

  • @Geoff_W
    @Geoff_W 19 днів тому

    With Peopoly now selling hobbyist linear motors, you might consider that as a possible motor for the hand. It's an EXTREMELY precise, closed loop motor that handle a lot of weight and won't need to be tensioned...kind of a perfect solution.

    • @harrisonlow
      @harrisonlow  19 днів тому

      True! Definitely seems worth looking into. Cheers for the suggestion ☺️

  • @karim1485
    @karim1485 17 днів тому

    What an exciting project. Have you considered mounting an IMU to the top of your juggler for the option to run active vibration control/compensation to reduce the ringing? Basically use the IMU data to calibrate and counteract vibrations..
    Maybe people with more experience in this field can give constructive suggestions on how to implement this code. Love the project!

    • @harrisonlow
      @harrisonlow  13 днів тому

      Interesting idea! Some others have suggested input shaping and (I think) this would go a long way to helping implement that. I'll keep this in mind for if the ringing is still present after fixing the platform joints and the arm trajectory control. Cheers for the suggestion ☺️

  • @bowieinc
    @bowieinc 19 днів тому

    Great project and progress. If you developed dual linear rail arms with catchers on the end, the form factor could be more humanoid. If you decide the catcher should be hand shape, look into team unlimited “phoenix”prosthetic hand that’s open source. I’ve printed several. They use a drawstring effect for grasping. Then once you have the “routine” down, you can sell to Tesla to incorporate into all bots. :)
    Can’t wait to see you shatter some records!

  • @1q1q1q1q1q1q1qw
    @1q1q1q1q1q1q1qw 2 дні тому

    If you use fixed programmed trajectories. I think you need to make sure that the ball lays at a well defined rest position before the launch. An the the launch is very smooth. I think i would try a Tennisball. Maybe a not fuzzy one. and also kind of an physical damper mechanism. Just a 3 mm foam layer inside the hand. I recon trying different balls and hands could do big improvements. But really great engineering. Seriously impressed:) I always love to see if someone does fine stuff like that :)

  • @nicolasbrusco1997
    @nicolasbrusco1997 12 днів тому

    Hey Harrison I was extremely impressed with this project BEDORE you casually mentioned that you’re not using CV and the whole juggling operation is basically open loop…. then I nearly fell out of my chair. It’s a testament to the incredible mechanical precision that you’ve engineered from cheap 3D printed parts. Unbelievable work.
    I’m working on a project that could really benefit from that kind of precision. I would really greatly appreciate an opportunity to talk through it with you and any guidance you could offer me. Please drop me a reply if we can make a short call or email happen!

    • @harrisonlow
      @harrisonlow  11 днів тому

      Cheers!
      For sure 😊 Depending how open you want to be about it, you can either post to this project's Zulip site (Link in the description. The "project showcase" Stream would be great for this) or you can email me using the email found on my UA-cam channel (look at the "about" section). I'm keen to read about what you're working on!
      PS I probably won't reply for a few weeks as I'm still on holiday ☺️

  • @sachiperez
    @sachiperez 18 днів тому +1

    a camera in the hand looking up (against a plain ceiling) should make tracking software pretty straightforward. This is the first video i watch in this series, so there might be a reason you already discarded that idea...

    • @harrisonlow
      @harrisonlow  17 днів тому

      I'm not sure that would be as straightforward as you suggest. Adding a camera to the hand would mean routing wires and adding weight to the fastest-moving part of the robot, and a camera in that spot wouldn't be able to detect the ball once the arm tilts sufficiently far away from the trajectory of the ball

  • @printerpr0n
    @printerpr0n 19 днів тому

    As a regular nerd, 3d printing nerd, juggler, and having done several circus tours I love this.

  • @dronefootage2778
    @dronefootage2778 18 днів тому

    your CAN bus can include periodic watchdog messages and your teensy on the other end can reply to them and from your controlling side, if you don't get the reply it means communication is not working and you just cut the power to the motors or something like that. awesome job btw.

    • @harrisonlow
      @harrisonlow  17 днів тому

      Oh yes, very good point! The watchdog is something I've been meaning to set up but it's been very easy to postpone 😅
      Cheers for the reminder! I'll get this set up before running everything again ☺️

    • @dronefootage2778
      @dronefootage2778 16 днів тому

      @@harrisonlow good deal. another thing you could do is monitor the current because i bet if one of the motors ends up getting blocked the current would jump up by a lot and stay at that level but i'm not sure if that is true.

  • @Lukaey
    @Lukaey 19 днів тому

    I suggest M12 Connectors, there are even some intended for Can Bus with appropriate shielding

    • @harrisonlow
      @harrisonlow  19 днів тому

      Oh neat! These look great. Cheers for the suggestion ☺️

  • @eriklondon2946
    @eriklondon2946 17 днів тому

    You could use a pneumatic soft robot hand to grab the ball and let it go.

  • @johannlicher8420
    @johannlicher8420 14 днів тому

    I think a limited jerk could help to reduce the vibrations and long settling time. If I understood correctly you are using trapezoidal velocity trajectories so you are only limiting the acceleration. There are also trapezoidal acceleration trajectories which limit the jerk and therefore reduce vibrations when reaching a target position. Furthermore, input shaping could help but is a bit more complex to implement.

    • @harrisonlow
      @harrisonlow  14 днів тому

      Yeah I think the next version of trajectory control will be jerk limited for exactly this reason. I'm inclined towards the 'ruckig' generator, though I'll need to do some more experimenting with it to get familiar with how to use it. Cheers for the suggestions! ☺️

  • @dalefunk2709
    @dalefunk2709 5 днів тому

    your issue with the center rods on the linear actuators having wobble that you mentioned in your video a year ago could be fixed with 3 bearings, each one going to a rod. just like your top bearings keeping the actuating rod in place

  • @dodadscarworks973
    @dodadscarworks973 19 днів тому

    Fantastic work! I have been watching for quite a while. You have inspired me to DIY my own high speed actuators. The actuators you devised are amazing and I am considering "borrowing" your design idea to replace some pneumatic hardware I use on active aerodynamics.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Cheers! Haha go for it 😉 while they're not perfect, these actuators have served me pretty well and could at least serve as a starting point for you to build on top of ☺️

  • @Vez3D
    @Vez3D 6 днів тому

    Awesome work. Very impressive. Have you looked at Molex micro-fit3 connectors? Thats what we use in 3D printers on a print head that has lots of accel..so that might work good here.

    • @harrisonlow
      @harrisonlow  6 днів тому

      Cheers! I've added them to my list to check out. If they can survive the torture that you put them through, I reckon they could work pretty well!
      Thanks for the recommendation ☺️

  • @arjunjindal9773
    @arjunjindal9773 17 днів тому

    For the CAN connections, you could try MOLEX

  • @Kruglord
    @Kruglord 19 днів тому

    Re: Resin printers, I really liked mine, but as I got more and more (important) safety equipment, using it got more and more annoying. Eventually I got an FDM printer, and I haven't touched my resin printer since. I'm still holding onto it in case I want to print some tabletop miniatures again, but it's mostly collecting dust.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Yeah resin printing seems like a lot of effort/risk for the gain in print quality 🤔

  • @phrozenwun
    @phrozenwun 19 днів тому

    I believe LEGS (Linear Extension Gimbal Systems) is technically accurate. 😛

  • @tommyers7634
    @tommyers7634 19 днів тому

    Your work is amazing. In my mind, the actuators are more analogous to muscles than legs.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Cheers ☺️
      That's interesting! I'm not sure why but 'legs' has always just felt right to me 🤷‍♂️

  • @TheGunslingerman10
    @TheGunslingerman10 14 днів тому

    Very cool project! I would suggest a microfit 3 or similar molex connector for the CANBUS connection. I use those for my CANBUS system on my 3D printers and they hold up to extreme speeds and shaking very well.

    • @harrisonlow
      @harrisonlow  14 днів тому +1

      Cheers! Those connectors look bomber and it's good to know you've field-tested them 😁
      I'll add them to my list of options to check out when I'm back from holidays. Cheers for the suggestion!

  • @owengrossman1414
    @owengrossman1414 19 днів тому

    I see a fatal flaw: the juggle bot has no provision for bending over to pick up a dropped ball. 😉

    • @harrisonlow
      @harrisonlow  19 днів тому

      Haha believe me: I hate having to pick up balls that I've dropped, but what's worse is having to pick up balls that Jugglebot dropped! Very keen to make what I've been calling the "ball butler" to return dropped balls to the hand(s) 😁

  • @LoyvanBeek
    @LoyvanBeek 8 днів тому

    Since you are already using ROS, there is ros2_control, which should allow to control all the joints and ensure they operate in sync. That would be the Joint trajectory controller, but not sure. I've used that also with more traditional robot arms, which have the same need for synchronisation

    • @harrisonlow
      @harrisonlow  6 днів тому

      Very cool! I think I read of this a while ago when I first heard of ROS but never looked into it properly. I'll check it out!
      Cheers for the suggestion ☺️

    • @LoyvanBeek
      @LoyvanBeek 5 днів тому

      @@harrisonlow though, like many things ROS: not for the faint of heart. But if you got to this point already...

  • @brodykylebishop6723
    @brodykylebishop6723 19 днів тому

    I would have stuck with Kevlar! While Kevlar has a lower strength to weight ratio, it has zero creep, and the length of the cable will not change over time. UHMWPE has roughly 5% creep, so if kept under tension for a bit it will start to stretch out.

    • @harrisonlow
      @harrisonlow  19 днів тому

      I've actually got a video in the works on "which string is king". I've already run a heap of tests on a bunch of types of strings and (spoiler) UHMWPE has come out on top. Hopefully it won't be too long before I can get that video out!

  • @YogonKalisto
    @YogonKalisto 17 днів тому

    spacex needs a big modded one of these to catch their spacetoobs

  • @xaviercousyn4227
    @xaviercousyn4227 19 днів тому +1

    Hello, I'm smashed :) what a nice work :)

  • @andrewhofmann5453
    @andrewhofmann5453 19 днів тому

    Perhaps reprint the hand with room for air to flow? I know its a small surface area but as the hand approaches the ball, it could be pulling some turbulence with it.

    • @harrisonlow
      @harrisonlow  19 днів тому

      This is a very interesting idea! Definitely worth looking into this to see how big of an effect drag is having. No need to make the hand's job any harder than it needs to be!
      Cheers for the suggestion ☺️

  • @stevemarchando4132
    @stevemarchando4132 19 днів тому

    I’d be curious to see the height and trajectory consistency if you’d switch the servos for open loop steppers!

    • @harrisonlow
      @harrisonlow  19 днів тому

      That would be interesting to see! Steppers are just so darn heavy 😧 not sure I like the idea of adding so much weight to the arm. Though I suppose I could work around that in the next version 🤔

  • @flohunter1402
    @flohunter1402 19 днів тому

    Have you considered a machanism to settle the ball for a faster catch? I was thinking rubber grippers or maby vacuum. I would recomend SLA prints for a rebuild.

  • @squa_81
    @squa_81 19 днів тому

    Try using old serial/games plugs.
    They screw on and should be quite cheap, plus these plugs can support many cables, ideal foe your usecase.

  • @anoukk_
    @anoukk_ 19 днів тому

    wow I did not expect it to be blind

  • @mr0big
    @mr0big 19 днів тому

    The brushless motor for the hand has several magnets in it. Couldn't it be used for positioning? I wonder if any ESC exists which supports stepper motor like positioning.

  • @Schmogel92
    @Schmogel92 19 днів тому

    The obvious choice for hand shape is a hand, with fingers (grippers), but that adds a lot more weight...

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      And complexity! I'm not sure that choice is so obvious. Just because humans ~can~ juggle, that doesn't mean we have the ideal juggling "form"
      A fully anthropomorphic juggling robot would be very cool, though 😎

    • @Schmogel92
      @Schmogel92 19 днів тому

      @@harrisonlow yeah it's mostly "obvious" because of its assigned name "hand". But I can't imagine that juggling with only your palms is ideal. Grippers could act as a form of error control but that might be unnecessary if the error is very small in the first place.
      What I have in mind are three or more prongs in a funnel configuration where the falling ball gets wedged inbetween and before the ball is thrown again the prongs are spread apart by a single motor or solenoid. But yes, that's additional complexity and weight and it might a be a solution to a problem that maybe does not actually exist in your updated robot.

    • @harrisonlow
      @harrisonlow  19 днів тому

      @Schmogel92 That's actually fairly similar to an idea we've been considering on Zulip, but with the 'pronged'/funnel part being on the frame around the hand, rather than on the hand itself. Definitely a potential path forward!

    • @robbydonaghy8735
      @robbydonaghy8735 19 днів тому

      I think going fairly close to a human hand makes a lot of sense because you are using juggling balls that we've found to be pretty optimal to work with human hands. I don't think you need movement on the fingers, just a bit of compliance should be fine. A palm with a full ring of fingers is certainly a weird image though.

  • @nerdgeekdc
    @nerdgeekdc 19 днів тому

    Very interesting! It'll be cool to see how you approach vision in the future. 6 years ago some friends and i built a ping pong juggling robot based on a 6 axis stewart platform over the course of a few months (you can see a video of it going on my page). We used two webcams at a 90 degree offset and did raycasting to locate the ball. Vision is extremely sensitive to distortion in the field of the cameras and we had to do a lot of calibration in order to get something that worked consistently. However, given that you don't have the $200 budget we did you might be able to get a better solution that isn't as finicky.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Very cool!! Did you only track the ball, or the robot as well? Impressive that you got that working on such a low budget!

    • @nerdgeekdc
      @nerdgeekdc 19 днів тому

      ​@@harrisonlow We only tracked the ball, but technically we also corrected for the robot as well.
      We had two coordinate systems, the first being the one with the ball in it. We calibrated for distortion and carefully measured placement of the cameras, but at the end of the day it couldn't be perfect.
      The second was where the robot thought it was based on the forward kinematics of the stewart platform. As you know all too well, this only gets you a certain degree of precision as well.
      We then went through a painstaking process of moving the robot to a position and then dangling the ball directly above it at a known height. We repeated this hundreds of times and used that data to construct a function which mapped between our two coordinate systems. This allowed us to easily translate where we thought the ball was to where the robot should go.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Wow, that sounds like a lot of work! I can imagine the stress of being near the cameras after all the tuning is done and really trying to not bump them! 😂
      Very interesting process, thanks for sharing it! ☺️

  • @OpalEckerDeRuvo
    @OpalEckerDeRuvo 19 днів тому

    Claude Shannon would be so proud!
    Was any compensation needed for the nonliar angular output of the universal joint vs the spherical magnetic joints? Or is it actually a double universal joint when you take in to account the attachment on the base of the platform?
    The Newport high precision hexapod looks like it uses a captured spherical bearing to remove the backlash in the joint!
    Incredible problem solving throughout🎉

    • @harrisonlow
      @harrisonlow  19 днів тому

      Haha cheers!
      I'm not 100% on my universal joint terminology, so a "double universal joint" could be more correct, but all three axes of rotation meet at a fixed point, which I've used as the reference for where that 'node' is

  • @newmonengineering
    @newmonengineering 19 днів тому

    I know the vision part will be expensive. The cost is relative to the speed required. You should determine the proper height and speed required for 7 balls when deciding on the vision system. You probably need a fairly expensive one to match the rate. I don't think a web cam running a python ai will be able to keep up. I like the shape of the hand, its ok. You may be able to improve grip with some small strips of rubber or silicone inside ot it. Very cool project, you have made awesome progress.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Haha yeah I've gotten some quotes for motion capture systems and they are far from cheap. Would be so cool though!! 🤑

  • @ScottHarden
    @ScottHarden 19 днів тому

    This looks like a really fun project, nice work! Now, are we going to talk about that robe at 12:40?

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      Haha it's cold where I live nowadays and my dressing gown is easily the most comfortable thing I wear. If I'm going to be sitting around testing Jugglebot for hours on end, I wanna be comfortable doing so 😁

  • @tharindugamage3467
    @tharindugamage3467 16 днів тому

    Amazing video, Love your content from Sri Lanka. 😄

  • @hyd119
    @hyd119 19 днів тому

    You ever do some light hacking and use an Xbox Kinect bar?
    That's my go-to for basic vision tasks.

  • @riksmitskamp2883
    @riksmitskamp2883 19 днів тому

    You should make a hand shaped hand just for fun.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Haha I like that idea! Having the inside surface be the same as it currently is, but with an anthropomorphic hand external surface. Would look pretty funny!

  • @whynotanyting
    @whynotanyting 19 днів тому

    Have you tried a scoop ball style thrower? It has the potential for a catch to be turned into a throw given correct timing of a flick.

    • @harrisonlow
      @harrisonlow  19 днів тому +1

      I haven't tried that yet! Seems very similar to how humans juggle higher numbers, with the balls mostly being thrown by rolling them up and flicking them off our fingers.
      This strikes me as being very finicky to tune though 🤔

    • @whynotanyting
      @whynotanyting 19 днів тому

      @@harrisonlow Haha, not the first time I've thought of finicky/gimmicky mechanisms. I can imagine there's a lot of variables to account for. Maybe for the timing part you could use a limit switch or two to "know" where the ball is on the scoop (i.e. one near the top to know when the ball is received and one closer to the bottom to know when the flick should begin. I can also see it being a problem if it ends up requiring a heavy motor mounted at the hand for torque.

  • @i-make-robots
    @i-make-robots 19 днів тому

    Please explain how you use the jacobian to determine the ideal configuration. I've built more than a few stewart platforms and always wondered how to select the best form factor.

    • @harrisonlow
      @harrisonlow  19 днів тому

      It's hard to describe this over text, so I recommend checking out Livestream Update 23 (Link in the description) where I went through some of this ☺️

  • @Kruglord
    @Kruglord 19 днів тому

    Oh, vision! I can help with that, I've got a Master's degree in Geomatic Engineering, specializing in Optical Metrology, and I'm a professional Python developer. I recommend photogrammetry as the solution to your ball tracking problem!

    • @harrisonlow
      @harrisonlow  19 днів тому

      Photogrammetry? I've only known of that to be used to create 3d models from loads of photos of a static object/scene? Can it be used in real time for dynamic scene mapping?

    • @Kruglord
      @Kruglord 18 днів тому

      @@harrisonlow Yes! The difference between the scenarios is that typically when making a 3D model from photos, you need _loads_ of photos, and you don't know exactly where your camera is in each shot, so it needs to be estimated along side the model you're trying to generate.
      In this context, you would instead have (at least) three separate, ideally stationary cameras, which you know the positions of very well. Combine that with object recognition and tracking, and you can triangulate the position of the ball every frame.

    • @harrisonlow
      @harrisonlow  18 днів тому

      Ahh, that makes sense! Do you have any advice for determining the positions of the cameras? Presumably trying to measure where they are (eg. with a linear scale) doesn't really work 🤔

    • @Kruglord
      @Kruglord 18 днів тому

      @@harrisonlow yeah, that whole process is done using what's called a self-calibration, it's basically a setup step that's necessary before you can make any real measurements

    • @harrisonlow
      @harrisonlow  18 днів тому

      Ah yep, okay. Sounds very similar to the process used in 'proper' motion capture systems, only using visible light and normal cameras rather than IR cameras. I like this idea!

  • @Mike88441
    @Mike88441 19 днів тому +1

    I'm curious if you've tried it with russian style balls? I feel like they'd be ideal for this kind of application but maybe I'm missing something.

    • @harrisonlow
      @harrisonlow  19 днів тому

      Good suggestion! I honestly forgot about these and have only recently rediscovered them and plan to pick some up. Any suggestions for particular brands/versions?