Friday, October 16, 2009

Servo Tools For Maya Release v1.0.1


I have finally taken the plunge and released Servo Tools For Maya to the world!


Servo Tools For Maya is a Python Plugin that sends rotational values over USB the the Arduino Micro Controller. These values are then converted in to Pulse Width Modulation which is used to control multiple Hobby RC Servo Motors.

Applications for the plugin are only limited to your imagination. Some popular examples could be to drive complex animatronic puppetry or kinetic sculpture art installations.

Current Features Include:
- Control up to 4 Servos simultaneously. (see tutorials on how to add support for more)
- High Level GUI for building servoWrite node network.
- Ability to calibrate you servo's range and limits directly from Maya.
- Serial Connection over USB cable to hardware

Hardware Requirements:
- USB Cable
- Arduino Micro Controller
- At least 1 RC hobby servo

Software Requirements:
- The Scripts and Plugin available from this page
- Python (separate from the one that comes with Maya 8.5+)
- PySerial Python Module for Serial Communication
- Maya 8.5 or Higher (32-bit only)
- Latest Arduino Software

PLEASE NOTE:
I'm still prepping the Documentation in Video Form. So unless you are familiar with all of the above concepts, I would wait for the videos before you dive in. They should be ready in a week or two when I get back from holiday.

10 comments:

Marcel said...

Well done Dan. Very smart stuff.

I don't have Maya, but this being a Python script got we wondering if it would play with Blender?

I've been playing with Blender as I've just invested in SynthEyes matchmove software and wanted a 3D companion for it.

ASIDE: I used to have Lightwave but it's so long since I used it I don't think it'll run on any of my machines! ;(

Anyhoo... just wondered

Happy holidays.

Marcel

Dan Thompson said...

Hi Marcel,

There is an abstraction layer of Python code in the tools that could potentially be used with blender.

I would love to learn Blender and support it. But currently there's just not time for me to learn a whole new 3D package.

I will make sure I put up a tutorial on how to use the python module by itself (without Maya) as a stand alone command line tool. Maybe someone might like to try adapting it for use with Blender.

pixelgrit said...

That's really, really cool. Nice work on the icon design too! Be great to be able to use maya to control our time-lapse mo-con heads too... :)

J. Ramón Ruiz said...

I'm excited about this project! I want to build a camera crane to handle it from 3dsmax in my stop-motion/CGI projects. Thanks Dan.

Ramón

Anonymous said...

Hi Dan,

firstly i want to say thank you for your good job on that script! i´ve followed your videotutorial about the ServoTools for Maya, but unfortunately i am getting an error by activating the plugin - i am using maya2010 - do you know any advice that can help me-

thanks in advance

Dan Thompson said...

Hi Marcus,

I have tested it with 2010 32-bit and it should work.

I've created a forum for this tool on creative crash:
http://www.creativecrash.com/maya/downloads/scripts-plugins/utility-external/export/c/servo-tools-for-maya/topics#tabs

If you can write a detailed post on what the error says, when and where it happens in the installation process, I will do my best to help.

See you on the forum!

Thanks Marcus.

J. Ramón Ruiz said...

How it is installed and running? Do you have any tutorial?

Dan Thompson said...

Hi J,

I think Marcus is referring to the video tutorials on my vimeo page:
http://vimeo.com/7478595
I was not going to announce them until I had finished ALL of the videos. But you are welcome to jump in if you feel the urge :)

drOffset said...

This is awesome, thanks! I'll give it a try asap.

John Riggs said...

Hey Dan, I added you on linkedin to start some dialog about all this.. I have done an extensive rework of the servo tools to combine them into one file (no servo.py lib). I have also added the ability to use different controller types (arduino, ssc32, usb2dynamixel) I am however having trouble with changing the arduino sketch to get rid of the hard coded servo pins.. since the arduino side is new to me.
Thanks! And look forward to talking to you!