Coder Social home page Coder Social logo

ncnynl / slave_multirobot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hanruihua/slave_multirobot

0.0 1.0 0.0 10.27 MB

The program of multiple robot project running in slave robot

License: MIT License

C++ 89.64% CMake 4.88% Python 3.35% Shell 1.10% C 1.03%

slave_multirobot's Introduction

Multiple robots slave

The program of multiple robot project running in slave robot

Please run the Master program in master computer

Test Environment

  • robot -- turtlebot2
  • system -- ubuntu 16.04
  • UWB -- nooploop
  • platform -- ros kinetic/ melodic

Installation

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

dependence

sudo apt-get install python-yaml pip3 install rospkg numpy

For turtlebot2

Install the ros package related to turtlebot

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

For visual odometry(To be modified)

Eigen

sudo apt-get install libeigen3-dev

Sophus

git clone https://github.com/strasdat/Sophus.git

OpenCV 3.1

in ros library

g2o

please use the order version the in https://github.com/hanruihua/slave_multirobot/tree/master/slave_VO/CMake_modules

For UWB (nlink)

Attention: The byte rate of serial should equal to the ros loop rate when you want read the serial data(when you use the slave_uwb node). If you use the modified nlink uwb node, you can ignore this ros loop rate requirements.

serial

sudo apt-get install ros-kinetic-serial

modify serial rule

cd slave_driver/nlink
sudo sh uwb_serial.sh

Configure ros network and environment parameter

Before run the launch file, you should allocate the "SlaveID"(Slave01 Slave02 ...) for this slave robot(in .zshrc or .bashrc)

template:

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

source ~/.zshrc

example:

  • In .zshrc or .bashrc:

    • export ROS_MASTER_URI=http://192.168.0.111:11311
    • export ROS_HOSTNAME=192.168.0.114
    • export ROS_IP=192.168.0.114
    • export NAME_SPACE=agent7

Build

cd ~/catkin_ws catkin_build

If you do not need certain package, you can use catkin_make -DCATKIN_BLACKLIST_PACKAGES="floder" to ignore.

example: catkin_make -DCATKIN_BLACKLIST_PACKAGES="slave_vo"

Run

Run the launch file in each slave robot to launch each turtlebot

roslaunch slave_bringup multi_minimal.launch

with UWB

roslaunch slave_bringup multi_minimal_uwb.launch

PowerBoot:

You can skip the configure, build and run parts, simply add the auto_bringup.sh to the startup application by

gnome-terminal -x /home/turtlebot/catkin_ws/src/slave_multirobot/slave_bringup/auto_bringup/auto_bringup.sh 'my_inc01'
sudo updatedb

Then, when the robot startup, it will automatically pull the latest code, build it and run the launch file.

Authors

Han - Han
Chen - Chen

License

This project is licensed under the MIT License

slave_multirobot's People

Contributors

hanruihua avatar chenshengduo avatar airine avatar

Watchers

James Cloos avatar

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.