go_away

Author Topic: My MiniEric robot  (Read 8095 times)

0 Members and 1 Guest are viewing this topic.

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
My MiniEric robot
« on: February 22, 2009, 10:25:37 PM »
As I have written in other posts (that I am too lazy right now to find...), I am working on a MiniEric robot, a smaller version of my "Eric the Butler" robot. I want to build it from some blue plastic sheet that I have (plexyglass, or something like that), but first I need to have an idea how it will look like. So, for the first time, I have a 3D model done in Stechup. It is not perfect yet, I am still learning Sketchup, but I think it's close to what I have in mind. I intend to build a prototype version out of thin plywood as soon as the rest of the ordered parts arrive in the mail. Here is some description:
Quote
/* Mini Eric robot - using all available pins on Roboduino!
   - uses 2 modified servos for driving (960ms/360deg = 62.5 RPM)
   - uses 2 micro servos for a pan/tilt head
   - uses 2 micro servos for arms (120ms/60deg rotation)
   - uses 2 mini servos for shoulders (90ms/60deg rotation)
   - uses 1 standard servo for waist bend (160ms/60deg rotation)
   - uses one Ping))) ultrasonic sensor mounted on the head
   - uses AVRcam for blob detection, mounted on the head
   - uses one GP2D120 sensor mounted on a pan micro servo
   - uses 2 push buttons on arms
   - uses a battery monitor sensor
   - uses a piezo speaker to play melodies
   - uses a software serial port to talk to a serial LCD
*/
Want to see it? here are some screen shots from Sketchup:
« Last Edit: March 26, 2009, 11:37:02 AM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline HyperNerd

  • Robot Overlord
  • ****
  • Posts: 139
  • Helpful? 5
  • N3rd1n80r
Re: My MiniEric robot
« Reply #1 on: February 23, 2009, 01:30:19 AM »
Nice one!

I'm thinking about making a butler robot soon, and I thought about all the basic stuff like indoor NorthStar 'GPS', camera, arm, but then I thought about adding WiFi, so the robot can be called from any PC in my house. Then the robot knows what drink to get you, and thanks to the NorthStar system, can bring that drink right back to where you are sitting.

How about adding something like that to this robot :)?

 -HyperNerd
There are 10 types of people in the world - those who understand binary, and those who don't.

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,658
  • Helpful? 169
    • Society of Robots
Re: My MiniEric robot
« Reply #2 on: February 25, 2009, 10:58:14 AM »
Since you are still in prototype stage, I'll make my comments short. You probably already thought of these things, but just in case . . .

- its a bit top heavy, so might wobble some
- don't forget to include screw holes in your CAD
- the sonar is blocking the camera view

Offline superchiku

  • Supreme Robot
  • *****
  • Posts: 953
  • Helpful? 5
  • cooll
Re: My MiniEric robot
« Reply #3 on: February 25, 2009, 11:41:28 AM »
gud 1...me too working on an image processing robot but not as  complex as urs...need ur help regarding roborealm serial comm with mcu ..
JAYDEEP ...

IT AND ROBOTICS ENGINEER

"IN THE END IT DOESNT EVEN MATTER"

Offline chitniss

  • Jr. Member
  • **
  • Posts: 12
  • Helpful? 0
Re: My MiniEric robot
« Reply #4 on: February 25, 2009, 07:10:58 PM »
How about the ability for the arms to slide up and down the body of the robot. That way, cargo can be moved to a lower center of gravity to give speed and stability while moving.

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #5 on: February 25, 2009, 09:08:37 PM »
First of all, thanks everybody for advice and comments!

Nice one!
I'm thinking about making a butler robot soon, and I thought about all the basic stuff like indoor NorthStar 'GPS', camera, arm, but then I thought about adding WiFi, so the robot can be called from any PC in my house. Then the robot knows what drink to get you, and thanks to the NorthStar system, can bring that drink right back to where you are sitting.
How about adding something like that to this robot :)?

