Personal Robot Projects

Mowbot

Mowbot is a ROS-based robotic lawn mower based on a Friendly Robotics RL500 mower with added sensors and ROS computers commanding the OEM mower via its serial interface. Sensor suite: RTK GPS, lidar, IMU, odometry Mowbot is a work in progress.

jRover

jRover is a ROS-based robot build largely out of Vex hardware, and includes a VEXPro for robot control. It followed a path outlined with flags in Roborama 2012b.

An onboard linux laptop runs ROS and the cmvision package. cmvision does blob detection to find the flags, and a navigation node steers the robot based on where it sees blobs. Paul Bouchier wrote the Robot Control app, extended rosserial to Linux, and wrote part of the guidance node. Collaboration with Jason Henriksen of the DPRG.

Source code:https://code.google.com/p/dprg-ros-pkg/ in jrover/vexpro and jRoverRos directories.

Rosserial for Embedded Linux

Contributed tutorial documentation and software that enhanced rosserial by adding support for small linux configurations that would typically be embedded in a robot. ROS wiki page http://ros.org/wiki/rosserial_embeddedlinux has links to tutorials, examples, and downloadable source. A typical system configuration is below.

rosserial_embeddedlinux schematic

Source code: https://github.com/ros-drivers/rosserial.git in rosserial_embeddedlinux directory

Mo'bot

Robotic mower seeking to cone at Roborama 2011a. 

In this incarnation, Mo'bot uses Roborealm for Vision, roombacomm-based java app on wifi-connected PC for guidance, & onboard Linux wifi link to Arduino robot controller. The diagram below shows the system architecture. Paul Bouchier wrote the Arduino firmware and much of the java control app, and integrated the system components.

Source code: http://svn.dprg.org/viewvc/roomba, directories roombacomm/trunk/src/com/hackingroomba/roombacomm/ & Arduino/arduinobot/

FrankenRoomba with Audio Localization System

Robotic vacuum with guidance coupled to an audio localization system seeks back to starting location with accuracy of 1/2" after traveling about 40 feet.

The Audio Localization system is based on Loran principles applied to audio, and can be heard operating on the video as a sound like repeated shots at the beginning and near the end of the video. It offers a socket-based interface through which the Java Guidance app running on the laptop could request a fix. The localizer emits a series of audio pulses and measures the time of arrival at the wireless microphone mounted on the robot, and returns the absolute position of the robot. The guidance app then computes the robot's pose and gives the next move command to seek closer to the target. Collaboration with John Swindle, who built the audio localizer.

Source code: http://svn.dprg.org/viewvc/roomba, directories roombacomm/trunk/src/com/hackingroomba/roombacomm/ & Arduino/arduinobot/

RoombaVex Subsumption Implementation

RoombaVex is a Roomba controlled by a VEXPro robot controller. The VEXPro is running a C++ implementation of a subsumption algorithm. Many arrangements of layers are possible; the arrangement shown in this video causes the robot to bounce off the walls of a virtual cage. It uses odometry to track where it is in the virtual cage, and when it crosses outside the space it acts as if it's bumper was hit, and backs away (which takes it back into the cage.

Source code: http://svn.dprg.org/viewvc/dprg/VEXPro/trunk/roombaVEXPro/

Tiny Wanderer

Prototype of a simple AT-Tiny13 based robot,

Subsequently sold on makershed!

Paul Bouchier designed the electronic hardware & firmware. (Mechanical design based on the oomlout robot.) Collaboration with Doug Paradis of the DPRG.

Source code: http://svn.dprg.org/viewvc/dprg/TinyWanderer/

Robotics Presentations

"Gentle Introduction to ROS" - DPRG 2015

The following two videos are Paul Bouchier's presentation "A Gentle Introduction to ROS" to the DPRG. The accompanying slides are at https://sites.google.com/site/paulbouchier/home/gentle-introduction-to-ros

ROSCON 2012

Paul Bouchier's 3-minute lightning talk at ROSCON 2012 talking about the need to develop ROS interfaces to embedded linux devices

Laser Disco Owl