Trekker - OpenCV & Raspberry

 

Well this is not my first robot but as a software developer i felt maybe i can do something interesting right now. Right now the robot can be controlled via a web client as well by an android app and he is capable of doing some computer vision. I'm speaking of tracking a friendly green ball :) ! What i'm really excited about is to execute machine learning models on that platform and i want to do as much as possible on the pi. Next goal will be chasing around my roomba.

HW Specs:

1 x self built robot platform

1 x SainSmart L298N Dual H Bridge Stepper Motor Driver

4 x Stepper Motor

1 x Pi Cam v2

1 x Raspberry Pi V3

Software:

language: python

libs: opencv, rpi.gpio, pigpio

Running Stats:

 fps: 12 

 


 

28.12.17 The original goal was to execute a machine learning model on the raspberry pi. I think tracking an objects fits the bill. Wrote an environment to train an agent. Will be fun to extend that for even more fun. I successfully trainend an agent that moves until the tracked object appears in the center of the screen. Will be a lot of fun to extend that :)

machine learning

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


 

29.09.17 Robot capable of providing a video stream and i made some mechanical improvements :) 

camera stream

https://www.youtube.com/watch?v=YTEw6-xEt_8


Robot remote controlled via android app as well as mechanical improvements :) (02.06.17)

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

 


 

Robot should detect that green ball as fast as possible and translate its position into immediate action. Take the balls position and drive left right forward or backwards.

https://www.youtube.com/watch?v=Zv644-jaeuU


Robot remote controlled by web client

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


Robot: tracking the friendly green ball demo 1 (18.05.17)

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


Robot: tracking the friendly green ball demo 2 (18.05.17)

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

 


 

Robot: tracking the friendly green ball horizontally (19.05.17)

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

 

 


 

Robot: tracking the friendly green ball vertically and horizontally (22.05.17)

https://www.youtube.com/watch?v=yFBGfHjH-go


This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/trekker-opencv-raspberry

I like the ball tracking.

I like the ball tracking. Did you use Python and OpenCV? I’m working on a similar robot now, using a Dagu Rover platform and a Raspberry Pi Zero W.

Yeahh the tracking…

Yes im using python and opencv. The tracking is the most interesting thing about the robot for now. Once the tracking is fast and reliable enough the goal is to chase my roomba :slight_smile: But i have a lot of things in my mind that will be interesting to watch as well.

Yeahh the tracking…

Yes i am using python and opencv. Once the tracking is fast and reliable enough it would be nice to see it to chase my roomba around. The tracking is actually kinda hard to implement the toughest thing about it is to make it as fast as possible. If you are using opencv and python as well i’m glad to help :slight_smile:

The last video looks really

The last video looks really well. What fps did you achieve during image processing?

**Environment & FPS **

Yeah i’m using opencv and python. Regarding FPS i measured it today and its about 12fps and thats as fast as it can get with that technology stack i think.

Yeah, I’ll be using OpenCV

Yeah, I’ll be using OpenCV and Python too. I’ve done quite a bit of OpenCV, usually with haar cascades to identify objects, faces, etc… I haven’t ever done object identification by color. I’d love to see the Python code you wrote to do your color tracking if you don’t mind sharing it.

Mobile interface

Hey nice work! It took me ages to build a web interface for my robot, so I’m curious on how did you implement the mobile app thing? How does the android app interface with the raspberry pi?

Thanks man ! Its a native

Thanks man ! Its a native android app. The android app communicates via sockets with the robot. The interprocess communication is done via sockets as well.