For this robot I don't plan on installing such things. I'll try to use the BlueSmirf with it to make it computer controlled, but that is an add-on. Perhaps with the larger butler robot that will have wireless... but that's way in the future...

Since you are still in prototype stage, I'll make my comments short. You probably already thought of these things, but just in case . . .

- its a bit top heavy, so might wobble some
- don't forget to include screw holes in your CAD
- the sonar is blocking the camera view

For being heavy at the top I have thought at 2 things: make the base a little larger and reduce the height of the bot. I'll see what needs to be done when I'll have the first version put together. As for screw holes, it's a pain to do it, probably easier in AutoCad... And the sonar is not blocking the camera even if it looks that way. I have a AVRcam and the cad shows a CMUcam, they may be different sizes...

gud 1...me too working on an image processing robot but not as  complex as urs...need ur help regarding roborealm serial comm with mcu ..

I have no experience working with Roborealm and in the near future I don't think I'll have the time to start playing with it. Sorry...

How about the ability for the arms to slide up and down the body of the robot. That way, cargo can be moved to a lower center of gravity to give speed and stability while moving.

That is a good idea, I have thought about it for the larger robot. Basically, I want the big robot to be able to get something from the floor and put it on the regular dining table. Instead of having the robot bend down, just lower the arms platform... Perhaps a screw drive like for the CNC router would make it easy.

Thanks again and keep it comming!
Check out the uBotino robot controller!

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,658
  • Helpful? 169
    • Society of Robots
Re: My MiniEric robot
« Reply #6 on: February 26, 2009, 05:13:49 AM »
Quote
I have no experience working with Roborealm and in the near future I don't think I'll have the time to start playing with it.
Since you already own an Axon, it takes seconds to get it to work with RoboRealm. That being said, you'd need a PC to use RoboRealm, and it appears you are entirely mcu based, so no RoboRealm anyway . . .

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #7 on: February 26, 2009, 07:00:22 AM »
Quote
I have no experience working with Roborealm and in the near future I don't think I'll have the time to start playing with it.
Since you already own an Axon, it takes seconds to get it to work with RoboRealm. That being said, you'd need a PC to use RoboRealm, and it appears you are entirely mcu based, so no RoboRealm anyway . . .

Well, Roborealm will work with a wireless serial chip like the FireFly and a wireless webcam. So, when I'll have sufficient funds to get those parts, I may look into it. Also, swapping Roboduino with the Axon is a no-brainer :) . More and more code and interfaces with the PC are made for Axon, I was waiting to use it for something big, where all it's capabilities are worth using!

Come to think about it, our "Brain On Board" designs may shift towards "Wireless PC Controlled". Someone will soon come up with a robot base product that has a standard multi-level platform, 2 motors (with encoders), wheels (and caster), motor driver, battery, a wireless webcam, an Axon, a wireless serial chip. Probably around $400-500. If I had the time, I'd do it myself, but I am also not in the States so shipment would became a problem. Oh well...
Check out the uBotino robot controller!

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #8 on: March 04, 2009, 06:59:06 AM »
Ok, over the weekend I have worked on the robot. I got a 1/4' thick poplar board, 6" wide by 24" long from Home Depot and I used a miter saw to cut the pieces, then a coping saw to cut the rectangular holes for the servos. I pre-drilled the screw holes for the servos and for mounting the pieces together and started to put them together. Then I mounted the caster and Roboduino board.

I still need to make servo brackets, sensor mounts, a socket for the battery pack, mount a power switch. Oh, and the wheels I got are too flimsy, so I will probably use the same wheels as on my Balancing robot. Here are some early pictures:
Check out the uBotino robot controller!

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #9 on: March 04, 2009, 07:01:20 AM »
And a few more pictures:
Check out the uBotino robot controller!

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #10 on: March 10, 2009, 04:33:38 PM »
Over the last weekend I have completed the servo brackets but damaged 2 servos.

One of them because I was in a hurry to go somewhere and wanted to get it done. I didn't take off the bracket to enlarge the central hole for the servo set screw, instead I tryed to do it on the robot. Of course, the drill bit got stuck exiting the hole and twisted in my hand, forcing the servo over it's stop point, stripping a tooth from a gear inside. The servo still rotates, but aI need to replace the gears.

