Next large robot

2456722

Comments

  • DiverBobDiverBob Posts: 606
    edited December 2011 Vote Up0Vote Down
    I wrote a couple of quick test programs and here is a video of the testing. This is compilation of 3 separate tests I ran tonight.

    I am totally disappointed with the swing motion. I tried out a couple of other DC motors and didn't have any noticeable improvements. So I'm going to have to fix this earlier than I planned on. Anyone know of any good hi torque, 12v DC motors out there around 120 to 240 rpm?

    Other than the swing motor I'm happy with the other motors. I'll be hooking up the ADC next and run some programs to incorporate that. I'll also be putting in some of the force sensors to let the leg know when it's foot is on the ground and if it hits anything while swinging or kicking.

    Bob
  • graffixgraffix Posts: 373
    edited December 2011 Vote Up0Vote Down
    Wow Bob,nice job. How's the duty cycle of those linear actuators?
  • ercoerco Posts: 18,184
    edited December 2011 Vote Up0Vote Down
    Nice update. Don't give up on those Pittman gear motors, they are extremely well made and come in many gear ratios. I have a case of very high geared ones that can break an arm. Your worm gear is likely the culprit in your current setup; they are notoriously inefficient for power transmission and they wear rapidly, even when bathed in grease (recommended) in a sealed case.
    "When you make a thing, a thing that is new, it is so complicated making it that it is bound to be ugly. But those that make it after you, they don’t have to worry about making it. And they can make it pretty, and so everybody can like it when others make it after you."

    - Pablo Picasso
  • DiverBobDiverBob Posts: 606
    edited December 2011 Vote Up0Vote Down
    I don't know what the duty cycle is for the actuators but I'm not too worried about that in this application. My duty cycle should be fairly low since most of the time walking will be switching quite a bit between different legs so the motors will get plenty of rest!

    The Pittman motors are nice motors, I bought about 10 new from Pittman several years ago and they work pretty well. They have a 120 rpm gearbox but I can stall the motor easily with my hand. I'd almost like to devise a way to use another linear actuator to control the swing motion but they are a bit large and it would require some redesigning to the swing mechanism. I was looking at several sites last night with hi torque gear motors, most of them cost at least a hundred bucks which isn't out of line considering how much the linear actuators run!

    I even found some linear actuators that could move 450 lbs at only $500 apiece! I've even looked at geared servos, the motor price is reasonable but they require additional control electronics which drives up the price considerably. I'd like to stick with brushed DC motors at 12v to be compatible with what I have done so far. Any suggestions are welcome. I'm sure some one else has had a similar problem and came up with a good solution!

    Bob
  • MarkPorterMarkPorter Posts: 9
    edited December 2011 Vote Up0Vote Down
    DiverBob wrote: »
    I don't know what the duty cycle is for the actuators but I'm not too worried about that in this application. My duty cycle should be fairly low since most of the time walking will be switching quite a bit between different legs so the motors will get plenty of rest!

    The Pittman motors are nice motors, I bought about 10 new from Pittman several years ago and they work pretty well. They have a 120 rpm gearbox but I can stall the motor easily with my hand. I'd almost like to devise a way to use another linear actuator to control the swing motion but they are a bit large and it would require some redesigning to the swing mechanism. I was looking at several sites last night with hi torque gear motors, most of them cost at least a hundred bucks which isn't out of line considering how much I even found some linear actuators that could move 450 lbs at only $500 apiece! I've even looked at geared servos, the motor price is reasonable but they require additional control electronics which drives up the price considerably. I'd like to stick with brushed DC motors at 12v to be compatible with what I have done so far. Any suggestions are welcome. I'm sure some one else has had a similar problem and came up with a good solution!

    Bob

    Just a thought, considering the size of this project, have you considered using pneumatics at all? A rotary actuator at the top?

    Regards

    Mark P
  • graffixgraffix Posts: 373
    edited December 2011 Vote Up0Vote Down
    That's what I thought, as long as your aware. It doesn't effect me. Just hate to see you possibly burn em up. Again nice project.
  • DiverBobDiverBob Posts: 606
    edited December 2011 Vote Up0Vote Down
    Just ordered a car seat motor with gearbox. I'll try it out and see how that works. I've spent way too much time today looking at motors! Time to get on with something else. Maybe some programming...
  • GeckoKevGeckoKev Posts: 4
    edited December 2011 Vote Up0Vote Down
    Really impressive project!! Just curious, what do you use for CAD and CAM software?
  • DiverBobDiverBob Posts: 606
    edited December 2011 Vote Up0Vote Down
    GeckoKev wrote: »
    Really impressive project!! Just curious, what do you use for CAD and CAM software?

    I use BobCad software, version 23. It works pretty good for what I want to do. I'll be upgrading next year when I add a 4th axis since it can't do continuous 4th axis CAM. Otherwise I would recommend the program, just make sure that you get the video training series to go along with it. Without that help the program can be confusing at times to use. You can't beat the price though, if you have patience you can usually get the salesman to deeply discount the retail price!

    For an earlier question on using pneumatics, that and hydraulics were a brief consideration but as I have little experience with either of them I figured the smarter path for me was to keep with what I already know. The linear actuators can handle some serious weight so giving the robot some large gell cells should give me a pretty good runtime.

    Bob
  • ercoerco Posts: 18,184
    edited December 2011 Vote Up0Vote Down
    This just in from Captain Obvious: Seems like you may need a larger gear or sector (half gear) for leg sweep (rotation), if you can shoehorn it in. More likely redesign. My guess is that double the current size would be the minimum, and even bigger is better. A spur gear pinion would drive that much more efficiently than the worm gear, and last longer.

    C. O.
    "When you make a thing, a thing that is new, it is so complicated making it that it is bound to be ugly. But those that make it after you, they don’t have to worry about making it. And they can make it pretty, and so everybody can like it when others make it after you."

    - Pablo Picasso
  • DiverBobDiverBob Posts: 606
    edited December 2011 Vote Up0Vote Down
    erco wrote: »
    This just in from Captain Obvious: Seems like you may need a larger gear or sector (half gear) for leg sweep (rotation), if you can shoehorn it in. More likely redesign. My guess is that double the current size would be the minimum, and even bigger is better. A spur gear pinion would drive that much more efficiently than the worm gear, and last longer.

    C. O.
    I've been working on a couple of approaches so far. The normal leg sweep is 120 degrees and I'm looking for a 2 second movement from one end to the other. That translates to 10 rpm at the leg joint. The new motor I got is 190 rpm so I am putting in a 2 stage reduction gear train, first stage is a 1:4, second stage is the same for a overall reduction of 1:16 which is close enough for testing, a little faster isn't a bad thing. I'm ordering nylon 1/4" face spur gears, small gear has 12 teeth, the large has 48, should get that order in tonight if the wife OKs the funds!
    The new motor is pretty torquey (is that a word?) and will be a good test motor. The only problem is the motor doesn't have a good means for bolting it down so I'll have to devise something to clamp around the motor.

    Edit: Gears have been ordered. I went with a slightly different gear ratio because I wanted to use nylon molded gears for testing since they are a lot cheaper in case this idea doesn't pan out. The overall reduction ration will be 1:14 instead using a 24 pitch gear series. If these work out OK then I'll spring for steel gears instead (although by that time I should have my mill's 4th axis installed and could make my own then....)

    Bob
  • DiverBobDiverBob Posts: 606
    edited December 2011 Vote Up0Vote Down
    While I'm waiting for my gear order to get here, it's time to start thinking about programming. As I said in my first post, I have always been facsinated by the work done by Dr. Rodney Brooks of MIT in the late 80's. His approach to programming robots was unique and it looks like it could potentially fit in well with what I want to accomplish.
    I'll use my blog to discuss specifics but his idea was to build behaviors into a robot with different behaviors having different priorities so they can over ride lower level behaviors. An example of a low level behavior would be to move a leg leg forward. This behavior could be inhibited if a higher level behavior such as avoid bright lights is triggered. Now you have a robot that wants to stay out of the light but is happy to meander under the table. By building additional layers of behaviors you can end up with a robot that appears to be intelligent when all it does is react to stimuli.
    The first step for this programming was to collect all the articles I could find that Dr Brooks and his students published on the subject (which is quite a few). Now I'm studying the concepts and the reasoning behind them. They make use of augmented finite state machines for programming behaviors. Although I'm a professional software developer I had never used this specific method before but after studying this type of programming is used often even if I didn't realize it.
    Todays task is to start defining the state machines for leg movement. This going to be mainly a thought exercise with a lot of paper to develop the various states needed.
  • RobotWorkshopRobotWorkshop Posts: 2,300
    edited December 2011 Vote Up0Vote Down
    Hello Bob,

    For the programming it sounds like you want to do there are a couple of books I have in my library that would make an excellent reference and may give you some more ideas. They are:

    http://www.amazon.com/Mobile-Robots-Inspiration-Implementation-Second/dp/1568810970/ref=sr_1_1?ie=UTF8&qid=1324676920&sr=8-1

    http://www.amazon.com/Robotic-Explorations-Hands--Introduction-Engineering/dp/0130895687/ref=sr_1_1?ie=UTF8&qid=1324676963&sr=8-1

    You can pickup used ones for both books very inexpensively on Amazon. They are both worth having on hand.

    Robert
  • ercoerco Posts: 18,184
    edited December 2011 Vote Up0Vote Down
    You can pickup used ones for both books very inexpensively on Amazon. They are both worth having on hand.

    Robert

    I'd say 30 CENTS for that first book is a good price! I have a copy and second its recommendation.

    I just ordered a copy of the second book Robert recommended for just $6, wow.

    I also like "Embedded Robotics" by Braunl: http://www.amazon.com/Embedded-Robotics-Mobile-Applications-Systems/dp/3540705333/ref=sr_1_1?s=books&ie=UTF8&qid=1324698572&sr=1-1
    "When you make a thing, a thing that is new, it is so complicated making it that it is bound to be ugly. But those that make it after you, they don’t have to worry about making it. And they can make it pretty, and so everybody can like it when others make it after you."

    - Pablo Picasso
  • DiverBobDiverBob Posts: 606
    edited December 2011 Vote Up0Vote Down
    Update: I got the gears I ordered but I messed up on the order. I meant to order 24 pitch gears but got 16 pitch. Unfortunately I already had some 24 pitch and was going to use them in the gear train so now I don't have a complete set of gears in either size. Back to the McMaster Carr catalog and there aren't any 24 pitch nylon gears where the gear diameter is between 2 and 2.5 inches (this is needed because this gear needs to be bolted to the leg and the aluminum piece is 2 inches wide. So I ended up ordering a 48 tooth steel gear instead. This gear is just a bit larger than 2 inches so it should do fine, I just have to wait for it now.......

    I did receive my order from Parallax for a MCP3208, 8 channel ADC. I can start bread-boarding the various circuits together. There are 2 pots for the linear motors and one force sensor for sensing a leg down condition. There will be additional sensors added to let me know if the leg touches something while it is extending or swinging.

    I've been working with the leg and measuring the various movements it can produce. I'm happy with the overall design and have a few minor tweaks to the CAD drawings but its very close to its final dimensions. I'll start purchasing the aluminum stock for the remaining legs so I can start producing them later. The biggest holdup will be saving up the cash for all the parts that go into the legs!

    Bob
  • DiverBobDiverBob Posts: 606
    edited December 2011 Vote Up0Vote Down
    I got the steel, 48 tooth gear last night so I was able to start the gear train design. With the gear in hand I was able to validate my design and ended up changing the layout from my original plan. The CAD drawings will be completed this morning and I'll start milling the housing today. I still want to mount the Parallax encoder and a limit switch inside the housing, it looks like the spacing will be pretty tight. The limit switch will be used to provides fixed calibration point for the processor, in other words the controller can calibrate itself by swinging the leg until the limit switch activates and the use that as the starting point for commands to the encoder.

    Bob
  • DiverBobDiverBob Posts: 606
    edited January 2012 Vote Up0Vote Down
    Its been a busy few days working on the gear train setup. I got all the CAD files created and milled out the initial version. As expected there were a few problems to feed back into the design. I videoed the fabrication of version 2 on some scrap aluminum and have posted it here. There are still a couple of minor changes to make, mainly dealing with the setup of the optical encoder disk and circuit board. I have to make some more CAD changes and then its off to the CNC machine again.

    I'm pleased with the gear train result so far, the speed is down to a reasonable level and the torque appears to be adequate. The test version of the gear train is made using nylon gears primarily for cost savings until the design is finalized. Then I will swap out nylon for steel or brass gears instead. The real goal will be to create my own gears later since the steel and brass gears run anywhere from $15-$35 apiece and I'll need a lot of them! I hope to get a CNC rotary table for the mill later this spring but in the meantime this setup will be adequate for testing.

    One thing is for sure, don't go into trying to design your own robot from scratch unless you have a lot of patience, time to spare and extra cash on hand! The right tools is another biggie! You definitely won't be saving any money over purchasing a kit. I won't recommend going this route, especially for the size I'm creating unless you are able to see it through. Luckily I have most of the tooling needed and the experience from an earlier attempt at a large hexapod. The big difference this time is that I have much better tools, more experience and can afford to not take the shortcuts that ultimately doomed the first version. So far the new design doesn't have any of the issues that stopped me from finishing the original. That's not to say there won't be some issues coming up, but mechanically this version is pretty sound. The swing motor setup was one of the last issues that stumped me the last time, I think it's been licked this go round!

    [video=youtube_share;9Rv1Gr12z8E]

    The next mechanical item I have on my list is putting together the housing for the upper leg. The force sensors will be mounted in this assembly so the controller can sense when the leg tip is solidly on the ground and also sense when the leg touches something when swinging or extending. These sensors are very important in the program design so its critical to have them work reliably.

    Bob
  • TtailspinTtailspin Posts: 1,321
    edited January 2012 Vote Up0Vote Down
    Wow, you have been a very busy elf... :thumb::thumb:

    -Tommy
  • cr0shcr0sh Posts: 3
    edited January 2012 Vote Up0Vote Down
    Bravo! Someone is finally doing it, and I wish you all the luck in the world in realizing this robot! For a few years now I've wondered when someone would tackle this project; I was actually thinking about making such a beast my next big project. I can't wait to see where you end up with it; I've been a fan of the ODEX-1 since I first heard about it as a kid in grade school. I still find it amazing that prices have come down enough that someone can build one in their home shop (and I sound like an old man saying it!). Oh well - I'm very impressed with the progress you've made so far. I hope it continues to turn out well, and I hope to see your bot on the cover of a future issue of Servo magazine! :D
  • doggiedocdoggiedoc Posts: 1,996
    edited January 2012 Vote Up0Vote Down
    cr0sh wrote: »
    ... cover of a future issue of Servo magazine! :D
    Popular Mechanics too!
    Some times my mind seems to wander..... these days I just tag along.
  • DiverBobDiverBob Posts: 606
    edited January 2012 Vote Up0Vote Down
    I started this build for the challenge and I've gotten a lot of challenges so far! I'll have to take a photo of the rejects bin, all the aluminum pieces that didn't work out as expected. I've built several wheeled robots and one with tracks but i wanted something to climb stairs and travel rough terrain.

    I've been a fan of the Odex design since I first saw it in Robotics Age magazine and have tried to create a smaller version several times. After I got my first metal lathe and mill I started a large version but it wasn't sound mechanically and had too many issues to resolve at the time and I couldn't afford the needed rework. It's been a few years since then and I have a lot more experience both in mechanical design and electronics. I was able to write down each of the original issues with the original robot and then worked a solution for each problem. Once I completed that process I realized that it just might be possible to make my version work! Odex had a team of engineers and a large budget, I have just me, whatever money the wife will let me spend. My version is between 1/3 to 1/2 size of the original but it's still the biggest robot I've ever built. This is not meant to be a copy but a similar design in that it also uses pantograph elements to amplify the leg movements.

    Time to get into the shop and work on the swing motor limit switch assembly. I've got a few ideas but will need to take some detailed measurements before I commit myself.

    Bob
  • DiverBobDiverBob Posts: 606
    edited January 2012 Vote Up0Vote Down
    I've spent the last week figuring out a limit/calibration switch setup for the swing arm motion. The issue was trying to make it fit in the available space and creating something that not only worked reliably but was reproducible and practical to built. Having it look nice is always another requirement!. I finally got the notion that I didn't have to put the switch assembly down by the gear train, instead I can use the upper pivot point and just adjust the mounting brackets. Once I got that straight then the design went forward pretty quickly.

    The switch assembly consists of 2 circles of delrin. The thin circle is the switch actuator. It has a area machined out that are 120 degrees apart. The back side has a place for an adjustment to calibrate the switch actuation points. This piece is screwed into the fixed pivot point. The thicker delrin holds the micro switch with a friction fit. (The next version will have a small strap to hold the switch in place). The limit switch is positioned so that just the top of the switch is above the top of the delrin piece. The switch only needs 0.017 of movement to trigger and the trigger points only depress the switch 0.020 inches. The large hole in the middle is for the thrust bearings and a metal spacer. The limit switch holder is screwed into the movable leg pivot.

    Limit Switch Assembly .JPG
    Opposite side limit switch.JPG


    As the leg pivots the switch is not activated until it reaches either the left or right sides or a full motion of 120 degrees. The switch is not going to be wired into the motor control circuit but will be monitored by the microcontroller during leg calibration. I can lift the leg, swing it until the limit switch actuates and use that position information to control the position encoder. There will be a couple of minor change to the next version of the switch delrin piece, I will mill out much of the flat surface shown in the first photo (delrin piece on the left) and just leave a 0.1 band around the outer perimeter. This is to reduce the friction between the two delrin pieces as they rotate against each other. I'm leaving the outer band to reduce getting dust and other contaminates inside the assembly where they could interfere with the switch.

    Limit switch assembly components.JPG
    Limit switch assembly installed.JPG


    The next two photos are of the motor controller mount. However, I decided tonight that I'm going to change the length of the sides on the leg mount assembly so I can't mount the motor controllers in a line. Instead I'll make a new mounting bracket that can hold 4 motor controller in 2 groups of 2. This was a good test to see how easy it was to work with the expanded PVC board on the mill and find out how strong the glued connections are. That will be part of tomorrows project.

    Motor Controllers.JPG
    Motor controller side view.JPG


    I won't be working much on the robot for a couple of weeks as I'll be traveling but I'm getting parts and raw materials for starting the production version of the leg during my travels. I'll be checking in so let me know if you have any questions!

    Bob
  • DiverBobDiverBob Posts: 606
    edited January 2012 Vote Up0Vote Down
    Ive got two more puzzles to figure out before I can start programming.

    First problem is sensing a leg down condition, the second issue is sensing if the leg impacts an object while swinging or extending. I'm thinking about using 3 resistive force sensors arranged at 120 degree intervals around the top of the leg tube. This way any forces on the leg can be sensed by one or more of the sensors. The leg down sensor will be a micro switch. Since I want this robot to be able to move outside where puddles could be encountered I'm putting the switch at the junction where the leg tube enters a block of aluminum attached to the pantograph. Since this is also where the force sensors should be located, it makes for a crowded location. I have to figure out a design where everything fits...

    I've put together some preliminary drawings, now to create and test the parts. I'll have photos once that is done after my trip. I'll also try and create a video of the testing so you can see how it works out.

    Bob
  • Duane DegnDuane Degn Posts: 10,000
    edited January 2012 Vote Up0Vote Down
    Bob,

    I agree with others, this is an amazing project.

    What about adding a way to sense the current to the motors. Wouldn't an obstacle cause the motor to draw more current? Of course you wouldn't be able to detect the object until after it had been hit. Current sensing might also be able to tell you when the leg is in contact with the floor since there would be more resistance to the motor's motion.

    Thanks for taking time to document this. It's a lot of fun to follow along.
  • DiverBobDiverBob Posts: 606
    edited January 2012 Vote Up0Vote Down
    Duane Degn wrote: »
    Bob,

    I agree with others, this is an amazing project.

    What about adding a way to sense the current to the motors. Wouldn't an obstacle cause the motor to draw more current? Of course you wouldn't be able to detect the object until after it had been hit. Current sensing might also be able to tell you when the leg is in contact with the floor since there would be more resistance to the motor's motion.

    Thanks for taking time to document this. It's a lot of fun to follow along.

    I thought about current sensing but I wasn't sure what the results would be like since I'm driving the motors using Parallax HB25s. I've never tried to measure current with a motor that was being pulsed and how that could affect the results when using a ADC. I'll try doing some searches and see how others have done it. Thanks for the suggestion!
  • DiverBobDiverBob Posts: 606
    edited January 2012 Vote Up0Vote Down
    Today is robot parts shopping day! I'm heading to Orlando, FL and Skycraft Surplus. This is the best surplus shop I've ever been in, it has a lot of everything that is electrical, electronic and mechanical. I hoping to find bronze bushings, bearings, aluminum plate, wires, relays, DC Power supply (for anodizing) and anything else that might be useful. It's like a toy store for geeks! Unfortunately these periodic visits tend to get expensive, my wife is already worried!

    Bob
  • Ken GraceyKen Gracey Posts: 5,994
    edited January 2012 Vote Up0Vote Down
    DiverBob, is it practical with that Tormach CNC to add some flood coolant?

    Ken Gracey
  • DiverBobDiverBob Posts: 606
    edited January 2012 Vote Up0Vote Down
    Ken Gracey wrote: »
    DiverBob, is it practical with that Tormach CNC to add some flood coolant?

    Ken Gracey
    It's fairly easy to add flood coolant. I got their stand and it has sloped sides and directs the runoff behind the stand where the reservoir tank, filters and pump would be located. I'm adding flood coolant soon but I want to build the full enclosure first using 80/20 aluminum extrusions to contain the coolant splashing.

    Tormach also sells a flood coolant option but I'm going more with the home built version!

    Bob
  • Ken GraceyKen Gracey Posts: 5,994
    edited January 2012 Vote Up0Vote Down
    DiverBob wrote: »
    It's fairly easy to add flood coolant. I got their stand and it has sloped sides and directs the runoff behind the stand where the reservoir tank, filters and pump would be located. I'm adding flood coolant soon but I want to build the full enclosure first using 80/20 aluminum extrusions to contain the coolant splashing.

    Tormach also sells a flood coolant option but I'm going more with the home built version!

    Bob

    You will be very happy if you can flood the place with one of these water-based coolants. Your finish will improve significantly and you'll cut a lot quicker. 80/20 could be a good choice if you mount the polycarbonate on the inside of the extrusion so the coolant doesn't drain into the channels where people normally put the polycarbonate.

    Do you have the R8 spindle on that Tormach, too? What a blessing for tool changes. You should see what I've endured with a Wabeco CNC and a collet system with drawbar.

    Ken Gracey
  • DiverBobDiverBob Posts: 606
    edited January 2012 Vote Up0Vote Down
    I bought the Tormach TTS tooling system, it's great to measure the tool length once, enter it into a table and then not have to touch off each tool anymore. I find that I want more of their tool holders. At first I thought that 4 drill chucks was excessive, now I find I want at least 4 more!

    Flood coolant is high on my project list, I need to get measurements and design the enclosure and order the parts. I've seen some very nice enclosures using the 80/20 products.

    I had a Sherline CNC I put together before this, although it could do a lot, the Tormach is head and shoulders above that system. I don't regret the purchase.

    Bob
Sign In or Register to comment.