Skip to content

Code of the boat (ROS) and data saving in blockchain in experiments (4-25-19) for Frontiers Journal

License

Notifications You must be signed in to change notification settings

Vourhey/frontiers-vessel-code

 
 

Repository files navigation

Water Drone with Robonomics

This repository is dedicated to process of sending of water mesuarment data for autonomous marine vessels with sensors.

The code is provided for the publication of an article "Trustable Environmental Monitoring by means of Sensors Networks on Swarming Autonomous Marine Vessels and Distributed Ledger Technology" for Frontiers in Robotics and AI.

Explanation of repository

An explanation is needed about some of the files in this repository:

  • model.txt — the behavioral model of the vessel, it contains all the necessary ROS topics.
  • objective_virtual_month_smartwater.bag — rosbag-file with the model parameters, this file is published in IPFS.
  • grid_25-04-2091.waypoints — mission plan containing its route. Generated in the ArduPilot GUI.
  • trader.launch — this file launches the scripts/trader_node. Trader's node is responsible for the economic behavior of vessel: it monitor messages on the liability market and select those that satisfy the CPS behaviour model.
  • worker.launch — this file launches the scripts/worker_node. When an event of new liability creation is received the vessel runs the mission with parameters got via the objective.
  • scripts/approve.py, scripts/gen_objective.py, scripts/pub_demand.py — Robonomics service scripts for interacting with smart contracts, generating a rosbag file and publishing a Demand message.
  • waspmote — directory containing the files for this particular vessel: firmware for the Waspmote board to which the sensors are connected, logging software for Pixhawk autopilot.

Testing

Prerequisites

  • AIRA — Robonomics network client for ROS-enabled cyber-physical systems.

This project works on the basis of Robonomics, so you need to install image of AIRA to your cyber-physical systems (in our case, the vessel). Image installation guide can be found here.

Installing and launch

Clone the repository into your AIRA image:

$ git clone https://github.com/Fingerling42/frontiers-vessel-code.git

Build the cloned repository using Nix environment:

$ nix build -f release.nix

Or standard ROS tools.

Launch ros-files:

$ roslaunch drone_on_volga trader.launch
$ roslaunch drone_on_volga worker.launch

Experiments

Experiments took place in Volga river in Kuibyshev reservoir near storm drains of Avtozavodsky district, Togliatti, Samara region, Russia. Processed and visualized measurement results can be found in this repository.

Acknowledgments

We want to thank the Airalab team for the development and support of the unmanned surface vessel, as well as for providing the Robonomics platform support and related software.

About

Code of the boat (ROS) and data saving in blockchain in experiments (4-25-19) for Frontiers Journal

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 74.5%
  • Processing 17.3%
  • Nix 5.5%
  • CMake 2.7%