Jump to content

Recommended Posts

Posted

I came up with the idea to build a robot that can get me a beer or soda from the fridge while I'm watching Die Hard... I'm building it completely from Lego Technic, mostly studded. I use my own designed electronics to control the motors, pneumatic valves and read out the sensors. It saves me hundreds of Euro's by not using the NXT platform ;) Next to that: the NXT platform is not as flexible as other programming platforms.

I have been busy with it for a few months now and there were some problems to be solved so I've divided "the project" in smaller goals:

1. Get the rover over a bump in the living room (success!)

There's a nasty bump between the kitchen and the living room. Since the robot is going to be well over 10kg, I had to find a way to get it over the bump. The solution was to use caterpillar tracks (the robot needs to be able to turn around its own axle) with on top of that studless beams for extra grip. I've put some filt on top of the beams so my wooden floor doesn't get damaged.

Video 1:

2. Make the robot move sideward to be able to position itself (success!)

Not being sure about the precision of the tracks, I need the robot to be able to move sideward for positioning itself in front of the fridge (to be able to grap the handle). I designed a pneumatic system with 8 pistons that push down 8 wheels, that lift up the robot just a bit. That way the robot can move sideward, which is impossible with caterpillar tracks. As you will see in video 3, the accuracy of the distance sensors is good enough that the robot doesn't need to move sideward. If the system isn't needed when the robot is completed, I could remove it.

Video 2:

3. Indoor navigation: make the robot find its way to the frigde, couch and back (success!)

Using 4 ultrasonic distance sensors and a digital compass, I make the robot navigate around the house. It works just perfect!

Video 3:

4. Think of a way to make the robot open the fridge

I'm working on this one now. This one is by far the hardest to complete. I have already a pneumatic system that can grab the handle and open the fridge a few centimeters by setteling itself against the fridge. As you know: sometimes the fridge door is a bit stuck and you need some force to open it. Grabbing the handle and just drive backward doesn't work because of the height of the robot.

Right now I need to find a way to open the fridge door further and move the robot to the inside side of the door. This is tricky and I haven't figured it out yet. If you have any suggestions: let me know!

Further things to do:

5. Make the robot able to grab a can of beer/soda

6. Make the robot do the whole thing: getting out of hibernation, getting a beer, bring it to the couch and go back to the hibernation spot

7. Design an Android app that communicates with the robot through Bluetooth so I can order a beer from the couch

Posted

I like it very much :) we should develop a special shield from Arduino to LEGO NXT / PF some day. The educational world will also be eager to adopt that.

Sincerely,

Johan

Posted

You all get a beer when it's finished ;)

There is an Arduino shield for NXT motors available at mindsensors:

http://www.mindsensors.com/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=185

I've ordered one and it works really great. You can connect up to 4 NXT motors and a bunch of NXT sensors (I doubt about the use of the NXT sensors, as one has already decided to go for the Arduino platform but okay...).

Posted (edited)

To open the fridge, perhaps you can make some mechanism that pushes it self in between the fridge and the door, and sort of "break" it open.

Or you could make handle that locks in place when closed so the robot won't slip the door handle when opening, and then you should also have some mechanism that will keep the tower on the robot from falling over in process, like, an arm that is holding back the fridge of some sort.

Cool project, but the robot is kinda noisy. The XL motors make a lot of noise in general. You could swap them out with some gear-reduced buggy motors instead. They have a greater torque and more power, even when geared down, plus, they're not as noisy.

Edited by Carsten Svendsen
Posted

I've read about a project similar to this in Robot magazine. The guy that made that robot simply made a lever to open the fridge. I think that this robot should do something a little bit different, and that is start by the side of the fridge, and pull the door out by moving sideways. Also, while you're at it, you should make the robot pour the beer too. :tongue:

Posted

I've read about a project similar to this in Robot magazine. The guy that made that robot simply made a lever to open the fridge. I think that this robot should do something a little bit different, and that is start by the side of the fridge, and pull the door out by moving sideways. Also, while you're at it, you should make the robot pour the beer too. :tongue:

That should be quite easy, but you could also include a tracking system for it, so it doesn't pour all over! You should also add a function so that you can choose what brand, kind, etc... you want.

Posted

At first I need the robot to approach from the front to open it a little bit. Since there's a considerable amount of force needed to open the door the first centimeter, I cannot do it from the side. After that, I can leave the fridge door open (when I let it go when it's open for about 10 centimeters, it closes not completely again but leaves a gap of a few centimeters) and drive to the side to put in some kind of long pin and then drive sideward to open it further.

The robot is indeed noisy but I want it to be all Lego so I don't want to change the motors to different ones :)

The grabbing arm will have a colour sensor. By scanning the colour of the can/label you can have different choices like beer (i.e. green cans like Heineken), coke (coca cola red/Pepsi blue) and so on...

Posted

you need something to poke into the rubber seal around the fridge door, to crack the pressure seal.. then the door should be able to open much easier, with less force required

(I open our fridge/freezer like this all the time, with my finger!)

Posted

At first I need the robot to approach from the front to open it a little bit. Since there's a considerable amount of force needed to open the door the first centimeter, I cannot do it from the side. After that, I can leave the fridge door open (when I let it go when it's open for about 10 centimeters, it closes not completely again but leaves a gap of a few centimeters) and drive to the side to put in some kind of long pin and then drive sideward to open it further.

It seems like fridge doors are easier to push open than to pull open.

Perhaps separate the door openening functionality from the main robot. Have a fridge-mounted robot that is braced against the fridge and pushes the door, either from inside the fridge, or braced against the wall behind the fridge

Posted

The rubber-poking idea is indeed a good one! But the movement is a bit difficult: you need to poke and pull at the same time in a reach of just centimeters. I have thought about a second device to push it open from the inside, but the whole idea is to make a robot that can do everything by itself.

I'm now building the grabbing arm that actually picks the a can from the fridge. I think I can use the "fingers" to open the fridge further from the side...

Posted

I probably figured out a way how to open the fridge:

rujv0Xr.jpg

The robot drives up to the fridge until the supports (green arrows) are against the fridge. Then the lower hand is pushed against the fridge handle, closed and pulled back by three pneumatic cylinders (red arrow). That way the robot can force itself against the fridge while opening it. This part already works.

The next part is that the robot drives back 10cm (the fridge opens) and than opens the hand that holds the door handle. The fridge door remains open for a few centimeters. The robot drives back a bit, makes a turn and inserts the right fingers of the upper hand (blue arrow) between the fridge and the fridge door. After that the whole upper arm moves to the side and the robot moves slowly forward, opening the fridge.

After that the robot needs to make a turn so the upper hand is facing the inside of the fridge and pick a beer out of it. In theory and in my mind it should work... Lot's of building to do :grin:

Posted

Beer and Lego, doesn't get any better really! hehe

No Beer, Lego, pneumatics and Arduino! Sweet.

Great video explaining everything, and amazing robot! Keep up the great work. :thumbup: :thumbup: :thumbup:

I subbed too. :laugh:

Posted

Thanks! I'm now working on getting the NXT motors to work properly. I'm using an Arduino shield for this:

NXShieldDw300.jpg

Works great but since I'm using one Arduino controller dedicated to the NXT motors, I need to make the Arduino's communicate with each other, which makes it a bit ore complex. But I'm getting there!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...