Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository

pioneer_mrs

Repository Summary

Checkout URI https://github.com/hanzheteng/pioneer_mrs.git
VCS Type git
VCS Version master
Last Updated 2020-03-04
Dev Status MAINTAINED
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
pioneer_mrs 1.4.0

README

pioneer_mrs Build Status

1. Introduction

A ROS package for Pioneer 3-AT Multi-Robot Systems.

This is a flexible experimental platform for multi-robot systems (MRS). Should there be any problem, please feel free to contact maintainer @hanzheteng or open a new issue in this repository.

ROS package Description (Features) Platform
pioneer_mrs
  • Support scientific computing library (numpy, scipy, etc.) for your algorithms
  • Support two kinds of localization methods (odometry, VICON)
  • Support two kinds of robot-level simulators (MobileSim, Gazebo)
  • Visualization is under developing

2. Usage

2.1 Running on Robots

System Configuration

Before using this package to drive your robots, you may configure your platform following the steps:

  1. All machines (5 robots + 1 laptop) are installed Ubuntu 16.04 and ROS Kinetic
  2. All robots (onboard computer, actually) are installed and catkin_make-ed ARIA lib and ROSARIA package
  3. All machines need a static IP address and are able to automatically connect to your local WiFi
  4. Write the IP and hostname information into /etc/hosts file on all the machines
  5. Your commander (laptop) is able to SSH to all robots via public key (instead of password)
  6. Onboard computers are able to get access to the microcontroller via serial post (add user to dialout group)

For detailed information regarding how to set up the whole system, please refer to the wiki page.

Moreover, there are two suggestions which is not necessary for this system but may be useful for your development.

  • You may install a teamviewer software on your laptop and robots so that you can remote login into your onboard computers.
  • For IDE, I recommend RoboWare Studio, which is especially designed for ROS developers. Another alternative is KDevelop, which is a cross-platform IDE.

Package Dependencies

Before git clone this repository, you need to install ARIA lib and git clone ROSARIA package first. After that, catkin_make your ROSARIA package with ARIA library. Then, you can clone this repository by git clone https://github.com/hanzheteng/pioneer_mrs.git and catkin_make this package in your workspace.

Notice:

  1. You must catkin_make the ROSARIA package first before you clone and make this package, otherwise it may report errors.
  2. Sometimes you need to catkin_make pioneer_mrs_generate_messages first before catkin_make this package, because the compiler may not be able to find the header file of our messages.

Optional package:

  • If you want to use VICON motion capture system, you also need to git clone and catkin_make vicon_bridge package.

Sample Usage

Basically there are several steps:

  1. launch nodes on all five robots </br> roslaunch pioneer_mrs multi-robot.launch
  2. launch nodes on commander </br> roslaunch pioneer_mrs commander.launch

If using Vicon:

  1. launch nodes on all five robots </br> roslaunch pioneer_mrs multi-robot.launch pose:=vicon
  2. launch nodes on commander </br> roslaunch pioneer_mrs commander.launch

2.2 Running on MobileSim Simulator

You also need ROSARIA package to connect to MobileSim simulator. Moreover, you need to install MobileSim on your laptop.

Basically there are several steps:

  1. run a MobileSim simulator and spawn five robots </br> roslaunch pioneer_mrs mobilesim.launch
  2. launch nodes on all five robots </br> roslaunch pioneer_mrs multi-robot.launch machine:=mobilesim
  3. launch nodes on commander </br> roslaunch pioneer_mrs commander.launch

2.3 Running on Gazebo Simulator

You do not need ROSARIA package here, since Gazebo will take charge of publishing odom information and dealing with cmd_vel commands. Gazebo is installed by default along with ROS if choosing desktop-full install. Moreover, for simulations of Pioneer 3-AT robots, you also need models and URDF files supplied by Mobile Robots Inc. by git clone amr-ros-config meta-package.

Basically there are several steps:

  1. run a Gazebo simulator and spawn five robots </br> roslaunch pioneer_mrs gazebo.launch
  2. launch nodes on all five robots </br> roslaunch pioneer_mrs multi-robot.launch pose:=gazebo machine:=gazebo
  3. launch nodes on commander </br> roslaunch pioneer_mrs commander.launch

Notice: On real robots, movement commands only execute for 600ms because of WatchDog timeout mechanism; but in gazebo simulator, robots will keep moving towards the last direction. You may press space bar (stop command) to stop it.

2.4 Single Robot Recoverary

Optional launch file (e.g. robot1):

  • launch one robot </br> roslaunch pioneer_mrs single-robot.launch hostname:=robot1
  • launch one robot with Vicon </br> roslaunch pioneer_mrs single-robot.launch hostname:=robot1 pose:=vicon
  • launch one robot on MobileSim simulator </br>

File truncated at 100 lines see the full file

Repo symbol

pioneer_mrs repository

Repo symbol

pioneer_mrs repository