How to install ROS Jade on OS X Yosemite

For all the OS X users out there being annoyed by having to run ROS in their virtual machines, here is the gist for compiling it natively:

Be warned, this is not a walk in the park. There are usually plenty of issues to work around. But the result is worth it!

Use the Neato Botvac with ROS

Neato’s Botvacs are not only cool for keeping your home clean, they also are an affordable robotics platform compatible with the robot operating system (ROS). To use your Neato with ROS, first install ROS, then download and install my fork of the neato_robot package:

To use my Neato wifi hack with the ROS package neato_robot the telnet access has to be bridged back to serial with socat:

Now you can launch the necessary ROS nodes with roslaunch:

While the console window is active, you should be able to move your robot around by:
u i o
j k l
m , .

q/z : increase/decrease max speeds by 10%
w/x : increase/decrease only linear speed by 10%
e/c : increase/decrease only angular speed by 10%
anything else : stop

CTRL-C to quit
Watch out, it can be surprisingly fast 😉

Neato ROS

Alternatively you can command your neato via rviz to go to a nav goal…

How to install ROS Indigo on OS X Yosemite

Compiling the Robot Operating System (ROS) Indigo on Mac OS X can be quite a challenge. Here is a well tested recipe originally created by Mike Purvis and updated by me for OS X Yosemite 10.10.2:

Switch between formula versions in Homebrew

When working with ROS on MacOS X and updating and upgrading your packages via Homebrew, you will often find your packages broken because some library was replaced by a newer one. A typical error looks like this:

Not too long ago, one would have just used brew versions and checked out the version needed, but that was long deprecated and has become unavailable recently. Nowadays, switch can be used instead:

Now you can easily switch back to r116 by:

Install ROS Indigo Igloo on Radxa Rock

Assuming you followed my tutorial for configuring your Radxa Rock, you can easily install ROS Indigo on it by:

Setup your environment:

As ROS does not recognize Linaro as an OS:

and replace „Linaro“ with „Ubuntu“

Init a catkin workspace:

and test it:

ROS and XCode

Compile all your ROS packages as usual and make sure there are no more errors left

Because having too many packages in Xcode can be a bit overwhelming, I recommend to install all the unused packages to /opt/ros/indigo:

Remove the build, devel and the unneeded stuff from src

Then generate a Xcode project by:

you may have to do this every time you add a new package or add files to a package so define an alias:

Define an alias for starting ROS from the console in your .zshrc:

Start ROS from the console so that it gets its correct environment

If you get an error like this after linking:

Click Product->Scheme->Edit Scheme->Run „Target Name“->Environment Variables
and add DYLD_LIBRARY_PATH /opt/ros/indigo/lib

Bildschirmfoto 2014-01-14 um 13.08.55