Then, trying to figure the center for each servo and the extremes, I have noticed that they are not linear. They go from 0 to 180 but the middle is 80 instead of 90. So, the shoulder servos rotate in oposite directions and so do the arm servos. In order to make them rotate the same amount each step I needed some sort of equation which is hard to determine. So I had this great idea. What if I reverse the motor leads for all the servos on the right side? Easy to do, that will make the servos for both sides to respond the same for the same signal. But, after I did it, the shoulder servo started to go eratically... After a while, trying to figure it out, it got to me that I also had to reverse the wires of the pot inside each servo! That did the trick with the shoulder servo, but the arm servo did not work anymore... I measured the signal, power, resistance, but the conclusion was I fryed the chip. Oh well, at least they are cheap servos, I'll just order new ones...

Other than that, I found out that I need to replace some parts because I am not happy with the way the torso bends down from the waist. The torso is too short and the waist rotation point is too high. Also when I'll lower the rotation point, the torso will hit the scanning sharp sensor, so I need to mount it below the chassis board. It will be able to detect any low object on the floor, especially the objects the robot needs to pick up. I'll replace the sensor with a short distance one that I allready have.

I found out that the Roboduino board needs a big capacitor just like Axon has, because it tends to reset at power up or when all servos move at once. As a quick fix I am going to attach a capacitor to a 2 pin female heather and plug it on Roboduino on the unregulated power pins. Hopefully it will solve the problem.

I wish I had the chest plate taller so I can mount the LCD above the shoulder servos, so I have it like a graphic interface before I'll start playing with text to speach chips.

I need to figure out a way to store and play servo movements, like waving an arm saying Hello!, grabbing an object from the floo, doing some dance moves and so on. After I'll have the basic moves I'll start playing with the AVRcam, but it will take a while until I'll get there.

So here are some pictures of the robot:

Check out the uBotino robot controller!

Offline SciTech02

  • Robot Overlord
  • ****
  • Posts: 136
  • Helpful? 3
  • Life's but a green duck with soy sauce. -MegaHAL
Re: My MiniEric robot
« Reply #11 on: March 12, 2009, 08:25:45 AM »
The robot looks great; it looks like a miniature Johnny 5 robot (I always liked humanoid robots with wheels/tracks instead of legs; they're easier to work with and they look cool).  There are two things you can do later on if you want to increase carrying capacity: add some pressure sensors to its "arms", so it can grip objects better, and get a more powerful servo for the torso, for better lifting capacity.

Another thing that would be cool to see it do is push butons; its arms look like they are the right size to push keyboard keys (imagine a robot that could type its own programs/scripts)...
Check out the Evolution Robotics, ER1 robot, and ERSP Resource Page: http://www.societyofrobots.com/member_tutorials/node/336

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #12 on: March 12, 2009, 06:25:47 PM »
Thanks SciTech!

I have made the first move sequence using a subroutine. I am thinking of ways to make a generic  servo_move function that takes servo positions from an array or from eeprom for any possible move. This move is triggered by an object close enough to the Ping))) sensor.

[youtube]e1OrkJcNIhQ[/youtube]
« Last Edit: March 12, 2009, 06:27:12 PM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline Admin

  • Administrator
  • Supreme Robot
  • *****
  • Posts: 11,658
  • Helpful? 169
    • Society of Robots
Re: My MiniEric robot
« Reply #13 on: March 26, 2009, 05:52:53 AM »
Ro-Bot-X, your design looks professional. Good job! Is this going to be your ERP, meaning it'll continually be updated with new ideas as you get them?

Thought of using a camera instead of sonar?

Keep us updated, I want to see more!

Offline dannytemmerman

  • Full Member
  • ***
  • Posts: 48
  • Helpful? 0
Re: My MiniEric robot
« Reply #14 on: March 26, 2009, 10:59:12 AM »
nice butler robot!
Does it uses a map?


