Skip to content

Commit 79f5547

Browse files
committed
Added AIRA ROS Bridge as submodule. Added README with install and launch instructions.
1 parent 6eaa00f commit 79f5547

File tree

3 files changed

+80
-5
lines changed

3 files changed

+80
-5
lines changed

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "aira_ros_bridge"]
2+
path = aira_ros_bridge
3+
url = git://github.com/aira-dao/aira_ros_bridge.git

README.md

Lines changed: 76 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,80 @@
11
# DroneEmployee ROS stack
22

3-
This repository contains ROS packages for **DroneEmployee** project.
3+
This repository contains ROS packages for the **DroneEmployee** project.
44

5-
Repository structure:
5+
## Hardware requirements
66

7-
* **drone_employee** - quadrotor behaviour
8-
* **small_atc** - small air traffic controller
9-
* **small_atc_msgs** - ATC common messages
7+
* UAV with MAVLink-compatible flight controller ([APM](http://ardupilot.com/), [PX4](http://px4.io/))
8+
* GPS/GLONASS module
9+
* Wireless Internet provider (LTE/3G modem)
10+
* Linux-compatible single board computer (RaspberryPi2)
11+
12+
In other case you can use the *Software In The Loop* solution for testing described down.
13+
14+
## Installation
15+
16+
The **AIRA ROS Bridge** instance is needed, installation and simple usage described [there](https://github.com/aira-dao/aira_ros_bridge/tree/master/aira_ros_bridge).
17+
18+
Software In The Loop instance installation described [there](https://github.com/aira-dao/aira-IoT/blob/master/ROS/dron_ros_tutorial/doc/Simulation.md).
19+
20+
The next, create workspace and clone the repo:
21+
22+
$ mkdir workspace/src -p
23+
$ cd workspace/src && catkin_init_workspace
24+
$ git clone https://github.com/DroneEmployee/drone_employee_ros.git
25+
$ cd ..
26+
27+
Install dependecies by *rosdep*:
28+
29+
$ rosdep install --from-paths src --ignore-src --rosdistro indigo -y
30+
31+
Build the packages:
32+
33+
$ cakin_make
34+
35+
### Solidity contracts
36+
37+
The *smart contract* should be registered before using the **Drone Employee**.
38+
The contracts **small_atc.sol** and **drone_employee.sol** from [contracts repository](https://github.com/DroneEmployee/contracts) should be compiled by any solidity compiler, [online compier](https://chriseth.github.io/browser-solidity/) for example.
39+
Compiled contracts passed to network by any Ethereum client, returned contract address in future used by **AIRA ROS Bridge** as argument.
40+
41+
## Launch
42+
43+
Builded workspace should be added to ROS env:
44+
45+
$ source workspace/devel/setup.sh
46+
47+
The next you should run [GEth node](https://github.com/ethereum/go-ethereum/wiki/geth) and [AIRA ROS Bridge](https://github.com/aira-dao/aira_ros_bridge/tree/master/aira_ros_bridge):
48+
49+
$ geth &
50+
$ cd /path/to/aira_ros_bridge
51+
$ node start.js CONTRACT_ADDRESS
52+
53+
### The Air Traffic Controller
54+
55+
Simple run the launch:
56+
57+
$ roslaunch small_atc atc.launch
58+
59+
### The Drone Employee
60+
61+
#### Simulation
62+
63+
Run the SITL:
64+
65+
$ cd /path/to/ArduCopter
66+
$ export PATH=$PATH:../ardupilot/Tools/autotest
67+
$ fg_quad_view.sh & sim_vehicle.sh --map --console
68+
69+
Launch the ROS node:
70+
71+
$ roslaunch drone_employee apm_sitl.launch
72+
73+
#### Hardware
74+
75+
Difference from upper is a using real **ArduPilot** or **PX4** hardware connected by UART or USB port.
76+
For using serial port in launch file you should set the **fcu_url** parameter:
77+
78+
$ roslaunch drone_employee apm_sitl.launch fcu_url:=/dev/ttyUSB0:115200
79+
80+
The argument is a serial device and baudrate.

aira_ros_bridge

Submodule aira_ros_bridge added at 18ffc82

0 commit comments

Comments
 (0)