tuna55
MegaDork
2/8/16 1:00 p.m.
Tunakids are more and more interested in robots.
Suppose I wanted to purchase a relatively stout platform to be controlled by a Rasberry Pi and Python, with the eventual goal of having it navigate a circle around the inside of our house.
What's the cheapest buy in? How do I properly do it in stages so the kids see progress and actually learn something? I'm seeing pricing and advice all over the place.
Add a Pibrella breakout board, plain-jane DC motors, and a couple of optical sensors and you could make the most computationally-overpowered line-following robot in history Or you could add a camera and have it use computer vision to drive around instead.
My workplace is a big participant in LEGO League. There's probably some resources you can access through their website, depending on how deep you want to get.
http://www.firstinspires.org/robotics/fll
tuna55
MegaDork
2/8/16 2:00 p.m.
GameboyRMH wrote:
Add a Pibrella breakout board, plain-jane DC motors, and a couple of optical sensors and you could make the most computationally-overpowered line-following robot in history Or you could add a camera and have it use computer vision to drive around instead.
That's sort of helpful actually.
If I can do it in stages, one being remote controlled, one being line following, one object avoidance, and eventually if just used vision.
Where to start though? Which parts to buy? How to do it like a GRM? Buy motors and stick them on an old valve cover? Just get s good kit? Use an old Alphie toy?
mndsm
MegaDork
2/8/16 2:10 p.m.
Sparkfun.com is where i get all my electronic doodads that used to be at radio shack. I know theyve got several options for raspberry pi....i was looking into them for led control.
tuna55
MegaDork
2/8/16 2:11 p.m.
mndsm wrote:
Sparkfun.com is where i get all my electronic doodads that used to be at radio shack. I know theyve got several options for raspberry pi....i was looking into them for led control.
I went there first, but every robot kit thing that I saw was Arduino. I want a Pi. I think. At least that's what I'm being told by those who I know are good at such things.
NOHOME
PowerDork
2/8/16 3:07 p.m.
Surely there is a Grassrootsrobosports on line somewhere?
tuna55 wrote:
Karacticus wrote:
My workplace is a big participant in LEGO League. There's probably some resources you can access through their website, depending on how deep you want to get.
http://www.firstinspires.org/robotics/fll
Thanks! Will read.
I did FIRST robotics and high school, extremely fun and educational. I would bet the JR version would be a great education tool as well.
My old boss bought one of these for her kids: http://www.meccano.com/meccanoid-about
RossD
UltimaDork
2/8/16 4:17 p.m.
www.adafruit.com is a fun place too.
DrBoost
UltimaDork
2/8/16 4:32 p.m.
I'm interested in this too, as my kid(s) are interested in robotics. I started looking into leads that my sister-in-law gave me. My nephew just want to the nationals and did quite well. But....our versions of inexpensive are different. I don't have $1,000 just to knock on the door, then large stacks of $100's to expand.
Thanks for all your input folks.
tuna55 wrote:
GameboyRMH wrote:
Add a Pibrella breakout board, plain-jane DC motors, and a couple of optical sensors and you could make the most computationally-overpowered line-following robot in history Or you could add a camera and have it use computer vision to drive around instead.
That's sort of helpful actually.
If I can do it in stages, one being remote controlled, one being line following, one object avoidance, and eventually if just used vision.
Where to start though? Which parts to buy? How to do it like a GRM? Buy motors and stick them on an old valve cover? Just get s good kit? Use an old Alphie toy?
For a frame anything can work, even a plank with wheels stuck to it. You can get parts from Amazon...Sparkfun and Adafruit are convenient places to shop for components but they're usually far from the cheapest.
Here's a basic 12VDC brushed motor. Runs when you put power on it, goes the other way with reverse polarity:
http://www.amazon.com/6000RPM-Torque-Magnetic-Electric-Motor/dp/B008595SC8
A lot of motors these days are brushless which are great for performance but they need a motor controller board to run.
Here are some IR LEDs and photodiodes that can be used to make a line-following sensor:
http://www.amazon.com/Three-pairs-Infrared-Emission-Receiver/dp/B00EFOQEUM
http://www.amazon.com/uxcell-Round-Infrared-Receiver-Photodiodes/dp/B00NQ6S50M
Here's the official RasPi camera:
https://www.raspberrypi.org/products/camera-module/
My kids do VEX robotics through the school.
http://www.vexrobotics.com/
They have to design, build and program the units.
tuna55
MegaDork
2/9/16 8:39 a.m.
Thanks for all of the suggestions.
here is where I am today:
https://www.amazon.com/gp/product/B002DR3H5S/ref=ox_sc_act_title_5?ie=UTF8&psc=1&smid=A111T5BUDCP21Y
https://www.amazon.com/gp/product/B001Q13BIU/ref=ox_sc_act_title_6?ie=UTF8&psc=1&smid=A1YLD6DK9B7ZV6
https://www.amazon.com/gp/product/B00T2U7R7I/ref=ox_sc_act_title_2?ie=UTF8&psc=1&smid=AHALS71WJO58T
https://www.amazon.com/gp/product/B003MTTJOY/ref=ox_sc_act_title_3?ie=UTF8&psc=1&smid=A2N1S6D8VVCNZ3
https://www.amazon.com/gp/product/B00MARDJZ4/ref=ox_sc_act_title_4?ie=UTF8&psc=1&smid=A30ZYR2W3VAJ0A
https://www.amazon.com/gp/product/B010Q57T02/ref=ox_sc_act_title_1?ie=UTF8&psc=1&smid=ATVPDKIKX0DER
I still need stuff for sensing. I figure some contact sensors for object avoidance via contact, some camera stuff for vision, and some line following stuff.
Any thoughts?
That's pretty serious for a first robot, but it won't make anything more difficult. Plan ol' buttons can work as contact sensors, or you could use ultrasonic range sensors instead - that way you can avoid things before you hit them. I posted the camera and line-following stuff just above.
tuna55
MegaDork
2/9/16 8:58 a.m.
GameboyRMH wrote:
That's pretty serious for a first robot, but it won't make anything more difficult. Plan ol' buttons can work as contact sensors, or you could use ultrasonic range sensors instead - that way you can avoid things before you hit them. I posted the camera and line-following stuff just above.
"Pretty serious" to me equals something that I can easily add to, built somewhat well, and that can eventually do some stuff. I know Tamiya, and it's tracked so it doesn't look like those goofy tri-pods with the caster and the leg. The kids will like that. It has a big board for other stuff to attach to, and it's super cheap. I am totally listening though, if I am missing something.
So, to you, "line following" means "Buy these loose sensors". To me, that sounds like:
Step one: Buy loose sensors
Step two: ????
Step three: Line following robot
Can you be more specific as to which sensors are used for what, how I might wire them, how I might program them, or maybe provide links to some tutorials? I am missing some steps in my understanding. I see the camera too, is that something used just to take pictures, or is it usable for a vision system? How many do I need?
Your robot's good and if you want something more expandable that's fine, I just initially thought you were after something more basic & short-term.
The camera can be used for a vision system, the board can only connect to 1 camera of that type (vs. USB) from what I understand.
Setting up the LEDs isn't too complicated, basically you use the infrared LEDs as always-on lights shining on the floor and the the photodiodes as sensors to detect how much is reflected. You put one on either side of the robot, and when it runs over the line it knows it needs to turn to keep itself on top of the line (or that's what you need to program it to do, anyway). Because you're using a RasPi2 which has no analog inputs, you'd also need a transistor to get a digital output from the photodiode. In fact with this setup, it might be easier to use a pre-made led & sensor board like this:
https://www.sparkfun.com/products/9454
tuna55
MegaDork
2/9/16 10:25 a.m.
GameboyRMH wrote:
Your robot's good and if you want something more expandable that's fine, I just initially thought you were after something more basic & short-term.
The camera can be used for a vision system, the board can only connect to 1 camera of that type (vs. USB) from what I understand.
Setting up the LEDs isn't too complicated, basically you use the infrared LEDs as always-on lights shining on the floor and the the photodiodes as sensors to detect how much is reflected. You put one on either side of the robot, and when it runs over the line it knows it needs to turn to keep itself on top of the line (or that's what you need to program it to do, anyway). Because you're using a RasPi2 which has no analog inputs, you'd also need a transistor to get a digital output from the photodiode. In fact with this setup, it might be easier to use a pre-made led & sensor board like this:
https://www.sparkfun.com/products/9454
Is there a better option that the Pi I selected which would already have analog inputs provided, or is it better to buy add-on bits as needed? What types of analog inputs are required for the stuff I am talking about? I have done some industrial I/O stuff with instrumentation and actuation using analog and digital stuff, but I don't know what the best way to get to there from a Pi is.
The Pi you chose is a good one for what you're looking to do in the long term. You could do everything you want without analog inputs - the only thing they could give you an advantage with is the line-following sensors. If you really want to have analog inputs, you can wire up an ADC like this:
https://www.adafruit.com/product/856
tuna55
MegaDork
2/9/16 11:58 a.m.
GameboyRMH wrote:
The Pi you chose is a good one for what you're looking to do in the long term. You could do everything you want without analog inputs - the only thing they could give you an advantage with is the line-following sensors. If you really want to have analog inputs, you can wire up an ADC like this:
https://www.adafruit.com/product/856
So how do you do inputs for a vision system?
The camera is the input for the vision system...you could use a bunch of photodiodes like it's 1959 but we have CCDs and such now
tuna55
MegaDork
2/9/16 12:54 p.m.
GameboyRMH wrote:
The camera is the input for the vision system...you could use a bunch of photodiodes like it's 1959 but we have CCDs and such now
How does that work? Literally, I have seen machine vision systems from 15 years ago, but I have no idea how to go from "Camera + Linux + Python" to "Vision system".
tuna55 wrote:
GameboyRMH wrote:
The camera is the input for the vision system...you could use a bunch of photodiodes like it's 1959 but we have CCDs and such now
How does that work? Literally, I have seen machine vision systems from 15 years ago, but I have no idea how to go from "Camera + Linux + Python" to "Vision system".
It's basically Camera + Linux + Python + OpenCV = Vision system. Here's a video tutorial:
https://www.youtube.com/watch?v=jvFM-gIGpQQ
In reply to tuna55:
Probably the most expedient way to start with a computer vision system is to go the
SimpleCV route
In your scenario, with the raspberry pi and a camera, I think it would go something like this:
- get the camera working with raspberry pi (plugging it in, dealing with drivers, all that fun linux stuff)
- put python and SimpleCv on the raspberry pi
- figure out/program what you want the vision system to accomplish (recognize a wall? measure distances to obstacles with nothing more than looking at things? recognize a laser line to measure distances? recognize the brightest area? recognize non-robot caused motion?)
- figure out/program what you want the robot to do given SimpleCV output
3 and 4 can be as in depth as you want to go :)