Monday, June 29, 2009

DIY Moco Update

So it's been several weeks since I posted any real progress on the DIY Moco front. So here is a bit of an update.

I was almost ready to release the software, but as I was going over the code I came across a few fatal flaws in my design :( The most obvious was that my position engine could only support one stepper motor! I thought it would be easy to make it support more. But due to the dynamic nature of the engine, I would have to resort to some serious multi threaded type coding and interrupts to get it to work the way I want. If you are not familiar with the Moco Tools For Maya project, here's an example clip. This is just one piece of a much larger idea :)

I discovered a new micro controller platform which is slowly louring me into it's multi-core ways. It's called Propeller and it's made by Parallax. I'm interested in it because it can run up to 8 parallel loops due to it's multi-core design. So in my case I would use one for serial communication, one for file reading and buffering and the other 6 would each have their own position control engine. Each Proc is called a "Cog" and while they function independently, they can all talk to each other as well!

If I was just reading the move data from a file, all of this would be much easier. But I am really interested in the interactive position control for all six stepper motors at the same time. This is why I'm seriously considering the propeller for this for this project.

On the weekend I attended an Arduino Physical Computing class. It was run by a couple of guys for the Adelaide Dorkbot chapter. Check out this post for more info. Fun was had by all!

At my real place of work I have be learning pftrack. It's a piece of software used for extracting a moving 3D camera from 2D footage. It's not the funnest job I've had to do, but iteresting none the less.

I've also been learning Perl and Processing. Why Perl you ask? The current interface for the openMoco timelapse engine is written in Perl. So if I am to speak to it, I need to know it's language (well, a little :) Why Processing? It's visual! and it plays nice with Arduino and I am in the early stages of writing a generic animation editor. Like the ones you see in most animation packages, only much simpler.

A few weeks back I did a talk about my motion control adventures for our local chapter of Dorkbot. It was well received.

Tomorrow night I am doing a talk for the Australian Video Producers Association. I'm tag teaming it with a friend of mine who is a professional timelapse photographer. Check out his work! I think it's beautiful.


ouazar.yahia said...

Where can I downlod MOCO TOOLS FOR MAYA, thanks

Dan Thompson said...

Um... nowhere :) As I mentioned in this post, there was a limit to the hardware that was fatal to the project. so I have stopped work on it. At least until I can find a suitable hardware platform for it.

I am hoping to learn more about the propeller chip in the coming months. Then I can start doing some more tests.



domdaigle said...

Hi Dan, my name is Dominic Daigle, I also work in a highend(but really small) vfx company. We are building a "artisanal" rig to film our miniature. I followed your blog and build the breadboard with the arduino and the easydrive and the stepper motor. I wanted to make it move using servo tools for maya, realizing later that what I need is moco tool. I have a couple servos so I can test with that but my problems is that I'm not abvle to install the in maya...tried 2008 and 2009, tried vista 64 and xp 32, basicly tried a lot of thing, could it be python 2.6 instead of 2.5? I would appreiciated you help on thta one and if you need help testing moco tools for maya that would be great cause I'm kinna stuck cause I don't know how to program for the arduino...I know it's a lott of info :) but hopefully I'll hear from you.

oh you can check our website, look under the matte painting tab that will give you an idea of what we do here.

Thanks and what your doing is awesome.

Dan Thompson said...

Hi Dominic,

I feel I must mention that this blog is just a way to document my hobbies. I do not have enough time to support my own ideas, much less other peoples. I would love to be able to offer support for scripts and things I release but I simply don't always have the time.

With that out of the way, if you are still keen to risk these tools on a real production, maybe you could submit your problems in detail (such as error messages in context) on the Servo Tools For Maya forum at

I'm hoping to build a colletive of user expiriences and solutions on this forum to help minimise the need for me to repeat myself as I try to help people troubleshoot their issues.

I should also mention that moco tools for maya is a name for an idea that is not ready for prime time yet. The way things are going in 2010 for me, I don't expect to be spending that much time on it this year.

Thanks for your comments and good luck with your endevours!


p.s. and they are both great resources for what you are doing.

domdaigle said...

Thanks for you quick response Dan. We are not really using our project on real production but it is for us a hobby also. Dunring down time we play with rthe rig.

So there is no way to recieve your script for the stepper motor..too bad, I guess I'll try to reverse engeneer whats out there since I have no idea on how to program the arduino or python.

Once again thank you


Dan Thompson said...

Hi Dominic,

Moco Tools For Maya is basically a position control system that will only work for one stepper motor in it's current form. It allows you tom interact with the motor via maya.

If you are interested, when I get back from holiday I can send you the code in it's current form for you to have a play.

You will see that it's quite limited in what you can do. But still it may be of interest to you. Let me know if you are interested. and send me your email.



domdaigle said...

Thanks Dan, yes I will love to have the code so I can play with it. My email is I'm sure that will give me an idea on how to proceed and you never know maybe something great will com out of it.

Thank you and I can't wait to get your email.


domdaigle said...

I Dan, I don't mean to botther you but per our last email conversation have you comme back from holiday? I can't wait to try your code.



Dan Thompson said...

Hi domdaigle,

Yes I am indeed back from holiday, quite the opposite already! :)

I have updated this post with links and instructions to the source code I promised you. Enjoy!

Unknown said...

Hi Dan, huge fan of your work. Would you release moco tools for those of us that would find use in controlling a single stepper with maya?

Unknown said...

I should clarify that I'm aware you already posted the code for the arduino and python side of things, but I would like to see the maya scripts as well. I hope it wouldn't be too much of a hassle.