Offline
Newbie
Karma: 0
Posts: 3
|
 |
« on: February 27, 2012, 05:07:01 am » |
Hi All, I am fairly new to this, at least the buying hardware part... I've worked with robots before and computer vision during college. I am planning to buy my own stuff now. My goal is to have a robot with a mounted netbook, the netbook will be running the camera and processing computer vision algorithms, while microcontroller will wait for instructions to control the wheels (might need it to control sensors and send back feedback to netbook). After some research, it looks like the Lynxmotion 4WD1 v2 is the best option ( http://www.lynxmotion.com/p-603-aluminum-4wd1-rover-kit.aspx). I am considering the no electronics kit (plus the 12v batteries + charger). I am just a bit confused about the part connecting the laptop to the motors. I couldn't find a usb dc motor controller that might conform with the needs of the motors (i think), so I am left with two options: 1) Buy the rest of the things from Lynxmotion (Bot Board II + BASIC Atom Pro 28 + Sabertooth 2X10 R/C Regenerative Dual Channel Motor Controller) 2) Buy Arduino Uno + Usb interface (still confused here) but I will still need the Sabertooth between Arduino hardware and motors? I think Arduino is my better option since it is open source and scalable from what I've seen. Can someone confirm all of the above and clarify my second option? I also appreciate any suggestions you guys have!
|
|
|
|
« Last Edit: February 27, 2012, 05:23:43 am by michom »
|
Logged
|
|
|
|
|
Phoenix, Arizona USA
Offline
Faraday Member
Karma: 27
Posts: 5081
Where's the beer?
|
 |
« Reply #1 on: February 27, 2012, 11:31:47 am » |
Yes, on the second option you still need a motor driver between the Arduino and the motors (no getting around that!)...
|
|
|
|
|
Logged
|
|
|
|
|
the land of sun+snow
Offline
Edison Member
Karma: 81
Posts: 2123
|
 |
« Reply #2 on: February 27, 2012, 12:42:35 pm » |
I agree, your 2nd option is good, although either will do the job. You really do want a microcontroller to directly command the robot sensors and motors, rather than doing it with the netbook, as you need a sense-motor loop with low latency for best control. Also, it's much easier to hook up sensors to a microcontroller than netbook.
You will want to add some other sensors, like bumpers, sonars, Sharp GP2D12/etc IR rangers. You probably need something lower than vision for direct sensing, as vision will take a lot of work to implement. AFAICT, the computer vision problem really is not as well solved as the advocates proclaim.
With the Arduino, there are several motor controller shields that will mount right on the Arduino board, so you'll have a nice compact board arrangement. I think pololu.com has a couple that will handle larger motor currents. I imagine with the Lynx 4WD base you can run both motors on each side from a single h-bridge, but you might check on that with the Lynxmotion people.
Lastly, another possibility to think about is adding RF comms to the robot, such as using XBee. This way you can command the robot from your homebase PC and get status info back while the robot is wandering. Eg, on top the Arduino motor shield, you can mount an XBee shield.
One last thing, pay attention to how many I/O pins the various motor shields require. Some of them eat up almost half the I/O lines on a regular Arduino 328 board.
|
|
|
|
|
Logged
|
|
|
|
|
Phoenix, Arizona USA
Offline
Faraday Member
Karma: 27
Posts: 5081
Where's the beer?
|
 |
« Reply #3 on: February 27, 2012, 01:24:20 pm » |
Lastly, another possibility to think about is adding RF comms to the robot, such as using XBee. This way you can command the robot from your homebase PC and get status info back while the robot is wandering. Eg, on top the Arduino motor shield, you can mount an XBee shield. No need for XBee - likely the netbook already has 802.11n/g on it (WiFi ethernet); instead, set up a webserver or something on the netbook that communicates with the Arduino, then use a browser on -any- remote PC (or phone) with WiFi to hit the server (you may want some basic security controls in place - WPA, MAC/IP address filtering, and such).
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 3
|
 |
« Reply #4 on: February 27, 2012, 07:29:34 pm » |
Thank you all for your replies. I have read this morning that the Sabertooth can be connected directly to a PC through serial (usb to serial, no need for max232 to level the voltages). I will try to get those first working with a laptop, just to get the hang of it, and then work my way from there to add arduino microcontroller and IR sensors.
My master's thesis was about autonomous navigation using a single camera. For this, am planning to add 2 camera's and use them as stereo. anyway plans for the future, i will be happy now to get everything working from a netbook (that will cover wifi and cam connections).
what do you suggest as arduino kits? to interface with sabertooth, pc (usb preferred, serial is ok too) and the rest of arduino sensors? is there anything i should keep my eye on when choosing boards?
|
|
|
|
|
Logged
|
|
|
|
|
the land of sun+snow
Offline
Edison Member
Karma: 81
Posts: 2123
|
 |
