loading
 
Robot tracking Robot
Jerry from United States  [8 posts]
1 year
Hey guys,

This past year I built an outdoor robot that follows a buried wire around the property. It weighs 250 lbs and was originally a garden tractor. I am building another one and I want to use computer vision for control. First stage of this project is to get the new robot to find and follow the wire guided robot. I have just a little experience with machine vision so this will be a large learning project for me. I have attached a pic of the two robots and also the preliminary RR program. RR program doesn't yet control the tracking robot, I am doing that with a RC transmitter. But it does acquire the target and with onscreen annotations tell me which way to turn and when to stop 5 ft away from the robot. The program works fairly well but I get false targets especially when the robot target is not in the viewing frame. The COG_X and the COG_box_size variables are written to the clipboard and will be used by a separate VB program to transmits control signals to the bot over a wireless link.

Right now I need to eliminate the false targets and if you have any suggestions I would appreciate it. Some of this is caused by video static.  I placed a video on youtube so you can see the RR action including the false targets. Also a copy of the raw video in case you want to run the program yourself.

Jerry
https://www.youtube.com/watch?v=rlrisIwi0X8 RR Part 1
https://www.youtube.com/watch?v=qAWQ41O_MG4 RR Part 2
https://www.youtube.com/watch?v=86au_Z1l5Q4 Raw Video

 

program.robo
Steven Gentner from United States  [1370 posts] 1 year
Jerry,

Nicely done! Those are good test videos. What we noticed is that when the detection fails it seems to pick up on non-square objects which is something that you can filter for. Have a look at the attached robofile and see how it performs in comparison to what you have.

Note we added in a media reader module to read in the stored video as the first module. You will probably have to change that when testing it.

STeven.
program.robo
Jerry from United States  [8 posts] 1 year
Hi STeven,
Thanks for the tweaks to my program. They helped a lot in eliminating the false targets. I was using the Gaussian Blur module and you didn't. Does the GB module help any in this application? This video is my first attempt to test the tracking of a moving robot and I was quite pleased with the performance. At the end of the video the tracking robot stops. It was in the shadows of the woods and on an upward slope looking at the bright sky and I think the red target just faded out. The camera is a gopro hero. Maybe not the best camera for the task.

https://www.youtube.com/watch?v=t3_mJLWanS4

This video shows a wire guided robot being tracked by another robot using a camera and RoboRealm software. The tracking robot transmits wirelessly the camera output to the base station where the video is analyzed by RR. RR feeds the COG_X & COG_BOX_SIZE variables by way of the clipboard to a Visual Basic program running simultaneously. VB massages the data and transmits motor  commands back to the tracking robot for navigation. The received commands are fed to a sabertooth controller that controls left and right turns and also the speed of the tracking robot. The tracking robot is about 10% faster than the lead robot at full throttle. My first attempt was to track at a distance of 5 ft but it turned out to be about 12 ft. I will adjust that for the next run.

Jerry
Steven Gentner from United States  [1370 posts] 1 year
Nice video!

Gaussian blur can help to smooth the image a bit and blend the colors into a more smooth object ... but this can also be done much faster using the Mean module. In your case, the camera is set to slightly oversaturate the colors which is basically doing the same thing. The red is really red in the image so I don't think you need to blur anything as the object detected seems nice and uniform.

To get the robot nearer, you may want to investigate a camera with a wider field of view as it will see more closer up. The other possibility is to use 2 cameras ... but that can get a bit expensive if you have to have 2 separate transmission systems. Typically with onboard processing adding in another USB camera would be quite inexpensive.

Let us know how it goes!

STeven.


This forum thread has been closed due to inactivity (more than 4 months) or number of replies (more than 50 messages). Please start a New Post and enter a new forum thread with the appropriate title.

 New Post   Forum Index