Why this Robot is Really Tall

  Рет қаралды 170,059

James Bruton

James Bruton

2 жыл бұрын

I previously built a balancing robot, but it had tracks based on a Rotaped design. These types of tracks were used on old tractors and were a bit like a caterpillar track, but with less segments. The drive wheel is a sprocket which fits into the Rotaped track segments at the top and bottom, and the tracks themselves are held in place by chains, or in my case some bungee cord tied in two triangle shapes.
The Roataped tractors had normal front wheels to steer, but in my case I tried to make the Rotaped tracks into a two-wheel balancing robot. The idea was to make a balancing robot which could climb over obstacles. This worked ok, and it was pretty good at driving over things, but I found that making it balance properly was pretty hard because it wasn’t as free moving as it would have been with normal wheels, and also the sprockets settled into the tracks at certain points which meant that the response wasn’t linear.
So in this video I’m going to rebuild that robot, and try out a few experiments I’ve been meaning to try with balancing robots.
CAD & Code: github.com/XRobots/TallBalancer
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 KZbin 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
Bearings from: simplybearings.co.uk/
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 KZbin 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.

Пікірлер: 263
@shadowrunner2323
@shadowrunner2323 2 жыл бұрын
When he was talking about the coding for the position hold function, the only thing running through my head was "The robot knows where it is because it knows where it isn't..."
@EnsignLovell
@EnsignLovell 2 жыл бұрын
By subtracting where it is from where it isn't, or where it isn't from where it is, whichever is greater. It obtains a difference or deviation. The guidance subsystems uses deviations to generate corrective commands to drive the robot from a position where it is, to a position where it isn't, and arriving at a position where it wasn't, it now is. Consequently, the position where it is, is now the position that it wasn't, and it follows that the position that it was, is now the position that it isn't. In the event that the position that it is in, is not the position that it wasn't, the system has acquired a variation. The variation being the difference between where the robot is, and where it wasn't. If variation is considered to be a significant factor, it too may be corrected by the GEA. However, the robot must also know where it was. The robot guidance computer scenario works as follows. Because a variation has modified some of the information the robot has obtained, it is not sure just where it is. However it is sure where it isn't within reason, and it knows where it was. It now subtracts where it should be from where it wasn't, or vice versa. And by differentiating this from the algebraic sum of where it shouldn't be, and where it was. It is able to obtain the deviation and its variation, which is called error.
@satibel
@satibel 2 жыл бұрын
oh dammit, I posted this before reading comments.
@Frappe3621
@Frappe3621 2 жыл бұрын
@@EnsignLovell I like your funny words, magic man!
@underscorenul
@underscorenul 2 жыл бұрын
kzbin.info/www/bejne/mIvIZn1uiLt2j7M for those who don't know the meme.
@Beeks81
@Beeks81 2 жыл бұрын
@@underscorenul kzbin.info/www/bejne/lX3Nf2aLmNGMsLc i prefer the remix, lol.
@absinthe4breakfast299
@absinthe4breakfast299 2 жыл бұрын
Your vids are one of the highlights of my week, they inspired me to try and design a 3d printed tracked robot of my own, all I can say is you make this stuff look far easier than it actually is.
@jamesbruton
@jamesbruton 2 жыл бұрын
Thanks!
@DJ-kx4en
@DJ-kx4en 2 жыл бұрын
I agree! James should post more! Or have a second channel with some other makers to do the things he may not have time for, maybe some interns. He can conceptualize and they could compete. No idea, I'm just fascinated with everything he's doing and being selfish...
@absinthe4breakfast299
@absinthe4breakfast299 2 жыл бұрын
@@DJ-kx4en I'd love to see more of James but honestly his output is already at superhuman levels, I just want to know where he gets all his crazy ideas from.
@travisash8180
@travisash8180 2 жыл бұрын
@@absinthe4breakfast299 What is point ???
@MarkusBenjaminAnders
@MarkusBenjaminAnders 2 жыл бұрын
A small tip: the oscillation you're seeing is called "limit cycle behavior" and can be predicted (with some reservations) using a describing function for the combined non-linearities in your system. Anyway, long story short. This is a common feature of PID control in combination with systems that have dead-zones such as mechanical play. Try using an LQG controller or similar perhaps if you're looking for a little more "fancy" control technique (however that requires some form of system identification). ps. A Smith predictor could potentially aleviate some of the delays you're getting from reading back from the o-drive. Cheers and thanks for the videos
@ratulxy
@ratulxy 2 жыл бұрын
Don't you mean LQR? Or LQR and kalman filter combined?
@MarkusBenjaminAnders
@MarkusBenjaminAnders 2 жыл бұрын
@@ratulxy LQG means LQR + Kalman
@DrWhom
@DrWhom 2 жыл бұрын
hysteresis, not limit cycle, but yeah, good enough for engineering maths
@MarkusBenjaminAnders
@MarkusBenjaminAnders 2 жыл бұрын
@@DrWhom hysteresis is when a systems state depends on its history. Limit cycle is when a system is "locked" in cyclic behavior such as an inverted pendulum tipping back and forth repeatedly. You could have googled this in less than a minute, but thanks for the comment.
@sgavy
@sgavy 2 жыл бұрын
It would be cool if you made a vehicle that started horizontal on tracks or 4 wheels, but could then change "modes" into a vertical self balancing position. If it fell over obstacles it could still drive and then self right itself on flat ground 😊
@Jergling
@Jergling 2 жыл бұрын
Segway actually had a prototype of something like this, called the Centaur. It was an ATV that could lift up the front wheels and turn into a Segway 2-wheeler.
@fateenahmed659
@fateenahmed659 2 жыл бұрын
ETH zurich has a robot called the anymal that has shown this behaviour, not sure if they're the first kzbin.info/www/bejne/oXbHo2N3h9ZnbqM
@PrinceFlumph
@PrinceFlumph 2 жыл бұрын
I feel like there should be a function for if it goes over 90° (aka flops over sideways) it should have an emergency shut off and stop the wheels so it doesn’t try to whip itself around. It already can’t drive on its side, but it’s not going to destroy itself.
@Nevir202
@Nevir202 2 жыл бұрын
Or somehow catch at just the wrong time and launch itself full speed into something lol.
@RemyNote
@RemyNote 2 жыл бұрын
Hey James, you should code in that if the angle exceeds 45 (or more) degrees, the engines stop. So that if it falls over, it doesn't try to keep running.
@DMonZ1988
@DMonZ1988 2 жыл бұрын
pretty cool that taking a new approach to balancing, something you've done so well so many times, is getting you even better results! great development. i was especially impressed and hopeful at the time about the sonic mechanics with the suspension and lean compensation tackling obstacles really well, even matching the BD handle it was based on maybe, and i'd love to see if that improves further with these new coding techniques. anyway, nice work!
@BenjaminAster
@BenjaminAster 2 жыл бұрын
@UCbW9BLG-wLj94eSfH1OPySg Hello bot 🤖
@BenjaminAster
@BenjaminAster 2 жыл бұрын
Alright thank you KZbin for deleting their comment...
@zeph6768
@zeph6768 2 жыл бұрын
Why does this say 6 days even tho this video was uploaded 2 hours ago😰
@DMonZ1988
@DMonZ1988 2 жыл бұрын
@@zeph6768 im a patreon supporter, we get to watch the videos early 🙂
@travisash8180
@travisash8180 2 жыл бұрын
@@DMonZ1988 What is point ???
@isuckatlandingqs8754
@isuckatlandingqs8754 2 жыл бұрын
Here is some help for creating a position hold algorithm, it is very similar to a guidance system for missiles which can be explained in a few simple steps: The missile knows where it is at all times. It knows this because it knows where it isn't, by subtracting where it is, from where it isn't, or where it isn't, from where it is, whichever is greater, it obtains a difference, or deviation. The guidance sub-system uses deviations to generate corrective commands to drive the missile from a position where it is, to a position where it isn't, and arriving at a position where it wasn't, it now is. Consequently, the position where it is, is now the position that it wasn't, and it follows that the position where it was, is now the position that it isn't. In the event of the position that it is in is not the position that it wasn't, the system has required a variation. The variation being the difference between where the missile is, and where it wasn't. If variation is considered to be a significant factor, it too, may be corrected by the GEA. However, the missile must also know where it was. The missile guidance computance scenario works as follows: Because a variation has modified some of the information the missile has obtained, it is not sure just where it is, however it is sure where it isn't, within reason, and it knows where it was. It now subracts where it should be, from where it wasn't, or vice versa. By differentiating this from the algebraic sum og where it shouldn't be, and where it was. It is able to obtain a deviation, and a variation, which is called "air" Just reverse the process
@DumbledoreMcCracken
@DumbledoreMcCracken 2 жыл бұрын
error, not air
@lucywucyyy
@lucywucyyy 2 жыл бұрын
this might be the most fun looking robot ive seen you make so far, id love to build something like this i didnt know it was possible to make a balancing robot drive like that, those tyres look really cool too
@kylemwalker
@kylemwalker 2 жыл бұрын
Now you need to implement these new balancing techniques into your other balancing robots like the BB-8 and maybe they’ll be less wobbly.
@OhHeyTrevorFlowers
@OhHeyTrevorFlowers 2 жыл бұрын
This is a great video for people who have thought about designing their own two wheel balancing robot but don’t really know where to start.
@DelanAbbas
@DelanAbbas 2 жыл бұрын
I love how he never goes outside to test things.
@JeremySeitz
@JeremySeitz 2 жыл бұрын
Thank you for leaving in extra gratuitous driving footage, I love watching you play with these robots!
@codysimon1724
@codysimon1724 2 жыл бұрын
I'm not the brightest person but you make these videos interesting and you are quite detailed, hard to find people who's uploading routine videos like this who are detailed enough to make me understand it
@RKTBOX
@RKTBOX 2 жыл бұрын
Would be pretty cool to see a sort of 'runaway' mode, where over an accumulated pid error value it just turns off the pid controller. So in event of a runaway, crash, malfunction etc, it just turns off the pid controller and sits there dead, thinking about what its done (but legitimately, to avoid damage etc).
@Abishek_Muthian
@Abishek_Muthian 2 жыл бұрын
Work by James is an excellent example for the advantages of incremental development, Well done!
@TonyHammitt
@TonyHammitt 2 жыл бұрын
You could add a bump on the front and back so that if it falls over, it gets high-centered and the wheels can't drive it across the floor sideways. Or cut out the motors if the angle gets too steep.
@beautifulsmall
@beautifulsmall 2 жыл бұрын
Great work, reminds me of my first YT vid, Earwig robot, adding in the angular velocity of the tower to the control loop gave the extra stability . Yours is very stable on the obstacles. A pleasure to watch. Very tempter to build another. Inspiring.
@BrainSlugs83
@BrainSlugs83 2 жыл бұрын
Absolutely love that you used dual nested PID loops, I was actually going to suggest it. Though I will still suggest using all three terms on the outer loop to squash those remaining oscillations; all three terms really do work together and are greater than the sum of their parts (i.e. if you include the integral, you can use higher dampening by lowering the proportional value; potentially giving the same effect with less oscillation). Still, this is performing really well, and I love it!
@bentsprockettech
@bentsprockettech 2 жыл бұрын
Very detailed! Thank you for sharing this with us.
@yngndrw.
@yngndrw. 2 жыл бұрын
This works really well! For the position feedback, you could also read the encoders directly via the Teensy.
@nebula_wolf3132
@nebula_wolf3132 2 жыл бұрын
i'd love to see how those wheels cope on something harder, like a road surface. you could also try going over some rocks, as they would probably tip it more aggressively, so it would be a better (in my opinion) test of the stability
@easyBob100
@easyBob100 2 жыл бұрын
Things to ad: Lidar, 9dof for location/position holding instead of wheel position (there are a few types of algos for position). Pathing (so you can just click on a map, and it goes).
@jordiespinafont2984
@jordiespinafont2984 2 жыл бұрын
Great Video! Also good mentioning that with position control you rely on the encoders, so when going over ramps and obstacles the robot is skipping steps and loosing track of its position
@minerharry
@minerharry 2 жыл бұрын
Never thought I would see such a zippy two-wheeled robot
@lkjsdf1
@lkjsdf1 2 жыл бұрын
This man can now just casually build a two wheel balancing robot...
@BuddyCrotty
@BuddyCrotty 2 жыл бұрын
It wouldn't be a James Bruton video without weird wheels!!! I love how well this works, it's almost like velocity based dead reckoning.
@thewatersavior
@thewatersavior 2 жыл бұрын
Nice! Interesting to see how that control loop can work with your previous autonomous steering setup
@arcreed13
@arcreed13 2 жыл бұрын
Have you considered using your reaction wheel set-up on the axis perpendicular to the drive to keep it stable in that orientation when over driving or hitting obstacles?
@zorod5475
@zorod5475 2 жыл бұрын
Another part of your reinventing the wheel series.
@jamesbruton
@jamesbruton 2 жыл бұрын
There's more...
@zorod5475
@zorod5475 2 жыл бұрын
@@jamesbruton the omni wheels, the walking wheel, the ball wheels, various treaded wheels, monowheel, omni tank tread. It is kind of my favorite unofficial series.
@AzaB2C
@AzaB2C 2 жыл бұрын
Wow! Thank you James! Curious how your zippy velocity feedback compensation works outdoors, and over rougher terrain? Looks awesome! Guessing the motors could handle larger wheels even for higher clearance?
@peettoria
@peettoria 2 жыл бұрын
The amount of 3d printed robots in the background at 5:00 is kinda amazing
@santosvella
@santosvella 2 жыл бұрын
Loving the balancing robots.
@Cloxxki
@Cloxxki 2 жыл бұрын
That single sprockets track is amazing, I'd never seen it!!! Maybe I need to try that for my non-wheeled off-road skate designs? I'd dead set on making skating with poles on human power over forest roads as fast as skiing over the same road with snow.
@ElectricWheelz
@ElectricWheelz 2 жыл бұрын
James, this would make a perfect telecommuting robot for attending conferences and events that are too far away to attend in person. Just add a tablet to the top, ship it to the event, have the organisers set it up for you and then link into the robot remotely and chat to people and explore the event.
@popuptoaster
@popuptoaster 2 жыл бұрын
If you angle the bottom of the robot so it's more V shaped than square you will much improve it's approach and departure angles for attacking larger obstacles. I realise you can make a vehicle better off road simply by increasing the size of the wheels but it might be interesting to see how well you can make a balancing robot tackle a forest track or ford a stream or similar.
@paulbrouyere1735
@paulbrouyere1735 2 жыл бұрын
Great work! Well thinking. Wish you all the best
@TedToal_TedToal
@TedToal_TedToal 2 жыл бұрын
I’m very impressed with your work.
@Deveyus
@Deveyus 2 жыл бұрын
This was interesting, it'd be neat to see a bit more fully featured wheeled robot, something with collision prevention, a higher speed, capable of carrying a payload of some type, maybe something that uses GPS and can find it's way around a neighborhood, maybe go really fancy and do computer vision for safe pathways.
@lantienpeng
@lantienpeng 2 жыл бұрын
Love watching your vids James, such a pleasure! wish you a great day!
@zeekjones1
@zeekjones1 2 жыл бұрын
I can see a counter weight that leans back whenever it leans too far forward, or vice versa. At the top of, or middle of a tall robot, this shift in the center of gravity will help it keep righted more smoothly.
@Zarundo
@Zarundo Жыл бұрын
Really cool to follow your projects. A small safety code snippet just to "shut down" if the tilt angle i s too high would be nice, I guess?
@xymaryai8283
@xymaryai8283 2 жыл бұрын
the velocity controller is very similar to the rate controller in quadcopter firmware like Betaflight, awesome explaination!
@Eleven7D7s
@Eleven7D7s 2 жыл бұрын
You are a gem James!
@spammy1tube
@spammy1tube 2 жыл бұрын
Nice! You're really getting good at this James! Next thing should be a self-balancer that can get itself up vertical from being down. (Or add-on to an existing one) Something like a push rod or lever, or some other Bruton-force clever solution that you'll come up with :^)
@markturner2561
@markturner2561 2 жыл бұрын
Interesting that you’re pursuing the “balance stable by raising the center of mass” route. For what it’s worth, the Segway has a large mass below the axles (the battery and frame) and I always thought that helped it balance. Segways can stand very still.
@Temperans
@Temperans 2 жыл бұрын
I mean it does, after all more weight means more energy need to keep it moving.
@rougenaxela
@rougenaxela 2 жыл бұрын
I kinda wonder how well a reaction wheel would work for counteracting the tendency to tip sideways when cornering tightly, allowing tighter cornering at speed while remaining upright. If that worked well I bet it would look pretty neat in action.
@JimBuschman
@JimBuschman 2 жыл бұрын
Pretty cool stuff! Is there an end goal with all of this stuff?
@youwillneverguess
@youwillneverguess 2 жыл бұрын
Very cool! Now I thoroughly comprehend why evolution favored legs and feet over wheels. But seriously, very cool wheely thing!
@gnydick
@gnydick 2 жыл бұрын
Ok, seriously, how do you manage to churn out so many projects with 3d printed parts? Between iteration time, the very slow printing speed seen in your videos, the size and number of parts, I can't imagine how you do it. You should make a behind the scenes video.
@poindexterfrink8276
@poindexterfrink8276 2 жыл бұрын
Excellent result! Your standard balancing robot code should probably implement a tip-over cut-off at some degree deemed irrecoverable, just to prevent injury and accident during development. I don't know what the code should do though: freewheel the motors?
@DigitalJedi
@DigitalJedi 2 жыл бұрын
My "kill switch" for stuff like this just powers down any drive motors / servos. The robot just kinda goes to sleep and doesn't try to do anything. The code would just be setting a power of 0 for everything.
@RichardBronosky
@RichardBronosky 2 жыл бұрын
You are so good at balancing robots, you should get rid of the wheel and go for 1 leg. Make a 1 leg pogo bot and try to see what kind of terrain you can traverse. For more complex obstacles it's going to need computer vision and/or load cells in the foot. Should get very interesting without hitting the mechanical limitation walls of other balancing bots.
@green4free
@green4free 2 жыл бұрын
The code running on the odrive is open source and it's quite easy to add stuff to it. Me and an old classmate modified the odrive code a bit to make the serial interface faster when we built self balancing bicycle. You could maybe add code to always post/publish the encoder state at a specific frequency on its own, or move your balancing loop into the odrive.
@jamesbruton
@jamesbruton 2 жыл бұрын
I could probably just about do it, but not everyone can
@green4free
@green4free 2 жыл бұрын
@@jamesbruton yea, arduino is more shareable. Really cool work as always!
@johnchai1287
@johnchai1287 2 жыл бұрын
would a wheel that is larger and clears the edge of the body allow the robot to recover from a fallen position? It would be cool to have the capability to recover even if it is sideways. Impressive and educational video as always.
@MarinusMakesStuff
@MarinusMakesStuff 2 жыл бұрын
Nice machine, I guess that when making it taller, you'd need a wider wheelbase. There's probably some formula to calculate the width of the wheelbase in relation to the center of gravity which also dictates how heavy the 'stick' pointing up should weigh. And when looking at a Segway, the top part swivels, so it's not fixed. That might also help. Fixing it in the front-to-back direction, but making it so that it can actually move a little bit side to side with springs so that the top part keeps finding the middle. I guess this would need a lot of testing and tuning to get right as when you add a swivel with springs, it can also start a sideways oscillation.
@jboelens2
@jboelens2 2 жыл бұрын
It would be cool to see if you can run the position control loop at a different frequency from the balancing control loop to make it more responsive.
@ben_yeates
@ben_yeates 2 жыл бұрын
Hi James, I'm interested in your design process and have a couple of questions. Do you do brainstorming sessions and think of lots of ideas for your robots, or do the ideas come iteratively... Like you think of another improvement on an existing design and decide to make a new bot with that concept? How long does it take do CAD up a robot idea, with some of those 3d prints there must be a fair bit of downtime, do you design some robots while others are printing? Thanks :)
@navillus5
@navillus5 2 жыл бұрын
I am really interested in exploring the use of brushless motors in the manner you have been showing in your videos. Is the ODRIVE board the only option?
@madprops526
@madprops526 2 жыл бұрын
your controller sounds just like controllers and code that that we use for fpv drones, taking desired position (rc stick input) and compares that to where its at and corrects to where its requested to be. at least i think that's how part of it works.
@alex.thedeadite
@alex.thedeadite 2 жыл бұрын
You've been coincidentally releasing videos on days I was working for so long(I have a somewhat irregular schedule) I got scared and checked my schedule to make sure I was off today.
@kevineasom8196
@kevineasom8196 Жыл бұрын
Great work! Is the Teensy 4.1 a replacement for an Arduino Mega, or Arduino Pro-mini on this project?
@ahbushnell1
@ahbushnell1 2 жыл бұрын
you should do a tips and tricks on 3D printing. I would like to hear about your soft materials with the Luzlbot.
@addisonwoods9367
@addisonwoods9367 2 жыл бұрын
Super informative video!! Awesome!
@robochrisc2891
@robochrisc2891 2 жыл бұрын
It would be cool to see a working clap-trap model from Borderlands. Also, you seem to always use the same size of wheels for the balancing robots. I was wondering what would happen if they were larger or smaller.
@Matty.Hill_87
@Matty.Hill_87 2 жыл бұрын
I think It would just effect the code needed to balance the robot, with smaller wheels they'd need to move more to balance the robot where bigger ones would use smaller movements
@robochrisc2891
@robochrisc2891 2 жыл бұрын
@@Matty.Hill_87 That makes sense. Thanks! :-)
@Cloxxki
@Cloxxki 2 жыл бұрын
James, would you like the challenge to build what looks like a dancer pole that misses the ceiling, and sits on a single driven spherical wheel that is no bigger than the pole diameter? Being tall it would barely need any response time and input, it would almost sit still. If placed in a room, sensors could scan the ceiling, perhaps with a cutting mat with grid stuck on there for precision calcs. The pole would seem stuck to the floor until tapped.
@HungrysitesRu
@HungrysitesRu 2 жыл бұрын
Thank you for adding only 1 ad, big improvement. Though I understand the struggle of being a content creator.
@pssnyder
@pssnyder 2 жыл бұрын
I wonder what impact it would have if you used the upper section of 20x40 extrusion to drive a vertical weight up and down to change the center of gravity as you are driving. That way you could lower it to get more aggressive response and raise it to smooth out the balancing when you want to stay in one place.
@DIYtechie
@DIYtechie Жыл бұрын
Really cool project and very impressive performance 😊👍🏻
@AnimilesYT
@AnimilesYT 2 жыл бұрын
8:40 I think this is because the wheel rotates even though that rotation doesn't actually moves the robot. So its actual position is not the same as the position the robot thinks it's at. Maybe this could be fixed by using some kind of sensor that works similarly to a mouse? That may cause issues when it's driving on transparent/reflective surfaces though. It may also cause issues when the wind blows stuff under the robot or when something like grass is waving in the wind. Maybe an accelerometer can be used to calculate the distance travelled?
@DigitalJedi
@DigitalJedi 2 жыл бұрын
You could use sonar to get around the reflectivity or transparency issue, and grass shouldn't hurt a decent ultrasonic system too badly to the point where it's unusable.
@jeffreymorris1752
@jeffreymorris1752 Жыл бұрын
I'm starting a single wheel (unicycle) bot project this summer or next fall. It will have a 2 meter pole up top, but there will be a canard (a v-wing configuration) of sorts atop the pole. The idea is that once it's moving at speed, forward, balance is handled by controling air resistance across the v-wing. This should also allow it to lean inward to take shallow corners at a pretty good clip. I'm thinking of making it as lightweight as possible - basically a minimal skeleton of carbon fiber tubes. Speed is the objective -- that is, speed over maneuverability, and being lightweight should reduce power and battery requirements. A fair description might be a mix between a balance bot and a fixed wing aircraft. And it has to look cool, of course -- very cool. Goes without saying it will look different.
@MrSaemichlaus
@MrSaemichlaus Жыл бұрын
"Bigger things with more mass fall over more slowly" I agree with "bigger", but not "more mass". In any ideal pendulum, hanging or upside down, only the length of the pendulum affects the oscillating frequency (or time to fall over), not the mass. This is because gravitation causes all objects to fall a specific distance within a given time, and that distance amounts to less in relation to an object's size, the bigger that object is. Thus making an object seem to fall or rotate slower, the bigger it is.
@madrandomize5115
@madrandomize5115 2 жыл бұрын
8:52 i never thought i would see metal slug tracks on a robot in real life !!!
@jdk7278
@jdk7278 2 жыл бұрын
You can probably correct the fast position estimate using the slow position measurement. I've seen people do that with fast/inaccurate accelerometers vs slow/accurate gyros.
@DrJALAGHARI
@DrJALAGHARI 2 жыл бұрын
Nice informative and innovative video on robot.
@AliHSyed
@AliHSyed 2 жыл бұрын
Hey mate, I really admire your work. Looks like the shop is getting a bit crowded.. How'd you feel about sending of those robots my way? I'm across the pond 🇨🇦😅
@simplegamerz9485
@simplegamerz9485 2 жыл бұрын
Do you think you can run a one wheel balancing robot with a differential swerve drive? That would be interesting to see
@marekjakimowicz
@marekjakimowicz 2 жыл бұрын
Nice. You should have a bigger space for testing. With some different surfaces, and obstacles. So watching robots would be more fun.
@FinaISpartan
@FinaISpartan 2 жыл бұрын
Btw, this technique of tracking a position without any realworld input and only using velocity and time is called dead reckoning.
@JamesSmith-vz8yr
@JamesSmith-vz8yr 2 жыл бұрын
I'd seriously like to build one of these!
@grahams5871
@grahams5871 2 жыл бұрын
That looks like so much fun. With all the robots you build, why don't you start to make a lego-like modular system: make parts that are designed for re-use. If a part serves two purposes, split it with a common locking joint design. Standardize on a restricted set of bolts and holes, snap sizes to centimeters. Build up your system step by step: whenever you reuse parts from an old robot, re-design the parts you are scavenging so that if you had thought of that redesign earlier, you'd just be able to detach on the old bot and snap onto the new one.
@WetDoggo
@WetDoggo 2 жыл бұрын
Can you program a balancing code that predicts where it will be in the balancing oscillation and uses this to stop right in the middle?
@rohind1029
@rohind1029 2 жыл бұрын
I think it would be cool to take this one outside, maybe try some more challenging obstacles.
@TheAstronomyDude
@TheAstronomyDude 2 жыл бұрын
If the wheels were wider, would it be possible for it to right itself after a tip over? Like turtle mode for drones.
@theoldknowledge6778
@theoldknowledge6778 2 жыл бұрын
Amazing video!!! You should start to mess with suspension systems... It's fun!
@satibel
@satibel 2 жыл бұрын
code wise, can't you read the accumulated encoder value like every second to correct? or an option may be a secondary microcontroller (i.e. make it "dual core") that keeps track of the position. something I want to experiment with is basically a dual ir barcode scanner on 2 points in the room, with photo diodes on the robot, like what the vive does. you have a constant speed mirror tangent but offset from the axis, and a laser line on the 2 bases, which gives you a line scan, you also add a spotlight which blinks at an offset from the mirror to sync up and see which lights are obstructed, then offset the 2 bases 180 degrees, so one scans while the other is blank. then on the robot you have photodiodes on the cardinal directions which have a buffer that stores the time at which they saw the light (which allows fast speed, with a custom pcb and some good components you can get 100Mhz or even Ghz speeds.) everything would be connected via wifi so the robot knows the exact speed each laser is scanning by at. the bases can probably just use an esp32 for everything. a sane-ish value for the speed of the laser would be around 30-90m/s (16.2k rpm for the motor, at 1-3 meter from the base, with a triangle for the mirror) at 90m/s, you still have like 9um accuracy with a 10mhz counter, even if we take 2 orders of magnitude for correction and whatnot, we can most likely get sub mm accuracy, especially when moving slowly. also since you're getting absolute position, you can position very accurately, and are probably limited by the mechanics at this point.
@DumbledoreMcCracken
@DumbledoreMcCracken 2 жыл бұрын
Awesome that it included the "The missile knows where it is...." in this
@aDifferentJT
@aDifferentJT 2 жыл бұрын
You will need a PID controller for the position hold if you want it to hold its position accurately on a slope.
@bpark10001
@bpark10001 2 жыл бұрын
What rate does your code go around? If it is fast enough, you could directly read the optical encoder on each pass directly in I/O port.
@DylanMatthewTurner
@DylanMatthewTurner 2 жыл бұрын
I'm glad I made an effort to turn my D in Linear Controls to a B back in college bc otherwise I wouldn't have understood 6:23 and would've missed out on how awesome it was
@OneOfDisease
@OneOfDisease 2 жыл бұрын
Is the remote control set up like a traditional driving game or more like a tank? I assume the first as it pivots on a non moving wheel during a turn rather than having both wheel turning in opposite directions.
@LionOfJudahRules1
@LionOfJudahRules1 2 жыл бұрын
James, this platform would make a really cool Astromech Droid!!
@tiemanowo
@tiemanowo 2 жыл бұрын
Are those encoders essential for that balancing purpose? Wouldn't the throttle control in ESC be enough?
@electronic7979
@electronic7979 2 жыл бұрын
Excellent
@m0nk3yl0v3r
@m0nk3yl0v3r 2 жыл бұрын
This shit is so far over my head it has snow on but i love it! Thanks!
@teabagtime
@teabagtime 2 жыл бұрын
I've noticed that when it falls over the wheels go mad trying to compensate for being almost horizontal... Is there way to code the behaviour so if it has a near-horizontal angle being read from the IMU it stops the wheels? Or would that not work as it's in reality an intertia measurement and not an angle measurement? Perhaps if it holds a particular angle for a few dozen miliseconds then we can conclude it has fallen over?
@davidvwilliamson
@davidvwilliamson 2 жыл бұрын
could you add an identical pair of wheels at the top end and drive them with additional belt drives from the motors or maybe from the other wheels like tank tracks? presumably it would work just the same upside-down? maybe without even modifying the code? with a great enough power-to-weight ratio and a short enough wheelbase it might be able to somersault itself end-over end. apart from being fun to watch this might be useful for getting over obstacles. maybe even going up stairs? anyway might be a quick thing to try
@nickmoniker
@nickmoniker 2 жыл бұрын
I'm curious how a balancing robot would handle being stopped on an incline. Would it even know or care? Would it need the position hold logic in the code to allow it to stand still on inclined ground?
@alex.thedeadite
@alex.thedeadite 2 жыл бұрын
I just thought of a way for a segway style balancing robot to park that I haven't seen before, and that I think would be better for power loss states, when in a stationary guard-type mode at least, have the axle move up and down and rest the bottom of the chassis on the ground.
@kevineasom8196
@kevineasom8196 Жыл бұрын
That's already been patented, back in 2019.
@jespermller6956
@jespermller6956 2 жыл бұрын
An idea for a car with 4 wheels where each wheel is made with 2 of your wheels which turn each way, they should then be perfect for crawling over big things, as these "wings" have a better angle of attack, but as still lying down as they approach the ground.
@dfgaJK
@dfgaJK 2 жыл бұрын
That's a lot of power to weigh. I wonder, with a 12s battery, how fast can it go? You should do some tests in a wide open space!
High precision speed reducer using rope
20:19
Aaed Musa
Рет қаралды 805 М.
Experimental Wave Drive
12:56
James Bruton
Рет қаралды 428 М.
100❤️
00:20
Nonomen ノノメン
Рет қаралды 50 МЛН
They RUINED Everything! 😢
00:31
Carter Sharer
Рет қаралды 11 МЛН
КАРМАНЧИК 2 СЕЗОН 5 СЕРИЯ
27:21
Inter Production
Рет қаралды 600 М.
What If Swings Had Springs Instead Of Ropes: Autoparametric Resonance
15:25
Star Wars #Andor Droid Build
17:15
James Bruton
Рет қаралды 158 М.
NASA's clever technique to make combustion chambers
16:19
Breaking Taps
Рет қаралды 1,3 МЛН
Will this Omni-Directional Tank Work?
14:27
James Bruton
Рет қаралды 189 М.
Why Even Learn Things Anymore?
28:53
Joe Scott
Рет қаралды 454 М.
Why are metals so stretchy? (2^13 sub special)
13:50
AlphaPhoenix
Рет қаралды 861 М.
This Car Travels Farther Than You Push It
13:42
Tom Stanton
Рет қаралды 2,4 МЛН
Chinese Magic Mirrors are really clever
11:09
Steve Mould
Рет қаралды 2,2 МЛН
Tightrope Walking Cheat Device
14:22
James Bruton
Рет қаралды 1,5 МЛН
Цифровые песочные часы с AliExpress
0:45
Apple watch hidden camera
0:34
_vector_
Рет қаралды 54 МЛН
С Какой Высоты Разобьётся NOKIA3310 ?!😳
0:43
#miniphone
0:18
Miniphone
Рет қаралды 12 МЛН
Топ-3 суперкрутых ПК из CompShop
1:00
CompShop Shorts
Рет қаралды 455 М.