ros2_control - galactic
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 data_type;
42 int size;
43};
44
50{
52 std::string name;
54 std::string type;
59 std::vector<InterfaceInfo> command_interfaces;
64 std::vector<InterfaceInfo> state_interfaces;
66 std::unordered_map<std::string, std::string> parameters;
67};
68
71{
72 std::string name;
73 std::vector<std::string> interfaces;
74 std::string role;
75 double mechanical_reduction = 1.0;
76 double offset = 0.0;
77};
78
81{
82 std::string name;
83 std::vector<std::string> interfaces;
84 std::string role;
85 double offset = 0.0;
86};
87
90{
91 std::string name;
92 std::string type;
93 std::vector<JointInfo> joints;
94 std::vector<ActuatorInfo> actuators;
96 std::unordered_map<std::string, std::string> parameters;
97};
98
101{
103 std::string name;
105 std::string type;
109 std::unordered_map<std::string, std::string> hardware_parameters;
114 std::vector<ComponentInfo> joints;
119 std::vector<ComponentInfo> sensors;
124 std::vector<ComponentInfo> gpios;
129 std::vector<TransmissionInfo> transmissions;
130};
131
132} // namespace hardware_interface
133#endif // HARDWARE_INTERFACE__HARDWARE_INFO_HPP_
Definition actuator.hpp:29
Contains semantic info about a given actuator loaded from XML (URDF)
Definition hardware_info.hpp:81
Definition hardware_info.hpp:50
std::vector< InterfaceInfo > command_interfaces
Definition hardware_info.hpp:59
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:66
std::vector< InterfaceInfo > state_interfaces
Definition hardware_info.hpp:64
std::string name
Name of the component.
Definition hardware_info.hpp:52
std::string type
Type of the component: sensor, joint, or GPIO.
Definition hardware_info.hpp:54
This structure stores information about hardware defined in a robot's URDF.
Definition hardware_info.hpp:101
std::string type
Type of the hardware: actuator, sensor or system.
Definition hardware_info.hpp:105
std::unordered_map< std::string, std::string > hardware_parameters
(Optional) Key-value pairs for hardware parameters.
Definition hardware_info.hpp:109
std::string hardware_class_type
Class of the hardware that will be dynamically loaded.
Definition hardware_info.hpp:107
std::vector< ComponentInfo > gpios
Definition hardware_info.hpp:124
std::vector< ComponentInfo > joints
Definition hardware_info.hpp:114
std::string name
Name of the hardware.
Definition hardware_info.hpp:103
std::vector< ComponentInfo > sensors
Definition hardware_info.hpp:119
std::vector< TransmissionInfo > transmissions
Definition hardware_info.hpp:129
Definition hardware_info.hpp:29
std::string max
(Optional) Maximal allowed values of the interface.
Definition hardware_info.hpp:38
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:42
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:40
Contains semantic info about a given joint loaded from XML (URDF)
Definition hardware_info.hpp:71
Contains semantic info about a given transmission loaded from XML (URDF)
Definition hardware_info.hpp:90
std::unordered_map< std::string, std::string > parameters
(Optional) Key-value pairs of custom parameters
Definition hardware_info.hpp:96