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.
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
Publications
Quick & Easy Guide to Calibration using UMB (Borenstien square) - Feb 2009
Embedded ROS - an article for the IEEE Robotics & Automation Magazine, to be published June 2013. Copyright (c) IEEE
jRover article for Servo Magazine (June/July 2013 issue).
RoombaVex Article for Robot Magazine
VEXPro Article for Robot Magazine