The Visual Sequencer V1.13 Manual mentions a GP sequencer for the SSC-32.
Is the GP sequencer part of currently shipping SSC-32’s code? Or the 32v1.06XE update? Maybe it’s already in the open source, and I just haven’t found it yet?
I was going to use the internal sequencer for a 3DoF hexapod, until I realized that it only supported 12 servos. Maybe an 18 servo internal sequencer could be written (is there room)?
The GP Sequencer is referring to the General Purpose Sequencer that replaces the 12 servo hexapod sequencer that’s built into the firmware. The GP firmware is not ready for gait generation, but it can do animatronics style sequences with no problem. We are doing a new firmware for the SSC-32 that requires a processor upgrade that will have lots more options. The current firmware, and the current GP firmware are both full. There is no room left over for modifications. Just go to the SSC-32 product page and click more info. There you will find the firmwares for DL’ing.
The new processor is an Atmega168. It is a drop in replacement. It has double the memory so lots of new things will be possible, like storing startup positions in the EEPROM, etc. The code is being ported over now. I was supposed to receive a chip today for testing. I have no further information on pricing or availability.
Do you consider the GP as being a DIFFERENT sort of sequencer (animatronics) vs a GAIT generator? [GP replaces hex_sequencer() from what you’ve said].
Will the new SSC-32 firmware have a 3DoF (18 servo) Gait generator as one of its new things?
The Visual Sequencer currently appears to support the GP, but it’s just supporting animatronics sequences as you’ve said. I take it GP firmware hasn’t been previously released? But the new firmware will support GP and the EEPROM?
I have both an SSC-32 board and the Visual Sequencer on order, so hopefully I’ll become familiarized (?) after I’ve had a chance to play with them. Feel ship the new firmware on my SSC-32!
Lynxmotion offers 'bot computers that can run both 3DoF 'bots and 2DoF bots AND the SSC32, I take it that there are programs available for the 'bot computer to do the Gait generation (in BASIC)? How does that usually work? (Feel free to point me to a white paper)!
Does the AH3-R (18 Servo Walker) which has a circular distribution of legs require a different Gait generator then the BH3 (18 Servo Walker) with its linear distribution of legs? I’d expect there to be considerable differences in the trajectories of these two basic groups of 'bots. Perhaps there is a white paper that addresses this? Or is there BASIC code for an 18 servo Gait generator that I could look at?
I hadn’t planed on using a 2nd ('bot) computer at this time; a link to a PC will suffice for a while. After that, we (I have a partner) intend to use an ARM7 (Atmel AT91SAM7S256) based computer (of my own design).
Sorry for all the questions! I could use some “big picture” insights on how much has already been done for 3DoF 'bots.
Best regards,
Alan KM6VV
P.S. I REALLY want to do an 8-legged “Spider gait” (Octapod) with a terapod gait. I’m willing to expand the gait generator at some time to accomplish this as necessary. But I’ll bet it’s already been done!
The 12 servo hexapod sequencer that is built into the 1.06 firmware is relatively simple. There are only 5 discrete positions each leg can be told to go to. Now the actualy positions will change as the speed, direction, leg lift, body ride height, etc are changed, and the speed the leg moves is of course variable, but there are still only 5 discrete positions for each leg that the sequencer needs to be concerned with. Furthermore the sequencer only need to keep track of 12 servos, many of which share common positions. Not to downplay the complexity of it, but it is much simpler than the 3DOF hexapod sequence control scheme. Because the latter has to keep the leg moving in a straight line, as it’s moving. This is a relativly complex mathematical formula that has to be calculated continuously for 6 legs.
The GP firmware was intended to allow the storage of sequences created by the Sequencer program in an understandable fashion, and allow them to be played at different speeds and directions using simple commands. This works well for a biped for example, but (for now) there are issues with creating gaits with it. These issues will be fixed with the new processor, which I have received 4 today for rigorous testing.
No, not as things are now. The firmware would have to be re-written and some existing features would probably have to go. I’m not the person who wrote it, but I know enough about the complexity of what you are asking about to have some serious doubts. I mean the 3DOF control programs created by PowerPod takes nearly all of the resources of a Basic Atom. Please lets not get into the issues of Basic complilers overhead. The fact is doing all this AND retaining all of the 1uS resolution timing requirements to create the servo pulses would be a tall order.
The GP firmware is currently available for downloading and it does support EEProm. I may not understand this question. Click below and scrool to the bottom. lynxmotion.com/Product.aspx? … egoryID=52
That’s not likely to happen. Sorry… Way to much going on here for that.
All my paper starts out white… The SSC-32 is the heart of walking robots. Even the 2DOF hexapods require a microcontroller to tell it the speed, direction, leg lift, and body ride height information. Check out the tutorials for the hexapod 2 and the 3DOF hexapods. They will enlighten you. lynxmotion.com/ViewPage.aspx … egoryID=19
PowerPod creates the basic program for you based on the criteria you provide. Look here to learn more about the FREE program. lynxmotion.com/Product.aspx? … egoryID=15
Not a big fan of 8 leg walkers. To me it’s adding more complexity with very little return. They are heavier and walk slower. Just my opinion though.
True, but they are different, and do provide for some other interesting possibilities. I admit that with 24 servos to control just for walking, it will be a challenge to make it go, but using two batteries for the servos, it should be doable.
Yes, I can see that it’s already quite complex! And I did not intend to
belittle Mike’s accomplishment. I understand the difficulty of controlling
the knee for 3DoF. Perhaps a straight line approximation would simplify
things. And of course a few more states could be added.
True, there would be more calculations to get done. However if the SSC32 were doing full 3DoF, then the Atom wouldn’t have to do as much. Actually, it appears that the 18-servo robots are still doing 2DoF gaits, just that Atom can order “ride height” adjustments while the gait sequencer is running (presumably to the knee). Or am I missing something?
Interesting way to do it! Thanks for pointing out the PowerPod program and the tutorials. I think I’m getting the hang of things.
I thought I had seen SolidWorks files for the “Erector Set” parts, but now I
can’t find them. I’d also like to find the “Reverse kinematics” examples or
code that was mentioned.
I see your four legs defined in PowerPod, It would be nice if I could define
my own. I did see where the Hip, Tibia and Femur lengths were varied in the program. Probably a little more digging will find the other (min/max
angles) data I need to alter. Are the “Erector Set” parts data defined
somewhere?
Will the preprogrammed Atmega168 be made available as an upgrade for existing SSC-32 owners? I don’t expect it to be free, but I bet it could be made available reasonably inexpensively.
I’ve already added a nice sized EEPROM to both of my SSC-32’s. Is there any reason why a larger 1024 MBit EEPROM would not work as well?
Not picking on you really, but Mike created the SSC-32, Bootloader, and all of the Firmware. The PowerPod program and all things 3DOF related is the briliant work of Laurent Gay. I believe if there were a better way to do it, Laurent would have already done it. The work he did on the 3DOF hexapods is nothing short of miraculous.
You sir are missing volumes… The 3DOF hexapods can walk in any direction, (translation) and turn in place, (rotation) and do both at the same time at proportional rates. This is not a 2DOF gait… If by 2DOF, you mean Tripod, or alternating tripod then you’re making an assuption that tripod gaits are 2DOF gaits. This is incorrect. We use the tripod gait because it is the fastest gait. The new PowerPodPro will make different gaits available for the 3DOF bots when it is available.
Defining non standard leg dims is as easy as editing the program by hand before programming the Atom. Hope this helps…
Agreed. Brilliant. Sorry If I offended, I’m simply trying to find out what has been done and is already available. I AM getting 3DoF/2Dof and gaits mixed up, I think. I’ve only started to see how Laurent’s 3DoF gait IS implemented in the Atom, as generated by the PowerPod program. I stand better informed/corrected.
No doubt I am still in the dark about all that has been done by your developers. I understand the gait (tripod, wave motion, etc) is the sequencing of the legs. How many parts (joints) in a leg is DoF. I thought I had initially seen 3DoF programs that used the Gait Generator of the SSC32 (LH, LM, LL, XL, XR etc).
;****** Basic Atom with SSC-32, PC control ******
;----------------- 3.36 3DOF-C ------------------
;---- Serial Port Control (Bot Board / PC) ------
;-------------- Round Body (H3-R) ---------------
I just examined the BASIC program generated by PowerPod for 3D0F-C, and I see 18 pulse width commands for the leg servos. These are channel and pulse width commands (no gait generator).
What program is needed on the PC to send commands to the Atom for the above generated code sample? The Atom program appears to expect 7 character or so command packets that possibly mimic the PS2 Robot Controller (DualShock)?
The new PowerPodPro sounds great! I have a few gaits I’d like to try. When do you expect it to be available?
It’s considered one DOF for every joint. Count the servos used in any setup and that will give you the DOF # you are looking for. For example, if one leg has 3 servos, it is considered to be 3 DOF, two servos - 2 DOF, 10 servos - 10 DOF.
No offense, just trying to help you get up to speed.
It’s really quite simple. DOF = how many servos in the appendage. A 3DOF leg has three servos. A 2DOF leg has 2 servos. A 5DOF biped leg has… Bingo 5 servos. lol
No way Jose on the 3DOF program using the built in hexapod sequencer.
Have you looked at the help PDF for PowerPod? This will explain how to send commands to the Basic Atom from a PC serial port for total control of all aspects of the walking gait. Yes, I believe he may have set up a virtual PS2 game controller that can be implemented in your PC program. There are C examples for doing this.