Danny

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #15 on: March 26, 2009, 11:32:57 AM »
Thanks for your comments guys!

The robot will use an AVRcam that I allready have. Right now I am working on the programming to make the basic functions that will be triggered by the behaviour based A.I. Hopefully I can fit it all in ATmega168. If not, there is mega368 for more flash.

This robot was thought to maximise the potential of the Roboduino board. With an Axon, it all comes easier, with more and stronger servos, but that would not be so hard for people to do if they follow my example.

Eventually, the robot will be able to follow a map, but I need to built the encoders first and add the compass sensor. Because I am running out of pins, all extra sensors will be on I2C interface.

I have a tutorial in the works for using a universal IR remote to control the robot and to "teach" it new moves that will be stored in the EEPROM. It's a slow progress, but it's going to be completed soon.

When the robot will be completed, I will write a complete tutorial, divided in several parts to cover all aspects of building and programming it. It becomes the most complex build so far, so I'm proud of it.
Check out the uBotino robot controller!

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #16 on: March 29, 2009, 12:39:36 PM »
New video demonstrating a melody play and object pick-up and release. Enjoy!

[youtube]XwYdwWw1axc[/youtube]
Check out the uBotino robot controller!

Offline offy

  • Supreme Robot
  • *****
  • Posts: 340
  • Helpful? 1
Re: My MiniEric robot
« Reply #17 on: March 29, 2009, 12:55:31 PM »
Nice, how does it know when your hand is under it. What sensor picks up that?

Also if it is holding something, will it pick up the new object?

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #18 on: March 29, 2009, 07:48:20 PM »
Nice, how does it know when your hand is under it. What sensor picks up that?

Well, the Ping sensor detects my hand really close and it will release the object.

Quote
Also if it is holding something, will it pick up the new object?

No, there is a flag that is set when an object is picked up and reset when the object it is eighter released or put down. The object is put down after it is transported to the destination, something the robot is not programmed to do yet.

Right now I have the code done for IR remote control and I'm almost complete with IR remote "teaching" new moves. I'll post a video when it's done and a make a tutorial on how to do it.
Check out the uBotino robot controller!

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #19 on: April 01, 2009, 06:10:22 AM »
I have finally completed the remote control program. Wasn't easy, but I managed to finish it. I still have to clear it up a bit to post it and write a tutorial, probably over the next days (better say nights...). The program allows me to remote control the robot do drive around, pick up objects, bring them to me and release them. Also allows me to play some prerecorded moves and a song. This is basic. The interesting part is to teach the robot new moves, selecting servos, reposition them, record the position and so on until the move is complete, then record the move and play the move at any latter time. It can be extended to teach the robot new songs and combine a move with a song, to create a dance move. Takes a lot of time to actually teach the robot to do that, but you can do it any time, any place, with no computer around.

So here is a demo video recorded for you, please excuse my babbling, I was sooo tired...

[youtube]SQZErrIXP7Q[/youtube]
« Last Edit: April 01, 2009, 06:11:41 AM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline want2learn

  • Robot Overlord
  • ****
  • Posts: 189
  • Helpful? 4
Re: My MiniEric robot
« Reply #20 on: April 01, 2009, 08:21:48 AM »
Love the programming with a remote!

Can it be used on more than one servo at a time? say for example, lift both arms simultaneously?
The question that drives me hazy:

Am I, or the others crazy?

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #21 on: April 01, 2009, 06:51:58 PM »
Thanks!

Of course it can move simultaniously as many servos as needed. If you follow the steps, you'll see that after a servo I was issueing a step delay. The step delay is actually where the servos are put in motion for about 100 ms before a new position is set. All servo positions are refreshed during the step delay, but only the ones that have a different new position move to reach that position. So, if you set 2, 3 or more servos to new positions, when a step delay is issued, all servos will move simultaneously to get to that position. Of course, a servo that moves a little will reach that position sooner than the others. And sometimes I need to issue 2 or 3 step delays to make sure the servo has enough time to reach the new position before setting a new position, because some servos are faster than others - and I use for this robot 3 different servos.

