ROS control hardware_interface
Estrutura do pacote para interface de hardware de um robot
Abaixo segue a estrutura mínima para um pacote para interface de hardware para um robot. Apenas são obrigatórios os ficheiros a indicados a negrito.
- robot_hardware_interface_pkg
- launch/
- some_controllers.launch
- config/
- controllers.yaml
- hardware.yaml
- joint_limits.yaml
- include/
- robot_hardware_interface_pkg/
- robot_hardware_interface.h
- robot_hardware_interface_pkg/
- src/
- robot_hardware_interface_node.cpp
- CMakeLists.txt
- package.xml
- launch/
Includes básicos no ficheiro de header do hardware_interface.
robot_hardware_interface.h
// C++ #include <boost/scoped_ptr.hpp> // ROS #include <ros/ros.h> #include <urdf/model.h> // ROS Controls #include <hardware_interface/robot_hw.h> #include <hardware_interface/joint_state_interface.h> #include <hardware_interface/joint_command_interface.h> #include <controller_manager/controller_manager.h> #include <joint_limits_interface/joint_limits.h> #include <joint_limits_interface/joint_limits_interface.h> #include <joint_limits_interface/joint_limits_rosparam.h> #include <joint_limits_interface/joint_limits_urdf.h>
Com base no artigo do site da slaterobotics um pacote do ROS com o hardware interface de um robot para ROS control tem no minimo a seguinte estrutura:
Fontes
- https://www.slaterobotics.com/blog/5abd8a1ed4442a651de5cb5b/how-to-implement-ros_control-on-a-custom-robot