robotic arm that opens door on its own, what kind of sensors?

Hey!
I have a ambitious plan to make a drink fetching robot with quite a lot of features.
Plan is to make robot that has a robotic arm and it drives from my command to fridge, opens the fridge door, locates drink i asked for, picks it up and then returns to me.

Question is what kind of sensors I should use for locating fridge handle and pulling it open AND after opening, how to make it find the drink holder. I was thinking to make a bar code reader on arm so it could read the barcode from can and if its right, picks it up and closes door and comes to me. If its wrong can, it sends IR or something to fridge can holder to spin next drink.

I hope you people understand what I mean :slight_smile: my english is not best.

Am i too ambitious? this is my first project after all. I have arduino mega at2560 board as microcontroller and loads of shields ready.

  1. what sensor I should/could use to locate the handle easily?

  2. when door is open should it be like IR that sends signal to robotic arm IR sensor, that it knows door is open? any ideas are welcome :slight_smile:

  3. how to locate the barcode on can? or is this impossible to make?

  4. how it locates fridge. maybe IR sensor and IR beacon on fridge? any other suggestions? I would like to avoid the line following since lines on floor are not really ideal.

can one mega controller handle that lot even? driving, moving arm, locating, barcode reading etc?

Im sorry Im so newbie on this. I have studied as much as I can but im now trying to order the sensors and I could really use help.

Thank you in advance :slight_smile:

If you have plenty of experience with computer programming on things other than Arduinos this may be a practical project.

If you are completely new to programming then you should have a burger for your first meal, not an elephant.

I suspect a lot of what you want to do will need to be designed by you. You can't just buy a sensor to detect doors and/or handles.

If you really are serious about the project start by writing out all the steps that must be taken to get the robot from you to the fridge door and to raise its arm to touch the handle.

By the way, keep a supply of drinks by your chair or you will die of thirst before the project is complete. :slight_smile:

...R

Wardemon:
Hey!
I have a ambitious plan to make a drink fetching robot with quite a lot of features.
Plan is to make robot that has a robotic arm and it drives from my command to fridge, opens the fridge door, locates drink i asked for, picks it up and then returns to me.

Question is what kind of sensors I should use for locating fridge handle and pulling it open AND after opening, how to make it find the drink holder. I was thinking to make a bar code reader on arm so it could read the barcode from can and if its right, picks it up and closes door and comes to me. If its wrong can, it sends IR or something to fridge can holder to spin next drink.

I hope you people understand what I mean :slight_smile: my english is not best.

Am i too ambitious? this is my first project after all.

As a "first project" I would say that this may be something well beyond your level; after all, researchers have been trying to do something like this (in one form or another) for the past 40 or more years, with varying levels of success. For instance, here's one from 1964, called the "Hopkins Beast", designed to seek out a wall plug and plug itself in for recharging (otherwise, it wandered the halls of the university):

http://www.frc.ri.cmu.edu/~hpm/book98/fig.ch2/p019.html

There are many more examples historically and more recent exploring the idea of "find something, then manipulate it" for robotics. Books have been written on the subject, careers have been made on the subject. Researchers aren't quite there yet.

It might be better to start with a smaller goal: Build a small robot first, see if you can command it to go to a part of a room in your house (or even a made-up "maze"), and do so reliably - even if you change the layout of the obstacles. In theory, you could start out with a small rover bot with an on-board ultrasonic sensor (perhaps mounted on a servo to pan it).

Even something as seemingly simple as the above is actually much more complex than you think...

For your more ambitious project, you do have the right idea to use some kind of drink holder that can move the can into position for the robot; what I don't understand is why you don't take that to the next level, and make the refrigerator more automated - let it open the door itself on command from the robot. Indeed, you could make a custom refrigerator just for drinks for the robot to fetch (rather than retrofitting a current refrigerator). The more you make the task easier for the robot, the easier it becomes to accomplish that task (and the more difficult it becomes to make the robot do something else, like get you a sandwich from a fridge, for instance).

Wardemon:
I have arduino mega at2560 board as microcontroller and loads of shields ready.

That's probably a good starting point for the "simpler" robot I mentioned you should try first, but for something more complex, your big issue will be memory. Even so, a 2560 can have the SRAM expanded (unlike other Arduino's). I'm not sure if it would ultimately help - honestly, you want a real computer behind the task (but this could also be done wirelessly - the robot doesn't have to carry its brain around).

Wardemon:

  1. what sensor I should/could use to locate the handle easily?

This would probably be the most difficult task of the entire project, unless you could somehow precisely position the robot (good luck with that) in the same spot so it knew where the handle was in relation to itself; which is why I mentioned having the fridge open the door itself.

Wardemon:
2) when door is open should it be like IR that sends signal to robotic arm IR sensor, that it knows door is open? any ideas are welcome :slight_smile:

