ros2_control - rolling
|
Classes | |
class | Actuator |
class | ActuatorInterface |
class | AsyncComponentThread |
struct | ControllerInfo |
Controller Information. More... | |
class | Handle |
A handle used to get and set a value on a given interface. More... | |
class | StateInterface |
class | CommandInterface |
struct | HardwareComponentInfo |
Hardware Component Information. More... | |
struct | InterfaceInfo |
struct | MimicJoint |
This structure stores information about a joint that is mimicking another joint. More... | |
struct | ComponentInfo |
struct | JointInfo |
Contains semantic info about a given joint loaded from URDF for a transmission. More... | |
struct | ActuatorInfo |
Contains semantic info about a given actuator loaded from URDF for a transmission. More... | |
struct | TransmissionInfo |
Contains semantic info about a given transmission loaded from URDF. More... | |
struct | InterfaceDescription |
struct | HardwareInfo |
This structure stores information about hardware defined in a robot's URDF. More... | |
class | LoanedCommandInterface |
class | LoanedStateInterface |
struct | HardwareReadWriteStatus |
class | ResourceManager |
class | Sensor |
class | SensorInterface |
class | System |
class | SystemInterface |
class | ResourceStorage |
Typedefs | |
using | CallbackReturn = rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn |
Virtual Class to implement when integrating a 1 DoF actuator into ros2_control. More... | |
using | HANDLE_DATATYPE = std::variant< double > |
Enumerations | |
enum class | MimicAttribute { NOT_SET , TRUE , FALSE } |
This enum is used to store the mimic attribute of a joint. | |
enum class | return_type : std::uint8_t { OK = 0 , ERROR = 1 , DEACTIVATE = 2 } |
Functions | |
HARDWARE_INTERFACE_PUBLIC std::vector< HardwareInfo > | parse_control_resources_from_urdf (const std::string &urdf) |
Search XML snippet from URDF for information about a control component. More... | |
HARDWARE_INTERFACE_PUBLIC std::vector< InterfaceDescription > | parse_state_interface_descriptions (const std::vector< ComponentInfo > &component_info) |
HARDWARE_INTERFACE_PUBLIC void | parse_state_interface_descriptions (const std::vector< ComponentInfo > &component_info, std::unordered_map< std::string, InterfaceDescription > &state_interfaces_map) |
HARDWARE_INTERFACE_PUBLIC std::vector< InterfaceDescription > | parse_command_interface_descriptions (const std::vector< ComponentInfo > &component_info) |
HARDWARE_INTERFACE_PUBLIC void | parse_command_interface_descriptions (const std::vector< ComponentInfo > &component_info, std::unordered_map< std::string, InterfaceDescription > &command_interfaces_map) |
HARDWARE_INTERFACE_PUBLIC double | stod (const std::string &s) |
Helper function to convert a std::string to double in a locale-independent way. More... | |
HARDWARE_INTERFACE_PUBLIC bool | parse_bool (const std::string &bool_string) |
constexpr bool | lifecycleStateThatRequiresNoAction (const lifecycle_msgs::msg::State::_id_type state) |
std::string | interfaces_to_string (const std::vector< std::string > &start_interfaces, const std::vector< std::string > &stop_interfaces) |
Variables | |
constexpr char | HW_IF_POSITION [] = "position" |
Constant defining position interface name. | |
constexpr char | HW_IF_VELOCITY [] = "velocity" |
Constant defining velocity interface name. | |
constexpr char | HW_IF_ACCELERATION [] = "acceleration" |
Constant defining acceleration interface name. | |
constexpr char | HW_IF_EFFORT [] = "effort" |
Constant defining effort interface name. | |
constexpr char | HW_IF_TORQUE [] = "torque" |
Constant defining torque interface name. | |
constexpr char | HW_IF_FORCE [] = "force" |
Constant defining force interface name. | |
constexpr char | HW_IF_CURRENT [] = "current" |
Constant defining current interface name. | |
constexpr char | HW_IF_TEMPERATURE [] = "temperature" |
Constant defining temperature interface name. | |
constexpr char | HW_IF_PROPORTIONAL_GAIN [] = "proportional" |
constexpr char | HW_IF_INTEGRAL_GAIN [] = "integral" |
Constant defining integral gain interface name. | |
constexpr char | HW_IF_DERIVATIVE_GAIN [] = "derivative" |
Constant defining derivative gain interface name. | |
constexpr char | HW_IF_INTEGRAL_CLAMP_MAX [] = "integral_clamp_max" |
Constant defining integral clamp interface name. | |
constexpr char | HW_IF_INTEGRAL_CLAMP_MIN [] = "integral_clamp_min" |
Constant defining integral clamp interface name. | |
constexpr char | HW_IF_FEEDFORWARD [] = "feedforward" |
Constant defining the feedforward interface name. | |
auto | trigger_and_print_hardware_state_transition |
typedef rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn hardware_interface::CallbackReturn |
Virtual Class to implement when integrating a 1 DoF actuator into ros2_control.
Virtual Class to implement when integrating a complex system into ros2_control.
Virtual Class to implement when integrating a stand-alone sensor into ros2_control.
The typical examples are conveyors or motors.
Methods return values have type rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn with the following meaning:
The hardware ends after each method in a state with the following meaning:
UNCONFIGURED (on_init, on_cleanup): Hardware is initialized but communication is not started and therefore no interface is available.
INACTIVE (on_configure, on_deactivate): Communication with the hardware is started and it is configured. States can be read and non-movement hardware interfaces commanded. Hardware interfaces for movement will NOT be available. Those interfaces are: HW_IF_POSITION, HW_IF_VELOCITY, HW_IF_ACCELERATION, and HW_IF_EFFORT.
FINALIZED (on_shutdown): Hardware interface is ready for unloading/destruction. Allocated memory is cleaned up.
ACTIVE (on_activate): Power circuits of hardware are active and hardware can be moved, e.g., brakes are disabled. Command interfaces for movement are available and have to be accepted. Those interfaces are: HW_IF_POSITION, HW_IF_VELOCITY, HW_IF_ACCELERATION, and HW_IF_EFFORT.
The typical examples are Force-Torque Sensor (FTS), Interial Measurement Unit (IMU).
Methods return values have type rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn with the following meaning:
The hardware ends after each method in a state with the following meaning:
UNCONFIGURED (on_init, on_cleanup): Hardware is initialized but communication is not started and therefore no interface is available.
INACTIVE (on_configure, on_deactivate): Communication with the hardware is started and it is configured. States can be read and non-movement hardware interfaces commanded. Hardware interfaces for movement will NOT be available. Those interfaces are: HW_IF_POSITION, HW_IF_VELOCITY, HW_IF_ACCELERATION, and HW_IF_EFFORT.
FINALIZED (on_shutdown): Hardware interface is ready for unloading/destruction. Allocated memory is cleaned up.
ACTIVE (on_activate): Power circuits of hardware are active and hardware can be moved, e.g., brakes are disabled. Command interfaces for movement are available and have to be accepted. Those interfaces are: HW_IF_POSITION, HW_IF_VELOCITY, HW_IF_ACCELERATION, and HW_IF_EFFORT.
The common examples for these types of hardware are multi-joint systems with or without sensors such as industrial or humanoid robots.
Methods return values have type rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn with the following meaning:
The hardware ends after each method in a state with the following meaning:
UNCONFIGURED (on_init, on_cleanup): Hardware is initialized but communication is not started and therefore no interface is available.
INACTIVE (on_configure, on_deactivate): Communication with the hardware is started and it is configured. States can be read and non-movement hardware interfaces commanded. Hardware interfaces for movement will NOT be available. Those interfaces are: HW_IF_POSITION, HW_IF_VELOCITY, HW_IF_ACCELERATION, and HW_IF_EFFORT.
FINALIZED (on_shutdown): Hardware interface is ready for unloading/destruction. Allocated memory is cleaned up.
ACTIVE (on_activate): Power circuits of hardware are active and hardware can be moved, e.g., brakes are disabled. Command interfaces for movement are available and have to be accepted. Those interfaces are: HW_IF_POSITION, HW_IF_VELOCITY, HW_IF_ACCELERATION, and HW_IF_EFFORT.
std::vector< InterfaceDescription > hardware_interface::parse_command_interface_descriptions | ( | const std::vector< ComponentInfo > & | component_info | ) |
[in] | component_info | information about a component (gpio, joint, sensor) |
void hardware_interface::parse_command_interface_descriptions | ( | const std::vector< ComponentInfo > & | component_info, |
std::unordered_map< std::string, InterfaceDescription > & | command_interfaces_map | ||
) |
[in] | component_info | information about a component (gpio, joint, sensor) |
[out] | command_interfaces_map | unordered_map filled with information about hardware's CommandInterfaces for the component which are exported |
std::vector< HardwareInfo > hardware_interface::parse_control_resources_from_urdf | ( | const std::string & | urdf | ) |
Search XML snippet from URDF for information about a control component.
[in] | urdf | string with robot's URDF |
std::runtime_error | if a robot attribute or tag is not found |
std::vector< InterfaceDescription > hardware_interface::parse_state_interface_descriptions | ( | const std::vector< ComponentInfo > & | component_info | ) |
[in] | component_info | information about a component (gpio, joint, sensor) |
void hardware_interface::parse_state_interface_descriptions | ( | const std::vector< ComponentInfo > & | component_info, |
std::unordered_map< std::string, InterfaceDescription > & | state_interfaces_map | ||
) |
[in] | component_info | information about a component (gpio, joint, sensor) |
[out] | state_interfaces_map | unordered_map filled with information about hardware's StateInterfaces for the component which are exported |
double hardware_interface::stod | ( | const std::string & | s | ) |
Helper function to convert a std::string to double in a locale-independent way.
std::invalid_argument | if not a valid number from https://github.com/ros-planning/srdfdom/blob/ad17b8d25812f752c397a6011cec64aeff090c46/src/model.cpp#L53 |
|
constexpr |
Gains interface constants Constant defining proportional gain interface name
auto hardware_interface::trigger_and_print_hardware_state_transition |