| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
This package implements a hardware interface plugin for ros2_control and proxies requests to compatible nodes that actually implement the hardware control.
This is useful to access remote hardware (over the network) or to access heavy hardware modules that are not designed for an exclusive use by the ros2_control_node (e.g. for independent power consumption control, troubleshooting/introspection, audit log recording, or other non-motion-control related operations). Examples of such hardware modules include:
Here is an example of how it could look like in your URDF files:
<ros2_control name="HardwareSystem" type="system">
<hardware>
<plugin>remote_hardware_interface/RemoteSystemInterface</plugin>
<param name="namespace">/robot1</param>
</hardware>
</ros2_control>flowchart TB
urdf[URDF]
subgraph ros2_control_node[Process: ros2_control_node]
controller_manager
subgraph remote_hardware_interface[Controller: remote_hardware_interface]
subgraph joint1[ActuatorInterface: right_shoulder_joint]
subgraph state_interface[state_interface]
absolute_encoder_intf[Absolute encoder]
end
subgraph command_interface[command_interface]
stepper_driver_intf[Stepper driver]
brake_intf[Electromagnetic brake]
end
end
end
controller_manager --> remote_hardware_interface
end
subgraph stepper_driver_node[Example stepper driver node]
stepper_driver_impl[//actuator/joint1/] -->
stepper_logic[Stepper driver's driver] -->
stepper_driver_topic[//modbus/line1/02/]
end
subgraph absolute_encoder_node[Example stepper driver node]
absolute_encoder_impl[//encoder/joint1/] -->
absolute_encoder_logic[Absolute encoder driver] -->
absolute_encoder_topic[//modbus/line1/01/]
end
subgraph switch_node[Example switch node]
switch_impl[//brake/joint1/] -->
switch_driver[Switch driver] -->
gpio_intf[GPIO driver]
end
subgraph modbus_rtu_node[Modbus RTU]
modbus[//modbus/line1/] -->
serial_driver["Serial port driver"]
end
absolute_encoder_intf --> absolute_encoder_impl
stepper_driver_intf --> stepper_driver_impl
absolute_encoder_topic --> modbus
stepper_driver_topic --> modbus
brake_intf --> switch_impl
pmu[Power management driver,\nas an example of alternative consumer\nof hardware interfaces]
pmu -->stepper_driver_impl
pmu -->switch_impl
gpio_intf ----> gpio{{GPIO interface}} --> relay
urdf --> controller_manager
subgraph robot_hardware[Example robot hardware]
rs485[RS485]
rs485 --> encoder[Absolute encoder]
rs485 --> stepper_driver[Stepper driver]
relay[Relay] --> brake[Elecromagnetic brake]
end
serial_driver --> file{{Character device: /dev/ttyS0}} --> rs485
style ros2_control_node fill:#0000
style stepper_driver_node fill:#0000
style absolute_encoder_node fill:#0000
style switch_node fill:#0000
style modbus_rtu_node fill:#0000
style robot_hardware fill:#0000
| Back | FazBrowse Home | New Git URL |