The below non-third-party packages are included in the OpenVMP mono-repo.
The below list consists of packages that were introduced during OpenVMP project and does not include third-party libraries that are present in the non-repo (e.g. yaml-cpp).
-
Ultimate serial port driver for ROS2. Supports data flow introspection and mocking.
There is a native library interface to build other packages/drivers on top of it. See modbus_rtu as an example.
-
Universal Modbus driver for ROS2. Support for both client and server behaviors.
This library is supposed to be used by modbus_rtu and modbus_tcp.
There is also a native interface to build drivers for specific Modbus devices. See stepper_driver_rs485_so as an example. Remarkable features include the generation of ROS2 services for access to all Modbus registers described in a device specific YAML file.
-
Universal Modbus RTU driver for ROS2. It implements the Modbus interface.
It allows sending arbitrary ad-hoc commands to Modbus RTU connected devices. It is also a native library interface to build other packages/drivers on top of it. See stepper_driver_rs485_so as an example.
-
Brake module for ROS2. It implements a generic interface for joint brakes. It supports brakes that are engaged by default (such as integrated electromagnetic brakes for stepper motors) as well as brakes that are engaged on demand only.
-
Stepper driver module for ROS2. It implements a generic interface that is sufficient to drive stepper motors using ROS2 methods (ros2_control etc) yet abstract enough to be implemented in device specific packages in separate repositories.
This is a native library interface to build other packages/drivers on top of it. See stepper_driver_rs485_so as an example.
-
Driver for STEPPERONLINE DM556RS and DM882RS stepper drivers. In addition to the generic stepper driver interface, this module exposes ROS2 services and topics that are specific to this particular stepper driver, providing its entire feature set for other ROS2 nodes to use.
This is a native library interface to build other packages/drivers on top of it. See stepper_driver_rs485_so as an example.
-
A terminal application to control any stepper driver that has a driver module implementing the generic stepper driver interface.
-
The very first robot created in OpenVMP. It is big and capable. It will either get replaced by other robots eventually or it will morph into a swarm leader robot.