No real changes yet to the code base, I started to integrate the ability to use PS2 to do the Initial Leg position/Angles like I did with the commander, but not fully tested yet. Yes the Commander is a Trossen remote. It uses a Seeedstudio Arduino 328 with a shield, that has an XBee on it, plus 2 thumb joysticks and 8 buttons. All in a simple frame.
it aint perfect, not as nice as our DIY remote, but is avaialable and lots more people using it than the DIY. So I often use it.
Kurt
P.S. - I live in the northern part of Washington State.
Again not sure if anyone else cares, but been playing around some, decided to throw a Botborduino on it temporarily, as to make sure there is a version that builds and loads on it.
Probably a good thing as when I first tried, it was able to compile and the like with 30K, but download fails in the verify stage. So I turned off the Servo Offset mode (for now… )
Note: in the code I added some other code switches, to for example remove the Single Leg mode, which I also turned off. May go a little further and allow you to turn off the code for Body Translations and/or Rotation modes as well…
Also to try out different things added another command here (I for Initial position). If you just enter the command: I it will print out the current Initial position length, plus the leg angles. Which in my current stuff shows as:
Len: 110 Angs: -450 450 -450 450
This command allows you to add 1 or 2 parameters. The first the new length (how far out the legs should be), The 2nd is a delta to the angles, so if you enter something like:
I 110 -150
It will move the legs to ± 30 degrees. (After you hit the start button).
Note: there is also code added in the PS2, to dynamically change these values. Not tested too much yet. But with Single leg mode off, in theory holding down the O button and moving the Left joystick should update these two values on the fly…
Lots more testing and hopefully some of the above will help fine tune what a good foot spacing is. Can also use the Gait setting command to try out different gaits. But now I need to charge battery
Kurt
Edit: Forgot to mention, I made this in all one one project, that is I copied my current Phoenix.h/Phoenix_code.h/Phoenix_Input_PS2.h/Phoenix_driver_ssc32.h files into here, renamed them to start with an _ (as to not get confused with the library ones) and then changed the Include lines to have the _'s…
Edit 2: I am using the V3 PS2 on this, on the default IO pins, using my minor updates to the PS2X library SQ3_PS2_SSC32-140414a.zip (40.2 KB)
Doesn’t really walk forward or backward, but it can turn in place fairly well.
I do like this single project build. Easier to switch back and forth between different builds.
The initial position command sounds useful. It would also be useful to see the offsets before (and after) setting them. Sorta like the ‘O’ offset command.
Single leg mode is not clear, L2 'till it selects, then joysticks to move joints?
Didn’t see the PS2 changes, wouldn’t they be out in a library file?
Yep, I think the ability to make it walk nicely is working on a bunch of adjustments. For example the SQ3 initial positions is having the legs at 45 degrees, which I don’t think is optimal, I think you want them more closer to 60 or 30 where you are closer to having them inline with each other. If you look at the PhantomX Quad with their default program you will see that it it does something like this. I have not actually measured it, but you can see it in the following picture:
Also the legs look like they may be a little too far out, such that the tibias are not quite vertical. Then we can experiment with the gaits, For example the first one I added works pretty well on the PhantomX, maybe for this one need to adjust. Like maybe it is moving too slowly which gives it more time to fall…
Yeah, a nice walk would be worth it! My old 'quad chassis is longer then it is wide. About 7.5". It might be able to walk better. I also was looking at it, and noticed how it would look like a crab if it walked sideways (wider side forward)!
the T-Hex legs will be further out, I think. I wonder what crab’s legs look like? I think they have more legs, 'tho.
How does the size of the PhantomX and the angles of the legs compare? My old aluminum 'quad has 55 degree legs.
I should have more time tomorrow to see the attempted walks.
I found: OutputServoInfoForTurret(). That should be interesting! I’ve worked out a tilt/pan mount for my GoPro Hero 3+ camera on the 'Quad. That is, of course, if I have enough torque to support the legs.
What battery are you using? 2800? 1600?
Still way short on 645 servos if I want to build that inline hex.
@Coleman
BH3 with aluminum body claims '475 servos, maybe I can do with that.
I want to build it with 3DOF T-Hex leg design.
The individual 645 servos are on sale, how about the in Servo Deals?
Yep, I was playing with some simple turret code for the PhantomX (Hex). I have two AX-12 servos on top of it now for pan/tilt. Have not done much with it lately.
Currently using the 2800mah battery as that is the one they show in the photos (also only battery in SES V1.1).
I noticed that also that the top level pages for some of their products show 475/485, but are sold with 645. Their current prices for the HS-645mg is not too bad, but if you google for the servo you can find them in the $26-27 range.
Have not had much time today. Did do a little cleanup of wiring, with some zip ties plus I did not have a PS2 mount, so instead simply used one of my V.1 Teensy circuit boards that I did not populate. Trying to decide what to do with the PS2. the V3 one has been real hard to get the start button to register. I had to use one of my fingernails just right in order to get it to work, then the button stuck in… I had to completely disassemble it to get the rubber part back in the right hole… May go back to a V1. as I am not sure all of the buttons are properly registering after my rebuild, could redo, but probably easier to use a different one.
LM has said in the past (Jim) that they will match servo prices. Is that still true Colman?
I’m slowly wiring up my old 'Quad chassis with a new BotBoarduino. Short one 6V battery, but I think I’ve got everything else; although I don’t have enough '645 servos. I noticed the dependency in servo requirements before. When I built my first hexapod with DIY Plexiglas body, I only bought '475 servos at the time, and had to slowly update them to get proper moves.
I tape my PS2 xcvr down to a piece of prototype through-hole .1" grid board the same size as the BotBoarduino with the same mounting holes. Makes a nice stack of electronics. V1? V2?? I know it’s not a V3. I use a set of .025" WW jumpers that I push onto it’s pins.
You might want to add a date code to the sign-on:
DBGSerial.println(F(“Arduino Phoenix Monitor 04/14/2014”));
As I mentioned, I did not get around to doing much yesterday. I did clean up the wiring a tad (still not great, but should not get caught up in joints).
Still have a mix of black and non-black parts in this build, which is sort-of fun.
I was doing some experimenting yesterday, with changing the initial leg positions. I have them closer into the body, which allows for more vertical tibiae. Also experimenting with the angle of the legs. By default the SQ3 has the legs at 45 degrees, whereas the PhantomX has them maybe at 40 degrees (not sure on why this number). So I tried a few different ones like 37.5… Also sped up the added gaits.
I think there is promise in using the ripple gait I added, especially when you play with angles and the like. Not sure about things like how much the legs lift, how long legs are in air…
I will experiment more with the Amble gaits, but may remove them. I am not sure the servos are strong enough (even with 645s) to move the robot around on two legs at a time. This works OK in the PhantomX with AX-12s but the AX-12s give you something like 212oz/in of force versus 133 for 645s.
As for the wave gaits that are part of the code base. I have had some luck with getting it to walk with it, but only if you turn on the balance mode (Square button), and then it waddles as the body shifts around in a circular motion. However it did not like me moving the leg angles off of 45 degrees. Can experiment some more here to see if this can work at different angles. Or potentially I can also add the ability for the gait to state the desired leg angles and have them adjust as you change the gaits…
We considered that for a bit (for Hitec servos only), but there are now so many companies trying to undercut by a few dollars here and there that we chose to stop that practice. If you find a price which is noticeably lower than the price Lynxmotion has for the same product, we will certainly look into it and do our best to make you happy.
The SQ3 design was made to have three legs on the ground at all times and although if you increase the stance (so less torque acting on each motor) you can get it to balance on two legs, it does not do much for the walking gait itself. I have always enjoyed the following video of a (custom) quadruped walking (reminds me of a praying mantis): youtube.com/watch?v=jWP3RnYa_tw
I’m still running on all brushed-aluminum parts. Looks good against a black body. I’m getting better at cabling up the 'bots. My old chassis is now wired up.
Closer in may be better. I haven’t gotten far enough to be able to try changing angles. Can you document the angle and length-change commands?
Yeah, not sure how these parameters would affect the walk. Less support while the legs are up in the air longer.
Probably not. Are there any bigger servos (that fit)? But it’s the resultant torque from servo / mechanical advantage.
Wave gaits? Is this the gait that seems to rotate around the body? Maybe I’m not putting the 'bot into the right mode. Hum, 45 degrees. maybe I’ll go over the leg angles again. Well, each boss on the body is at 45 degrees, so a simple visual alignment should suffice?
Adjusting the angles as you walk could be interesting, but would it really change anything? Isn’t the neutral (center?) angle of the leg figured into the leg move equation? So the same endpoints of the foot move are the same? I did a little study quite a while ago, but I don’t remember much.
I think I’ll pull off my tilt/pan camera mount, it might be adding too much weight.
Increase the leg span of the stance? Wouldn’t that increase the servo angles, and thus reduce the torque? a more vertical tibia would decrease the tibia torque required. Walking way up on tip-toe (hip) would reduce the Femur servo torque. But then one wouldn’t get much stride length. I’m guessing the Femur servo requires the greatest torque?
Yeah. I forgot about that part. The PCB stock is on hand, and thinner. I guess I could make a fancy one like yours. Mine is simply rectangular. On the SQ3 I put the xcvr directly on the chassis, below the SSC-32 board.
On my old 'quad chassis that I just resurrected, the xcvr is on top. I haven’t re-worked the xcvr yet (a little filing to get it to fit between my standoffs/spacers). The advantage of this is free access to the BotBoarduino PCB, and it allows me to add the camera tilt/pan deck. The camera deck makes the 'quad quite tall… I’m starting to have second thoughts about the CG effects.
No, I’m looking for just the simple spring clip found on the SQ3. I can bend something from thin aluminum, but it’s not quite the the same.
What is interesting in the video that Coleman linked to, is if you go to the actual project page: serva.cz/konstrukce/quadruped/
You will see that the servos used on this were: 4 5645s (Coxa) 4 635hbs (Femur) and 4 475hb(Tibia). So the strongest servos are used for the Coxa?
Not much progress today, doing other stuff, also started to suspect bad gear, so update my botboarduino test program to move each servo back and forth and sure enough one of my Tiba servos is hanging up… (Bad gear). So need to swap it out. First need to see where the my spares are.
There was a question over the last few days up on Trossen about stable gaits and one of the answers pointed to a paper about this, which looks sort of interesting. www-clmc.usc.edu/publications/P/ … RA2007.pdf (But math makes my head hurt
That doesn’t sound right. Coxa doesn’t require a strong servo, it’s probably the 475. 635 is not as strong as 645, 5645 is stronger then 645 from what I can read. Order is probably Tibia, Femur, Coxa.
Yeah, I didn’t get anything done either. Ouch. Bad break. Must be nice to have spares! I’ve already committed my few 475 servo left. I ordered two more 645 servos yesterday, along with a hex-inline chassis, and a few parts to make a total of six 3DOF T-REX legs (I had four). I will only have four 645 servos for the legs.
PDF loading real slow, almost like a TTY! Sounds interesting, 'tho. Oh I know, I’m running AntiVirus scan, that always slows things down. Yeah, almost need to be a mechanical or robotic engineer to under some of the latest Jacobin calculations. A quick glance shows they’re using a diagonal sequence. More later, after I get a chance (attempt) to read their paper!
Nope about the only language is speak is English , but when i load the page there is a google translate drop down list on the left hand side. As for which servo does what, I was looking at pictures on page and I was surprised…
Yep the 4 legs I am using originally were from my spare parts hex, so broke apart one of the other two legs to extract servos.
It’s amazing how many servos I’ve accumulated. Various robots, a heli, I keep finding more. Just found a crab robot with little miniature servos. Speaking of crabs, what did you think of my idea to make a crab robot? Walk my old wide 'quad sideways…? Just a thought.
I did notice that the paper liked a diagonal gait, is one of the gaits on the SQ2 diagonal? I guess I can edit the code. Is there more then one sequence, or do they all share the same order?
I have been doing some playing around and replaced the one bad servo (which definitely helps make it work…
I also did a real quick and dirty video of the SQ3 more or less walking on my desk:
Again this video is raw. At the beginning it is using the ripple gait. Note: I changed the speed setting for these gaits to say go as fast as possible…
Then the next gait (after the beep), is where I tried to put a gait in that uses the figure 8 pattern instead of a circle for which legs go when. Also put a one step do nothing between each leg moving. Lots more can be experimented with this.
Then two beeps (two presses of the select button)as I ignore the Amble gait and go for the first gait that was built into the Lynxmotion gait. Does not walk well at all without balance turned on. Then you hear a different beep when I press the Square button and turn on balance. You can then see it shifting it’s balance in a circular motion and you see that it can walk (slowly) with this…
I have also included the current code that I used for this here. I am not sure how much more I will do with this for now. Once I verify that I have not screwed up the PhantomX (Hex and Quad), I will update my github with any change I made and include the project as one of the examples SQ3_PS2_SSC32-140418a.zip (40.4 KB)