Intro
Welcome to RoboStack - a bundling of the Robot Operating System (ROS) by Open Robotics for Linux, Mac and Windows using the Conda package manager. We provide ROS packages for ROS1 Noetic and ROS2 Humble (as well as unsupported Melodic/Foxy/Galactic packages), as well as a variety of ROS related plugins for Jupyter notebooks.
ROS2 on Mac using RoboStack
”After installing from robostack, install the ros-humble-gazebo-ros and ros-humble-gazebo-ros-pkgs, that will get you ros2 run gazebo_ros.” https://www.reddit.com/r/ROS/comments/18kt35s/running_gazebo_on_mac_with_robostack/
Install Conda environment
mkdir -p ~/miniconda3
curl https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm ~/miniconda3/miniconda.sh
- Create env
conda create -n ros_env python=3.11
conda activate ros_env
# this adds the conda-forge channel to the new created environment configuration
conda config --env --add channels conda-forge
# and the robostack-staging channel
conda config --env --add channels robostack-staging
# remove the defaults channel just in case, this might return an error if it is not in the list which is ok
conda config --env --remove channels defaults
Install ROS
- Install ros-humble into the environment (ROS2 Humble)
conda install ros-humble-desktop
- Reactivate the environment to initialize the ros env
conda deactivate
conda activate ros_env
- Install ROS tools
conda install compilers cmake pkg-config make ninja colcon-common-extensions catkin_tools rosdep
Test install (Rviz)
conda activate ros_env
rviz2
Install Gazebo
- Install Gazebo in base env (not ros2)
conda deactivate ros_env
curl -ssL http://get.gazebosim.org | sh
- Update Homebrew and check for issues:
brew update
brew doctor
- Run Gazebo in a new terminal
gazebo
ROS Integration with Gazebo
- Install gazebo-ros-pkgs
conda install -c robostack ros-humble-gazebo-ros-pkgs
- Test the set up by launching a simple Gazebo world with ROS2
ros2 launch gazebo_ros gazebo.launch.py