PropHex- Umni directional, Propeller controlled Hexapod

Hey everyone,

Here are a couple of pictures of my omni-directional, Propeller chip controlled Hexapod. The body is a very slight modification of Lynxmotion’s AH3-R design. The electronics consist of two propeller servo controllers and a USB, Propeller prototyping board. The program is home brewed and is based on a walking program that I created for an earlier hexapod that used a BS2sx as the micro controller. I switched to the propeller because it has 8 cores that allow for true multitasking and it has 32k of RAM. The program allows the robot to travel in any direction and avoid things by looking left and right until it sees an opening, translating the Ping))) servo value to the values needed for the six legs. The demo video has the robot using a basic obstacle avoidance program where the robot is always walking in the direction that it’s “head” is looking. Anyhow, the robot is a work in progress, let me know what you think. Thanks!

Dave

in the “woods”

Children attacking




Hi,

Nice project! Are you planning of implementing inverse kinematics for controlling the hexapod too?

Hi zenta,

It’s really nice to "meet " you. It’s always inspiring to see what you, Xan and everyone else here comes up with.

I remember reading your article in “Robots” on inverse kinematics and I don’t think that you would consider what the program is doing as IK. The program works by calculating what proportion of the movement has to be done by the “hip” (servo attached to the body) and what proportion has to be done by the “foot” (servo attached to the tube) in order for the robot to walk in a particular direction (in this case, determined by the direction the “head” is looking). The program does this for each of the right legs and then reflects the movement to the left side legs. The program never calculates where each leg needs to be at any particular moment which is what, I think, an IK engine does? By relying on the relationships and reflecting the movements, I’m able to use a very small about of variable space for the entire program. Originally I had to do this because, because I was using a micro controller (BASIC Stamp 2sx) that was severely limited on variable space(only 26 bits total!). I’ve now ported the program from the BS2sx to the Propeller (shown) so program/variable space (32K!) is no longer a problem making the compactness of the program just a side benefit now.

Anyhow, please let me know if this answers your question. I’m looking forward to your next project, do you have any more articles coming out?

Dave

P.S. I’m an entomologist and I don’t like spiders either! :slight_smile: