ROS2 Control
|
Virtual Class to implement when integrating a complex system into ros2_control. More...
#include <system_interface.hpp>
Public Member Functions | |
virtual return_type | configure (const HardwareInfo &system_info)=0 |
Configuration of the system from data parsed from the robot's URDF. More... | |
virtual std::vector< StateInterface > | export_state_interfaces ()=0 |
Exports all state interfaces for this system. More... | |
virtual std::vector< CommandInterface > | export_command_interfaces ()=0 |
Exports all command interfaces for this system. More... | |
virtual return_type | prepare_command_mode_switch (const std::vector< std::string > &, const std::vector< std::string > &) |
Prepare for a new command interface switch. More... | |
virtual return_type | perform_command_mode_switch (const std::vector< std::string > &, const std::vector< std::string > &) |
virtual return_type | start ()=0 |
Start exchange data with the hardware. More... | |
virtual return_type | stop ()=0 |
Stop exchange data with the hardware. More... | |
virtual std::string | get_name () const =0 |
Get name of the system hardware. More... | |
virtual status | get_status () const =0 |
Get current state of the system hardware. More... | |
virtual return_type | read ()=0 |
Read the current state values from the actuators and sensors within the system. More... | |
virtual return_type | write ()=0 |
Write the current command values to the actuator within the system. More... | |
Virtual Class to implement when integrating a complex system into ros2_control.
The common examples for these types of hardware are multi-joint systems with or without sensors such as industrial or humanoid robots.
|
pure virtual |
Configuration of the system from data parsed from the robot's URDF.
[in] | system_info | structure with data from URDF. |
Implemented in fake_components::GenericSystem, and test_hardware_components::TestSystemCommandModes.
|
pure virtual |
Exports all command interfaces for this system.
The command interfaces have to be created and transferred according to the system info passed in for the configuration.
Note the ownership over the state interfaces is transferred to the caller.
Implemented in test_hardware_components::TestSystemCommandModes, and fake_components::GenericSystem.
|
pure virtual |
Exports all state interfaces for this system.
The state interfaces have to be created and transferred according to the system info passed in for the configuration.
Note the ownership over the state interfaces is transferred to the caller.
Implemented in test_hardware_components::TestSystemCommandModes, and fake_components::GenericSystem.
|
pure virtual |
Get name of the system hardware.
|
pure virtual |
Get current state of the system hardware.
|
inlinevirtual |
Perform the mode-switching for the new command interface combination.
[in] | start_interfaces | vector of string identifiers for the command interfaces starting. |
[in] | stop_interfaces | vector of string identifiers for the command interfacs stopping. |
Reimplemented in test_hardware_components::TestSystemCommandModes.
|
inlinevirtual |
Prepare for a new command interface switch.
Prepare for any mode-switching required by the new command interface combination.
[in] | start_interfaces | vector of string identifiers for the command interfaces starting. |
[in] | stop_interfaces | vector of string identifiers for the command interfacs stopping. |
Reimplemented in test_hardware_components::TestSystemCommandModes.
|
pure virtual |
Read the current state values from the actuators and sensors within the system.
The data readings from the physical hardware has to be updated and reflected accordingly in the exported state interfaces. That is, the data pointed by the interfaces shall be updated.
Implemented in test_hardware_components::TestSystemCommandModes, and fake_components::GenericSystem.
|
pure virtual |
Start exchange data with the hardware.
Implemented in test_hardware_components::TestSystemCommandModes, and fake_components::GenericSystem.
|
pure virtual |
Stop exchange data with the hardware.
Implemented in test_hardware_components::TestSystemCommandModes, and fake_components::GenericSystem.
|
pure virtual |
Write the current command values to the actuator within the system.
The physical hardware shall be updated with the latest value from the exported command interfaces.
Implemented in test_hardware_components::TestSystemCommandModes, and fake_components::GenericSystem.