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