Overview
ros2_canopen provides nodes for interfacing with CANopen devices. The library builds upon the professional and open source lelycore canopen library as opposed to the previous ros_canopen stack. In ros2_canopen the bus configuration is simplified through the use of lelycore’s configutaration toolchain.
ros2_canopen contains a number of packages that serve different serve different purposes.
canopen:
Meta-package for easy installation and contains overall documentation of the ros2_canopen stack.
lely_core_libraries:
A colcon package wrapper for the lelycore canopen library, for convenient installation with rosdep.
canopen_core:
Contains the core structures of the ros2_canopen stack such as the device manager and the master node and the driver node interface.
canopen_base_driver:
This package contains the base implementation of a ROS2 CANopen device driver. It can base used by other drivers for easy extension.
canopen_proxy_driver:
Contains an implementation of a proxy driver which simply forwards CANopen functionality for a specific device via ROS2 services and messages.
canopen_402_driver:
Contains an implementation of the CIA402 profile for motion controllers and exposes the profiles functionalities via ROS2 services and messages. The implementation is copied from ros_canopen/canopen_402 and this package is licensed accordingly under GNU Lesser General Public License v3.0!