Why this Robot is Really Tall

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

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 KZfaq 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 KZfaq 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 жыл бұрын
kzfaq.info/get/bejne/mMCVaK1puLyniYU.html for those who don't know the meme.
@Beeks81
@Beeks81 2 жыл бұрын
@@underscorenul kzfaq.info/get/bejne/lbKagZaGyNK9qok.html i prefer the remix, lol.
@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.
@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 ???
@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 kzfaq.info/get/bejne/oauUpZNyt9eYaHU.html
@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 KZfaq 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
@JeremySeitz
@JeremySeitz 2 жыл бұрын
Thank you for leaving in extra gratuitous driving footage, I love watching you play with these robots!
@Abishek_Muthian
@Abishek_Muthian 2 жыл бұрын
Work by James is an excellent example for the advantages of incremental development, Well done!
@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.
@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.
@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).
@yngndrw.
@yngndrw. 2 жыл бұрын
This works really well! For the position feedback, you could also read the encoders directly via the Teensy.
@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.
@thewatersavior
@thewatersavior 2 жыл бұрын
Nice! Interesting to see how that control loop can work with your previous autonomous steering setup
@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.
@paulbrouyere1735
@paulbrouyere1735 2 жыл бұрын
Great work! Well thinking. Wish you all the best
@santosvella
@santosvella 2 жыл бұрын
Loving the balancing robots.
@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
@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
@lantienpeng
@lantienpeng 2 жыл бұрын
Love watching your vids James, such a pleasure! wish you a great day!
@TedToal_TedToal
@TedToal_TedToal 2 жыл бұрын
I’m very impressed with your work.
@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
@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.
@xymaryai8283
@xymaryai8283 2 жыл бұрын
the velocity controller is very similar to the rate controller in quadcopter firmware like Betaflight, awesome explaination!
@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?
@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?
@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 :^)
@Eleven7D7s
@Eleven7D7s 2 жыл бұрын
You are a gem James!
@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.
@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.
@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?
@addisonwoods9367
@addisonwoods9367 2 жыл бұрын
Super informative video!! Awesome!
@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.
@DIYtechie
@DIYtechie Жыл бұрын
Really cool project and very impressive performance 😊👍🏻
@DrJALAGHARI
@DrJALAGHARI 2 жыл бұрын
Nice informative and innovative video on robot.
@youwillneverguess
@youwillneverguess 2 жыл бұрын
Very cool! Now I thoroughly comprehend why evolution favored legs and feet over wheels. But seriously, very cool wheely thing!
@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.
@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).
@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!
@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.
@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.
@JimBuschman
@JimBuschman 2 жыл бұрын
Pretty cool stuff! Is there an end goal with all of this stuff?
@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.
@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.
@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.
@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 :)
@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.
@theoldknowledge6778
@theoldknowledge6778 2 жыл бұрын
Amazing video!!! You should start to mess with suspension systems... It's fun!
@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.
@gilbondfac
@gilbondfac 2 жыл бұрын
Bravo ! du travail de pro !! comme dab ! congratulations
@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.
@LionOfJudahRules1
@LionOfJudahRules1 2 жыл бұрын
James, this platform would make a really cool Astromech Droid!!
@kevineasom8196
@kevineasom8196 Жыл бұрын
Great work! Is the Teensy 4.1 a replacement for an Arduino Mega, or Arduino Pro-mini on this project?
@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.
@peettoria
@peettoria 2 жыл бұрын
The amount of 3d printed robots in the background at 5:00 is kinda amazing
@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.
@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?
@HungrysitesRu
@HungrysitesRu 2 жыл бұрын
Thank you for adding only 1 ad, big improvement. Though I understand the struggle of being a content creator.
@tiemanowo
@tiemanowo 2 жыл бұрын
Are those encoders essential for that balancing purpose? Wouldn't the throttle control in ESC be enough?
@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.
@DelanAbbas
@DelanAbbas 2 жыл бұрын
I love how he never goes outside to test things.
@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?
@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.
@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.
@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.
@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.
@Alex_Eicher
@Alex_Eicher 2 жыл бұрын
Do you have to calculate the balance of wight in the center of mass and how does it affect the calculations?
@JamesSmith-vz8yr
@JamesSmith-vz8yr 2 жыл бұрын
I'd seriously like to build one of these!
@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.
@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.
@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.
@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 🇨🇦😅
@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.
@mojratvt
@mojratvt 2 жыл бұрын
How often do you have to scavage old projects for parts, especially motors and electronics?
@Max-kc2rc
@Max-kc2rc 2 жыл бұрын
super cool and responsive !!! it is grown up now and can handle the outside world ;-) - make it a thing that follows you on a bike and drive though some public places ... (e..g based on two gps receivers)
@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.
@electronic7979
@electronic7979 2 жыл бұрын
Excellent
@andhag
@andhag 2 жыл бұрын
Have you experimented anything with autotuning PID controllers?
@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?
@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.
@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
@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.
@lkjsdf1
@lkjsdf1 2 жыл бұрын
This man can now just casually build a two wheel balancing robot...
@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.
@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?
@4thfrom7
@4thfrom7 2 жыл бұрын
The grey looks good on you.
@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.
@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.
@rohind1029
@rohind1029 2 жыл бұрын
I think it would be cool to take this one outside, maybe try some more challenging obstacles.
@Xlaxsauce
@Xlaxsauce 2 жыл бұрын
Does it already have the potential to be programmed to follow a path?
@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.
@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! :-)
@minerharry
@minerharry 2 жыл бұрын
Never thought I would see such a zippy two-wheeled robot
@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
@patprop74
@patprop74 2 жыл бұрын
James, your skills at understanding and being able to implement all control programing is rather impressive, I hear what you say and it makes sense to me but there is no way I could pull it off! not exactly like you have done but along the same line, is how the Americans were able to get the F-117 to not only stay in the air but flyable lol you would do well in America!
High precision speed reducer using rope
20:19
Aaed Musa
Рет қаралды 880 М.
Why this Walking Machine is Really Weird
12:12
James Bruton
Рет қаралды 94 М.
Backstage 🤫 tutorial #elsarca #tiktok
00:13
Elsa Arca
Рет қаралды 8 МЛН
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 151 МЛН
I Built a Shelter House For myself and Сat🐱📦🏠
00:35
TooTool
Рет қаралды 25 МЛН
I turned my $20 Hairdryer into a JET ENGINE
13:37
Integza
Рет қаралды 133 М.
We should use this amazing mechanism that's inside a grasshopper leg
19:19
Experimental Wave Drive
12:56
James Bruton
Рет қаралды 428 М.
Star Wars #Andor Droid Build
17:15
James Bruton
Рет қаралды 158 М.
This weird metal is insanely bouncy
18:03
Steve Mould
Рет қаралды 9 МЛН
Cut anything, even diamond
13:07
Breaking Taps
Рет қаралды 1,1 МЛН
Automated Hydrogen Generator
17:21
Hyperspace Pirate
Рет қаралды 1,3 МЛН
Experimental Jamming 'Beanbag' Robot Gripper
15:54
James Bruton
Рет қаралды 237 М.
What is the Difference Between Reaction Wheels and  Gyroscopes?
14:21
5 НЕЛЕГАЛЬНЫХ гаджетов, за которые вас посадят
0:59
Кибер Андерсон
Рет қаралды 1,3 МЛН
Main filter..
0:15
CikoYt
Рет қаралды 1 МЛН
Iphone or nokia
0:15
rishton vines😇
Рет қаралды 997 М.
Mi primera placa con dios
0:12
Eyal mewing
Рет қаралды 580 М.