Robot Bin that comes to YOU
Vložit
- čas přidán 27. 11. 2022
- AD: Applications for Pipedream are live at www.pipedreamlabs.co/applywit... Reach out to garrett@pipedreamlabs.co with any questions
I decided it was time to make an automatic robot bin that can come to you when you ask it to! It used both dead reckoning and vision-assisted guidance to make it navigate autonomously. I used an NVIDIA Jetson Nano to do the vision recognition, re-training the deep learning model with transfer learning. I also used Deepgram for speech recognition. There's an Arduino controlling the motors and reading the encoders.
CAD and Code: github.com/XRobots/RobotBin
You can support me on Patreon, join my Discord, or buy my Merchandise:
***************************
Discord: / discord
Patreon: / xrobots
Merchandise: teespring.com/stores/james-br...
***************************
Other socials:
***************************
Instagram: / xrobotsuk
Facebook: / xrobotsuk
Twitter: / xrobotsuk
***************************
Affiliate links - I will get some money of you use them to sign up or buy something:
***************************
10% off at www.3dfuel.com/ - use code XROBOTS at the cart screen.
Music for your CZcams videos: share.epidemicsound.com/xrobots
***************************
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 CZcams 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. - Věda a technologie
Robot that delivers beer from the fridge next? Join my Discord to suggest ideas (there's a specific section for that) discord.com/invite/fc6MedG7eW
That would be cool! I love the video of the PR2 robot doing that! And you could use ROS! You are the one that got me started with Ros!
I've had that idea for years. Didn't have the time and you're skills to make it yet...
I think there is an easier way to do the same effect using only 3 microphones and triangulating their volume.
probably have less precision but it is possible.
I am inspired by your videos 👨🚀🤙🤙🔼🔼🔼✅💪✅
classic
Beer recognition and voice control of same.
I can't remember if you were the one that mentioned it, or if I just found it independently, but I once saw a racing robot that used light fixtures as a method of localisation - tracking how they moved in the camera to guesstimate how far it moved. It was surprisingly robust as it managed to race around an office with regular and identical, square lights in a tiled ceiling.
Try to use qr codes to encode location around the house. You might even be able to make them invisible if you could have them be viewable only in ir
Not QR codes. You want fiducial markers so you can easily get distance and angle information out of them. QR codes don't do that.
@@jfolz Both Aruco markers as well QR codes (for targeting, the Micro QR codes might be more interesting) obviously allow for distance and angle information. And why wouldn't you - they have a defined "up" side, and they are supposed to be square, so any deviation from square means you're viewing it from an angle. Distance requires them to be printed at consistent size, obviously.
@@jfolz the two are not exclusive
Im using apriltags for that,from my understanding they are fairly easy to identify at a distance plus give you distance and rotation to the camera
Sure it doesnt let you encode strings and such but you can assign meanings to the specific id and family of the tag
@@graealex note that I wrote "easily". You can get this information from QR codes, but they are not meant for this sort of application. One clue should be that each QR code effectively contains three markers at its corners to locate it first. Fiducial markers encode less information, so they can be much simpler and can thus be detected with higher accuracy or from a greater distance and with less processing.
PROtip: whenever you have something like those wheels where you need an access hole (for the shaft affixing screw/nut), rather than print with the hole, print without it, just print a plug inside the wheel where it should be and then drill it out later. A stronger wheel will result and it will also print with less distortion as well. If set up right, it's also faster, you just have to tweak the code to print circular and "lay a bead" whenever it's on top of the plug. Not all cases i've printed, since some had some particular interactions with the reinforcement (usually whenever i use square patterns instead of hex or the spiral + ray pattern) but with most of them i've had it print faster than having the printer altogether stop to turn around and print either around the hole or print with scaffolding. One can make these modifications using their modeling software. It's easier in something like SketchUp (at least i find it simpler to just group things in a particular fashion) but there's also ways to trick the slicer into printing something as one from two. Caveat, you need to know your program well, but the effort is worth it.
whenever you need a somewhat decently accurate hole 3D printed, it's always a good idea to print it at a smaller diameter then drill it to the right diameter, as this ensures a circular hole and a correct diameter.
passing holes for screws that are no big deal, you can always hammer the problem away if you need to, but axle holes should always be drilled afterward if you don't have access to brass/aluminium tubes, and if you do have access to brass/aluminium pipes, insert them into the 3D print rather than directly putting the axle on the PLA, it will decrease friction by a lot.
Huh, I follow that it would be faster (although it then takes time to drill the hole) but I don’t follow why it would be stronger? If you drill the hole, the cylindrical faces of the hole will not be solid plastic but rather voids and infill. In a thought experiment where infill was 0% I’d say that the part would be stronger if you modeled that access hole in.
@@Trent-tr2nx yeah I don't understand how it would make it stronger either. making a smaller hole then finishing it afterward for precision sure, but totally removing it just seems stupid.
Pipedream sounds a bit like the vacuum transfer pipes of the 20th century, but then with tiny bots and a lot more flexibility. 😍
Look at using ArUco markers, e.g. available in OpenCV. They're fiducial markers, so you can get size = distance and angle information from them. Recognition is pretty fast and works from quite far away.
I was about to make this same suggestion, but fortunately read down the comments before I did. I agree. AR targets should give more identifiable locations, along with the other information that should help out the Arduino's positioning algorithms.
Light fixtures and vents might provide some decent markers in a wide FOV ceiling based vision system. And they're on a very low detail background so perhaps that helps.
My guess is that he doesn't have vents, since he's not in NA.
I was thinking light switches and windows since they're permanent/immovable. Overhead lights are good too.
Openings would likely be a fairly good reference point to use. Train it to identify cabinets, door frames, windows, things like that. they don't move, and so long as you can successfully identify 2-3 of them at any given point, it should be able to know its location. You generally try to keep door frames, windows and cabinets unobstructed, so it's unlikely to interfere with anything you would do normally.
I'm impressed how you build new projects each week. Great complexity and variety.
I love the practical, simple use of AI here. Almost as much as i love the googley eyes on that hungry boy.
You’ve accomplished something extraordinary here. This is pretty useful ! Thanks
wow! the only ad segment i was interested in in forever! very interesting if somewhat hyperloopy and mad
Your projects are absolutely AWESOME!
With that amount of onboard processing power you could get it to find your voice via the time difference between 2 microphones
Excellent project
That is very inspiring!
All those technology... Just to collect litters. And the whole process looks fun, too!
It is awesome!
This is easily one of the coolest channels on all of CZcams and it's a crime that this great man doesn't have millions of views on every single video.
Great video, as always!
Would it be possible to use nfc tags to trigger location data when you don't need the precision of a target?
Just thinking they could be easily hidden in all sorts of places and could help the robot keep it's bearings. Idk though...
Amazing work as usual!
Aruco marker or an April Tage is the way to go with visual localisation application! Very Interesting project none the less.
Machine Learning vision just feel like a unnecessary 'catch-all" solution that "just works" but not necessarily well.
LiDar sounds cool. Perhaps you should build more stuff with those.
Awesome robot.
I really want to built it thanks to you.
Have a nice day.
:)
What a glorious example of encapsulation - the jetson containing enormous amount of machine vision complexity, state of the art (as of a couple of years ago, at least) cutting edge stuff... which Just Works and sends you "a little to the left" "a little to the right" messages to an arduino and some motors that someone poking at a 1980 Logo Turtle Bot would still find pretty familiar. (The idea that "training an updated machine vision model" is simpler than "configuring RoS at all" is as horrifying as it is accurate :-)
What is RoS?
The sound of it pleases me (IDK why I like things that sound like hydraulics)
This one is actually a useful idea
It’s no Dusty Bin xD
Quite enjoyed this. Maybe James could make a mini desk version that uses Alexa or Google etc !
"What is my purpose?"
"You collect rubbish!"
"Oh my god!"
Now I want this robot!
you are really throwing everything you have in this one
I don’t know how you have time for all these projects. I’d be happy getting one done never mind 8999 other bins before this!
Nice work!
The infomercial opening was really nice.
Thanks, I've got more of those.
If you are just building the cold drink robot for your house then that's simple. the stuff that it can carry is very small, like a soda can so all you need is a high def camera and a turntable then have the cans or anything else on the turntable and start taking multiple shots per second (i am assuming high grade cameras like the ones you use do that)or take a video and use the frames of the video to train the AI to recognize the stuff you want carried, the rest is lidar or radar to locate large items like chairs since all the AI needs to know is just that they are obstacles and to avoid them. with that you can build a robot that can bring you drinks just by saying the name of the drink and no need for targets, although the targets do make it look boston dynamics-esque so that's cool too. also for the floor plan, you can use an open AI for something like road navigation software. you have the dimensions of the room and you have the paths that it can use to travel to the fridge and to you so if a new obstacle is put in its way, it can recalculate using existing dimensions to plot a new course to the fridge as long as it knows where everything is and it can learn how to add new things and remove things from the original map.
reminds me of a much more elaborate version of Colin Furze' robot bin he made years ago. Cool project
Love your socks, James. I love how you make these projects look so easy. My experience is that getting servo motors and power supplies and controllers working is dauntingly difficult. Any advice?
The Adafruit tutorials are a good place to start: learn.adafruit.com/category/learn-arduino
he does make it look easy and always amazed how clean the demo rooms are. I would have bits of swarf aetc everywhere after all the tweaks, and remakes.
That’s freaking genius.
So this is basically junkbot, except with wheels, from the classic internet Lego game “Junkbot” and “Junkbot Undercover”. Sounds satisfying 😊 No more walking around to throw garbage away!
For the beer robot, replace the targets with super simple block patterns/QR/ArUco codes made with retro-reflective paint/tape. Use infrared light to identify the retroreflectors even in the dark. Face the camera up with a wide lens to see a decent number of targets placed on the ceiling for reasonable use (and to triangulate more exact positioning). Delivery while watching a movie? Yes, please.
Know I'm late.
Could have it recognize art or photos. That way you can have it understand which room it's in or plot a path without having QR codes or circles etc.
Thank you for being inspired by my comment a month ago although the result is different than expected! ♥
Now I feel a lot better about my experiences with ROS hearing that even you found the version miss match issue frustrating.
Yeah, took me over a year to work out how to do it, using courses, other projects (which often didn't work well) and also buying a Robotis Turtlebot that worked out of the box to look at.
Amazing! The motor control could however use some smoothing. The wheels seem to change rotational speed from 0 to full speed as fast as they can. Maybe introduce some acceleration instead? :)
When I clicked on this, after youtube recommended it 3 times, i expected it to be a lot more... shit. But it's quite the impressive robot. subbed.
I'd love to see what you could do with eye tracking. I could certainly see you controlling an RC car or a ridable car simply by looking where you want to go.
I don't know why James, but you remind me of Rick Moranis building awesome things i love it 😁
For speech you can also look at OpenAI's Whisper!
respect 💀
but I think that home button should be on top of the bin
it would be a cool idea if a robot could make you a cup of tea and also travel upstairs. I like the lidar videos you do
I could use a few of those, or maybe just one if it could climb stairs!
Before 40 years ago: "or, you could get up and walk to the bin"
Seriously, I'm now amazed at the programming in my roborock V6 vacuum
Use QR looking codes on the floor, they are called fiducials, Amazon uses them for robot navigation.
Pensé q era por la foto un generador de gas o eléctrico
Gracias por tu exposición
HOLY SHIT BINS!
Awesome. Like more improvements.
I can't believe that with all the design and planning that went into that project, you did not put the buttons at a place where you can access them without bending over behind the machine. Probably the worst place imaginable apart from right underneath the carriage! ;-)
Great build. How come you decided to have it turn around and go home, rather than just reverse back and therefore just requiring one target? It could reverse home until the target is small enough, rather than the other way around?
It could wait by the door when it thinks it's full. Or follow you around flapping the lid annoyingly for you to empty it, lol.
Beers? How about a ceiling claw on cable-cam pulley system like in stadiums or those room scale 3d printers with a pulleyed motor in each corner. Could adapt it to deliver outdoors with a clothesline to keep mum tipsy in the garden, lol.
Might be interesting to program, eh? Cheers.
Would it work with camera facing up on targets placed on ceiling?
Is there anything better than ROS for the rotating LIDAR SLAM setups these days? I'm so jealous of my robotic vacuums, they make it all look easy, and I'd love to take a stab at it to build an oversized Mi/Roborock style vacuum capable of picking up more than half a days worth of dog hair shedding at once.
Any wizards out there have suggestions on the best place to start that doesn't involve wading through years of stale doc pages?
It's probably the same navigation algorithm, ROS just wraps it in a ROS service.
have you think to use ARuco markers instead of the two circle one inside the other?
Why not use NMS to reduce multiple detections of the same target and maximize precision?
Next project: A robot that follows you around and deploys a folding lawn chair whenever you stop walking.
Origin Shaper Tools supplies that funky tape so its very clever handheld CNC can map its world. So perhaps similar dots on the roof. I have no idea how they use the dots.
You can see a direct line from James' creations to the robots in Star Wars.
Would putting QR codes everywhere and use an app to tell the bin to go to a specific QR code work? Would multiple cameras (3?) be good to improve spatial relation ability be good?
ok it works great the only thing it need to be perfect is be more faster and a little less louder
We need an "Instant Party" robot that quickly deploys streamers, confetti, balloons, music, lights and a laser projected banner
You definitely do not need to train and run an entire neural net for this. Much more efficient and easier for such distinct targets to use OpenCV and some HSV filtering + reflective tape for on the cheap, or dedicated targets (some are QR style, you've probably seen them!)
I know how to do this. In the next version I'll just use features from my house instead of markers
Have you got an estimate of how many miles of printing filament you've gone through?
Cool gadget. I want one! 😁
But I half expected there to be a "Like Comment Subscribe" poster under the lid, when it opened at position 1, in the end. Missed opportunity there. 😉
Awesome trash bin! any reason you didn't use a grid of QR-codes/April-tags on the floor? That's what a lot of warehouse robots use now. (i.e. the Keva robots and clones)
can you tell me where did you buy your jetson nano because I can't find any more ?
Funny how in lidar video you had wind bottles in the narrow cupboard in the kitchen and now we can see mason jars :-)
I love the googly eyes!
Good robot. This will be cool if robot will coming on charger + - reils automaticly. And if it will have a hand to quick storage of children toys in room. It will save a lot of nervos.
You should commission someone to write the software stack. Hopefully something that you can use across multiple robot projects.
"What is my purpose?"
"You collect trash"
Is there a good tts and stt embedded solution? Cloud solution are nice but involves connectivity...
Binbot "What is my purpose?"
James "You collect the trash, your sole purpose is to come when called, collect the trash, then return to your corner until there is more trash."
Binbot "Oh."
Just an idea: maybe use one of those cheap RFID receivers, code in about 10 cards and glue them down to the floor (with silver tape ofc ;) Mount the receiver on the bottom of your robot facing down. Then teach the robot their relative positions in encoder counts and bam - you have el'cheapo marker system just like in a modern warehouse:)) Not flawless but it'd be fun to see it in action :)
Use optical illusion’s where the image can only be seen at one specific angle and position
Well lately I've been feeling pretty smart with my current project of a radio controlled snowblower... but looking at this makes me feel like a kid playing with Legos!!!
I feel like you should be able to have an app that makes the robot come to you and open, or go to the curb and wait for trash pickup.
Could you feasibly use wake words with this system? You could say "Bin Bot, come to the table", and it'll come to that location, instead of having to remember location numbers. And then "Thank you, Bin Bot!" to send it back home :D
I was about to comment that. He could’ve used any phrase in the world and he chose location 1 and location 2. Made me laugh
of course, you can integrate with Pycroft Mycroft, where you can easily create a new skill. Digikey has made a video about with Shawn. Or you could integrate GLPT-3 with it or its open source version GLPT-JT (or even only Whisper or Whyper.cpp from GLPT team).
How to make a beer assistant, without making a beer assistant! 😂
next
If you slow down to 0.75 at the 3d printing part, it sounds like a soundtrack to some interesting movies
Muito bom !
Long time viewer! I just want to know what motor/gearbox/encoder setup you have going on! Any chance on a link where to purchase?
They were from Gimson Robotics a while ago, but I had custom versions made with encoders on.
Hope all is well @James? Missed your post today
I'm doing every two weeks at the moment, so the next video is next Tuesday.
Somewhere between Colin Furze, and "Stuff I Made"
Video idea, I want a robot that takes down trash can for me and brings it back up
I'd recommend using QR-Codes on the ceiling that are only visible in IR light (or just normal QR-Codes). There are great libraries for getting their position relative to the camera (e.g. BoofCV for Java, I'm sure OpenCV can also do this out of the box). Place enough of them (always one visible to the bot at all times) and the robot will be able to build a map based on a path you have to teach it once (e.g. with a remote control).
Alternatively, you could also just make a line follower using one camera pointed down and tape for the paths (maybe on the ceiling works as well). The camera would allow intersections to be marked with special Imagery / QR-Codes. The advantage of this is to have the robot path visible in your home so you don't place something on it, since this bot has no way to avoid objects. It also allows easy (re-)localization once the bot finds a line (follow it until you see a special QR / image, then you know where you are).
Not QR codes. You want fiducial markers so you can easily get distance and angle information out of them. QR codes don't do that and they're much slower to recognize. OpenCV supports aruco markers which work very well for localization purposes.
Love the nod to shitty infomercials with the intro. Also, my favorite James is the one that stares the camera down while he moves robots manually.
I look forward to seeing this cleaning up EMFCamp 2024, autonomously.
I may have made some other things by then!
There was a robot in the movie 'Ice Pirates' that was just a rolling garbage can like this that would just come up and want trash from people. I think that getting a robot that you could call and would "eat" the trash and then go back home would actually be useful and well within what current robotics technology is at.
I think you sort missed an opportunity here. The annoying part of kitchen bins is not the fixed location. That's actually a good thing because throwing rubbish in a bin is basically a habit / muscle memory. Moving a bin around would disrupt that. The annoying thing is emptying the bastards when they are full. Can you make a bit bot that seals the bag and takes it out and dumps it in the trash? People would pay good money for that.
I love the vid
Do you think you need to put the the camera higher up, so the bin doesn't go blind when the lid is up?
Where do you mount the chainsaw?
I wonder if spi encoder from optical mouse woul not fix the problem with slip during dead reckoning...
It would still drift over time