edit: balls, I hoped this board would auto downsize the images… hold tight, I’ll upload ensmallened ones
edit 2: Fix’d
Hey, this is pretty much my first venture into robotics, besides various lego versions. I made a hexapod chassis based on images from around here, esp. zenta’s awesome stuff, but I didn’t want to pay for the 645MG’s, so I scaled things down a bit into 85BB’s, which still ended up being expensive . But, I’ve now finished the hardware. 85BB’s hooked up to an ARC32, with various lynxmotion parts holding stuff together.
There’s more pictures in the root directories of those pics.
anyways. I have some questions…
I’m still not really satisfied with my cable management, do any of you guys have suggestions? Its probably not going to get any better because of where I put the standoffs in my design, but oh well. I’ll be willing to hit the scroll saw again after I see this walk.
I don’t know the slightest about Phoenix. probably should have learned a bit more before I made the bot, but, I was too anxious to start building. I know kurte ported it to ARC32, which is awesome. From my current understanding, there is the regular Phoenix bundle of code, which handles all of the IK. What I’m not clear on is how the gaits get inputted. Does the phoenix bundle have built in gaits, or do I need to put “sequences” somewhere? or are the sequences only for like pre-assigned “limb-waving” and actions like that? Also, I understand that Phoenix needs a lot of configuration if the robot is custom, like this one. How would I go about doing this? Is it basically just as is sounds? measuring the lengths of each limb, and the angles they turn to, and so on? Doesn’t the range of motion depend on where the other limbs are in their RoM? Like the middle leg on either side could have a very small range of motion if the adjacent limbs are turned toward it. How does phoenix account for this?
Finally, in zenta’s A-pod videos, he showed off some impressively organic looking orientation of the bot. Is that all custom code, or is the stock Phoenix code equipped to handle that kind of motion: ie. not just walking
Hi, Looks nice. It will be interesting to see how well it works with the small servos.
I think others can better answer about cable management. My robots usually have wires going everywhere as I keep changing things…
As for the phoenix code, yes I did port it to the Arc32 and will try to answer your questions.
Gaits: There are I think about 8 different Gaits defined in the Arc32 code ( Ripple 6 and 12, Quadripple 9, Tripod 4 6 8 and Wave 12 8) You can tinker with these and/or create your own…
Configuring: Yes you need to measure things and update the …_cfg.bas file to match your robot. As for how the code handles limits when one leg may interfere with another, I don’t know. My guess is that potentially you would need to tweak some of the gaits…
Sequences: Zenta made a lot of great sequences to run on the phoenix. The problem is that they are typically stored on the SSC-32 (which in my Arc32 version, I am not using…). So as part of my port, I created a Visual Basic (VB) app that can download the sequences to an app running on the Arc32 (also version for Bap28). For the phoenix I have this code integrated in… On the Arc32, I store the sequences into the EEPROM of the SSC-32 and I have code in the Arc32 that emulates enough of the SSC-32’s sequencer to run these sequences.
The Phoenix code has code in it for walking, plus rotation, plus translations and the like, so has most of the building blocks built in, which you can do great things with. However: Zenta is the master:! Also he is using a DIY XBee based remote control to control it, which have two precise joysticks, plus two sliders and a couple of other rotatory knobs…
Yeah, I’m a little worried about that. without batteries, its slightly less than 1.75 pounds, while the original phoenix is stated as 3.1lbs. And the 85BB’s have 37% of the power… Well, I’ll see. If it doesn’t work satisfactorily, I’ll weigh individual components to find out what can be left out, and recut the plastic. The plastic is basically the only thing that I can cut down… The plastics also the cheapest part. Its about $4 worth of abs… also the bolts could be cut down, but I don’t think thats taking up too much weight. Also, I think my school may be getting a laser cutter for next year, which would totally awesome for recutting the parts. and it might be able to cut thin aluminum…
edit, also has anyone figured out which servo on the leg(inside, outside, and middle) gets the most stress? I sort of assume its the middle, because it would appear to be carrying most of the weight… because purchasing 6 645MG’s is a lot better sounding than 18.
Plastic cutting lasers generally do not cut aluminum, even really thin aluminum.
So you’re more than 50% of the weight of Phoenix, but the servos have only 37% the power. It’s actually worse than that. The torque ratings for micro servos are limited in time more than larger servos. I mean the HS-322 (51oz.in.) and the HS-85BB (49oz.in.) have roughly the same torque. The 322 will perform at it’s maximum torque for much longer than the 85 before heat builds up causes problems. There is a downside to the small package concerning gears as well. They break. The 85 also has aggressive gearing. To the point the servo is difficult to back drive, (move the output shaft by hand.) And the gears can be broken by doing this too. Best to leave micro servos to very small assemblies.
For plastics. You are using ABS, which is about as heavy as acrylic. Your bot would do better made from Foam PVC. It’s half the weight of ABS.
The weight reduction is only half the battle. The length of the segments is also very important. The longer the femur and tibia, the more work the servos have to do. You may need to shorten these parts. Your images looks to me like the lengths of these segments are as long as the original, too long for your servos. Good luck!
Excellent: I’ve got confirmation that the school is getting a laser cutter(and its just got a 3D printer installed as well, I printed my model of a klein bottle ). In running your business, do you use a laser cutter to make your precision parts? How complicated is it to use a laser cutter if I already have a 2D dwg of the parts? Also, I’m not sure of which model of laser cutter it is, but the can pretty much all handle this PVC foam you spoke of right? what does it do with the acrid fumes…?
edit: just looked at tap plastics, and they have “Foamed PVC” 1/2", 3/8", 1/4", 1/8". 1/4" is almost certainly too large, but is 1/8" too small…? The ABS I’m using right now is 3/16 I believe. In this application, the ABS isn’t near snapping at any point, but it could be more rigid ideally. Do you know how Foamed PVC compares to ABS in terms of rigidity?
PVC can be laser cut, but it requires modifications to the machine to prevent it from rusting. If someone from your school catches you cutting PVC with their machine you would likely get expelled for life. I cut lexan in house, but I hire out for PVC work. 1/8" PVC is fine for the chassis, but 1/4" PVC is a minimum for the legs. I would expect ABS to be more rigid than PVC. But I would also expect PVC would be plenty rigid for your bot.
I need to do some serious adjusting, but amazingly, everything seems to be working… It can hold itself up, and walk to some extent. Turning works well. It doesn’t have a battery though so its missing a ton of weight. but it WORKS
with a laser cutter I’ll be able to redo the entire body with very little effort(or money)! Damn this is so cool. The Phoenix programming is incredible.
While attempting to configure Phoenix I’ve been seeing some issues. It appears to not be moving the tibia joint correctly for my bot. When I use the D-Pad to raise it, it moves the femur joint, but not the tibia. The tibia stays a small angle(close to parallel with the femur) It keeps going until its basically under the bot, and then if I keep raising it, it begins to extend the tibia. So basically its not moving the tibia and the femur concurrently. It pretty much maxes out one, then it moves to the other. Is there a way to adjust this? is it designed to do this?
it is angled downwards. Would this throw off the IK? In the .cfg, it didn’t appear to have offsets for individual joints… For the coxa, it just had length, so it assumes that the joints are in a line parallel with the body?