Skip to content

Robonomics communication package stack for ROS-enabled cyber-physical systems

License

Notifications You must be signed in to change notification settings

airalab/robonomics_comm

Repository files navigation

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.