Skip to content

Introduction

Overview

ROS (Robot Operating System) is a software framework designed to enable the development of complex robotic systems. ROS2 builds on the success of the original Robot Operating System (ROS) by improving its modularity, scalability, and interoperability. It is designed to support multiple programming languages and platforms, and it is backed by a large and active community of developers and users.


ROS2 packed and produced by Neuromeka communicate with IndyFramework through IndyDCP3. The ROS2 packages for Indy have been tested with the ROS2 Humble and ROS2 Jazzy. For more information about the ROS2 version, see the ROS2 releases.

Install ROS and Neuromeka package

Install Neuromeka package

Neuromeka package is required and can be downloaded from the Neuromeka official Github repository, or intall using following command:

pip3 install neuromeka

Installation guide for ROS2 Humble on Ubuntu 22

Follow ROS2 Humble Installation to install ROS2 Humble version on your PC.

  • Install dependencies

    sudo apt install python3-rosdep
    sudo apt install python3-rosdep2
    sudo rosdep init
    rosdep update
    sudo apt update
    sudo apt install rospack-tools
    sudo apt install python3-colcon-common-extensions
    sudo apt install python3-colcon-mixin
    colcon mixin add default https://raw.githubusercontent.com/colcon/colcon-mixin-repository/master/index.yaml
    colcon mixin update default
    sudo apt install python3-vcstool
    

  • Install ROS2 packages

    sudo apt install -y ros-humble-xacro \
        ros-humble-moveit \
        ros-humble-moveit-servo \
        ros-humble-ros2-control \
        ros-humble-ros2-controllers \
        ros-humble-moveit-ros-move-group \
        ros-humble-moveit-planners-ompl \
        ros-humble-moveit-kinematics \
        ros-humble-gazebo-ros \
        ros-humble-gazebo-ros2-control \
        ros-humble-controller-manager \
        ros-humble-joint-state-broadcaster \
        ros-humble-joint-state-publisher-gui \
        ros-humble-joint-trajectory-controller \
        ros-humble-moveit-ros-perception \
        ros-humble-rviz-visual-tools \
        ros-humble-moveit-visual-tools \
        ros-humble-moveit-resources
    

  • Switch to Cyclone DDS

    sudo apt install ros-humble-rmw-cyclonedds-cpp
    

  • Setup enviroment

    echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc && source ~/.bashrc
    echo "export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp" >> ~/.bashrc && source ~/.bashrc
    

  • Create a ROS workspace

    mkdir -p ~/colcon_ws/src
    

  • Download and compile Indy packages

    cd ~/colcon_ws/src &&
    git clone --branch humble-indyDCP3 https://github.com/neuromeka-robotics/indy-ros2.git
    

cd ~/colcon_ws && colcon build
  • Load Indy workspace and set default
    echo "source $HOME/colcon_ws/install/setup.bash" >> ~/.bashrc && source ~/.bashrc
    

Installation guide for ROS2 Jazzy on Ubuntu 24

Follow this URL to install ROS2 Jazzy version on your PC ROS2 Jazzy Installation.

  • Install dependencies

    sudo apt install python3-rosdep
    sudo rosdep init
    rosdep update
    sudo apt update
    

  • Install ROS2 packages

    sudo apt install -y ros-jazzy-xacro \
        ros-jazzy-moveit \
        ros-jazzy-moveit-servo \
        ros-jazzy-moveit-visual-tools \
        ros-jazzy-moveit-resources \
        ros-jazzy-moveit-ros-move-group \
        ros-jazzy-moveit-planners-ompl \
        ros-jazzy-moveit-kinematics \
        ros-jazzy-moveit-ros-perception \
        ros-jazzy-ros2-control \
        ros-jazzy-ros2-controllers \
        ros-jazzy-controller-manager \
        ros-jazzy-joint-state-broadcaster \
        ros-jazzy-joint-state-publisher-gui \
        ros-jazzy-joint-trajectory-controller \
        ros-jazzy-rviz-visual-tools \
        ros-jazzy-geometric-shapes \
        ros-jazzy-gz-ros2-control \
        ros-jazzy-ros-gz
    

  • Switch to Cyclone DDS

    sudo apt install ros-jazzy-rmw-cyclonedds-cpp
    

  • Setup enviroment

    echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc && source ~/.bashrc
    echo "export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp" >> ~/.bashrc && source ~/.bashrc
    

  • Create a ROS workspace

    mkdir -p ~/colcon_ws/src
    

  • Download and compile Indy packages

    cd ~/colcon_ws/src &&
    git clone --branch jazzy-indyDCP3 https://github.com/neuromeka-robotics/indy-ros2.git
    

cd ~/colcon_ws && colcon build
  • Load Indy workspace and set default
    echo "source $HOME/colcon_ws/install/setup.bash" >> ~/.bashrc && source ~/.bashrc
    

Indy Package List

├── indy-ros2
    ├── indy_description
    ├── indy_driver
    ├── indy_gazebo
    ├── indy_moveit
    └──  ...
  • indy_description : Includes Indy model (Indy7, Indy7_V2, IndyRP2, IndyRP2_V2, Indy12 and Indy12_V2)
  • indy_driver : Create communication between ROS2 and Indy
  • indy_gazebo : Gazebo simulation for Indy.
  • indy_moveit : Moveit configuration for Indy

Configuration of ROS2 manual