Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

edge-robots

DOI

This repository contains the source code of the navigation service and sensor data collector for the paper "Autonomous Mobile Robots with Business Process Management Systems at the Edge".

In order to run the prototype, the ROS2-based navigation stack on the TurtleBot needs to be started (tested with ROS2 Humble on Ubuntu 22.04) and a map loaded for navigation as documented here: https://turtlebot.github.io/turtlebot4-user-manual/tutorials/navigation.html.

Furthermore, rosbridge needs to be installed and running on the TurtleBot as documented here: https://wiki.ros.org/rosbridge_suite.

In folder turtlebot-navigation-service you find:

  • nav_bridge.py: This file needs to be started first on the external ROS2 client computer to connect to the websocket server on the ROS2-based robot.
  • app.py: This file has the actual navigation service implementation. It should be started on the robot after nav_bridge.py. It loads locations for navigation from the locations.json file. New locations can be added from the current position of the robot via a dedicated endpoint of the service. The OpenAPI documentation of the navigation service can befound after its start at: http://192.168.0.50:8000/docs (adjust IP address of robot).
  • bpmn files: These files contain the executable business processes, modeled in BPMN 2.0. They can be modified, e.g., with Camunda Modeler. The service tasks are configured to call the navigation service on the robots. To use the HTTP connectors of the Camunda 7 Platform to call this service correctly, the hosting computer neets to run Camunda Platform 7 (version 4.13) in Apache Tomcat (version 9.0.33) inside a JVM (version 1.8).
  • Loggers (all log to files on the local file system):
    • system_monitor.py collects system metrics (CPU and RAM) on system and process level (Java, Python). To be run on the robot or external computer.
    • goal_logger.py logs navigation goal processing in ROS2. To be run on the robot.
    • distance_logger.y logs battery and distance traveled by the robot. To be run on the robot.

In folder turtlebot-tinkerforge you find:

  • sensor_collector.py: This script connects to the sensors (from TinkerForge) via the sensor SDK. Each bricklet has its own Python class. The brickl_uids have to be adjusted in sensor_collector.py to match the existing sensor hardware. The application persists data in a file on the file system and it optionally streams data via MQTT.

About

This repository contains the source code of the navigation service and sensor data collector for the paper "Autonomous Mobile Robots with Business Process Management Systems at the Edge"

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages