This is my second robot project. In this project i switched from Arduino to Raspberry pi. The planned robot will be using the raspberry pi camera and opencv for image processing. The robot is based on the RP5 tracked chassis.
This project is sadly enough still on hold, but hopefully I'll continue with it soon. Since the raspberry pi 3 is out, I'll probably use that one instead.
Unfortunately this project has been on hold for some time now. The Ni-MH-battery pack and its MAX713 charge circuit performed poorly, and will therefore be replaced by a Li-ion pack. In order to perform the image processing faster, The Raspberry Pi model B+ will be replaced by a Raspberry Pi 2.
Alright, it's been a busy week and now the hardware is almost finished. I've been having some problems with controlling the motors using software PWM. I'm gonna switch to a hardware PWM module for that more precise PWM signal. I've been playing around with the raspberry pi camera and opencv and I'm really getting the hang of it. I'm only doing some template matching in opencv so far, so there's no real face detection implemented yet.
This project started a couple of months ago so I've already done a lot of work. First step was to make a 3D model of the robot in Sketchup. By doing this I could easily plan the placement of components on the robot. After the 3D model was finished I purchased all the components needed. The RP5 tracked chassis has an internal battery pack (6* 1,2V rechargeable NiMH). I constructed a battery charging circuit based on the MAX713 charge controller and connected the battery pack to this board. I connected the output from the charging circuit to two individual SMPS-circuits, one 6V-output for the motors, and one 5V-output for powering the Raspberry pi and the servos. The Raspberry pi camera is mounted on a camera platform that allows both panning and tilting. The motors are connected to a PWM module that allows the motors to be controlled from the raspberry pi via hardware PWM. The raspberry pi is equipped with a WiFi dongle for easy programming over VNC. Speaking of programming, the robot will be programmed entirely in Python, mostly because I haven't tried python before and I wanna try something new.
I am experimenting with getting some microcontroller work along with RPi, or simply an arduino interfaced with RPi. Need to figure out a way where I can utilise all PWM pins of an Arduino through the I2C pins of RPi.
I am trying to Implement the same thing. I have just implemented the Pan and Tilt tracker separately but facing problems with the continuous jitter of servos.
Which PWM module are you using separately to supply proper PWM signals?
I've been having the same problems you describe. I'm gonna try the PCA9685 servo controller, which controls servos over I2C. I hope it'll fix my jitter problems.
Nice project Dennis! ^^