Let's Make Robots!

Roubot- My first one netbook controlled robot

moving on my orders, given through the internet.

This robot is piloted by me, using internet and a netbook.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

About Me and my project (you can skip this part ;-D )

 

First of all I want to apologize for my (bad) English. I'm 19 and I'm french.

I am student in an Institute of technology, learning sciences and measurement.

Robots have always make me dream, and a few months ago I decided to desing robots!

I would like to thanks LMR, for goving me ideas, motivation and inspiration!

But I didn't really know what to do so I made a background ( a big sheet of wood and 2 wheels with 2 continuous servos.)

I spend too much money so i didn't want to buy sensors (bad excuse I know)

And my netbook was here, lying down... I bought It because it was cheap (99€ ! ) but it was a bit uselless

But now it's usefull !

I have too much talk about me, lets talk about my robot!

 

Features of my "roubot"

 

my robot can go forward, backward, turn itself clockwise and anticlockwise.

The servos are piloted by an arduino duelaminove board, with a really simple sketch.

As input, the arduino board waits for order in the Incoming data pin.

Theses orders are sent by a small processing sketch (quite simple too) who send orders each time I press theses buttons on my keyboard: UP, DOWN, LEFT, RIGHT, CTRL (to stop the moving)

But there is a step left: I won't Follow my robot to keep in touch with my keyboard! I need to transmit orders via Wifi. So I use a VNC client, TEAMVIEWER, wich is quite easy (again!)

and allows me to have the control of my robot as if i was typing on my laptop keyboard, seeing what I could see on my laptop screen.

 

 

To fix/ to do

 

The mecanics is a little bit too small and too thin for the tall and the weight of my laptop.

So i need to design a new stronger one.

 

I have thought about some « add-ons »:

-Use 2 servo I have (non-modified, to make an arm, or a turret?)

-Add a webcam that i can move, maybe with an IR light :D

-a reload station (it's really cute to have dreams...)

 

Adding some photos

what you see where you are in front of my robot -left: webcam(like a mirror) -right: sketch processing (first version) 

what I see for exemple from my desktop (here with a computer not equipped with teamviewer, the framerate is better with the soft)

 

UPGRADE-21nov2010

 

my robot didn't move well, so I replace the motor parts:

using this (given by the little brother of my girlfriend)

I made this: (as you can see there is a little problem: I need a third wheel!)

 

There are two independant motors, with H bridge and all the stuff. I just remove the RC part (it still works, I keep it for another use but there are a lot of limitations like range or speed).

So i drive the H-bridge with PWM with my arduino board but I still have problems:

-if I use PWM library of arduino (fading) it works really bad: for high value ( Ton >> Toff) it runs, but too fast and with not enough torque: It can just move without the laptop and helping it.

-if i create my own PWM sketch it works better, because the frequency is lower so the torque is maximum at start and the robot go forward, and then it stops. It works, but it jerk: sart/stop/start/stop... another problem with this solution is that the sketch is a little more hard because the arduino "focus" on the PWM (it can't do anything at the same time).

 

UPDATE 4dec2010

 

I added a third wheel, installed W7 on my laptot (not really better ^^ ) and began to use Skype. ther are some thing to fix, the most important:

Change the electromechanical part (wheels, gears and motors) still too weak for the total weight.

Change the software for a much "DIY" solution (I am currently using teamviewer and skype)

 

new pics of my robot:

http://www.dropbox.com/gallery/14542308/1/roubot?h=c35691

UPDATE  23dec2010:

 

I use a new way to control my robot: using this http://letsmakerobots.com/node/22483 (well made ;) ) and the software Hamachi, which allows 2 computers to be connected as is they where in a local network, I can now send and receive data between a computer and my robot. The Processing sketch on my laptop doesn't need to have the focus, so I can let Skype in full screen. I have some improvements to make, but it works great :)

I am waiting for some servos to add an arm and a gripper, and to control (pan/tilt) a webcam (I won't use the built in webcam)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Try to install this. It should work.

Don't forget to read the README.

http://piratestudios.com/v4ljmyron/

same error, I tried to install it manually and using the script Makefile.linux , after editing it to send at the good locations.

I must say I'm a bit desperate ^^

I haven't tried yet, but the developer of it told me that another guy was able to move this code to Ubuntu 10.04 without any real problems.

What can I say? Try to follow very carefully the instructions...

I used it in a place where I hadn't internet so I had to use an adhoc wifi connection between the two computers, but when I tested the applications at home with the computers connected normally to my wifi modem network they worked as well.

I have the weight problem as well, I've built a smaller robot with some of the parts of the one I shown you but it has the same problems when turning. 

After a while I found remote control boring and I started developing some simple computer vision applications which I tested with this robot.

About the webcam, have you tried to use skype to transmit the video? I think that its image quality is really good...

Yep using skype or free equivalent would be great, because When some one will watch my robot he will see my face!. But I will have some problems with VNC:

If, on the laptop, we can see my face in fullscreen, it meens that (when i use teamviewer) i will see my face in the windows that show my laptop screen, which is useless. and worst, if i want to see what is in front of my robot I have to use skype, so i can't control my robot at the same time (skype will have the "focus" and my processing sktech won't, so it won't "read" my keyboard).

I'm not sure i am very clear, but the problem is that i must find another way to control my robot (maybe using a COM port transmitter, as rogue gave me the link?)

Tomorrow i will ask some of my teachers :)

If you use remote control applications like the ones I made you can have the application on the robot computer minimized because it will be always receiving the data from the controller and sending it to the arduino. 

So that problem is solved, you might have others using them but it is other thing ;)

Yes I didn't think that the advantage is that the receiver did not need to have the processing sketch on focus...but there still is a problem of lan configuration, I have to test it(if it don't works, I could maybe add a COM port transmitter :p ). Another question, for your last robot, using a webcam to analyse the environment, I didn't see you use "import processing.video.*;" I am new in Processing (I did not learned it at school) so I have a lot to learn, but how did you get the data from the webcam? I think you use "import JMyron.*;" instead, what are the difference between them? Because i can't use my webcam with ubuntu and processing (because i must run quick time :(... )

I am not stopping asking questions, sorry ^^

 

I learnt it alone, I've never learnt anything related to robotics at school... 

JMyron and video are different libraries for processing. To make that applications I found JMyron easier to use than video, that's why I used it.

I've never tested processing with ubuntu, I tried to do it last Friday but I hadn't time. 

I think that JMyron doesn't need quick time but I don't know if it works on ubuntu. But you can always try, here is the site http://webcamxtra.sourceforge.net/download.shtml

So here I am: I found JMyron lib, it works(I can't be sure), but it seems that ControlP5 do not work/exist on ubuntu! But the worst part is that I read your sketch but I am not able to tell what is ControlP5 use for! Processing is not very good on ubuntu (there is no package, only a bash script to run it... :- /  ) I think I must spend more time to learn more about all I discover, to see the implications, and how I can make work all this stuff together :) Thanks for your time, now I have some physico-chemie to do before going to sleep  8-S

I use ControlP5 to make the sliders easily, you can just take out all ControlP5 parts and simply adjust the values on the beginning of the code where it says:

int RedValue = 20;

int GreenValue = 150;

int BlueValue = 20;

int RangeValue = 125;

int DensityValue = 100;

Does the JMyron example "Myron_tracking" works?

It is the base of my Color Tracking application, so you can make yours using it.