Shake Mechanism Project: Integrate into MoVI Controller

Discussion in 'MōVI Pro API' started by Ben Glass, Jul 6, 2017.

  1. Ben Glass

    Ben Glass New Member

    Jun 15, 2017
    Likes Received:
    I am an intern working for a small film company in Boston, Massachusetts. My term goal is to create a simple mechanism that adds artificially generated shake to a camera frame. An example application of the mechanism could be that an operator wants shake in the camera when they are shooting a fast car chase scene over bumpy terrain. The Vibra Box by Filmotechic is an example of a quintessential mechanism used in the professional industry.

    The project centers around the MōVI Pro. With Freefly’s release of their API, the MōVI Pro’s mechanics became accessible.

    I have an Arduino Esplora microcontroller feeding commands to the MoVI Pro GCU. I have pan and tilt set in RATE. From there, I exploit a sinusoidal function to incrementally add and subtract value to and from the pan and tilt rates. With each loop of the Arduino code, the sin function output changes, thus pan and tilt adjust. Because the speed of the Arduino loop can be dictated by the Arduino delay function, I have the capability to control how fast pan and tilt change values. Furthermore, the period and amplitude of the sin function can be changed to add more or less joggle to the frame.

    For randomness, I have a variable that controls the amplitude of the sin function. This variable is set at the beginning of every Arduino loop to a random integer value between 1 and 5. This creates spontaneous surges in camera movement. The issue is that these “surges” are truly random, and the position of the lens will veer off center sometimes. Without random amplitude, the camera joggles, but remains centered.

    I am reaching out for general comments and suggestions on this project. One major problem is the cheap-ness of Arduino. If there was a way to integrate this code into the Playstation controller that Freefly supports, that would be perfect, as the PS controller is more durable. If that is not an option, is there another way to integrate this project into a Freefly controller?
  2. Andy Johnson-Laird

    Andy Johnson-Laird Administrator
    Staff Member

    Jul 31, 2012
    Likes Received:
    Ben: Might the MoVI Pro's Pan and Tilt "Shaky Cam" mode be relevant to your project? See Page 93 of the MoVI Pro manual.


    Forensic Software & sUAV / Drone Analyst : Photographer : Videographer : Pilot (Portland, Oregon, USA): Trees=2, Ground=1, Props=11. :(
    The Ground Is The Limit™
    ---------- Forensic Drone Analyst : Forensic sUAV Analyst : Forensic Unmanned Aircraft Analyst : Forensic Drone Expert
  3. Deniz Ozgoren

    Deniz Ozgoren Support Mage
    Staff Member

    Dec 17, 2015
    Likes Received:
    Arduino is just a platform. There are thousands of PCBs that is based on Arduino.

    You can use any platform that can run C code and has a serial output.

    "Because the speed of the Arduino loop can be dictated by the Arduino delay function"
    • I would set the loop to be 100hz and not change the speed of the loop. Instead you should modify your shaky cam function.

    "Might the MoVI Pro's Pan and Tilt "Shaky Cam" mode be relevant to your project?"
    I don't think so. I personally don't like the implementation. Shaky cam mode in MōVI Pro feeds in accelerations for shakiness, which in my opinion is not super useful
  4. Graham Futerfas

    Graham Futerfas Well-Known Member

    Oct 19, 2015
    Likes Received:
    Cool. Nice work Ben!
  5. Tim Sessler

    Tim Sessler Active Member

    Aug 12, 2013
    Likes Received:
    Super interesting - curious to hear if there are any updates on this?


Share This Page