By the way, all new servo positions and move indexes are stored in the EEPROM.
Check out the uBotino robot controller!

Offline Private Reid

  • Robot Overlord
  • ****
  • Posts: 276
  • Helpful? 0
  • I love apples ... Yum !!!
Re: My MiniEric robot
« Reply #22 on: April 24, 2009, 09:07:29 PM »
I am always amazed with the robots you build !

Well done !  Really cool.
This Post was proudly donated by Sam.

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #23 on: April 25, 2009, 05:16:11 AM »
Thanks!

After I finish moveing to the new apartment I'll resume work on this robot to make it autonomous. Then the upgrades. When it will be finished, I'll start working on other projects.
Check out the uBotino robot controller!

Offline dellagd

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 731
  • Helpful? 5
  • Come to the dark side... We have cookies!
Re: My MiniEric robot
« Reply #24 on: April 27, 2009, 02:42:26 PM »
question, how did u get it to use a TV remote?
Innovation is a product of Failure, which leads to Success.

If I helped, +1 helpful pls

I Won!
3rd place! I'm taking $100

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #25 on: April 27, 2009, 06:44:17 PM »
I used a Panasonic PNA4602 sensor (at 38kHz) connected to an analog pin set up as digital pin on Roboduino. Ugh... this will confuse you... Ok, this sensor works like this: it holds the output pin High until it receives modulated IR signal, then it will pull Low the output pin.

In the software, there is a function that looks for a pulsein longer than 2200us, that represents the stat bit on a command sent from the remote. After receiving a start bit, it will store the next 11 bits into an array, than it will translate the pulse lenghts in digits like 0 and 1 and add them up into an integer. To find out what number coresponds to what button on the remote, I just printed out the integer to the screen and wrote it down, they I made defines for each button name with the value of the integer. Then it gets easy, just listen for IR commands, go through a switch-case to run a different function for each button.

This will all be described in more detail in the tutorial I'm working on (will be finished after my relocation).
Check out the uBotino robot controller!

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #26 on: October 27, 2009, 10:52:50 PM »
Update:

I have redesigned the head of the robot, added a Nokia color LCD (crappy colors for now, can't set it up properly...). Soon I will change the boards and split everything in 4 or 5 modules. More on this latter.

So I finally have a working scan and display code, using the Ping sensor on a servo and I display the map and measured distance to each point on the Nokia LCD. After I got it working slowly, I removed all the delays and to my surprise it scans madly fast! Then I made it scan both ways with a second delay between direction change so I get a chance to see the map.

So, here is the video I took (no editing):

[youtube]uDAzn4w4WUU[/youtube]

And attached is the code.
« Last Edit: November 12, 2009, 11:45:39 PM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline Ro-Bot-XTopic starter

  • Contest Winner
  • Supreme Robot
  • ****
  • Posts: 1,431
  • Helpful? 25
  • Store: RoBotXDesigns.ca
Re: My MiniEric robot
« Reply #27 on: November 27, 2009, 10:54:19 AM »
Finally I managed to make Webbot's Speech sythesizer code work in Arduino and added Speech to the Voice Command module on my MiniEric robot. I did not tweak the speech code yet, some improvements will follow, probably over this weekend. I am waiting for a speaker and also a new color LCD to go forward with the mapping code.

So here is the video, let me know what you think:
[youtube]HS5UHrPuLEk[/youtube]
« Last Edit: January 06, 2010, 11:02:36 PM by Ro-Bot-X »
Check out the uBotino robot controller!

Offline Joker94

  • Supreme Robot
  • *****
  • Posts: 1,119
  • Helpful? 26
Re: My MiniEric robot
« Reply #28 on: November 27, 2009, 06:03:09 PM »
looks like it is going great

Offline WhomBom

  • Full Member
  • ***
  • Posts: 64
  • Helpful? 0
Re: My MiniEric robot
« Reply #29 on: November 30, 2009, 06:13:26 PM »
greay bot, i love it!

 


Get Your Ad Here

data_list