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¶
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.
Open a terminal and clone the robot-setup-tool from the GitHub
git clone https://github.com/neobotix/robot-setup-tool.git
Go the robot-setup-tool directory:
cd robot-setup-tool/package-setup
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_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
MoveIt2¶
Note
Required only for mobile manipulators
sudo apt-get install ros-$ROS_DISTRO-ros2-control ros-$ROS_DISTRO-ros2-controllers ros-$ROS_DISTRO-rqt_joint_trajectory_controller ros-$ROS_DISTRO-moveit-*
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 -p 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
From the binaries¶
Navigation2¶
sudo apt install ros-$ROS_DISTRO-navigation2 ros-$ROS_DISTRO-nav2-*
MoveIt2¶
Note
Required only for mobile manipulators
sudo apt-get install ros-$ROS_DISTRO-ros2-control ros-$ROS_DISTRO-ros2-controllers ros-$ROS_DISTRO-rqt_joint_trajectory_controller ros-$ROS_DISTRO-moveit-*
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.
Attention
Mobile manipulators are not included yet in the installation steps
Follow the simple 3 step process, to create your ros-workspace with all the necessary packages.
Open a terminal and clone the robot-setup-tool from the GitHub
git clone https://github.com/neobotix/robot-setup-tool.git
Go the robot-setup-tool directory:
cd robot-setup-tool/package-setup
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
ros-$ROS_DISTRO-gazebo-ros2-control
MoveIt2¶
sudo apt-get install ros-$ROS_DISTRO-ros2-control ros-$ROS_DISTRO-ros2-controllers ros-$ROS_DISTRO-rqt_joint_trajectory_controller ros-$ROS_DISTRO-moveit-*
Install xterm¶
sudo apt install xterm
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