ELP Stereo Camera ROS Package

I created a ROS driver for the ELP-1MP2CAM001 Dual Lens stereo camera while working on some underwater point-cloud applications. Included in the package is: a URDF macro for the camera a usable calibration udev rules to reliably access the two cameras a launch file to start two usb_cam nodes and a stereo_image_proc node a launch file to start the calibration process Links Source: https://github.com/joshvillbrandt/elp-stereo-camera-ros-pkg Documentation: http://wiki.ros.org/elp_stereo_camera

Mecanumbot Hector SLAM

I finally set some time aside to build some maps of my apartment using a SLAM algorithm! I ended up using the hector_slam package in ROS to do the job. There was a lot of trial and error involved in tuning my odometry and the hector_slam algorithm, but it eventually worked just fine. Check out the screenshots below! Links Mecanumbot ROS package

Mecanumbot Ball Following

I have updated my Mecanumbot code to the latest and greatest ROS distribution – Hydro. During the upgrade, I wrote a companion app to publish velocity commands based of of the output of my ball tracker. The result is that the Mecanumbot can follow a red ball around the room! I wrote the ball tracking code itself back in college. The segmentation approach is pretty naive, but I only spent…

Mecanumbot Integrated Lights Test

I’ve finally achieved end-to-end control of the Mecanumbot’s LEDs! The latest hurdle which prevented me from writing the LED code was a RAM limitation on the microcontroller side. The solution involved swapping over from an Arduino Duemilanove with 1KB of RAM to a Seeeduino Mega with 8KB of RAM. The increased RAM also opens the door for me to code up the Mecanumbot low-level telemetry including items like bus voltage and bus current.…

Quick Manual Control Demo

This weekend I added a wireless Xbox controller to the list of devices I can use to control the Mecanumbot. Before now I’ve been able to use a standard RC transmitter, a computer keyboard, and a Wiimote. I again used the ROS framework to integrate the controller. Built into ROS is a joystick node to interface with the wireless USB dongle and I had already built a node to listen…

Legorov Teleoperating Robot

I built this little robot out of Lego this week (see picture.) The electronics include an Arduino, a Sparkfun xBee shield, and an Adafruit motor shield. On the other side of the xBee shield is a linux box running ROS. With ROS I can generated velocity messages from my keyboard or with a Wiimote. These messages get sent to the Arduino which translates the commands into individual motor speeds. I…

Starting New Project: The Mecanumbot

Alright. I have decided that I do not have the time or desire to figure out the controls problems that the Ball Bot presents. I really am interested in the navigation and localization challenges that I can work on with a functioning robotic platform. So what I need is a platform that is easy and that I know will work. Enter in the statically stable, four wheeled robot that I…

Identify Duplos ROS Package

The goal of this project is to “count the Duplos on the table.” The tools available include a point cloud-­‐producing sensor (the Kinect), ROS, the Robotic Operating system from Willow Garage, and PCL, the Point Cloud library. An end goal for this project is to provide some usual information to another agent such as a robotic arm motion planner. The information provided could help the motion planner manipulate LEGO Duplos.…

The Ball Bot

I’ve started a new robot project! This will be one of the most challenges personal projects I’ve embarked on. I have the following goals: designed to be a flexible software test platform mechanical design from scratch in SolidWorks, manufactured from G10 low level control through off-the-shelve electronics including an Arduino, SparkFun Quadstepper motor controller, ITG-3200 Gyro, and BMA180 Accelerometer high-level control through mini-ITX computer onboard running ROS 2D SLAM w/…