Video: Control-Theoretic Swarm Joysticks

Video highlights of our work on multi-agent robotics at the GRITSLab at the Georgia Institute of Technology.

Gentoo ROS Enabled

Installing ROS Indigo Igloo on Gentoo Linux

(Gentoo Logo by Gentoo Foundation / “ROS Enabled” by I Heart Robotics)

Since the new ROS release, Indigo Igloo, does not include installation instructions for Gentoo Linux yet, I have used the instructions to build from source on Ubuntu to create a tutorial for installing the newest ROS release on my favorite Linux distribution.

Read more…

Sharing the Internet with a BeagleBone Black

This is a quick tutorial on how to tether the BeagleBone Black (and other Linux devices) to a Linux computer for Internet connectivity. By default, the BeagleBone Black will take as its IP address when connected to a computer via USB. We need to assign to the USB Ethernet device (enp0s25 in this tutorial) and route all outbound packets to this device from the BeagleBone Black to the Internet via the wireless device (wlp3s0). As root (or using sudo) on the computer,

# ifconfig enp0s25
# sysctl net.ipv4.ip_forward=1
# iptables --table nat --append POSTROUTING --out-interface wlp3s0 -j MASQUERADE
# iptables --append FORWARD --in-interface enp0s25 -j ACCEPT

As root on the BeagleBone Black,

# route add default gw
# echo "nameserver" >> /etc/resolv.conf

This tutorial can also be adapted for tethering other Linux devices to an Internet-connected Linux device, but IP addresses and device names may be different.

Microsoft SideWinder Force Feedback Pro


I have revamped my previous MATLAB SDL joystick project into a new repository with code based on SDL2. It can be compiled in MATLAB on any of the platforms if SDL2 is installed and MEX is properly configured.

Courtesy of

Personal ROS stack

(Image by Open Source Robotics Foundation / CC BY 3.0 US)

With the release of ROS Indigo Igloo, I have released my personal ROS stack with catkin packages for Arduino, AR.Drone, Khepera III, OptiTrack, and Vicon. These packages were developed for use in the GRITSLab.

You can find the source code in this repository.

Sphero on a Java book

Sphero & Java

My GitHub page now features a Java SDK for Orbotix’s Sphero, a robotic ball. This package uses BlueCove for connecting to the Sphero from a computer via Bluetooth.

You can find the source code and a (for now, short) list of supported features in this Git repository.

Texas Instrument’s blog post about our second MOOC!


The second iteration of our MOOC, Control of Mobile Robots, is live!

An article about the inverted classroom, our MOOC, and

Our Coursera course on the control of mobile robots is now live. The optional programming exercises are based on!

Load More