Pheonix Control - Maya Mel and Python

Hi first post on these forums so hi to all,

Just a quick question has anyone looked into using animation programs such as AutoDesk Maya to control the phoenix. It is really flexible and with the combination of MEL script and python it is pretty powerful. Unfortunately my knowledge of python is pretty limited.

I've been thinking about this for weeks and have even started building a small rig that could be used to control it. Featuring IK / FK and i'm working on a dynamic center of gravity so the when one or more foot is off the ground it can maintain its balance. Which should in theory work , even if one or more legs breaks or is disabled somehow , if i can work out how to get some feedback from the servos. 

I have even toyed about with some crude object tracking which worked pretty well.

Only problem is I dont have a pheonix, cant really justify buying one at the moment. So i cant really test my idea.

Has anyone tried Maya in the past ?

Do you think the idea would work ?

I’m guessin as I have had 148 views but no replys in a week that this hasnt been done before so i’m gonna look a bit further into it.

If anyone knows of any example python code that may be useful. I need to take a value of the angle of one of the joints and then send that angle to the servo. I’m lookin at SSC-32.

If i get chance i will rebuild my rig and start working in Maya PLE an older version of Maya but its free so anyone could have a poke and play about with the rig and look at how things work.

Some information for you… For the most part hobby servos are open loop from the controller standpoint. They simply take a position input in the form of a PWM signal and drive the output shaft to the corresponding angle. With a few notable exceptions there is no direct way to read the position of the output shaft of the servo. A controller such as the ssc-32 can be told to send advancing position to one or more servos over a period of time thus offloading a host from this task. You can query the ssc-32 as to what position it is currently sending to a servo, but again this is not feedback of the arm position so much as the current commanded position. There are some hobby size and form factor servos, usually labeled robot servos and proportionaltely more expansive than normal hobby servos, that have the means to query the servo position. I believe an upgraded version of the ssc-32 is being developed to allow direct support of this feature. There are also customized robot servos such as the dynamix which have no compatibility with anything outside their own form factors, command sets, and bracket systems designed around them such as the bioloid which have more of a computer type interface and allow direct access to the output position in their command set. These servos are no less expensive than the robot hobby servos but they have their pros and cons like any other product that could be applied. They do run from a higher voltage supply for example which could be either a good or bad thing depending on what else is in a given system. Figuring out which system to use is mostly a matter of evaluating what you want to do, collecting ideas on the different way you can do it, and picking your design approach accordingly. I beieve there is a hybrid version of a Lynxmotion Johny 5 with bioloid uppers bouncing around this forum and others. This is a good example of picking and choosing to get what you need to accomplish your goal.

Good luck.

I suggest you purchase an ssc-32 and three HS-422 servos to start testing your ideas. You could make a simple test leg (doesn’t really need to support weight) using common “kitchen drawer” materials and modify the servos and ssc-32 for servo position feedback (link below). For less than $100 investment you probably get the info you need to see if your ideas will work.

lynxmotion.net/phpbb/viewtopic.php?t=3182

O.k sounds good. So it is possible to get at least some feedback from the servos. Would that method work for all 18 servos ?

Sounds like i might have to get me one to see what I can do. At the moment 'm gonna concentrate on the rig. Feedback will be an extra feature that i can add in a later release i think.

If you need input from 18 servos, then the servo inputs will need to be multiplexed into the analog input(s) on the ssc-32. Some time back tried using two CD4051 chip to do the multiplexing for 16 inputs into a single analog input pin, but didn’t see the expected responses. I did receive a bunch of 74HC4051 chips from Jameco a couple of days ago, and will see if they perform the way I’d like. If they do work well, then one could have large numbers of analog inputs if desired. I suggest you go ahead and get the suggested servos and servo controller to start your testing before spending significant amounts of $$$. The ssc-32 has 4 analog inputs, so the input from 4 servos can be used without multiplexing. From my reading and my tinkering results, I think many people over estimate what can be done with just servo feedback in itself.