ROS control hardware_interface

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
    • src/
      • robot_hardware_interface_node.cpp
    • CMakeLists.txt
    • package.xml

 

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

  1. https://www.slaterobotics.com/blog/5abd8a1ed4442a651de5cb5b/how-to-implement-ros_control-on-a-custom-robot