Browsed by
Category: Robotics Projects

For posting my robots and other robotic things

iRobot Roomba Hacking [Work in Progress]

iRobot Roomba Hacking [Work in Progress]

Another of my thift store finds (and likely the oddest) is an iRobot Roomba 530 for $60, along with its dock, power cord, and two virtual walls. I plugged the charger into the base, sat the Roomba on it, and it started its “deep charge” cycle.

After charging it for 24 hours, I started it up. It backs up, turns, and backs up again, continuing in this pattern for a few rotations before stopping with an Error 9, which the User Manual states is a dirty front bumper.

TODO: Gut an old mouse or other device for its mouse-wheel IR sensor to replace the broken one.

gRover Robotics Platform

gRover Robotics Platform

This is gRover, the Grove-Platform Rover; it is a general, all-purpose rover for house exploration.

Foreword:

This page is a bit of a mess, I’ll admit. The PDF file attached is much neater and contains much more information about the project than this page’s text does. For more pictures, see the gRover Flickr Photoset. This rover build uses parts graciously provided by Seeed Studio.

Description:

I purchased an RC car from the thrift store for $2. It had no remote control to go along with it, but it did have a 4.8V Ni-Cad battery pack, a chassis, a steering motor, and a drive motor. While the 4.8V Ni-Cad battery does not have enough voltage to power the I2C Motor Driver (it may be useful in another project), the motors and chassis provide a great base for a robot.

Features:

To me, this build was more about making a framework that other users could utilize to easily use the Grove platform to make a rover. I created gRover with the following (easily-modifiable and easily-expandable) features:

  • Autonomous Mode: Drive the rover around autonomously using the on-board sensors for guidance
  • Remote Control: Drive the rover around with commands sent over the serial port (currently non-functional, as it interrupts I2C. A Bluetooth Twig using NewSoftSerial should work well.)
  • Cat Spooker: Lie in wait until a cat approaches, then make some noise and start Autonomous mode (This can be replaced with something more interesting. I’m open to suggestions)
  • Cat Taunter: Make a noise every 15 seconds while there isn’t a cat in the area. (Ditto)
  • Motor Test: Run a test of the motors connected to the I2C Motor Driver Twig
  • Sensor View: Get a live view of sensor data on the OLED Display

Parts:

Qty

Part Name

SKU#

1

R/C Truck

1

Arduino (or Arduino Clone)

1

Battery Box (Output: 8-15V)

1

Stem – Grove Base Shield

SLD12148P

1

Twig – OLED Display 128×64

OLE35046P

1

Twig – I2C Hub

ACC53133P

1

Twig – I2C Motor Driver

ROB72212P

1

Twig – I2C Touch Sensor

SEN51153P

1

Twig – Sound Recorder

SEN71254P

1

Twig – Buzzer

COM22458P

1

Twig – PIR Motion Sensor

SEN32357P

1

Twig – 80cm Infrared Proximity Sensor

SEN39046P

1

Twig – 3-Axis Accelerometer

SEN21853P

2

Twig – Chainable RGB LED

COM53140P

1

Twig – Sound Sensor

SEN12945P

1

Twig – Vibrator

ROB51043P

3

Grove – Universal 4-Pin Cable (5 ea)

ACC113170

Part Usage: The Twigs perform the following tasks:

  • The 3-axis Accelerometer Twig helps track the rover’s movements, and can be used to tell if it is standing still (despite motors turning) (not currently implemeted into Auto Mode)
  • The OLED Display 128×64 Twig and I2C Touch Sensor Twig are used as a User Interface, mounted on the top of the robot (or under a clear polyurethane shell for weatherproofing). The Vibrator Twig is used as tactile feedback for the I2C Touch Sensor Twig’s buttons, (also known as “feelers”) which aren’t physical buttons but actually touch sensors.
  • The Buzzer Twig is used as audible feedback in addition to the Vibrator Twig’s tactile feedback, and can be used for sound effects if the Sound Recorder Twig isn’t used.
  • The PIR Motion Sensor Twig is set to a fairly short range, and is used to either detect obstacles, or (in some cases) wait for obstacles (like cats!) to approach it.
  • The 80cm IR Proximity Sensor Twig is used to detect obstacles ahead of the rover.
  • The Sound Recorder Twig has various sounds recorded, such as a monster-truck engine and a car horn.
  • The Chainable RGB LED Twigs act as pseudo-Police flashing lights (with two RGB LEDs, flashing in a red/blue pattern)
  • The Sound Sensor Twig is used to control the robot by clapping. (Not currently implemented into Auto Mode)
  • The I2C Motor Driver Twig is used to control the drive and steering motors in the RC car.

Downloads:

For more information, please see the attached PDF file. The code (which is ~1850 lines long, including lots of comments) is attached as a ZIP file.

The code is CC BY-SA licensed to the extent possible, given that the code has minor sections taken from example code from the Seeed Studio wiki (links are available in the PDF and in the code headers), and for the Touch Sensor Twig, from Rory Nugent (cited in the code).  If I have missed a citation, please let me know.

The documentation PDF is CC BY-SA.

Hop-Along Cassidy

Hop-Along Cassidy

Components Used:
2 Motors
1 Touch Sensor (Mounted on RCX for Remote, Wired Control)

Required Parts:
RIS 1.0
Electrical Connector Plate (White, Comes With 9V Motor Set)

Description:
Moves from one end of the string to another. When it gets there, the touch sensor hits the wall, (Or whatever is used to hang it) and it reverses directions.

Well… What can I say? This is probably (I have yet to be proven wrong) – the LEGO Mindstorms’ Community’s First One-Legged Walker, and both simple and complex at the same time.

