-
Notifications
You must be signed in to change notification settings - Fork 0
Home
This project centers on the development of a comprehensive ROS2 driver for external control of KUKA robots running on Sunrise OS through the real-time Fast Robot Interface (FRI). The following aspects are given particular consideration:
-
Application lifecycle controlled completely from ROS2, e.g.
-
Parameter configuration
-
Start/stop of external monitoring and commanding
-
Reacting to application errors
-
-
Exposing all functionality of the FRI towards the ROS2 system, e.g.
-
All command and control modes of joints
-
Field bus I/O handling
-
-
Exploiting new features of ROS2 w.r.t. ROS1, e.g.
-
Lifecycle management
-
Node-based ROS parameters
-
Real-time inter-node communication
-
The ROS2 KUKA Sunrise driver does not include a controller; its purpose is to expose a joint-level interface of robots running on Sunrise to the ROS2 system. The control loop is then expected to be closed by a connected joint controller node. This approach is contrary to how most real-time robot interfaces to ROS and ROS2 are realized, which would be to use the ros2_control stack. The document 3. Relationship to ros2_control provides more information on this topic.
This project is currently experimental. The functionalities are not fully tested and the API and the internal architecture of the driver should be expected to change. This wiki is targeted at developers who would like to understand and potentially contribute to the project. Usage of this driver is discouraged except for the testing of the driver, only in controlled environment and with the proper safety configuration applied.
The following features of the FRI are exposed to ROS2:
- Monitor joint states
- Actual position
- Actual torque
- Setpoint position
- Setpoint torque
- External torque
- Joint commands
- Position
- Torque
- Field bus
- Inputs
- Outputs
- Connection quality
- Safety state
- Tracking performance
- Session state
- Control mode
- Client command mode
- Operation mode
- Number of axes
The other project in the repo centers on the development of a ROS2 driver for KSS robots through Robot Sensor Interface (RSI). It is in an experimental state, with only joint angle states and commands available. The structure of the driver is similiar to that of the Sunrise driver and the same interfaces are opened, so the same joint controller can be used to move robots. Howewer this controller should be improved, as it allows big torques that stop the robot for machine protection reasons.
If you have questions, suggestions or want to contribute, feel free to open an issue, start a discussion or drop an email to:
Zoltán Rési
GitHub: https://github.com/resizoltan
Email: resizoltan@gmail.com