Wonder if anyone controlled a Hex using the standard 4/6 CH controller used by airplane/heli RC pilots?
Seen it at micromagics and am planning to go in the similar way
What I’ve gathered so far:
Capture PWM input from receiver (2 channels)
Decode/ interprete the command signal (forward/reverse/left/right)
Base on command, send respective codes (forward/reverse/left/right) to SSC32
What I would like to find out is, whether a single Atom28pro would be able to handle the PWM input from the RC receiver and send commands to the SSC32
RC --------------------------> Atom --------> SSC32
foot sensor + accelerometer—|
There will also be an accelerometer + 6 foot sensors (it’s a Hex) so that the robot can have some terrain sensing capability while walking. There is not need for obstacle sensing since I (the controller) will be the eyes for it while moving around
Or would I require an additional processor used solely for capturing the PWM input and sending simple signals (3-wires for stop/forward/reverse/left/right) to the atom who would then send the command strong to the SSC32
If it’s a 12 servo hex then no problem. The Atom can easily read the controller pulses and send data to the SSC-32 for motion control. This hexapod can be controlled by a single joystick as you have descriped. This is because it’s considered a differentially steered chassis.
If it’s an 18 servo hexapod then major problem. I don’t know if there is time to read the pulses in between sending commands to the SSC-32, but that’s not even the problem. Controlling an 18 servo hexapod requires one joystick to control translation. Translation is walking in any direction, and can be described by putting your hand on a dinner plate and moving it all around the table while keeping your fingers pointing away from you. Cool eh? but the problem is you need an additional channel for rotation. Another problem is there is no PowerPod support for the Atom Pro yet. There is a version available here on the forum by Kurt that may be helpful, but I am still not sure the timing will work. I think the SSC-32 is updated too frequently to read pulses but am not sure.
I can probably forgo the translation for now, as long as i can get it to do a basic walk (forward/reverse/left/right).
Was thinking if i go with the 2 Atom configuration
RC ------> Atom1---------> Atom2 --> SSC32
foot sensor + accelerometer—|
The individual atoms will be doing dedicated jobs, and hence more free space to adjust/ fine tune program. But atom 1 will probably be under utilized.
But what i’m afraid is the time lag… the time for Atom1 to read PWM from RC receiver, then send commands to Atom2 before sending to SSC32…
OR would it be better(easier??) to run from the PC/PS2 controller?? Send commands via bluetooth to the Atom for translations and directions.
OR an alternative, I was looking at Arduino Diecimila arduino.cc/en/Main/ArduinoBoardDiecimila link to a SSC32, this is using a Atmel168 similar to SSC32 8)
16MHz
Flash Memory 16 KB (of which 2 KB used by bootloader)
SRAM 1 KB
EEPROM 512 bytes
Anyone has done similar projects before? Care to share your experience?
Matt? Care to give some directions? Ur V3 is truely an inspiration. Trying to incorporate yr V3 RC control with yr V4’s spec (terrain adaptation)
This is certainly doable if the Atom2 is not a pro and you program it with serial control option in PowerPod. Then Atom 1 is could easily read the RC receiver and send serial commands to Atom 2. Atom 1 would be able to do lots of other things too.
I thought you mention that:
"Translation is walking in any direction, and can be described by putting your hand on a dinner plate and moving it all around the table while keeping your fingers pointing away from you. Cool eh? "
Turning left/right on the spot and walking forward/reverse is also translation??
O? I was thinking of getting 28pro for both, so I have 2 processors running parallel to each other doing their respective tasks. I don’t think atom28pro is powerful enough for parallel computation rite??
Thanks for the advise. Appreciate it.
I already have a SSC32 and still playing around using SEQ Until I can sort out the RC part… I dare not invest in the brains of my Hex
turning left and right is rotation, walking in any direction is translation. If you want to control it like a car then you MUST be able to do both.
I do not recommend you use the Pro for the gait engine unless you are an experienced programmer because you will need to delve into complex programming to modify it to your needs.
As Robot Dude mentioned, I do have the Atom Pro converted version of powerpod, which has been posted before.
Also for my Rover, I have the Laser6. Currently on the Atom Pro, I have it intercepting all 6 channels reasonably well. I currently have it using the right joystick to do the differental drive and I plan to use the left joystick to control either the front gripper or for the pan and tilt, but obviously you could use it for other purposes like translation and rotation. My current version uses assembly language version hardware interrupts for the WKP interrupts as well as Timer W. I will gladly share this if anyone else would like to play with it…
The stuff is there, I just took a diversion to add Hardware I2C support for the rover. As I was processing so many interrupts (WKP, Timer, IRQ2, IRQ3, etc), I was afraid that using the bit bang versions of I2c would not be reliable, so I am implementing the hardware versions. Almost there… But enough off topic.
Bit of an old post but…
Hi kurt, Iv been planning a New design for a hexapod and iv been thinking about using my Laser6 for control.
Do you have any more info, tutorials, how to’s, etc, on how i can hook up a receiver to the ABB2 with pro?
I have not done much with the RC stuff in quite awhile. I found the overhead of reading all of the signals a lot higher than I wanted. There are posts up here that I did write some assembly language functions to be able to read in all of the channels in one RC pass, but still hung the processor out to wait for each of these signals, let alone eat up 6 IO lines to the BAP. So the last thing I did was to try hacking the RC receiver, to grab a signal before it got split to the 6 different channels. That worked pretty well. There is more details up on: viewtopic.php?f=21&t=6629&p=65391