Giter VIP home page Giter VIP logo

airsim_ros_client's Introduction

airsim_ros_client

Overview

This repository is meant to integrate ROS and AirSim plugin using the python APIs available for the simulator.

The airsim_ros_client package has been tested under ROS Kinetic and Ubuntu 16.04LTS. The source code is released under MIT License.

The mesh of DJI M-100 was downloaded from DJI website (link). DJI reserves all rights to this material.

Installation

Dependencies

Install the python depenencies:

# AirSim APIs
pip install airsim

Building

  • To build from source, clone the latest version from this repository into your catkin workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
git clone https://github.com/Mayankm96/airsim_ros_client.git
  • To compile the package:
cd ~/catkin_ws
catkin_make
source devel/setup.bash

Running AirSim in Unreal Engine

Before running the nodes in the package, you need to run Airsim plugin in the Unreal Engine. In case you are unfamiliar on how to do so, refer to the tutorials available here.

A sample settings.json file used to run the simulator with the ROS package is available here. Copy it to the ~/Documents/AirSim directory to use the package without any further modifications.

Usage

Running the tf publisher of drone model (DJI M100)

To use the urdf model of the drone used in AirSim simulator, then run:

roslaunch airsim_ros_client publish_tf.launch

NOTE: In the modified blueprint of the drone for UE4, all cameras are downward-facing.

Running image publisher

Change the IP and Port configurations in pubImages.launch to match the settings in which Airsim is running. Then:

roslaunch airsim_ros_client pubImages.launch

Nodes

airsim_img_publisher

This is a client node at (img_publisher.py) interfaces with the AirSim plugin to retrieve the drone's pose and camera images (rgb, depth).

Published Topics

Parameters

  • Camera parameters: Fx, Fy, cx, cz, width, height
  • Publishing frequency: loop_rate

airsim_follow_trajectory

This is a client node at (follow_trajectory.py) interfaces with the AirSim plugin to follow a trajectory.

Subscribed Topics

Parameters

  • Velocity: velocity

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.