The ExSce Management is an approach to store, query and generate test scenarios for ROS-based multi-robot systems. Provenance data about test scenarios and their executions is modeled using PROV and stored on a property graph. Runtime information is obtained from recorded bag files. Metamorphic testing is used to generate new scenarios and validate the system's requirements.
The ExSce Management is an approach to store, query and generate test scenarios for ROS-based multi-robot systems. Provenance data about test scenarios and their executions are modeled using PROV and stored on a property graph using Neo4j. Runtime information is obtained from recorded bag files. Metamorphic testing is used to generate new scenarios and validate the system’s requirements.
See D3.3 - Executable Scenario Management for more details.
These instructions were adapted from the public TIAGo Installation Tutorial to include fixes to run a multi-robot simulation and install the ExSce Management tools.
Create a new database using Neo4j v4.4.5 (detailed instructions can be found here). Next, install the Python packages for PROV and the Neo4j adapter:
pip3 install --user prov prov-db-connector
Follow the necessary steps to create a catkin workspace.
Use rosinstall
to clone all the required ROS packages. If you haven’t cloned this repo, first get the rosinstall file, for example:
cd ~/catkin_ws
wget https://raw.githubusercontent.com/hbrs-sesame/sesame_multi_robot_navigation/main/pal_sesame.rosinstall
Then run rosinstall:
rosinstall src pal_sesame.rosinstall
Install the dependencies for the cloned packages:
rosdep install -y --from-paths src --ignore-src --rosdistro noetic --skip-keys "urdf_test omni_drive_controller orocos_kdl pal_filters libgazebo9-dev pal_usb_utils speed_limit_node camera_calibration_files pal_moveit_plugins pal_startup_msgs pal_local_joint_control pal_pcl_points_throttle_and_filter current_limit_controller hokuyo_node dynamixel_cpp pal_moveit_capabilities pal_pcl dynamic_footprint gravity_compensation_controller pal-orbbec-openni2 pal_loc_measure pal_map_manager ydlidar_ros_driver"
Build your workspace:
catkin build
Source your catkin workspace:
source devel/setup.bash
Finally, to check that everything works as expected, try launching a scenario:
roslaunch exsce_ros scenario.launch scenario_id:=scenario_x