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…

Arduino and Django Data Logger

In an effort to demonstrate a new django-quick-start package I’m making at work (similar in purpose to pinax, but with some SpaceX-specific packages), I decided to create an Arduino data logger that is viewable through Django. The data from a couple different sensors is first collected with an Arduino. A Python daemon polls the Arduino periodically and asks for new data. The daemon saves this data to the Django database.…

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.…