Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started
Asked — Edited

Camera Tracking And Robot Following Question

I am in ARC and using only the Camera and Modified servo Movement Panel controls.
The camera/horizontal_servo does a fine job of color-tracking a stationary red target.
I have forward and left/right movement enabled in the Camera control.
I Start forward motion in he Movement Panel, the robot moves forward, the camera tracks the target, but the robot never turns toward target.
Just to make sure I also did not command Start (in case the Camera control performed that task) and the robot did not move.

It seems so simple. Am I doing something wrong?


Upgrade to ARC Pro

Harnessing the power of ARC Pro, your robot can be more than just a simple automated machine.

Post your project file here in a message:)
File posted in cloud public domain as Track Test.

Category: Examples
United Kingdom
When testing the tracking on mine yesterday I was having this problem also (plus a bunch of other issues relating to the tracking and incorrectly identifying faces, colours and movement sending the pan/tilt of the camera to go totally crazy!)

Any help on which settings to have turned on and off would be a great help.

This is the Hardest Section to get working for me. I still have not got that part. All of the other sections are LIGHT YEARS Ahead and work great. I KNOW that it works, because I saw it work in D.J.'s video. But, you have to set all of the items correctly and have good sensors. I have completely re-built my robot and replaced all of the wiring and sensors, but, still have problems. My apartment is just too small and cluttered to really give it a fair test. Also, my lighting is not too good. If you don't have proper lighting or only some types of sensors that don't sense right, it won't work. On another project I did, the robot sensed and worked fine. But, it was made when I have had a proper place for it. I had sonars and IRs because some of them won't work in direct sunlight and some won't work in UV light or with the color black. I had a sofa/couch set that was black and a fireplace screen that was black and they ran right into it. And, it would run into chair legs and table legs before. But, when I placed BOTH IRs and Sonars and did it INdoors, it all worked. I used EZ-Max sonars and Sharp IRs.
I have built probably more than a dozen robots and ONLY that little robot Bob which is on my
avatar worked. Sadly to say, BOB is no more after 5 years. I took him apart to use the sensors on my EZB project. He was the ONLY robot I built that worked Perfectly.
United Kingdom
That explains my issues with my sensors, I have black furniture so I guess my robot wont be autonomous after all... Well, not without additional sensors and additional lighting for the camera.

I'm glad it's not just me with this issue but wish I knew about it before, now I have to buy extra items and pay more excessive shipping costs... Does the expense ever end?..
Unfortunately, robots are like women - you always seem to be spending money on them and never quite get the satisfaction you were hoping for...Moments of extreme happiness and longer time periods of extreme frustration...haha
United Kingdom
Very true... Although mine didn't complain once about the mess my living room and kitchen were in and is now quietly sat in the spare room... Robot that is, not woman :D
Not having an extreme amount of time with my setup yet, I too have found camera tracking to be tricky. What I noticed from example code from DJ is that, at least for motion tracking, you need to let the camera "rest" before scanning the next frame. In other words, the camera needs to be still on a target frame for about a second or two in order for the frame to resolve during delta processing. Once that occurs and the frame is "clean" and has resolved the actual moving element, then you can "use" the results. Otherwise, I find that if you try to scan too often and quickly, the frame never resolves and you end up with endless noise that the motion algorithm can't resolve, and thus, the servos go mad chasing ghosts.

What ever sensor you have, get the other one to add to it. If you have a sonar, get an IR and the reverse. This will cover Most of the bases and will see black. I forgot which one was which. Also, my florescent lighting messed up one of the sensors trying to work.

D.J. will say the final word on that. I am just trying to be helpful.
Please post your project in a message within this thread by using the "Attach File" option to the right of the message dialog box. Select your file with BROWSE, and press UPLOAD.:)

When "Motion Tracking" is enabled as a tracking method, the robot's camera would need to be stationary and watch for "motion". If the robot were to move, the entire image would change and therefore result in "motion". "Motion" is when objects within the camera view have changed:)

Color tracking very easy also. Select Color Tracking, and switch to the Color tab. Now you may hold your specified desired color up to the camera, and slide the Brightness dial until only the object is detected. Move it around to ensure it is detected from different shadows of light.

You will require proper lighting for color detection - and of course, if you have other similar colors in the room will cause a problem:) .

Glyph detecetion will detect the 4 glyphs printed on paper. You can press the ? button within the camera control (next to the X Close) to view the tutorial help. The glyphs can be printed from that page.

Face detection is harder on the CPU, but it should be obvious as to what it does:)

Please refer to my initial post

I am uploading the simple file as directed.TrackTest.EZB
I'm not fully sure what you're asking, but i think you are asking to have your robot move around to track an object? If so, you do not have "Enable Movement Tracking" enabled. If you want your robot to track an object by "moving the robot", you will need to check "Enable movement Tracking".

"Enable Movement Tracking" will use a movement control to move your robot toward the detected object.:)

Every control has a ? next to the Close button. Press the ? to load tutorial/help for that control.

User-inserted image

Keep in mind, if you select "Enable Movement Tracking" and you also select "Enable servo Tracking", then you have two tracking methods. the option is there for advanced users who have robots setup for two tracking types. I'm sure you can imagine in your head will what ill happen:)

Best to use one or the other until you have more experience:)

Thanks again for your help.

I didn't understand enough about the two tracking types. I was thinking I needed only to enable the servo tracking, forward movement, and left/right movement for which the robot would home on the target. For some reason I was thinking that the motion tracking applied to a moving target and I had a stationary target, but of course it is all relative whether the target or robot is moving. I had played around with all of these but did not stumble on the right answer, even though I had read and viewed the tutorials. (I know.... it's hard to make them all inclusive.)

If I enable everything but relative position tracking my robot DOES home on target.

However, all I really need to do is hard mount the camera and enable relative position tracking and movement tracking, and allow forward and left/right movement. I did this by disabling the camera servo and the robot homed on target.

I hope that documenting my experience here will prove of use to other newcomers.