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
robot
SolarSurfer Satellite Control
One of the most fun projects that I’ve gotten to work on recently was the SolarSurfer project. A unique aspect of that project which I hadn’t done before was remote control via a satellite connection. The project is extensively documented on Hackaday; check out the logs on satellite comm overview, real-time tracking, and mission simulation. Here is a short summary of the different project aspects: Developed telemetry protocol for bandwidth-constrained…
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…
Mecanumbot Gets a New Body
After a few sleepless nights, I have finally milled out the pieces for my Mecanum-wheeled robot body. The outer and bottom body pieces are made out of 1/8″ G10/FR4 Garolite. The top two layers are made from transparent polycarbonite. A thin layer of transparent silicon will be placed on the top-most layer of polycarbonite to provide some friction when transporting objects on the top. All of the pieces are held…
Mecanumbot Motor Testing
This passed week I have been playing with the new motors and motor drivers I got for the Mecanumbot. I used some MicroRAX pieces and the supplied motor brackets to piece everything today. I controlled the MD25 motor controllers over I2C using an Arduino which was getting commands from an RC transmitter. Unfortunately the naive method of reading in the RC receiver signals of only three channels takes up nearly…
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…
BeoHawk Takes Flight!
BeoHawk, a new quad-rotor helicopter that is being developed at USC’s iLab, has taken its first flight. This flight was a major milestone for Aerial Robotics Team’s goal of competing in the AUVSI International Aerial Robotics Competition. This year’s competition focuses on retrieving a USB flash drive in high security office building. The robot will have to avoid security guards, security cameras, laser trip wires, and weight-sensitive floors while stealing…