Getting started
Install Ubuntu
The repository and its related components have been tested under the following Ubuntu distributions:
ROS Kinetic: Ubuntu 16.04
ROS Melodic: Ubuntu 18.04
ROS Noetic: Ubuntu 20.04
If you do not have a Ubuntu distribution on your computer you can download it here.
Git - Version Control
Install Git Software
Install the Git core components and some additional GUI’s for the version control:
sudo apt-get install git-core gitg gitk
Set Up Git
Now it’s time to configure your settings. To do this you need to open a new Terminal. First you need to tell git your name, so that it can properly label the commits you make:
git config --global user.name "Your Name Here"
Git also saves your email address into the commits you make.
git config --global user.email "your-email@youremail.com"
GIT Tutorial If you have never worked with git before, we recommend to go through the basic git tutorial.
Docker (Recommended)
To be able to use our software independent of the operating system and/or ROS distribution, it is recommended to use docker. You can follow this tutorial to use docker.
ROS - Robot Operating System
Install ROS
The repository has been tested successfully with the following ROS distributions. Use the link behind a ROS distribution to get to the particular ROS Kinetic installation instructions.
Note
Do not forget to update your .bashrc!
ROS Tutorials
If you have never worked with ROS before, we recommend to go through the beginner tutorials provided by ROS.
In order to understand at least the different core components of ROS, you have to start from tutorial 1 (“Installing and Configuring Your ROS Environment”) till tutorial 7 (“Understanding ROS Services and Parameters”).
Setup catkin workspace
Create a catkin workspace
source /opt/ros/noetic/setup.bash mkdir -p ~/noetic/src; cd ~/noetic/src catkin_init_workspace catkin build
Clone and compile the MAS industrial robotics software
First of all you have to clone the repository.
cd ~/noetic/src; git clone git@github.com:b-it-bots/mas_industrial_robotics.git
Then go on with installing further external dependencies:
cd ~/noetic/src/mas_industrial_robotics ./repository.debs source ~/noetic/devel/setup.bash
The last command should be added to the ~/.bashrc file so that they do not need to be executed everytime you open a new terminal.
And finally compile the repository:
cd ~/noetic catkin build
If no errors appear everything is ready to use. Great job!
Setting the Environment Variables
ROBOT variable
With the ROBOT variable you can choose which hardware configuration should be loaded when starting the robot. The following line will add the variable to your .bashrc:
echo "export ROBOT=youbot-brsu-1" >> ~/.bashrc source ~/.bashrc
ROBOT_ENV Variable
The ROBOT_ENV variable can be used to switch between different environments. The following line will add the variable to your .bashrc:
Real robot
echo "export ROBOT_ENV=brsu-c025" >> ~/.bashrc source ~/.bashrc
Simulation
echo "export ROBOT_ENV=brsu-c025-sim" >> ~/.bashrc source ~/.bashrc
Bring up the robot and its basic components
In Simulation
roslaunch mir_bringup_sim robot.launch
In a new terminal you can open the Gazebo GUI to see the environment and the robot
rosrun gazebo_ros gzclient
At the Real Robot
roslaunch mir_bringup robot.launch
Test the base
roslaunch mir_teleop teleop_keyboard.launch
Visualize the robot state and sensor data
rosrun rviz rviz
Build a map for base navigation
roslaunch mir_2dslam 2dslam.launch
Use autonomous navigation
Omni-directional navigation
roslaunch mir_2dnav 2dnav.launch nav_mode:=dwa
Click on the menu bar “File -> Open Config”, navigate to “~/noetic/src/mas_industrial_robotics” and select the “youbot.rviz” file.