« Reply #5 on: February 27, 2012, 07:49:06 pm » |
No need for XBee - likely the netbook already has 802.11n/g on it (WiFi ethernet); instead, set up a webserver or something on the netbook that communicates with the Arduino, then use a browser on -any- remote PC (or phone) with WiFi to hit the server (you may want some basic security controls in place - WPA, MAC/IP address filtering, and such).
Doh, what was I thinking? LOL. The only real thing to worry about with wifi is the available coverage and usable range. Inside the house is probably ok. When I read Lynxmotion 4WD platform I immediately started "daydreaming" of operating my own 4WD out in the field with the robot running free, driving over rocks, and reading GPS! LOL. Right now, I'm working on a small ServoTank for inside operation, but have a couple of RC platforms that hopefully I'll convert to robotics this summer. One will be large enough to carry a netbook, but I am not counting on very good range for video transmission via wifi. An XBee Pro should have much larger direct-line control range, I think, so I plan to do that first, and maybe experiment with wifi secondarily. #1 priority is .... have the robot constantly check for a 'heartbeat' signal from the homebase PC, and if this is lost, then either stop, or else backup over its previous path until it picks up the signal again. Think - redundant systems and no runaways.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 50
Posts: 6549
Arduino rocks
|
 |
« Reply #6 on: February 28, 2012, 12:56:41 am » |
If it is a windows based netbook, you could put an apache server on it and connect a USB arduino to get a fairly interesting setup going (add skype and have the bot talk with people). There are some fairly high powered wireless routers available to suppliment the netbook built in wifi if needed (they also allow for use of high gain antennas).
|
|
|
|
|
Logged
|
|
|
|
|
Gosport, UK
Offline
Faraday Member
Karma: 19
Posts: 3118
|
 |
« Reply #7 on: February 28, 2012, 02:33:27 am » |
If it is a windows based netbook, you could put an apache server on it and connect a USB arduino Why is Windows required? Apache works fine on my Ubuntu based Aspire One.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Newbie
Karma: 0
Posts: 3
|
 |
« Reply #8 on: February 28, 2012, 04:29:15 pm » |
can't I connect to arduino through USB and use a small C program on the netbook to communicate with arduino through the usb connection? also program arduino to feedback the sensor measurements back to the PC? if yes, which parts do you guys suggest? is arduino uno enough by itself?
|
|
|
|
|
Logged
|
|
|
|
|
Phoenix, Arizona USA
Offline
Faraday Member
Karma: 27
Posts: 5081
Where's the beer?
|
 |
« Reply #9 on: February 28, 2012, 06:28:55 pm » |
can't I connect to arduino through USB and use a small C program on the netbook to communicate with arduino through the usb connection? also program arduino to feedback the sensor measurements back to the PC? if yes, which parts do you guys suggest? is arduino uno enough by itself?
Yes, you can do this; just realise that you can't do video thru the Arduino (you'll have to use a separate USB webcam or something for that).
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 50
Posts: 6549
Arduino rocks
|
 |
« Reply #10 on: February 28, 2012, 07:46:22 pm » |
Why is Windows required? Apache works fine on my Ubuntu based Aspire One. You can usen what ever works for you. In the past I've found the video capture drivers and the selection of useful applications was severly limited for the linux based OS.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 50
Posts: 6549
Arduino rocks
|
 |
« Reply #11 on: February 28, 2012, 07:49:44 pm » |
can't I connect to arduino through USB and use a small C program on the netbook to communicate with arduino through the usb connection? also program arduino to feedback the sensor measurements back to the PC? if yes, which parts do you guys suggest? is arduino uno enough by itself?
Might be helpful to specify what OS is on the netbook and what I/O ports the netbook has. A google search for netbook robot should produce a number of similar projects.
|
|
|
|
|
Logged
|
|
|
|
|
the land of sun+snow
Offline
Edison Member
Karma: 81
Posts: 2123
|
 |
« Reply #12 on: February 28, 2012, 08:49:12 pm » |
can't I connect to arduino through USB and use a small C program on the netbook to communicate with arduino through the usb connection? also program arduino to feedback the sensor measurements back to the PC? if yes, which parts do you guys suggest? is arduino uno enough by itself?
Netbook <--> Arduino via USB will work fine, and the Arduino should have plenty of I/O to run the robot. I don't know about "C" on the netbook however. If a Linux netbook, then C sounds right, but for a Windows netbook, you'll probably need to go with C++ or C# or Basic, all of which are available in free .NET Express versions from Microsoft. Both C# And Basic have a serial port object, and I would imagine so does C++.
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 50
Posts: 6549
Arduino rocks
|
 |
« Reply #13 on: February 29, 2012, 12:49:43 am » |
If your netbook has standard windows, with a web cam, arduino, servos, and a 100 ohm resistor, you should be able to duplicate the web control setup like below (cam has a bad wire). If you need info back from the arduino, you would need to make a simple cgi application to communicate with the arduino over the netbook serial port (I've got some simple freebasic code that compiles into a small console exe application). http://web.comporium.net/~shb/wc2000-PT-script.htm
|
|
|
|
|
Logged
|
|
|
|
|
Gosport, UK
Offline
Faraday Member
Karma: 19
Posts: 3118
|
 |
« Reply #14 on: February 29, 2012, 02:51:17 am » |
but for a Windows netbook, you'll probably need to go with C++ or C# or Basic, all of which are available in free .NET Express versions from Microsoft. I believe that there are a number of C/C++ compilers available for Windows that don't suffer from the curse of .net, and are free.
|
|
|
|
|
Logged
|
|
|
|
|
|