Contest Entry - Full Control (Motion Control Camera System)

Posts: 54
Joined: Thu Jul 07, 2011 1:43 pm

Contest Entry - Full Control (Motion Control Camera System)

Postby anewsome » Mon Aug 19, 2013 10:55 pm

Full control is a programmable real time motion control system for cinema camera. Real time means that this system is designed to operate a cinema camera in real time as the camera is filming, not stop motion cameras like some of the motion control rigs you see around.

A few goals of the system from the beginning were:

* Operate 6 axes of the motion control rig. Those are: PAN, TILT, LINEAR MOTION, ROLL, FOCUS, ZOOM.

* Allow an unlimited number of "presets", camera positions that can easily be flown to with a single push button.

* Allow repeatable camera moves with millimeter precision (crucial for green screen and vfx).

* Allow motion control sequences of unlimited length to be recorded in real time or programmed step by step.

* Allow motion control sequences to be easily editable as the scene changes dictate

* Allow motion control sequences to be played back and synchronized with music or LTC (linear timecode). This is crucial for music videos and editing.

* Allow real-time control of the whole rig from laptop, iPad / iPhone or a combination of many of each. For example, a rig operator on an iPad operating only LENS ZOOM and LENS FOCUS. Another rig operator with another iPad in control of LINEAR MOTION, PAN & TILT. A third operator could use a laptop to record sequences and operate the ROLL function of the camera.

* The entire rig must be portable enough to take on-set, setup quickly, get up and running quickly, work flawlessly and break down just as quick.

The current state of the rig is that it works very well. It does everything that I initially set out to do. I've recorded quite a few sequences with the rig and I'm very happy with it. Along the way I've learned quite a bit and I've come up with quite a few things that will be done differently when I build the next version of this rig.


The hardware list is pretty long so I'll start with the Phidgets and then list out some of the mechanical parts.

1x Phidgets SBC2
6x Phidgets 1063 Bipolar Stepper Controller
2x Phidgets 3303 NEMA 17 Bipolar Stepper (Focus & Zoom)
1x Phidgets 3317 NEMA 17 Bipolar 5.18:1 Planetary Gearbox Stepper (Linear Motion)
3x Phidgets 3318 NEMA 17 Bipolar 26.85:1 Planetary Gearbox Stepper (Pan, Tilt & Roll)

Motion Control Parts from SDP/SI
1x S50TLC-75H18H37 Flexible Coupling
2x A 6T 4-H10DF5020 .375in 10 Teeth Nylon Shaftlock Pulley
1x A 6R 4-C050 3/8 Pitch 1/2in Wide Open Ended Neoprene Belt
2x S40PX0-CHS3-012 .375in Diameter 6in Length Stainless Steel Rod

Parts from McMaster Carr
2x 8116K72 15mm Steel Rod, 1ft Long

Allied Electronics
12x 70181848 Standoff; Threaded 6-32; 1.25in
1x 70183251 Terminal, Scrw; 6-32; Brass; 1/4 in.; 0.452 in. L x 0.327 in. W x 0.512 in. H
1x 70181499 Scrw; 6-32; Binding; 0.5 in.; Steel; Zinc Plated; Slotted
1x 70020291 ALUM ENCLOSURE, 2 PLATES, 10 SCREWS, BLACK ANODIZED, 2.11 H X 6.68 W X 8.66 L

Vetco Electronics
6x 4pin Din Female Panel Mount Jack - Locking (CAL-30-482), Vetco Electronics
6x 4pin Din Male Inline Plug - Locking (CAL-30-457), Vetco Electronics
1x 4pin XLR Panel Mount Power Connector
1x Panel Mount RJ-45 Ethernet Jack

My Cable Mart
6x [FS-USB-ANB5-6IN] 6 INCH USB 2.0 Certified 480Mbps Type A Male to Mini-B/5-Pin Male Cable

That's a pretty good listing of most of the parts I bought to build the rig. I also designed quite a few parts and made them on my 3D printer. Those include:

3D Printed Camera/Rails Platform

3D Printed Stepper Motor Mounts for 15mm Rails, Focus & Zoom

3D Printed 15mm Rail Mount for Anton Bauer Battery

Pillow Blocks for bearing & pulley

Motor Mount (not currently online, see pictures)

Overview of Operation
So now that you know what this rig is supposed to do and all the parts involved, let's go over an overview of how this thing works.

Inside the aluminum case is a Phidgets SBC2 running the stock Debian Linux OS. Also in the case and connected to the SBC2 are the 6 Phidgets 1063 Stepper Motor Controllers. On the outside of the case are (6) 4pin DIN connectors which are wired to the stepper controllers. Also on the case is the power connector, which operates at 12v DC. This entire rig can be battery powered or A/C powered.

The only software running on the SBC2 is the Phidgets Webservice, so there's not much too it.Power it up, wait a minute or so and the Phidgets are all available on the network. There's no display or anything for the SBC2, nor is one needed. I can ssh to the SBC2 if I need to troubleshoot anything.

The main brains of my application (called FullControl) runs on my laptop or desktop. The application is written from scratch, in Java and primarily with the NetBeans IDE (which is excellent). Even though I can control the rig from any number of iPhone / iPads, those apps communicate with FullControl and not directly to the SBC2.

Here's a few screenshots of the FullControl application and a brief description of what happens on each screen:

