airalab / robonomics_comm

Robonomics communication package stack for ROS-enabled cyber-physical systems
BSD 3-Clause "New" or "Revised" License
19 stars 11 forks source link
python robonomics robotics ros

Robonomics communication stack

Build Status BSD3 License

This is reference implementation of robot economics protocol.

Robonomics communication stack contains a set of ROS packages for economical communication purposes.

Installation process is similar to any ROS catkin package set.

mkdir -p ws/src && cd ws/src
git clone https://github.com/airalab/robonomics_comm
catkin_init_workspace && cd .. && catkin_make 

robonomics_comm also can be builded with Nix, nix build -f release.nix.

There is a script made especially to simplify installation and usage of robonomics_comm

Download the following script and run it:

wget http://bootstrap.aira.life/robonomics.sh
chmod +x ./robonomics.sh
./robonomics.sh init        # for the first time only
./robonomics.sh mainnet     # or sidechain for Sidechain network

Robonomics liability

Liability package implements protocol part about robot liability smart contract actions. It provide methods for robot task/result store, delivery and interpretation.

Robonomics control

This packages implements robonomics control rules described at article.

Examples

# Launch liability
. ws/devel/setup.bash
roslaunch robonomics_liability liability.launch \
    keyfile:="$WORKSPACE/keyfile" \
    keyfile_password_file:="$WORKSPACE/keyfile_password_file" \
    web3_http_provider:="https://mainnet.infura.io/v3/cd7368514cbd4135b06e2c5581a4fff7" \
    web3_ws_provider:="wss://mainnet.infura.io/ws"

Testing

Rostest framework is used for Robonomics communication stack testing.

Run test command:

make test

Nix is requred for testing.