Giter VIP home page Giter VIP logo

uwb-jackal-world's Introduction

Gazebo Jackal Ultra-wideband Environment

GitHub commit activity Stars Forks Issues GitHub

1. Table of contents

2. Project Description

This project is meant to simulate an environment where a Jackal is combined with Decawave Ultra-wideband sensors to improve localization. (This is in Gazebo )

2.1. The robot

Image of Jackal robot setup Simulated Jackal robot

This is the Jackal from Clearpath Robotics, on its sides (labeled in red circles) are two Decawave Ultra-wideband sensors setup as tags.

2.2. The world

Simulated world

This is currently the only simulated world. There are currently 4 UWB sensors setup as anchors which send their range measurement.

3. Installation

This project uses ROS Melodic as its ROS backend.

To setup:

  1. Either create a catkin workspace or navigate to the src folder
  2. git clone https://github.com/AUVSL/UWB-Jackal-World.git
  3. sudo apt-get install ros-melodic-jackal-simulator ros-melodic-jackal-desktop ros-melodic-jackal-navigation
  4. Create a gtec folder in your catkin_ws/src folder
  5. Navigate to your catkin_ws/src/gtec folder
  6. git clone https://github.com/AUVSL/UWB-Gazebo-Plugin.git
    • This installs the UWB plugin library which allows for the tags and anchors to send values
  7. git clone https://github.com/valentinbarral/rosmsgs
    • This installs the custom UWB ranging messages
  8. Navigate to your base cakin_ws folder
  9. rospack profile
  10. catkin_make
  11. source ~/catkin_ws/devel/setup.bash
    • This step is very important. Be sure to run this every time you open up a new terminal. If you do not you will get errors when trying to run the world, that you cannot see certain packages.
    • To make things easier if you only have a single ROS build and catkin_ws, then you can run:
    • echo "source ~/catkin_ws/devel/setup.bash" > ~/.bashrc
    • This will allow you to not have to run the source command every time.

4. Launch

4.1. Jackal Only

To launch a Gazebo world with only a Jackal:

roslaunch jackal_world empty_world.launch

4.2. Stationary world

To launch a Gazebo world with the Jackal and the stationary anchors:

roslaunch jackal_world gazebo_world_launcher.launch

4.3. Scenario 1

To launch a Gazebo world with the Jackal and the stationary anchors:

Scenario 1

roslaunch jackal_world scenario1.launch

4.4. Scenario 2

To launch a Gazebo world with the 2 Jackals and the stationary anchors. In this scenario one of the Jackals is able to localize itself using the stationary anchors only, while the other Jackal must first wait for the other one to be localized and then localize, itself from it:

Scenario 2

roslaunch jackal_world scenario2.launch

4.5. Scenario Room

To launch a Gazebo world with the 2 Jackals and the stationary anchors in a complex terrain:

Scenario Room

roslaunch jackal_world scenarioRoom.launch

4.6. Scenario Drone and Mobile

To launch a Gazebo world with the 2 Jackals and the stationary anchors defined as drones. The drones will move from one location to other and the jackals will also move towards them. In order to use this scenario though you need to install: https://github.com/AUVSL/Hector-Quadrotor

In order to do this:

  1. cd <catkin_ws>/src
  2. git clone https://github.com/AUVSL/Hector-Quadrotor.git
  3. cd <catkin_ws>
  4. catkin_make
  5. Also make sure that you have teleop_twist_keyboard installed, in order to run the drone teleop GUI
    • sudo apt-get install ros-melodic-teleop-twist-keyboard

Scenario Drone Mobile

roslaunch jackal_world scenarioDroneMobile.launch

5. Known Issues

5.1. No model found

When installing if you have issues opening the worlds due to models not existing. Please unzip models.zip and place it into your ~/.gazebo/models

uwb-jackal-world's People

Contributors

marius-juston 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.