Cinematic techniques from normal tracking shots to dolly zoom (vertigo) are achieved using multi-axis gimbals that can maintain focus on a stationary target while the camera is moving. For our UIUC ME 461 design project, we are testing our own custom-designed 2-axis automatic aiming gimbal mounted to a three-wheeled robot car. Our calibration is done using a laser pointer attached to the gimbal end effector. The objective is to maintain accurate targeting (within a 2-inch radius) while maneuvering the robot around the field.
Functionality:
The robot is initialized near a corner with the distance sensors parallel to the walls. No more than 1.4 m may be between the sides of the robot and the walls. IR time-of-flight distance sensors on the front and right sides of the robot obtain the wall distances, which are used to compute the initial target angle. As the user drives the robot using LabVIEW, the laser pointer remains focused at a single point at the corner of the walls until the user provides input (pressing T for pitch up, G for pitch down, F for yaw left, and H for yaw right) to adjust target position. The driving commands are WASD where W is forward, S is backward, A is left turn, and D is right turn.
Once initialization is complete, the robot continuously recalculates its position based on Dead Reckoning with the rotations of the wheel encoders. Heading is determined via the built-in MPU-9250 gyro. The pitch angle is based on the initial distances from the walls plus the x- and y- distances the robot has traveled. The yaw angle is the difference between arctangent of the y-position divided by the x- position and the robot’s heading angle. Servo ranges were recalibrated from the range suggested in ME 461 Lab 3. We achieved this by checking the percent duty cycle at +45 degrees, -45 degrees, and 0 degrees and performing linear interpolation on the data points. The slope of the line was -2092.65 degrees/percent duty cycle.
Limitations:
One limitation is oscillations in the motion of the servos. We have to send the commands at a rate of 248 ms in order to not crash the TCP server that we use to communicate with LabVIEW. This prevents the servo from moving perfectly in tandem with the robot. Another limitation is that the range of motion of the yaw servo is only 180 degrees. This limitation results in loss of aim at certain robot orientations when the servo hits the hard stop.
Possible future directions of the project:
Additional mechanical damping could be included to reduce the impact of high frequency disturbances. This is especially important if the gimbal is used with a camera. Additionally, a 360-degree servo could be installed on the yaw to increase the range of angles possible. Other methods could also be used to reduce the positional drift, such using the IMU in a filter with the dead reckoning.
Demo Video:
Sensors and actuators video:











_3u05Tpwasz.png?auto=compress%2Cformat&w=40&h=40&fit=fillmax&bg=fff&dpr=2)

Comments