Why IR? Why not just have the fridge communicate via wifi, or over a network or something like that? Again, if the fridge can open the door itself, this becomes easier to implement.

Wardemon:
3) how to locate the barcode on can? or is this impossible to make?

Well - if you use a can holder like you said earlier, you know where the can is, and provided you can turn the can so that the barcode can be easily read by the robot (and the barcode is in the same place - this might be more difficult, especially if you decide to use the existing barcode on the can) - you can read it fairly easy with an IR reflective sensor.

Wardemon:
4) how it locates fridge. maybe IR sensor and IR beacon on fridge? any other suggestions? I would like to avoid the line following since lines on floor are not really ideal.

Well - a beacon is one thing, but the bigger question is how does the robot know to get from one room to another? Beacons everywhere? Barcodes on the doorways? What if someone leaves a shoe in the robot's path? Or a chair is moved? Or the dog walks by? Or someone is standing in front of the fridge, rummaging for the last of the mustard?

Also - lines on the floor are one solution - but they don't necessarily have to be visible lines. You could run a signal wire under the floor, or you could paint the line with invisible (but UV sensistive) dye or paint (a UV light would show it - and a sensor sensitive to UV could pick it up). Or, you could have the lines on the ceiling (again - invisible or not) and have a camera or sensor face upward looking for the line. More ambitious would be to have the robot map the rooms as it travels through them, and find a path from one spot to another (this is a simplified explanation of something called SLAM - Simultaneous Localization And Mapping).

Wardemon:
can one mega controller handle that lot even? driving, moving arm, locating, barcode reading etc?

If you made everything really specific to the task, and simplified everything - yes, it might be possible (especially if you added the extra SRAM to the Mega 2560). Of course to do so would also require some intelligence in the fridge (which you are going to need anyhow for the can dispenser). That lower level of intelligence could probably come in the form of a standard Arduino Uno or similar (just something that the robot could command to open the fridge, and it could control the fridge door and the can dispenser device).

Wardemon:
Im sorry Im so newbie on this. I have studied as much as I can but im now trying to order the sensors and I could really use help.

Thank you in advance :slight_smile:

Again - I think this is well out of your reach, right now. I would recommend you give the whole system a LOT more thought, and then focus on the smaller sub-systems. Heck - just build and get working the dispenser - something you can send a simple command (via serial) and have it rotate the can into position. Then something else to open and close the fridge door via serial, and put that on the same device, and stick it in the fridge. Once you can do that, then move on to getting a robot to navigate from one room to another (and to the kitchen with the fridge). Then work on the arm. And so forth.

As already noted, be prepared to spend a long time on this project...

Thank you both for great ideas and pointers. Really appreciate it.
I basically start now by making the robot arm first since i have stuff for it already, then I will make movement etc.
I got few nice ideas how to locate or how the robot arm knows when is has found the handle of fridge, a reed relay and magnets.

When it finds that, I could code the servos to do certain things to open fridge. Complicated part after that is to move the arm from handle to can and pick it up and place it some bracket, then go back handle and close it.
Im reconsidering this seriously and maybe do the automatically opening door

I dropped the selection of cans for now, I try first make that it just picks it up.
Though I could make it the way that robot tells fridge what it wants and fridge part does the selecting job.

forgot to mention that I live in small apartment, i room basically so the robot does not have lot place to be :slight_smile:
so IR sensor and poles could work.
Thank you about that UV paint idea, really considering that too.
I ordered R3 uno for fridge IR controlling already but I could use it for lot more too.

Basically I could use linear or similiar motor to open fridge door when it gets the info that robot is coming.

but thank you again, you guys gave me lots of ideas and I am willing to spend lot time with this project :slight_smile:

you basically answered all my questions and some question too that I had not thought about.

Fully autonomous robot I know I cant build cus if I could, I bet someone else would have done it already :slight_smile:

As specified, this is a phenomenally difficult thing to do. One of my geekiest friends would have loved such a device; in the end he had to settle for teaching his daughter a game he called "Get daddy a beer". Hardware required: a piece of rope to attach to the handle on the fridge because she couldn't reach it.

You will need strong programming, electronic and mechanical skills to have any chance of making progress on this. As Crosh suggests, try solving a subset of the problem - smaller the better. I'd suggest getting one of those plastic soda can holders that live in the fridge, hold ten or so cans and gravity feed a new one into position when you take one. Fill it, put it on the floor and stick an IR beacon on it. See if you can build a robot to go over there and grab a can.

Lessons learned solving that will give you a much better idea just what a monster your proposed project is.

Edit:
It occurs to me though that perhaps more of the smarts should be in the fridge. A vending machine design would spit out your chosen beverage to a fixed location, then the robot's job is rather less complex.