Object Tracking - Camera Mount Control

Introduction: Object Tracking - Camera Mount Control

About: Robotics and Automation Engineering student

Hello everyone,

In this Instructable I will show you the progresses made for my Object Tracking Project.
Here you can find the previous Instructable: https://www.instructables.com/id/Object-Tracking/
and here you can find a youtube playlists with all the videos and code explanations: https://www.youtube.com/playlist?list=PLKbB4w4UI4r...

So, we are finally able to move from the purely software and coding world to the real wolrd, putting the camera on a mount and moving the mount to follow the object, let's see how!

Step 1: Camera Mount:

This is the camera mount we are going to use. It is not fully compatible with the webcam and the way I fixed the camera to the mount is A LITTLE rudimentary to say the least :D

But it will do for now and in the future I will probably 3d print some kind of adapter or build it completely from scratch.

This kind of mount is often referred to as "pan and tilt mount" since they have 2 motor to control the pan (rotation on the horizontal plane) and tilt (rotation around the y axis or "up-down"), as shown in the picture.

Step 2: Arduino and RC-Servo Motors:

To control the mount we are going to use 2 RC-Servo Motors and an Arduino Uno.

In the picture you can see the connections needed:

Tilt servo: ground -- breadboard ground

VCC -- breadboard VCC

signal -- pin D6

Pan servo: ground -- breadboard ground

VCC -- breadboard VCC

signal -- pin D5

Step 3: Matlab Code:

The Arduino will be entirely controlled with Matlab, using the arduino toolbox from Matlab.

In this section you can find the code:

blueCircleFollow2.m is the "main" function, K_proportional1.m is an auxiliary script called from the other script, it basically contains the proportional controller.

The control approach used is shown in the picture: the reference position we want the object circle to be at is the center of the screen, the proportional controller will act on the servos control signal to get the error, defined as center of image - circle center, to 0.

Step 4: Performances:

Here you can find two videos showing how the algorithm and the controller performed.

In the first, longer, video the code, structure and control strategy are more deeply explained, the second video is an extract of the first one containing only the video of the system tracking the object.

As you can see the algorithm is more than capable to follow the object when it is moved around, but I believe there is room for improvements, introducing more complex controller than just proportional (coff PID coff coff) and a few other ideas.

If you have any questions don't hesitate to ask them in the comments, and if you want to see the next steps subscribe to my youtube channel, I will keep putting everything there!

Be the First to Share

    Recommendations

    • Game Design: Student Design Challenge

      Game Design: Student Design Challenge
    • For the Home Contest

      For the Home Contest
    • Big and Small Contest

      Big and Small Contest

    2 Comments

    0
    felimon26899
    felimon26899

    10 months ago

    Hi
    how can I use this code to detect the white circles not the blue ?
    thanks in advance

    0
    TheXXX29
    TheXXX29

    Question 3 years ago

    Hi.
    I'm working on a similar project and was using your program as a reference(hope that's okay)
    I just wanted to see the result and explanation videos but it says the videos are unavailable.
    Can you please send me the links that work or email me the videos?
    It would be really really helpful.
    Thank you, hope to hear from you asap! :)