Coder Social home page Coder Social logo

master_multirobot's Introduction

Multiple Robots Master

The program of multiple robot platform running in master computer

In the real experiment, please run the Slave program in slave robot

Test Environment

  • system -- ubuntu 16.06
  • platform -- ros kinetic/melodic

Installation

requirement

turtlebot package

sudo apt-get update
sudo apt-get install ros-kinetic-turtlebot ros-kinetic-turtlebot-apps ros-kinetic-turtlebot-interactions ros-kinetic-turtlebot-simulator ros-kinetic-kobuki-ftdi ros-kinetic-rocon-* ros-kinetic-ar-track-alvar-msgs

keyboard control:

sudo pip install pynput

build

cd ~/catkin_ws/src
git clone https://github.com/hanruihua/master_multirobot.git
cd ~/catkin_ws
catkin_make

planning algorithm ORCA:

cd ~/catkin_ws/src
git clone https://github.com/hanruihua/rvo_ros.git
cd ~/catkin_ws
catkin_make

Configuration

Before run the launch file for the real experiment, you should allocate the ROS_MASTER_URI, ROS_HOSTNAME, ROS_IP for this master robot(in .zshrc or .bashrc)

template:

echo "export ROS_MASTER_URI=http://localhost_ip:11311" >> ~/.zshrc
echo "export ROS_HOSTNAME=localhost_ip" >> ~/.zshrc
echo "export ROS_IP=localhost_ip" >> ~/.zshrc
source ~/.zshrc

example:

  • In .zshrc or .bashrc:

Run

keyboard telecontrol

roslaunch master_teleop master_keyboard.launch --screen

simulation

  • Turtlebot(rvo)

roslaunch master_simulation rvo_turtlebot_gazebo2.launch
roslaunch master_simulation rvo2.launch
rosrun rvo_ros set_goals_client random 0 4 0 4

Note: (1) the command of the rvo_ros should refer to the rvo readme
(2) if there is the error like the "unused args [ROBOT_INITIAL_POSE, model]", please replace your kobuki.launch file in the path turtlebot_simulator/turtlebot_gazebo/launch/includes by the file kobuki.launch

real experiment

rvo real experiment (turtlebot should run the slave robot program)

roslaunch master_launch rvo_turtlebot_exp.launch

Attention: All the slave robots and master should connect to the same ros master. Our system is currently capable to perform collision avoidance and navigation for 10 slave robots at the same time. If you want to control more than 10 robots, you need to add new my_inc0[X].sh file.

Authors

Han - Han
Chen - Chen

License

This project is licensed under the MIT License

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.