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_a_ros_workspace `_ and `creating_a_ros_package `_. Distributions ------------- .. image:: noetic.png :height: 250px Packages for Robot ------------------ .. tip:: If you have a brand new robot from us, please skip this entire section and go to :ref:`package-for-client-PC` The ROS workspace in general contains all the necessary packages that is needed on your Robot PC. Create a ROS-Workspace from the robot's PC terminal as follows: :: mkdir ~/ros_workspace/src From Neobotix ************* All the packages from Neobotix must be cloned from GitHub and must be built under a catkin_workspace. Once the workspace is created, start cloning the packages under your_catkin_workspace/src neo_mp(?)_(?)00 ############### Please fill the (?) depending on your robot. +--------+--------------------------------------+ | Robots | mpo_700, mpo_500, mp_400, mp_500 | +--------+--------------------------------------+ .. note:: For mobile manipulator, just clone the corresponding mobile base _mp_ instead of _mm_ Below is an example with neo_mp_400 :: git clone https://github.com/neobotix/neo_mp_400 neo_kinematics_(?) ################## Please fill the (?) depending on your robot as shown below. ============== =========================== Robots Kinematics ============== =========================== MPO-700 neo_kinematics_omnidrive MPO-500 neo_kinematics_mecanum MP-400, MP-500 neo_kinematics_differential ============== =========================== Below is an example with neo_kinematics_omnidrive (for mpo_700) :: git clone https://github.com/neobotix/neo_kinematics_omnidrive neo_relayboard_v2 ################# :: git clone https://github.com/neobotix/neo_relayboard_v2 neo_sick_s300 ############# :: git clone https://github.com/neobotix/neo_sick_s300.git neo_teleop ########## :: git clone https://github.com/neobotix/neo_teleop.git neo_msgs ######## :: git clone https://github.com/neobotix/neo_msgs.git neo_srvs ######## :: git clone https://github.com/neobotix/neo_srvs.git neo_common ########## :: git clone https://github.com/neobotix/neo_common.git Other dependencies ################## :: sudo apt install ros-noetic-joy ros-noetic-tf2-sensor-msgs ros-noetic-tf2-geometry-msgs Please continue with the steps shown in :ref:`navigation-installation` .. _package-for-client-PC: 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 neo_mp(?)_(?)00 *************** Please fill the (?) depending on your robot. Below is an example with neo_mp_400 +--------+--------------------------------------+ | Robots | mpo_700, mpo_500, mp_400, mp_500 | +--------+--------------------------------------+ .. note:: For mobile manipulator, just clone the corresponding mobile base _mp_ instead of _mm_ :: git clone https://github.com/neobotix/neo_mp_400 neo_msgs ******** :: git clone https://github.com/neobotix/neo_msgs.git neo_srvs ******** :: git clone https://github.com/neobotix/neo_srvs.git Packages for Simulation ----------------------- Create a ROS-Workspace from the terminal as follows: :: mkdir ~/ros_workspace/src Once the workspace is created, start cloning the packages under your_catkin_workspace/src neo_simulation ************** :: git clone https://github.com/neobotix/neo_simulation.git neo_kinematics_(?) ****************** Please fill the (?) depending on your robot as shown below. ======================= =========================== Robots Kinematics ======================= =========================== MPO-700, MMO-700 neo_kinematics_omnidrive MPO-500 neo_kinematics_mecanum MP-400, MP-500, MM-400 neo_kinematics_differential ======================= =========================== Below is an example with neo_kinematics_omnidrive (for mpo_700) :: git clone https://github.com/neobotix/neo_kinematics_omnidrive neo_msgs ******** :: git clone https://github.com/neobotix/neo_msgs.git neo_srvs ******** :: git clone https://github.com/neobotix/neo_srvs.git neo_common ********** :: git clone https://github.com/neobotix/neo_common.git Control package *************** :: sudo apt-get install ros-noetic-ros-controllers sudo apt-get install ros-noetic-gazebo-ros-control sudo apt-get install ros-noetic-navigation Teleoperation ************* :: sudo apt-get install ros-noetic-joy sudo apt-get install ros-noetic-teleop-twist-keyboard Please continue with the steps shown in :ref:`navigation-installation` .. _navigation-installation: Navigation Packages ------------------- .. attention:: This tutorial shows only the installation of packages that are used by default. neo_localization **************** :: git clone https://github.com/neobotix/neo_localization.git Gmapping ******** :: git clone https://github.com/neobotix/slam_gmapping.git AMCL **** :: sudo apt-get install ros-noetic-amcl neo_local_planner ***************** :: sudo apt-get install ros-noetic-neo-local-planner Map Server ********** :: sudo apt-get install ros-noetic-map-server Move Base ********* :: sudo apt-get install ros-noetic-move-base Once all the packages are installed: :: cd your_catkin_workspace catkin_make . devel/setup.bash