GithubHelp home page GithubHelp logo

uga-ssrl / hare Goto Github PK

View Code? Open in Web Editor NEW
1.0 2.0 0.0 26.61 MB

Heterogeneous Autonomous Multirobot Exploration System

License: GNU General Public License v3.0

CMake 0.40% C++ 98.14% Python 1.43% C 0.03%

hare's Introduction

HARE

Heterogeneous Autonomous Multirobot Exploration Ros Node

You can read the in-progress IEEE style paper at: https://github.com/uga-ssrl/hare/blob/master/doc/latex_MRS/hare-paper.pdf, this is also located in this repo in the latex_MRS folder in doc.


Dependencies

ros-behavior-tree

Enviroment Variables

  • The GAZEBO_MODEL_PATH needs to point to the world folder in the hare repository. This should be a global / absolute path. OR! simply go to the world folder in this repo and type: export GAZEBO_MODEL_PATH=$(catkin_ws)/src/hare/world

Turtlebot-Navigation

  • Just need to install sudo apt-get install ros-kinetic-turtlebot-navigation

Robot Dependencies

  • clone all of the following in ~/catkin_ws/src/robot/

robot1

  • turtlebot_description package for launch files

(youbot variant)

  • in /path/to/catkin_ws/src git clone https://github.com/youbot/youbot_simulation.git
  • in /path/to/catkin_ws/src git clone https://github.com/youbot/youbot_description.git --branch kinetic-devel

robot2

  • update update rate to 50 at line 5 of rosbot.gazebo
  • in /path/to/catkin_ws/src/ git clone https://github.com/husarion/rosbot_description.git
  • in /path/to/rosbot_description/urdf/rosbot.gazebo find the following commented line and follow the instructions to not use GPU <!-- If you cant't use your GPU comment RpLidar using GPU and uncomment RpLidar using CPU gazebo plugin. -->

robot3

  • To install husky packages run: sudo apt-get install ros-kinetic-husky-simulator

Compilation

/path/to/catkin_ws$ catkin_make then /path/to/catkin_ws$ source devel/setup.bash

Simulation

roslaunch hare hare_sim.launch

Adding robots

  • add robots in hare/launch/robots.launch
  • create new namespace and place descriptions and include one_robot.launch
    • this can be seen in the turtlebot examples
  • you must also increment the following in robots.launch <param name="num_robots" value="3"/>

#ERROR mitigation for gazebo plugin

  • go into your .gazebo in each robot description, i.e: for youbot go into: youbot_description/controller/ros_controller.urdf.xacro and add the following snippet:
<gazebo>
<static>false</static>

<plugin name="gazebo_ros_control" filename="libgazebo_ros_control.so">
  <robotNamespace>\robotNamespace</robotNamespace>
  <robotSimType>gazebo_ros_control/DefaultRobotHWSim</robotSimType>
  <legacyModeNS>true</legacyModeNS>
</plugin>
</gazebo>
  • Where robotNamespace is the robot you are talking about

TODOs

nodes to be added

  • Odom in global frame to use obstacle sensing
  • work on steering mode
  • more reliable controller for heterogeneous types nodes to be implemented
  • explore_multirobot
  • tree node

hare's People

Contributors

jo80923 avatar piepieninja avatar spain2394 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

hare's Issues

publisher error

[ERROR] [1556084634.774119457, 0.154000000]: Tried to advertise a service that is already advertised in this node [/robot2/controll
er_manager/unload_controller]

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.