PDA

View Full Version : [Project] Explorabot - Roving wireless camera bot.



Pinter75
10-23-2008, 09:00 PM
Howdy,

I was unsure wether to add this bot as my 1st competition bot or my Roving Servo Bot - http://forums.trossenrobotics.com/showthread.php?t=2538. I chose the latter as it is a more complicated design and build compared to this one.

I am going to replicate some of the documentation from my last post as they share the same chassis design, and bot board serail servo controller.

Aim of bot
Just for fun, and I had the bits lying around with no obvious purpose - make a remotly controlled roving camera bot. This is an expansion of my existing bot tech, I used the same chassis design and re-used code with a few neat additions. Also I wanted to explore new ways of controlling my bots.

Here is how the bot works (electronically).

PC (manual or programmed output) -> Bluetooth TX -> Bluetooth RX rs232 adapter -> PIC16F84 - Servos.

It uses my home brew "botboard", it is a 12 channel serial servo controller using a PIC16F84 running at 20Mz. It allows "position and hold" data for the servos, giving static torque which is perfect for robot arms.

http://www.ecodomehome.co.uk/bots/botboard.jpg

As I was prototyping it is made out of stripboard. It has connectors for 0-12v, rs232 data in, gnd and +5v (+5v for powring the Bluetooth adapter). Also dual voltage regs for the servo power because when the servos are static they are still powered.

The PIC is programmed to allow a stream of serial data @ 38400 baud to position the servos in real time.

From vb I output
Code:


serialPort.Write(Chr(ServoNum) & Chr(0 - 240))
ServoNum = 0-8 then a position 0-240 - 127 being about center.

One neat thing about the pic code is that it allows the use of "Default position". Within the controller app I can set a desired "start-up" position, send this to the bot and on next powerup it will move the servos to this position.

Bot construction.

Servos used.
1 large (Futaba S3003 360 degree mod): Drive Left
1 large (Futaba S3003 360 degree mod): Drive Right
1 mini (eSky): Light switch
1 mini (eSky): Pan
1 mini (eSky): Tilt

The chassis of the bot has to contain 2 drive servos, 1, pan servo, batteries, controller board and connectors/switches. I chose 3mm sign board, the stuff sign makers use for out door signs. It is dirt cheap, easy to cut and super glue loves it! It is also hardwaring, waterproof and can be sanded.

http://www.ecodomehome.co.uk/bots/CIMG0463.jpg

Here you can see the chassis under construction. The servos have been modded to provide 360 degrees of rotation. I epoxied round servo horns to a couple of RC plane wheels. You can also see the rs232 port, power switch and battery box.

http://www.ecodomehome.co.uk/bots/CIMG0474.JPG

Now I needed a 3rd wheel. I decided a tail wheel from a rc plane would work best. These have hardware to allow the wheel's shaft to rotate around the Z axis.

http://www.ecodomehome.co.uk/bots/CIMG0468.JPG

The cameras pan and tilt base were made from styrene sheet. Movement is provided by 2 micro servos. Here you can see the 2.4Ghz color cam and nifty Ultra Bright White LED.

http://www.ecodomehome.co.uk/bots/CIMG0472.JPG

Light on :-)

http://www.ecodomehome.co.uk/bots/CIMG0470.JPG

The completed bot. As you can see it is nearly identical to my roving servo arm bot. The chassis can be used for many varieties of mobile bots, I have more planned. Comms are via a Bluetooth to rs232 adapter.

Now for the controller software.

As I wanted to use a better input device than a mouse or keyboard for driving this around, I decided on a joystick. Luckily I had a logitech game pad to hand that would be perfect. Left hand hat does the driving, right hand stick does the camera motions and the top buttons control the light.

Here it is

http://www.ecodomehome.co.uk/bots/eb_app.jpg

Again this is coded in vb.net. It does not have all the functionality of my robot controller software, because it is not needed. This is a weekend hacking project just for fun!

The values from the joystick are captured from the DX interface and translated into a point between 0 and 200. These values are sent via the serial port to the pic which positions the servos. Value 127 is the approx center value for the servo, so <127 is down and >127 is up. I stream the data to the port on every input change from the controller.

The camera.
It is a 2.4Ghz colour micro cam with sound. Here is the setup.

http://www.ecodomehome.co.uk/bots/CIMG0469.jpg

So thats about it for this one.

Here is the YouTube video of it in action, enjoy!


http://www.youtube.com/watch?v=3idQN8rQHFE

4mem8
10-24-2008, 12:34 AM
So cool Pinter, so cool, Any vids through the camera? Keep up the good work.

avishekghosh07
11-12-2008, 09:22 PM
Hello pinter,
Nice project. I'm looking for explorabot software. Can u help me to get it. Thanks.

Adrenalynn
11-13-2008, 02:08 AM
Hi Avishekgosh -

How much use would the software be to you since you don't have his homebrew controller? Just wondering... That kinda stuff is generally targeted towards a build - why not write your own control software that talks to whatever hardware you're using?

avishekghosh07
11-14-2008, 09:40 PM
Thanks for the reply,
Actually i dont have sufficient knowledge to write this type of programme. I use to assemble hardware of robots as like circuit diagrams, soldering & wiring. So i am trying to make the robot which pinter has made. So i'm looking for the software to controll my robot and i am asking for help. Thank you.
Avishek.