RC 4/6-CH controller for HEX?

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 :laughing:

What I’ve gathered so far:

  1. Capture PWM input from receiver (2 channels)
  2. Decode/ interprete the command signal (forward/reverse/left/right)
  3. 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 :question:

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 :unamused:

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

RC ------> Atom1---------> Atom2 --> SSC32
foot sensor + accelerometer—|

Ops forget to add that I intend to add a pan/tilt wireless cam so I can use the spare channels on the RC control for this as well.

left controls right controls

(+) pan / tilt (+) forward/reverse/left/right

Z

Is this a 12 servo hex or an 18 servo hex?

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? :wink: 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.

Unfortunately, it’s a 18 servo hex… :cry:

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? :unamused: Ur V3 is truely an inspiration. Trying to incorporate yr V3 RC control with yr V4’s spec (terrain adaptation)

Cheers
Z

Well that IS translation. :unamused:

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.

:question: 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??

:arrow_right: Thanks for the advise. Appreciate it.
I already have a SSC32 and still playing around using SEQ :angry: 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. :wink:

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.

Roger tt :smiley:

Will do more research on the Atom + SSC32
==> I’m all thumbs when it comes to programming :cry:

Sorry someMORE newbie questions: :blush: :blush:

  1. What do U mean by gait engine? Thought SSC32 already generates codes to for atom? Or by using PEP excel to generate SSC32 code then export to Atom??

  2. Was thinking to export then run from the eeprom. I can reduce the loading on the Atom, right :question:

  3. can I use a 3rd part processor board: eg, PIC or atmel to run the codes in the EEPROM of SSC32?

Hey, no info is off topic if it’s related to interfacing RC to control SSC32 :exclamation:

U’re more than welcomed to explain in further details. :smiley:

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?

Hi Jonny,

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

Kurt