Installation

An overview on the installation process of both the real and the simulated robot are discussed here.

Note

As a prerequiste, we suggest you to go through the tutorial on creating and building a ros2 package.

Distributions

../_images/humble.png ../_images/rolling.png

Tip

User will be directed to the installation of the distro by pressing the corresponding image.

Warning

Rolling distro is specific for the developers and there are chances to find code that breaks your process or your hardware. Using Rolling distro is encouraged, only if you are developing a package based on the robot, else use other distros.

Packages for Robot-PC

Tip

If you have a brand new robot from us, please skip this entire section and go to Packages for Client-PC

ROS-2 does not use catkin for building the package unlike ROS-1, rather it employes ament_cmake as the default.

Automated Workspace Setup

Warning

Before continuing with this tutorial, make sure you have sourced your corresponding ROS-Distro.

Follow the simple 3 step process, to create your ros-workspace with all the necessary packages.

  1. Open a terminal and clone the robot-setup-tool from the GitHub

    git clone https://github.com/neobotix/robot-setup-tool.git
    
  2. Go the robot-setup-tool directory:

    cd robot-setup-tool/package-setup
    
  3. Run the bash file:

    ./setup-mp(?)_(?)00.sh
    

Please fill the (?) depending on your robot.

Robots mpo_700, mpo_500, mp_400, mp_500

Manual workspace setup

All the packages from Neobotix must be cloned from GitHub and must be built under a colcon_workspace.

Once the workspace is created, start cloning the packages under your_catkin_workspace/src

Robots

Please fill the (?) depending on your robot.

Robots mpo_700, mpo_500, mp_400, mp_500, rox

Below is an example with neo_mp_400

git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_mp_400-2

Kinematics

Below are the available kinematics packages for the different robots that we offer.

Robots Kinematics
MPO-700 neo_kinematics_omnidrive2
MPO-500 neo_kinematics_mecanum2
MP-400, MP-500 neo_kinematics_differential2
rox (argo) rox_argo_kinematics

Below is an example with neo_kinematics_omnidrive (for mpo_700)

git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_kinematics_omnidrive2

Relayboards

As mentioned in our hardware documentation, all the MP/MM robots uses the relayboard_v2. Whereas, the new robot generation ROX uses neo_relayboard_v3.

For neo_relayboard_v2, Clone

git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_relayboard_v2-2

For neo_relayboard_v3, Clone

git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_relayboard_v3

neo_sick_s300

Note

If the robot utilize microscan or nanoscan from SICK, then please install the sick_safetyscanners2 from the binaries. Instructions are given below.

git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_sick_s300-2.git

neo_teleop

git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_teleop2.git

neo_msgs

git clone https://github.com/neobotix/neo_msgs2.git

neo_srvs

git clone https://github.com/neobotix/neo_srvs2.git

neo_common

git clone https://github.com/neobotix/neo_common2.git

neo_local_planner

git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_local_planner2.git

neo_localization

git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_localization2.git

neo_nav2_bringup

git clone https://github.com/neobotix/neo_nav2_bringup.git

neo_ur_moveit_config

Note

Needed only if you have a UR5/UR10 robot from Universal Robots.

git clone https://github.com/neobotix/neo_mpo_moveit2.git

From Binaries

Slam-Toolbox

sudo apt install ros-$ROS_DISTRO-slam-toolbox

sick_saferyscanners2

Note

Needed only if your robot carries microscan or nanoscan from SICK.

sudo apt-get install ros-$ROS_DISTRO-sick-safetyscanners2

topic_tools

sudo apt-get install ros-$ROS_DISTRO-topic-tools

Universal_Robots_ROS2_Driver

Note

Needed only if you have a UR5/UR10 robot from Universal Robots.

sudo apt-get install ros-$ROS_DISTRO-ur

Once all the packages are installed, build the workspace from the terminal as follows:

cd your_colcon_workspace
colcon build --symlink-install
. install/setup.bash

Sourcing the workspace

Note

. install/setup.bash does not need to be done each time after a package has been built, if the following step as been done.

echo "source your_colcon_workspace/install/setup.bash" >> ~/.bashrc

Packages for Client-PC

Creating a ROS workspace

The ROS workspace contains the packages needed on your Client PC. See below on how to initialize it from a terminal:

mkdir ~/ros_workspace/src

Downloading the required Neobotix ROS-Packages

Neobotix Robots

Below is an example with neo_mp_400, please choose the robot from the list below.

Robots mpo_700, mpo_500, mp_400, mp_500, rox
git clone --branch $ROS_DISTRO https://github.com/neobotix/neo_mp_400-2

neo_msgs

git clone https://github.com/neobotix/neo_msgs2.git

neo_srvs

git clone https://github.com/neobotix/neo_srvs2.git

Once all the packages are installed:

cd your_colcon_workspace
colcon build --symlink-install
. install/setup.bash

Sourcing the workspace

Note

. install/setup.bash does not need to be done each time after a package has been built, if the following step as been done.

echo "source your_colcon_workspace/install/setup.bash" >> ~/.bashrc

Packages for Simulation

Note

You can safely skip this step for the real robot.

Note

We do not have support for ROX in simulation yet. Stay tuned.

Automated Workspace Setup

Warning

Before continuing with this tutorial, make sure you have sourced your corresponding ROS-Distro.

Follow the simple 3 step process, to create your ros-workspace with all the necessary packages.

  1. Open a terminal and clone the robot-setup-tool from the GitHub

    git clone https://github.com/neobotix/robot-setup-tool.git
    
  2. Go the robot-setup-tool directory:

    cd robot-setup-tool/package-setup
    
  3. Run the bash file:

    ./setup-simulation.sh
    

Manual Workspace Setup

Clone the simulation package

git clone https://github.com/neobotix/neo_simulation2.git

Sourcing the workspace

Note

. install/setup.bash does not need to be done each time after a package has been built, if the following step as been done.

echo "source your_colcon_workspace/install/setup.bash" >> ~/.bashrc

Install the relevant ROS2 Gazebo Packages

sudo apt-get install ros-$ROS_DISTRO-gazebo-ros ros-$ROS_DISTRO-gazebo-plugins ros-$ROS_DISTRO-gazebo-ros-pkgs

Install the ROS-2 Navigation Packages

sudo apt install ros-$ROS_DISTRO-navigation2 ros-$ROS_DISTRO-nav2-bringup

Warning

Only available for Humble. For Rolling, follow the steps shown in the link: https://navigation.ros.org/build_instructions/index.html (section: For main branch development)

Install xterm

sudo apt install xterm

Clone the neo_nav2_bringup Packages

git clone https://github.com/neobotix/neo_nav2_bringup.git

Clone the neo_local_planner, neo_localization

Note

Please checkout to your $ROS_DISTRO branch – We provide support to all the currently active ROS2 distribution.

cd to_your_workspace/src
git clone https://github.com/neobotix/neo_local_planner2.git
git clone https://github.com/neobotix/neo_localization2.git

Build the clones

cd ..
colcon build --symlink-install

Install the ROS-2 SLAM Toolbox

sudo apt install ros-$ROS_DISTRO-slam-toolbox