ros2_control - iron
Loading...
Searching...
No Matches
hardware_info.hpp
1// Copyright 2020 ros2_control Development Team
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#ifndef HARDWARE_INTERFACE__HARDWARE_INFO_HPP_
16#define HARDWARE_INTERFACE__HARDWARE_INFO_HPP_
17
18#include <string>
19#include <unordered_map>
20#include <vector>
21
22namespace hardware_interface
23{
29{
34 std::string name;
36 std::string min;
38 std::string max;
40 std::string initial_value;
42 std::string data_type;
44 int size;
45};
46
52{
54 std::string name;
56 std::string type;
57
62 std::vector<InterfaceInfo> command_interfaces;
67 std::vector<InterfaceInfo> state_interfaces;
69 std::unordered_map<std::string, std::string> parameters;
70};
71
74{
75 std::string name;
76 std::vector<std::string> state_interfaces;
77 std::vector<std::string> command_interfaces;
78 std::string role;
79 double mechanical_reduction = 1.0;
80 double offset = 0.0;
81};
82
85{
86 std::string name;
87 std::vector<std::string> state_interfaces;
88 std::vector<std::string> command_interfaces;
89 std::string role;
90 double mechanical_reduction = 1.0;
91 double offset = 0.0;
92};
93
96{
97 std::string name;
98 std::string type;
99 std::vector<JointInfo> joints;
100 std::vector<ActuatorInfo> actuators;
102 std::unordered_map<std::string, std::string> parameters;
103};
104
107{
109 std::string name;
111 std::string type;
117 std::unordered_map<std::string, std::string> hardware_parameters;
122 std::vector<ComponentInfo> joints;
127 std::vector<ComponentInfo> sensors;
132 std::vector<ComponentInfo> gpios;
137 std::vector<TransmissionInfo> transmissions;
141 std::string original_xml;
142};
143
144} // namespace hardware_interface
145#endif // HARDWARE_INTERFACE__HARDWARE_INFO_HPP_
Definition actuator.hpp:31
Contains semantic info about a given actuator loaded from URDF for a transmission.
Definition hardware_info.hpp:85
Definition hardware_info.hpp:52
std::vector< InterfaceInfo > command_interfaces
Definition hardware_info.hpp:62
std::unordered_map< std::string, std::string > parameters
(Optional) Key-value pairs of component parameters, e.g. min/max values or serial number.
Definition hardware_info.hpp:69
std::vector< InterfaceInfo > state_interfaces
Definition hardware_info.hpp:67
std::string name
Name of the component.
Definition hardware_info.hpp:54
std::string type
Type of the component: sensor, joint, or GPIO.
Definition hardware_info.hpp:56
This structure stores information about hardware defined in a robot's URDF.
Definition hardware_info.hpp:107
std::string type
Type of the hardware: actuator, sensor or system.
Definition hardware_info.hpp:111
std::string hardware_plugin_name
Name of the pluginlib plugin of the hardware that will be loaded.
Definition hardware_info.hpp:115
std::unordered_map< std::string, std::string > hardware_parameters
(Optional) Key-value pairs for hardware parameters.
Definition hardware_info.hpp:117
bool is_async
Component is async.
Definition hardware_info.hpp:113
std::vector< ComponentInfo > gpios
Definition hardware_info.hpp:132
std::vector< ComponentInfo > joints
Definition hardware_info.hpp:122
std::string original_xml
Definition hardware_info.hpp:141
std::string name
Name of the hardware.
Definition hardware_info.hpp:109
std::vector< ComponentInfo > sensors
Definition hardware_info.hpp:127
std::vector< TransmissionInfo > transmissions
Definition hardware_info.hpp:137
Definition hardware_info.hpp:29
std::string max
(Optional) Maximal allowed values of the interface.
Definition hardware_info.hpp:38
std::string initial_value
(Optional) Initial value of the interface.
Definition hardware_info.hpp:40
std::string name
Definition hardware_info.hpp:34
int size
(Optional) If the handle is an array, the size of the array. Used by GPIOs.
Definition hardware_info.hpp:44
std::string min
(Optional) Minimal allowed values of the interface.
Definition hardware_info.hpp:36
std::string data_type
(Optional) The datatype of the interface, e.g. "bool", "int". Used by GPIOs.
Definition hardware_info.hpp:42
Contains semantic info about a given joint loaded from URDF for a transmission.
Definition hardware_info.hpp:74
Contains semantic info about a given transmission loaded from URDF.
Definition hardware_info.hpp:96
std::unordered_map< std::string, std::string > parameters
(Optional) Key-value pairs of custom parameters
Definition hardware_info.hpp:102