All Robotics Articles
Robotics: Scanse sweep - Low-cost Scanning LIDAR For Everyone
I'm a backer! While not the first low-cost LIDAR system available on the market, it could turn out to be the first low-cost 2D LIDAR available for hobbyists and consumer products.
Robotics: Low Cost Arduino LIDAR - An Approach
I found this interesting article, via an Arduino Forum thread
, on how to hook up a low-cost true laser "tape measure" to an Arduino and read it via serial control...
Robotics: Differential Steering Using An Analog Joystick With The Arduino - Redux
A couple of years ago, I wrote an article on how to use an analog joystick (like those found in Playstation controllers) with the Arduino. I presented some code to steer a tank-like vehicle, aka "differential steering". Not too long ago, I posted how to do the same on the Arduino forum
, in an updated manner...
Robotics: Laser Grid Displacement Experiment
What do you get when you take a laser module, some diffraction gratings, and a post on reddit?
Robotics: Low Cost LIDAR and Laser Range Finders: Where Are They?
The truth is, there aren't many options out there for low-cost 2D LIDAR systems. You basically have high-end sensor systems, like ones from the SICK Group
...which can easily run into the several thousand (USD) range (if you want to see real expense, check out the laser system the Google Self Driving Car uses). Or, you have lower-end sensors, like the Parallax Laser Range Finder
, at about $130.00 (USD), or you have homebrew DIY options. Where's the middle?
There really isn't one. The cost difference is mainly due to a number of reasons. For instance, the expensive sensors you see out there can scan very quickly, spit the data out quickly, work well in a variety of lighting conditions (up to and including daylight), use high-quality optics and lasers (plus IR filters and other systems to remove noise caused by other IR sources that can drown out the laser light), and they also generally use a form of interferometry to calc the distance (basically, you modulate the beam with a wave in the GHz range, and compare the outgoing beam with the reflected version - the difference between the waves is proportional to the distance measured - but you need really high speed timer circuitry for this). Some high-end sensors (so called LIDAR cameras) use time-of-flight and special high-speed optical sensors and timers to measure the time it takes from laser emission to reception of the reflected beam.
All other low-cost methods I've seen use triangulation (parallax) to measure the distance - because it is fairly easy and low-cost to implement (more on this later). The breakdown in costs on these methods, along with the high-end method, are summarized below (from greatest to least costly); What kind of LIDAR sensors can you buy with your hard-earned cash?
Robotics: Pigbot - Err...or another look at my first UGV
My first adventure into the world of unmanned ground vehicles (UGV) began here, with this ugly beast, which I affectionately named "Pigbot":
I never took it any further, but it does showcase the creation of my first (and so far only) homebrew pan/tilt camera camera mount. A reader recently contacted me asking for some more information about the design of it, so I took some more pictures...
Robotics: Udacity CS373 - Programming A Robotic Car - Week 6/Unit 6 and Final
Well, I'm a little late on this for a variety of reasons, so I am going to try to keep this as short as possible. First, I completed Unit 6, which was all about SLAM - essentially taking everything we learned, plus a little more, and bringing it all together to control a robot. Overall, this went well; it was when the final came around that things got hairy, but I managed to get through it, too - and learned what the next class I need to take will be about...
Robotics: Udacity CS373 - Programming A Robotic Car: Why not understanding probability sucks...
Alright - this is really a posting, a plea for help, plus to keep a big chunk of stuff out of the discussion forum, as what I am about to post is likely a big fat SPOILER - you've been warned...
Robotics: Udacity CS373 - Programming A Robotic Car - Week 5/Unit 5
Another unit down, and one final unit to go! This week's unit was surprisingly easy, compared to others (especially last week's). It's focus was on more motion planning, with an emphasis on generating smooth paths, and control using a PID algorithm. For the final homework, we had to make a virtual "car" drive itself around an oval racetrack. While I was doing this, my car managed to kill several spectators before I finally got it under control!
Robotics: Udacity CS373 - Programming A Robotic Car - Week 4/Unit 4
I'm not going to write up a very long article on this unit; it was a real butt-kicker for me. It started off fairly easy, but then got grueling. Somehow I made it through...
Robotics: Udacity CS373 - Programming A Robotic Car - Week 3/Unit 3
Well, another week down, another unit done, and more homework behind me. This week's topic was all about another localization method called "particle filters". Using such a filter and a map with "landmarks", your robot can quickly and easily locate itself within that map. What's more, the amount of code required to implement such a filter isn't much, and what does exist is fairly easy to understand.
Robotics: Udacity CS373 - Programming A Robotic Car - Week 2/Unit 2
Wow! Where to start? This week was a cram week for me. Double ugh, but I didn't have much choice (well, I did - but my personality doesn't allow for it). Almost every day this week I worked late at my employer to implement an IPhone/Android app using PhoneGap
and JQuery Mobile
(both awesome technologies, btw - when they work). So most nights I had little to no time to concentrate on the class! I managed to get a few videos and such in here and there, but it was on Friday and Saturday that I put in the main time. I wasn't sure I would make it, but somehow I did! So what was this unit about? Kalman filters
Robotics: Udacity CS373 - Programming A Robotic Car - Week 1/Unit 1
I just finished with the first unit of this course, and I must say it was a whirlwind and fun introduction to the course. Many topics were covered, the online interface worked extremely well, and overall I am very pleased and excited to be a part of this.
Robotics: Another Online Class: Programming A Robotic Car
This class is being presented by Udacity and Professor Sebastian Thrun (of Stanford and Google); Udacity aims to present computer science and robotics courses to the public for free, building on the original Stanford free courses (similar to the machine learning class
I took last winter).
Robotics: Popular Science, April 1971: The Transmission They Said Wouldn't Work
I found this article while reading the issue on Google Books; it really shows an interesting and somewhat unusual application of a motor's torque both from the shaft and the motor casing!
Robotics: In Closing - Stanford's ML Class
It's been long coming, but I finally got my "Statement of Accomplishment" from Professor Ng at Stanford today. Many of us were waiting with baited breath; I was already sure of my score, but I was curious to see how the statement looked, and how it was scored...
Robotics: Weeks 9 & 10 - Stanford's ML Class
I'm so late on this due to a number of reasons, but I thought I would combine them both in one article; to put it bluntly, Week 9 (Anomaly Detection/Recommender Systems) looked to be easy at first, but I got bogged down in the homework, while Week 10 (Large Scale Machine Learning/Application Example: Photo OCR) is looking to be a "gimme" week, though it started late.
Robotics: Week 8 - Stanford's ML Class - Another Easy Week?
Well, this was surprising to me: Despite this week being another "dual unit" week (something I was dreading, given my last experience with such a week
), I actually found it to be fun, interesting, and anything but difficult! What were the units?
- Unit 13 - Clustering (K-means)
- Unit 14 - Dimensionality Reduction (ie, Principal Component Analysis)
Do either of those sound "easy" to you..?
Robotics: Week 7 - Stanford's ML Class - Easy Week
Week 7 seems to have been the "easiest" week yet (ok, maybe the first week was easier?). One would think learning about and applying Support Vector Machines would be more difficult, but it didn't seem that way to me...
Robotics: Week 6 - Stanford's ML Class
Well - this was an interesting week of fun and mayhem; I thought I had it all covered until I started in on the review questions...
Robotics: Week 5 - Stanford's ML Class
Well, I "survived" another week of Stanford's ML class - Week 5 was all about back-propagation and how to implement it.
Robotics: Week 4 - Stanford's ML Class
Between plugging away at finding a new job and working on the class, all-in-all, the week turned out ok - well, with the exception of our dog dying...
Robotics: Week 3 - Stanford's AI and ML Classes
Well, as you know, this week was a major change for me; I won't go into any specifics there, but it did make me have to drop the AI class, unfortunately...
Robotics: John McCarthy (1927-2011) has passed away...
John McCarthy, a distinguished computer scientist who coined the term "artificial intelligence", and was also the inventor of Lisp, has passed away at the age of 84.
Robotics: Week 2 - Stanford's AI and ML Classes
Well - I'm still involved in both courses, and I haven't killed anyone yet, even though at times I felt like it!
Robotics: My First Week - Stanford's AI and ML Classes
I'm currently signed up and taking both of these courses, which started this past Monday:
Intro to AI
Both complement each other as far as material goes, and I'm having fun, but this is all still clearly an experiment by Stanford...
Robotics: How To Use An Analog Joystick With The Arduino
Analog joysticks are fairly easy to hook up and use with the Arduino. In this tutorial, I will describe the basics of hooking up such a joystick to the Arduino, and give some hints and tips on using the position values read from the potentiometers to control a basic vehicle using Ackermann Steering geometry, as well as to control a vehicle using Differential Steering geometry (like on a tank or bulldozer). Pictures and code provided!
Robotics: Unmanned Ground Vehicle Project - How to Build a Steering Mechanism...Or Not (Part 6 - The H-Bridge Driver)
In order for the Arduino I am using to command the steering motor to move left and right, I need to control the motor with a circuit known as an "h-bridge". Basically, this is a circuit that switches current to the motor to make it rotate in one direction or the other, at will (it also allows for easy speed control via PWM - but we won't need that here).
Robotics: Unmanned Ground Vehicle Project - How to Build a Steering Mechanism...Or Not (Part 5 - Limit Switches)
I'd already ruined one good motor (which ultimately turned into three), through the misadventure of driving the motor to the end of travel in the steering mechanism, causing binding and ultimately destruction of the gears. The only way to prevent this moving forward was to install limit switches.
Robotics: Unmanned Ground Vehicle Project - How to Build a Steering Mechanism...Or Not (Part 4 - Adding Feedback)
In order for the robot to know how far and in which direction it is turning, it needs to have some method of feedback from the steering mechnism to tell it at what angle the wheels are. This is the basic principle behind all servo-mechanisms. For my Unmanned Ground Vehicle (URV), I decided to use a potentiometer for the feedback element. Properly wired, it can tell the UGV what angle the wheels are at (with a certain error percentage, of course).
Robotics: Unmanned Ground Vehicle Project - How to Build a Steering Mechanism...Or Not (Part 3 - A New Mechanism)
The motors finally arrived, so I could now continue with the steering mechanism...
Robotics: Unmanned Ground Vehicle Project - How to Build a Steering Mechanism...Or Not (Part 2 - How To Really Break A Motor)
As I noted in the last article, I had only spent $10.00 on a motor that the original manufacturer wanted me to spend $350.00 for a bunch of gears, of which I only needed one. Don't get me wrong; the fact that they were willing to sell to me at all impressed me, and if I had a bunch of the motors instead of the three I did own (not to mention if they were new, and not well used like mine), it might've been worth it. Needless to say, though, their offer wasn't enticing, so I decided to do what anyone else in my position would do - SWAP, SWAP, SWAP!
Robotics: Unmanned Ground Vehicle Project - How to Build a Steering Mechanism...Or Not (Part 1 - First Attempt)
Once again, its been a while (but not as long as last time!); progress is still being made.
Since my last post, I've been working on the front-end steering mechanism; let's just say either this is harder than it looked when I started,
or I'm just not that good of a mechanic. Likely, it's both!
Robotics: An Unmanned Ground Vehicle Project - An Update
It's been quite a while since I last posted an update regarding this project, but progress is still being made, if slowly. The last time anything was posted on this project...wow, has it been almost two years?! Ugh...
Robotics: The Smithsonian Robo-Arm/Bio-Arm
Here's yet another re-release of the Tomy/Radio Shack Armatron robot arm...
Robotics: The Armabot - Interfacing the Armatron to the Radio Shack Color Computer
I found yet another article on interfacing the Armatron - this time to a Radio Shack TRS-80 Color Computer! This article first appeared in the April 1984 issue of Color Computer magazine, and was written by Steve Cox (et al).
Robotics: Up in arms - Tandy Armatron Dissection
Here's a nice disassembly/teardown "review" of a Tandy Armatron, featuring really nice and large pictures of the various gearing internals. This might be useful to those hacking their Armatron for interfacing to a computer...
Robotics: The Big Trak is back?
Do you remember being a kid in the 80s, watching the Milton Bradley Big Trak commercial, and wanting one yourself, just so you could have an apple brought to you?
Robotics: Another Armatron Interfacing How-To
While googling for something else, I recently ran across this interesting article that depicts an alternative method of controlling the Armatron.
Robotics: Doh! Missed one...
I just found this interesting PDF, which describes a direct-drive motor interface to the Armatron using steppers (check out what those students did to that poor robot)...
Robotics: The Discovery Spark Robot Arm
I just found out about this robot arm as I was doing some research -after- I had posted my archive! Argh!
Robotics: The Tomy/Radio Shack Armatron Super Interfacing Archive
This archive was created in an attempt to bring together several sources of information that have floated through time (and the internet) detailing how to interface the Tomy/Radio Shack Armatron (and Super Armatron) to a computer. I hope you enjoy this archive as much as I had compiling it!
Robotics: Gismo the Great (from Boys Life magazine)
Gismo was a robot from another time; a time when boys played with electric motors and train sets, with maybe an occasional "Cowboys and Indians" game outside thrown in...
Robotics: A Computer Controlled Tank
Ever play with (or own) a Milton Bradley Big Trak? Ever wanted to control it with a computer? Want to interface your Arduino with one? Read this "future past" article to find out how!
Robotics: I was an 18-foot robot!
So begins an interesting article found in a scan of a fairly old copy of Popular Mechanics; in this article, you quickly learn that the science and art of "Giant Robots" is much older than you think...
Robotics: Some Interesting Sites for the Homemade UGV Project
This article serves to document some of the interesting and useful sites both I have found during research - read on for more!
Robotics: Our Homemade Unmanned Ground Vehicle (UGV): A New Direction
Well, it's official: I am going a new direction in the development of the UGV. A friend from my work, Jared Hurn, has decided to assist me in the development and programming of the robot. We hope to eventually be able to enter it into the Robo-Magellan contest, if not the one next year, then the year after. Read on for more about this exciting new direction the project has taken!
Robotics: Homemade UGV/ROV Pan-Tilt Mechanism in Action!
I made a small, low-quality video of the pan-tilt mechanism of my UGV/ROV today. The servos are currently controlled via an R/C transmitter; in the future everything will be controlled with a Basic Stamp 2
Robotics: Programming the Parallax BASIC Stamp 2 using Linux
Those of you following along know that my current project is the design and construction of a homebrew UGV (Unmanned Ground Vehicle). I intend to control it using a BASIC Stamp 2 OEM microcontroller module I constructed (see my assembly primer
(new window) for more details). So, once I had the module built, I then needed some way to program it...
Robotics: Status on my ROV, err - UGV (Unmanned Ground Vehicle)
I just wanted to post a short "status update" on where my ROV project stood. First off, I am sure you notice the name change...
Robotics: The Basic Stamp 2 OEM Assembly Primer
I wrote this primer for those out there who may need some extra visual and written explanation to the assembly manual which is included with the Basic Stamp 2 OEM kit
(new window) from Parallax.
Robotics: Robot Maxamilian - A $600.00 Android Head
Need a head for your android? Want to explore vision processing? Just want something new and strange to put on desk, to annoy passersby? Then this may be the project for you!
Robotics: Robot Intelligence: An Interview With A Pioneer
I recently had the pleasure to conduct a short and informal email interview
with a pioneer in the field of hobbyist robotics, David L. Heiserman.
Robotics: A Remote Operated Vehicle (ROV) Project
In the early part of 2005, I began the design and construction of an ROV based
on the chassis of a 1/6-scale radio-controlled toy monster truck. Utilizing
this and other various items, I managed to implement a working - if not very
elegant - ROV system. Though I never obtained any video of it in operation, I
did manage to document its construction with a series of photographs.