Starting Octabot project using a Propeller
linuxgeek
Posts: 45
I am just starting this project. If anyone is interested, all the information I have is on my website in the Robotics secttion. I will be using a PRC with Propeller for the controller. This robot will be able to roll on wheels as well as walk on 8 legs at will. I have desiigned two bases for this robot - round octabot and a longer one that is more or less like a hexapod with 2 additional legs.
.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network
http://www.thedynaplex.org
.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network
http://www.thedynaplex.org
Comments
Why 'octa' instead of 'hexa' ?
Does the addition of two more legs give that much better stability to justify the extra weight and power drain?
(Not to mention the complexity of programming efficient strides.)
How autonomous will it be?
(Being able to take decisions on leg-placement as it walks along a plotted course, being able to detour from the course to avoid obstacles, or being able to plot its own best course based on start and finish points)
Wish I had the time to tinker with one...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
For me, the issue is not so much stability, although I am hoping this will be improved over a hexapod, but of flexibility. My Octopod will be able to do some very intere4sting things, such as walk like a hexapod on just 6 of 8 legs while using the other two legs to do 'special' things. And there is the issue of just being different from the usual walkers. My Octapod will also have a 4 wheel drive, with independent steering of each wheel, subsystem for use on level terrain where climbing is not required..
Well, with the Propeller Chip controlling everything, I see pretty unlimited possibilities for autonomy. Let me see, one Cog for the wheeled subsystem and related sensors such as wheel encoders. Another Cog to handle the walking subsystem, another Cog to handle all video input, another Cog to handle the object avoidence system, another Cog to handle running a multi-jointed arm with gripper.. That's just 5 Cogs, leaving me one for heavy mathentatical comutation and 2 more spares fpr whatever else I might want to do. There will also be GPS, accelerometer, and two compasses tp be handled so that might be anither Cog. I believe this would allow for a very autonomous robot.
There are so many ways sensor inputt, motion, object detection, video, etc can be dealt with when one has 8 Cogs to play with.. The legs on my Octapod are designed such that I can place stuff at each joint, which gives me much flexibility in what I can do with iit.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network
http://www.thedynaplex.org
Post Edited (linuxgeek) : 9/1/2006 4:43:48 PM GMT
Try splitting it into two, one doing the low-level work(actually pushing data to the servo controllers), and the other plotting where it should walk.
Stick sensors on the tip of the legs, one to detect the ground(it may not be even, after all, or there may be a hole), and one on the front edge to detect obstacles. (maybe even on all sides, if you want to be fancy)
The COG which handles the low-level movement can then choose to continue the leg's motion(lower it until it reaches ground, stop early if there's a rise, put it down ealier or lift it up over an obstacle), without disrupting the course-plotting.
Or if need be, halt altogether and alert the system if needed.
(and do it much quicker than if one COG did it all.)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
That second Cog is under the heading of heavy mathematecal processes.
I will have the flexibility to be able to put sensorsn (or other stuff) at every joint if I want to. I have some interesting ideas for things to put at the joints.
I see the possibility of comparing where each of the other legs are setting in relation to where one leg is going to detect possible holes, precipices, etc. I will definitely have a lot of room for experimentation. With eight legs. the robot won't necessarily need all of them down at any given time.
At any rate, I think most, if not all, the stuff I want to do with my Octapod can be handled by a single Propeller. If not, I can always add another, as inexpensive as they are.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network - Home of The Octabot Project
http://www.thedynaplex.org
(Walkers are so much more fun than wheeled or tracked systems)
As you only need 3 legs on the ground at any time(assuming a decent spread), you have a lot of redundancy when it comes to stability.
I would still suggest that you plan for inter-Propeller communications already from the beginning, as that is the kind of stuff that can be difficult to add later.
(Find the 'narrowest' process-interfaces, which are easier to push serially, and make certain they can be moved outside later)
Cool idea:
With pointy enough legs, and the possiblilty of tilting the legs, there's no reason it shouldn't be able to scale brick walls...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
That's one reason I decided to build one for my second robot. The first one, which I should be able to start construction on this week, will be my development platform and also have wheels and legs. I don't have a lot of money for things such as this, but am doing it a bit at a time. It will probably take me at least a year, and probably longer, to complete my long Octapod. I am doing all of this on a fixed income. I'll complete the 4WD system first, but I think I have planned it out pretty well..
Right now I am leaning towards a 6" span between joints, and the front legs will be more special, perhaps being 4DOF with a short last segment. This would allow me to do some interesting things.
I have been reading a lot about sensors, the bandwidth requirements, etc. I like the way I2C is setup to work, and I am selecting sensors that can communicate with it when I can find them, such as the SRF08 and SRF10 ultrasonics and HM55B compass.
Have you been reading my mind? This could be dangerous.. I don't think I will have to tilt the legs in order to climb - the two front side legs will come out from the body at a 45 degree angle. I really would like to have this robot be able to climb standard stairs and such. See below:
I am already considering adding a gripper to two of the front legs, which would be able to switch out with the end leg segment. I think I have figured out how to do the switch and make it work. I am just wondering about the added load on those legs, having to carry around a gripper, though.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network - Home of The Octabot Project
http://www.thedynaplex.org
(wires to pull on the limbs)
It probably won't be able to lift as much as a dedicated arm/claw, but unless you need it to lug around heavy objects...
I2C maybe a good choice for 'advanced' sensors, but for simple touch, stick in a couple of Parallell-in-serial-out shift registers, and just clock them in.
What will you be constructing the legs out of?
I once built a small walker using paper and a laminator. Drew the pieces on paper, laminated and cut them out... Unfortunately, I could never manage to fasten the 'Muscle-wire' threads properly, so it got binned a long time ago.
Yes, I'm totally mad...
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
Hmmm, interesting. However, I don't think something like this will work for my Octapod. The entire body will be built using Lynxmotion's Servo Erector Set components. I know this limits what I can do to some extent, but I can use all off the shelf parts that can be easily replaced if necessary and it's easy to change things around as needed.
I will definitely consider this method for this type of sensor. If I do use I2C, I will need a multi-master configuration if I add more controllers. I will eventually add a Linux based controller to be the super master controller, but that will probably not happen for a long time. I'll be using IR and Ultrasonic sensors as well, plus one Thermal Array to detect warm bodies and probably at least one camera.
This is a major construction project with many things to be learned and done as I go - which is a very big part of the reason I am doing this.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network - Home of The Octabot Project
http://www.thedynaplex.org
My 10 bits
MaRRt'e
First off, the outermost part of the leg must be able to rotate, to steer the wheels, second, it'll add a whole lot of weight to the legs, third, it'll make it difficult to mount sensors to the tip of the legs, and fourth, it'll increase power-consumption(assuming servos or steppers to drive the wheels) as you need to apply power to the wheel-motors to keep them locked while walking.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Don't visit my new website...
I considered it, but decided it would not work for what I want to do. I think it is much better (for this robot anyway) to keep the walking and wheeled subsystems separate. I want to be able to retract the legs, at least most of them, when switching to wheeled mode, and vice versa when switching into wheeled drive.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network - Home of The Octabot Project
http://www.thedynaplex.org
Yes, I'll be using standard continuous motion servos, at least to start with, for the wheeled drive. Hmmm, this is making me consider whether I really should put a gripper at the end of the two front legs or not. It will be quite awhile before I get to the point where I am ready for any work with grippers, so I don't need to decide on this right now.
Putting wheels on 4 of the legs would just not be workable for what I want to do anyway. My wheeled drive will be all independent steering for all 4 wheels - 2 servos per wheel, one to steer the wheel and the other for the wheel itself.
For now, I just want to get the robot built and able to move using either motion system, and it will probably take me at least a year to get all the legs built. It will roll long before it can walk.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network - Home of The Octabot Project
http://www.thedynaplex.org
I considered it, but decided it would not work for what I want to do. I think it is much better (for this robot anyway) to keep the walking and wheeled subsystems separate. I want to be able to retract the legs, at least most of them, when switching to wheeled mode, and vice versa when switching into wheeled drive.
Putting my wheels at the end of legs would add more weight, since each wheel will add two servos (one for the wheel and one for full steering). Maybe I will try it anyway just to see what happens. That's what all this is about anyway - experimentation.
I am already planning to use HS645MG servos for the Hip Vertical and Knee joints, so hopefully that will be enough lifting power for what I want to do. If my leg design works out, each leg will have a 12" maximum reach.
I am actually more concerned that I have flexibility in adding sensors. With the long reach these legs will have, I am planning to have at least an IR distance sensor at each ankle and perhaps an untrasonic as well. It will be quite awhile before this robot walks though because it is going to be expensvie to build the legs for it - it could take me two months just to get the parts for a single leg. I hope to have the wheeled base completed by the end of this year.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network - Home of The Octabot Project
http://www.thedynaplex.org
Here are some pictures of the Wheeled Hexapod I will start building soon:
Front:
Side:
Top:
This robot can run wheeled or walk. All four wheels are independently steerable, can be lowered, and are retractable so they are up under the body out of the way. The legs need not be extended in order for the wheels to partially retract, since they can be lowered to a point where the legs will pick the robot off the ground. After the legs are holding the robot steady, the wheels can be fully retracted out of the way. The front two legs will have small grippers in place of the foot pads. Each leg has a total of 6" of reach and 3DOF of movement. Technically, the front two legs have 4DOF of movement. The body is a little over 9" wide. I am already planning to use HS-645MG servos in at least the Hip Vertical and Knee joints of all the legs
I also have an Wheeled Octabot design with the same basic specifications, except for having two additional legs.
8-Dale
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network - Home of The Octabot Project
http://www.thedynaplex.org
Post Edited (linuxgeek) : 9/17/2006 12:39:13 AM GMT
Yes, of course. [noparse]:D[/noparse] They are all Servo Erector Set parts.
8-Dale
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
I can handle complexity.. It's the SIMPLE things that confound me.
The Dynaplex Network - Home of The Octabot Project
http://www.thedynaplex.org