# Thread: Phoenix, a multilegged creature

1. ## Re: Phoenix, a multilegged creature

Wow cool... I don't know anything about that mumbo jumbo, sorry! But would be cool to have a nice transmitter for that critter. I'd love to learn all this stuff one of these days, that just looks way too cool, I'm still in awe

-Crabfu

2. ## Re: Phoenix, a multilegged creature

Hi Zenta,

I just placed a reaction on the LM site to but once again: COOL! I love what you did with the combination of real time calculations and sequences!

Xan

3. ## Re: Phoenix, a multilegged creature

Originally Posted by Xan
Hi Zenta,

I just placed a reaction on the LM site to but once again: COOL! I love what you did with the combination of real time calculations and sequences!

Xan
Hi Xan,

Nice to see you here at TRC too!
Thanks to you and your work with the code I think the "Phoenix consept" are going to be pretty cool. I'm planning to modify a RC transmitter adding about 10 switches/function to one RC channel used as input buttons to command Phoenix for different PEP made sequences. I'm planning to make several funny sequences of Phoenix playing, kicking, walking over ++ the box.

-Zenta

4. ## Re: Phoenix, a multilegged creature

Hi,
I've spent some more time studying kinematics lately. I've worked more with Xan's code. If you study the subroutine BodyIK you can see that it takes care of Y-rotation and the pitch and roll rotation. I'm guessing Xan used the formulas I used in the PEP sheet for the roll and pitch calculation.
To be honest I've never been pleased with these simplified rotations (pitch and roll), because they are not real body rotation. They only uses FTAN to adjust the BodyIKPosY value.
If you compare these body rotations with the rotations Matt Denton demonstrates on his [ame="http://www.youtube.com/watch?v=ulno6A8b4HY"]videos[/ame] you'll understand what I mean...
Anyway, I've rewrote the BodyIK subroutine:
Code:
```BodyIK [PosX, PosZ, PosY, BodyOffsetX, BodyOffsetZ, RotationY]
;Calculating totals from center of the body to the feet
TotalZ = BodyOffsetZ+PosZ
TotalX = BodyOffsetX+PosX
;PosY are equal to a "TotalY"

;Successive global rotation matrix:
;Math shorts for rotation: Alfa (A) = Xrotate, Beta (B) = Zrotate, Gamma (G) = Yrotate
;Sinus Alfa = sinA, cosinus Alfa = cosA. and so on...

;First calculate sinus and cosinus for each rotation:
gosub GetSinCos [TOFLOAT(BodyRotX)]
sinG = sinA
cosG = cosA
gosub GetSinCos [TOFLOAT(BodyRotZ)]
sinB = sinA
cosB = cosA
gosub GetSinCos [TOFLOAT(BodyRotY+RotationY)]

;Calcualtion of rotation matrix:
BodyIKPosX = TotalX-TOINT(TOFLOAT(TotalX)*cosA*cosB - TOFLOAT(TotalZ)*cosB*sinA + TOFLOAT(PosY)*sinB)
BodyIKPosZ = TotalZ-TOINT(TOFLOAT(TotalX)*cosG*sinA + TOFLOAT(TotalX)*cosA*sinB*sinG +TOFLOAT(TotalZ)*cosA*cosG-TOFLOAT(TotalZ)*sinA*sinB*sinG-TOFLOAT(PosY)*cosB*sinG)
BodyIKPosY = PosY - TOINT(TOFLOAT(TotalX)*sinA*sinG - TOFLOAT(TotalX)*cosA*cosG*sinB + TOFLOAT(TotalZ)*cosA*sinG + TOFLOAT(TotalZ)*cosG*sinA*sinB + TOFLOAT(PosY)*cosB*cosG)
return```
I've also modified other parts of the code.
BTW, I've just bought a Futaba 7C 2,4 GHz RC remote control. This gives me much better control. I'm also going to modify the 7C. Posting more info about that later.
Here is a little video demonstration:

My wife are holding the cell phone camera , she was actually impressed this time! Sorry for the bad quality. When I find time for it I'll get my Sony video camera and make a real video/film.

5. ## Balancing Phoenix!

Hi,
I'm now very proud to present Balancing Phoenix!
Here are two pictures of Phoenix balancing her body while lifting one leg on top of some 5645 Hitec boxes

Another angle of view:

I've modified Xan's code alot lately and I've implemented a Balance Mode that take care of balancing the body in all dimensions (XZY), translate and rotate. This is similar to Matt Denton's balance gesture.
The pictures show Phoenix RC controlled when I remotely move her leg on top of the boxes.
Now Phoenix can walk with three different gaits (tripod, quadripple and wave). I can anytime switch between normal walking and balance walking.

I think that the balance ability is a major improvement and a key feature when it comes to terrain adaption. So far I've been impressed of what is possible with the Basic Atom Pro, but I think terrain adaption might be too hard for it. But we have to try!

And here is a little demonstration video:

-Zenta

6. ## Re: Phoenix, a multilegged creature

Very organic looking - that's amazing!

7. ## Re: Phoenix, a multilegged creature

Originally Posted by Adrenalynn
Very organic looking - that's amazing!
Thanks Adrenalynn!

Maybe I should call the balance mode for "organic mode"

8. ## Re: Phoenix, a multilegged creature

That's not a bad idea if you think about it. When you were changing gaits in balance-mode, I was reminded of watching insects and the way they alter their gate when climbing twigs and rocks and scurrying along - "organic" is probably more coined than "biomimetic" - but it's a heck of a lot easier to type/say/think.

9. ## Re: Phoenix, a multilegged creature

Zenta: Simply amazing, You have my FULL attention with this setup, You are a true roboticist at heart. Maybe one day I will have a go at this.

10. ## Re: Phoenix, a multilegged creature

Originally Posted by 4mem8
Zenta: Simply amazing, You have my FULL attention with this setup, You are a true roboticist at heart. Maybe one day I will have a go at this.
Thanks 4mem8! Just have to say that Matt Denton's work have inspired me alot.

Adrenalynn: biom.. what?

#### Thread Information

##### Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•