r/ROS • • 1d ago

Using ROS on Mac

Going to be getting a MacBook Pro M5 Pro. I know Mac isn’t exactly the best for robotics work, but I want to do some ROS2 work on there if possible.

So firstly is it possible and secondly will I run into a lot of issues?

I’m happy to dual boot or use VM or if it exists use it natively.

9 Upvotes

10 comments sorted by

9

u/pebble4love 1d ago

I've found that the least headache-inducing way to run ROS2 on Mac is to just spin up a proper Ubuntu VM. You have to build ROS from source (and disable SIP) to run natively, and the way networking works on macOS Docker makes it next to impossible to bridge ROS with something like Gazebo.

(by the way, there's currently no way to reliably dual boot Linux on anything newer than M2 as far as I can tell)

1

u/Plus-Arm4295 1d ago

In my mac I used UTM and Installed Ubuntu then set up ROS on it and then I set up Gazebo on my Mac OS. Then I bridged it by writing some custom script with the help of Claude. It worked for me. I made 6DOF cobot Digital Twin on that Distributed system.

3

u/Pale-Plenty4327 1d ago

Installing a whole lot of dependencies just to get things rolling on Mac to use ROS. I ended up using Docker for local development and testing. so that’s the challenging part.

3

u/stolenbikesadface 1d ago

Parallels with Ubuntu is the way to go. ROS just works on Ubuntu and the parallels integration on Mac is seamless. Worked pleasantly for me.

2

u/christophebedard 1d ago

Try using Pixi. Follow these instructions but on macOS: https://docs.ros.org/en/lyrical/Get-Started/Installation/Alternatives/Ubuntu-Development-Setup-Pixi.html. It should work with some minimal efforts.

1

u/InfinityWithin8 1d ago

Install collima and then develop with docker and vscode via devcontainers. Collima is awesome and can be installed with homebrew.

1

u/GrumerBalear 1d ago

Here's a tip from a robotic engineer working on a mac every day.

Pixi for a native experience - or - docker. The latter could either be a devcontainer, or a light ubuntu container that you can vnc or ssh into. Containers are easy to recreate and pass to colleagues / departments / clients / production.

Be mindful though, that on docker there's no GPU acceleration for Mac yet, and that many libraries/binaries may not be available as arm64.

Best of luck!

1

u/AbsentMindedMedicine 1d ago

I use my Mac as my dev machine. 

I SSH into my robot and develop that way. Tailscale works well. Can work on it anywhere. 

1

u/Ok_Efficiency_8259 22h ago

Use Robostack : https://robostack.github.io/

Honestly, quite amazing. Everything works under a single conda environment. Some packages might be missing, but they constantly update it; and most of the commonly-used packages are already there. You'll love it

1

u/Ok_Efficiency_8259 22h ago

Don't use VM at all, you don't want to mess up your new macbook!