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 MobyFramework through [DCP3]

The ROS2 packages for Moby have been tested with the ROS2 Humble. For more information about the ROS2 version, see the ROS2 releases.

Install ROS and Neuromeka package

Moby ROS2 must be used by deactivating or removing the Navifra PC included in Moby's basic configuration and connecting a separate PC with a Linux environment.

Moby ROS2 and Navicore cannot be used simultaneously.

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

Install ROS packages

This installation guide is based on Ubuntu 22.04. Follow ROS2 Humble Installation to install ROS2 Humble version on your PC.

sudo apt install -y ros-humble-perception-pcl \
                    ros-humble-cartographer* \
                    ros-humble-xacro  \
                    ros-humble-ros2-control  \
                    ros-humble-ros2-controllers  \
                    ros-humble-controller-manager  \
                    ros-humble-joint-state-broadcaster \
                    ros-humble-joint-state-publisher-gui \
                    ros-humble-navigation2 \
                    ros-humble-nav2* \
                    ros-humble-geographic-msgs \
                    ros-humble-robot-localization \
                    ros-humble-joy-linux \
                    ros-humble-libg2o \
                    ros-humble-slam-toolbox \
                    ros-humble-ros-ign \
                    ros-humble-ros-ign-gazebo \
                    ros-humble-ign-ros2-control \
                    ros-humble-ros-ign-interfaces \
                    ros-humble-gazebo-ros-pkgs \
                    ros-humble-tf-transformations \
                    ros-humble-teleop-twist-keyboard \
                    ros-humble-rtabmap-ros \
                    ros-humble-octomap-ros \
                    ros-humble-octomap-rviz-plugins \
                    ros-humble-nav2-map-server \
                    ros-humble-sick-scan-xd \
                    ros-humble-librealsense2* \
                    ros-humble-realsense2-camera \
                    ros-humble-realsense2-description

&& sudo apt install -y python3-colcon-common-extensions \
&& sudo apt install python3-rosdep -y \
&& sudo apt install python3-rosdep2 -y \
&& sudo rosdep init

Setup enviroment

source /opt/ros/humble/setup.bash
echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc

Download and compile moby packages

  • Create workspace

    mkdir -p ~/ros2_ws/src
    cd ~/ros2_ws/src
    git clone --branch humble-dcp3 https://github.com/neuromeka-robotics/moby-ros2.git
    

  • Build the source code

    cd ~/ros2_ws/
    colcon build
    

  • Source setup file

    . install/setup.bash
    echo 'source $HOME/ros2_ws/install/setup.bash' >> ~/.bashrc
    

Moby Package List

├── moby-ros
    ├── src
        ├── moby_bringup
        ├── moby_description
        ├── moby_gazebo
        ├── moby_mapping
        ├── moby_navigation
        └──  ...
  • moby_bringup: Create communication between ROS and moby
  • moby_description: Includes moby model (moby_rp and moby_rp_v3)
  • moby_gazebo: Includes gazebo simulation for moby.
  • moby_mapping: Mapping configuration for moby
  • moby_navigation: Navigation configuration for moby

Configuration of ROS manual