Two months of planning, failed designs (and waiting for my Vision Command webcam unit to arrive) has lead me to this point, getting to write all about my robot.

“Hop-Along Cassidy” uses both 9V Motors, which have been geared up and connected to create a sort of “Pulsating Shaft” (See attached videos) which quickly lifts up the foot by kicking the front “toe” (If I can call it that) into the ground, which lifts the robot up, then moves the foot so that it lands on the "heel" and moves the robot forward, and starts again. Doing this really fast creates a “Hopping” Motion. The motors are "additive", which means they combine their power so it is as if there is one, more powerful motor. This allows for a proper “Hopping” action, and also having 2 motors on opposite sides helps balance the robot.

“Hop-Along” has a generally low center-of-gravity, since the motors are the lowest part (besides the gears and the ‘foot’). This helps keep it from tipping over. As the walker progresses, it actually sways back and forth, as seen in the movies. This, I find, is actually unnoticeable because it happens so fast, though the VC Camera seems to slow it down enough.

(This is an independent site not authorized or sponsored by the LEGO Group.)

Little Buggy

Little Buggy

Components Used:
2 Motors
2 Touch Sensors
1 Light Sensor

Required Parts:
RIS 1.0
Parts from other LEGO Sets

Description:
Lil’ Buggy can:
1) Dance to the Macarena
2) Run around a room by itself without bumping into anything
3) Play a game with you
4) Massage tense muscles (like the ones you get after programming a bugbot for a few hours…)

His switch (seen in picture) allows him to change between modes:

  • Game Mode (Switch Right)
  • Autonomous Mode (Switch in the middle)
  • Dance Mode (Switch Left)
  • For a Massage, you can use either Autonomous Mode or Dance Mode, depending on whether or not you want music.

GAME MODE

– Switch to the Right
In this mode, Lil’ Buggy will give you anywhere from 5-10 seconds, then it will beep. Once it has beeped, you have 1/2 a second to shine flashlight at the light sensor. (Don’t complain, it is possible, it helps to have the flashlight on and be ready to point it at the sensor.)

If you are able to do this, it will reward you with a sound like when it finishes downloading something. (Fast ascending sweep). If you can’t do this, it gives a low buzzing sound.

AUTONOMOUS MODE

– Switch in the Center
In this mode, Lil’ Buggy can roam free through a room without hitting anything.

This is done thanks to Proximity Sensing (the RCX sends out an infrared signal, which, if the RCX is close to something, will be picked up by the light sensor, and a certain string of codes will be executed)

For more information on Proximity Sensing, try searching in the LEGO Mindstorms Forums.

DANCE MODE

– Switch to the Left
In this mode, Lil’ Buggy burns up the dance floor dancing to the Macarena!

If only I had a video camera…

Not really much to explain about this mode – Lil’ Buggy dances to the Macarena, which it plays out of it’s internal speaker.

MASSAGE

– Either Switch to the Left or in the Center
This mode lets you relieve your stress while Lil’ Buggy massages you. (Quite handy after spending hours on the net… Trust me, I know.)

If you have the Switch to the Right, Buggy will dance on your back while playing the Macarena.

If you have the Switch in the Middle, Buggy will move forward.
(Both ways give you a good massage…)

I think this is my best robot so far.
“Go Little Buggy!”

(This is an independent site not authorized or sponsored by the LEGO Group.)

Super Bugbot

Super Bugbot

Components Used:
2 Motors
2 Touch Sensors

Required Parts:
RIS 1.0

Description:
In essence, this is Dave Baum’s BugBot, (No copyright infringement intended). I added an extra set of antennae (To be able to sense further up, so it wouldn’t get stuck under the bottom of a chair, counter, etc). I also made the speed faster in the program so it can run around the room a little more efficiently.

Instructions:
Building instructions for Bugbot are found on page 109 of Dave Baum’s Definitive Guide to Lego Mindstorms Robots

(This is an independent site not authorized or sponsored by the LEGO Group.)

The Underbiter

The Underbiter

Components Used:
2 Motors

Required Parts:
RIS 1.0
Parts from other LEGO Sets

Description:
There is one motor to move the whole arm up and down, and one motor to open and close the hand. Possible upgrades could include pneumatics to raise and lower or open and close the hand, rotating arm, maybe even wrist motion.

(This is an independent site not authorized or sponsored by the LEGO Group.)

Tram Car

Tram Car

Components Used:
2 Motors (1 for movement and 1 for possible add-ons)
2 Touch Sensors

Required Parts:
RIS 1.0
Strong string to hang it on

Description:
Moves from one end of the string to another. When it gets there, the touch sensor hits the wall, (Or whatever is used to hang it) and it reverses directions.

Instructions:
Instructions are in Aerial.pdf.
Aerial.pdf is (c) 2000 The LEGO Group

(This is an independent site not authorized or sponsored by the LEGO Group.)

The Spinner

The Spinner

Components Used:
2 Motors
1 Light Sensor

Required Parts:
RIS 1.0

Description:
The robot can either be used as a line follower or it can be used to spin aimlessly in circles (Woo!) if the light sensor arm is removed.

(This is an independent site not authorized or sponsored by the LEGO Group.)

Big-Wheel

Big-Wheel

Components Used:
2 Motors
1 Light Sensor
1 Touch Sensor

Required Parts:
RIS 1.0

Description:
The robot moves forward until it hits something, (The wheel is forced upwards enough to activate the touch sensor behind), then it moves backwards, turns slightly, and moves forwards again. It also has a light sensor on the back for line-following.

(This is an independent site not authorized or sponsored by the LEGO Group.)