Agregue el controlador robotiq 2f 140 gripper_controller en el entorno de simulación de la glorieta

Agregue el controlador robotiq 2f 140 gripper_controller en el entorno de simulación de la glorieta

Entorno de construcción:

ubuntu: 20.04
ros: Nonetic
sensor: robotiq_ft300
gripper: robotiq_2f_140_gripper
UR: UR3
reasentido: D435i

El entorno de simulación rviz y gazebo de ur3, sensor de fuerza, pinza robotiq, realsense se configuran a través de los siguientes blogs

ubuntu20.04 configura el entorno de simulación del brazo robótico UR
ur3+robotiq ft sensor+robotiq 2f 140 configura el entorno de simulación rviz
ur3+robotiq ft sensor+robotiq 2f 140 configura el entorno de simulación del mirador
ur3+robotiq ft sensor+robotiq 2f 140+ realsense d435i configura rviz, entorno de simulación de mirador

Después de configurar realsense en el entorno de simulación a través del blog anterior , abrí el tema publicado y encontré que no hay ningún tema de pinzas.

[Falló la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leeching, se recomienda guardar la imagen y cargarla directamente (img-mgVkbKQR-1677221406695)(null)]

Después de comparar robotiq/robotiq_2f_140_gripper_gazebo/launch/robotiq_2f_140_bringup.launchcon el archivo, se encuentra que solo hay el controlador del brazo robótico (como se muestra en la figura a continuación), y no hay un controlador con pinzasuniversal_robot/ur_gazebo/launch/ur3_bringup.launchur3_bringup.launch

inserte la descripción de la imagen aquí

Encuentre robotiq_2f_140_bringup.launchel controlador de la pinza central (como se muestra a continuación)

inserte la descripción de la imagen aquí

Luego agréguelo al ur3_bringup.launcharchivo (tenga en cuenta que se agrega de acuerdo con el método de carga de los dos controladores de archivos, en lugar de simplemente copiar el código en el cuadro)

El código al que me estoy ur3_bringup.launchuniendo es el siguiente

<!-- Load Gripper controller settings -->
<rosparam file="$(find robotiq_2f_140_gripper_gazebo)/config/robotiq_2f_140_gripper_controllers.yaml" command="load"/>
<!-- Load and start the gripper controllers listed in the 'controllers' arg. -->
<node name="gripper_controller_spawner" pkg="controller_manager" type="spawner"
args="gripper_controller" output="screen" respawn="false" />

ur3_bringup.launchEl código completo es el siguiente

<?xml version="1.0"?>
<launch>
  <!--Robot description and related parameter files -->
  <arg name="robot_description_file" default="$(dirname)/inc/load_ur3.launch.xml" doc="Launch file which populates the 'robot_description' parameter."/>
  <arg name="joint_limit_params" default="$(find ur_description)/config/ur3/joint_limits.yaml"/>
  <arg name="kinematics_params" default="$(find ur_description)/config/ur3/default_kinematics.yaml"/>
  <arg name="physical_params" default="$(find ur_description)/config/ur3/physical_parameters.yaml"/>
  <arg name="visual_params" default="$(find ur_description)/config/ur3/visual_parameters.yaml"/>

  <!-- Controller configuration -->
  <arg name="controller_config_file" default="$(find ur_gazebo)/config/ur3_controllers.yaml" doc="Config file used for defining the ROS-Control controllers."/>
  <arg name="controllers" default="joint_state_controller eff_joint_traj_controller" doc="Controllers that are activated by default."/>
  <arg name="stopped_controllers" default="joint_group_eff_controller" doc="Controllers that are initally loaded, but not started."/>

  <!-- robot_state_publisher configuration -->
  <arg name="tf_prefix" default="" doc="tf_prefix used for the robot."/>
  <arg name="tf_pub_rate" default="125" doc="Rate at which robot_state_publisher should publish transforms."/>

  <!-- Gazebo parameters -->
  <arg name="paused" default="false" doc="Starts Gazebo in paused mode" />
  <arg name="gui" default="true" doc="Starts Gazebo gui" />

  <!-- Load urdf on the parameter server -->
  <include file="$(arg robot_description_file)">
    <arg name="joint_limit_params" value="$(arg joint_limit_params)"/>
    <arg name="kinematics_params" value="$(arg kinematics_params)"/>
    <arg name="physical_params" value="$(arg physical_params)"/>
    <arg name="visual_params" value="$(arg visual_params)"/>
  </include>

  <!-- Robot state publisher -->
  <node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher">
    <param name="publish_frequency" type="double" value="$(arg tf_pub_rate)" />
    <param name="tf_prefix" value="$(arg tf_prefix)" />
  </node>

  <!-- Start the 'driver' (ie: Gazebo in this case) -->
  <include file="$(dirname)/inc/ur_control.launch.xml">
    <arg name="controller_config_file" value="$(arg controller_config_file)"/>
    <arg name="controllers" value="$(arg controllers)"/>
    <arg name="gui" value="$(arg gui)"/>
    <arg name="paused" value="$(arg paused)"/>
    <arg name="stopped_controllers" value="$(arg stopped_controllers)"/>
  </include>

   <!-- Load Gripper controller settings -->
  <rosparam file="$(find robotiq_2f_140_gripper_gazebo)/config/robotiq_2f_140_gripper_controllers.yaml" command="load"/>
  <!-- Load and start the gripper controllers listed in the 'controllers' arg. -->
  <node name="gripper_controller_spawner" pkg="controller_manager" type="spawner"
    args="gripper_controller" output="screen" respawn="false" />
</launch>

Ver el efecto

ejecutar comando

cd ~/catkin_ws
source devel/setup.bash
roslaunch ur_gazebo ur3_bringup.launch

inserte la descripción de la imagen aquí

Ahora hay más tema del controlador de pinzas de agarre.

errores encontrados

Después de finalizar la operación directa anterior, encontrará que hay un error en la línea de comando

inserte la descripción de la imagen aquí

La razón principal es que universal_robot/ur_gazebo/urdf/ur_macro.xacroel archivo y robotiq/robotiq_2f_140_gripper_gazebo/urdf/robotiq_arg2f_140_macro.xacroambos tienen declaraciones ros_controlcomo se muestra en la figura a continuación.

[Falló la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leeching, se recomienda guardar la imagen y cargarla directamente (img-7QfPAujc-1677221386428)(null)]

Siempre que uno de ellos ros_controlesté comentado, aquí comenté robotiq_arg2f_140_macro.xacroel del medio, el problema está resuelto y no se informan más errores.

Supongo que te gusta

Origin blog.csdn.net/weixin_48319333/article/details/129200789
Recomendado
Clasificación