Motion Control Screen / Header ... 4%20PM.jpg
The header at the top of the app is always visible. It displays information about all 6 steppers motors. The serial number, current max speed, position of the stepper in both numerical position and real world values (feet, degrees, etc). The header also shows the staus of attached, engaged and stopped status of each stepper. The acceleration value for each stepper stays fixed as I've designed my own curves based speed ramps for the steppers (described below). My curves based system is a much more flexible way of achieving smooth starts and stops for camera motion.

Below the header are the main controls for positioning the rig and focusing the lens. These controls are also duplicated on the iPad app.

Also in the header is the lock target checkbox. This feature allows the operator to point the camera at a subject, focus it and then move the camera along the linear track. The lock target feature will lock the camera on that focus point while usint the pan, tilt and focus steppers to automatically keep the subject in focus. This is a really cool feature. Make sure you check out the demo video here: ... Update.mp4

and you can see the camera rig operating this move here: ...

Timeline Screen ... 0%20PM.jpg

The Timeline screen is the heart of the curves based motion control sequence creation and editing. The orange bar across the top of the timeline is in seconds, sequences can be as short or as long as they are needed. There is no limit to the length or number of moves within a sequence. The absolute postion of the selected stepper is at the left of the timeline. As the sequence plays, the position indicator will update the position in real time.

Each stepper motor has a colored line on the timeline and control points (bezier curves) describe the moves for each stepper over time.

The red vertical line represents the playhead for the timeline and it moves left to right as sequences are played. The playhead can also be draggged to a specific point in the timeline and the position of the camera rig can be positioned precisely with the control points and curves for each stepper.

The controls in the lower right of the timeline screen allow you to sync a sequence to audio file during playback, save and load sequences, adjust the length of a sequence and of course start and stop sequences (including the ability to loop a sequence for endless camera movement).

The iPad app does not currently allow recording, editing or playback of sequences ... 4%20PM.jpg

Presets Screen ... 2%20AM.jpg

This screen allows you to create, edit and delete preset camera moves. Presets can be saved in groups which correspond to a setup, venue, scene or whatever. There's no limit to the number of presets in a group and no limit to the number of groups that can be saved to the database.

Presets allow you to have quick one button access to sending the camera to a specific position. There are 10 preset buttons on the iPad app as well. These correspond to the first 10 presets of the currently loaded preset group. Each preset can also have a description so the operator can remember exactly what the camera position/focus is for each preset.

The iPad app does not currently have a way to change preset groups.

Recorder Screen ... 1%20AM.jpg

The recorder screen is used for recording sequences in real-time. This method creates events for each camera movement that is done with the motion control screen or iPad app. The recorder allows sequences to be played back, saved, edited, etc. This portion of the app is being deprecated because in practice, smooth moves are hard to do in realtime while controling 6 degrees of motion by hand. This results in sequences that need a lot of editing to be precise.

The timeline method of sequence creating and editing is much more precise and easy to make look good.

Speed Ramp ... 1%20PM.jpg

This screen allows you to customize the speed ramp for each stepper. This is a critical piece of the application. Being able to customize the ease in/out curve for each stepper could not be done with these bezier curves based speed ramps.

The speed ramp settings can be named and saved to the database also. The curves are interchangeable as well. A custom speed ramp that I like for panning, can easily be applied to linear motion as well.

Analog Sensors
This screen is currently not used. This is where I'm developing joystick control for the camera rig.

Device Config ... 7%20PM.jpg

This is the screen where the config is kept for all steppers. Each config can be saved and recalled later. The mix/max for each stepper will be different for each camera/lens combo used. Also, if 4ft rail is used then the min/max for linear motion will be different than 10ft rail.

The midi configuration is also controlled for this screen. The iPad app connects via midi.

iPad App ... -07-27.jpg

As of this writing, this is my current iPad layout for controlling the rig. This is created with the TouchOSC application. TouchOSC connects to my main application using midi. The midi setup allows me to use TouchOSC or any app that can transmit midi, including hardwired midi controllers.

Currently each control on the TouchOSC app is hardcoded to a specific function in my main application. In the future, I'll make a learning function that allows me to assign controls on the fly. This will make it dead simple to plugin any MIDI controller and use the controls to position the rig.

Here's a few videos of the rig in action: ... tables.mp4 ...

Here's a series of videos made in Mar of 2012. This was prior to the curves based speed ramps and timeline implementation. ... 720%29.mp4 ... 720%29.mp4 ... 720%29.mp4 ... 720%29.mp4 ... 720%29.mp4 ... 720%29.mp4

And a few pictures: ... C_3721.JPG ... C_3720.JPG ... C_3719.JPG ... C_3718.JPG ... C_3714.JPG ... C_3711.JPG ... C_3705.JPG ... C_3702.JPG ... C_3701.JPG ... C_3688.JPG ... C_3683.JPG ... C_3682.JPG ... C_3681.JPG ... C_3680.JPG

Fresh meat
Posts: 1
Joined: Mon Dec 30, 2013 4:56 pm

Re: Contest Entry - Full Control (Motion Control Camera Syst

Postby jtcl2606 » Mon Dec 30, 2013 5:00 pm

Hi there,

I have a project that might involve a mid activated motion control camera.
Does your device allow a RED camera + lenses to be mounted?

Many thanks,


Return to “2013 Contest”

Who is online

Users browsing this forum: No registered users and 1 guest