关于使用ur5仿真时“hardware_interface/PositionJointInterface”报错

本文解决了一个在特定工作空间中使用UR5机器人进行Gazebo仿真时遇到的问题,通过修改ur_gazebo下的ur5.launch文件中hardware_interface/PositionJointInterface的引用,成功启动了仿真。
部署运行你感兴趣的模型镜像

当自己在特定工作空间内安装好ur5的相关包后,进行仿真时出现下面的报错:
在这里插入图片描述解决方法:修改source路径

source /opt/ros/indigo/setup.bash
roslaunch ur_gazebo ur5.launch 

即可正常打开gazebo

至于无法在原工作空间source的原因,还未研究明白,等待继续更新。


3.30更新
之前的解决办法并没有解决根本问题,只是变成调用原本功能包的ur5模型。
我是在修改了该功能包ur_description/urdf/ur5_urdf.xacro中的模型后(简单的加一些障碍物),发现按照上述方法并没有变化,因此意识到之前并未解决根本问题。
于是我又重新看了报错。由于我安装的是ros_indigo。之前的根据之前的经验,我猜测是因为版本问题导致的。故查看ur_gazebo下的ur5.launch文件。但是发现并没有调用报错的中的hardware_interface/PositionJointInterface
查看ur5.launch时发现它打开了ur_description/launch/ur5_upload.launch文件。于是继续查看该文件。最终发现问题所在:

<?xml version="1.0"?>
<launch>
  <arg name="limited" default="false" doc="If true, limits joint range [-PI, PI] on all joints." />
  <arg name="transmission_hw_interface" default="hardware_interface/PositionJointInterface" />

  <param  command="$(find xacro)/xacro --inorder '$(find ur_description)/urdf/ur5_robot.urdf.xacro' transmission_hw_interface:=$(arg transmission_hw_interface)" name="robot_description" unless="$(arg limited)" />
  <param if="$(arg limited)" name="robot_description" command="$(find xacro)/xacro --inorder '$(find ur_description)/urdf/ur5_joint_limited_robot.urdf.xacro' transmission_hw_interface:=$(arg transmission_hw_interface)" />
</launch>

将其中的hardware_interface/PositionJointInterface改成
PositionJointInterface。
即去掉hardware_interface即可
整个launch文件变为

<?xml version="1.0"?>
<launch>
  <arg name="limited" default="false" doc="If true, limits joint range [-PI, PI] on all joints." />
  <arg name="transmission_hw_interface" default="PositionJointInterface" />

  <param  command="$(find xacro)/xacro --inorder '$(find ur_description)/urdf/ur5_robot.urdf.xacro' transmission_hw_interface:=$(arg transmission_hw_interface)" name="robot_description" unless="$(arg limited)" />
  <param if="$(arg limited)" name="robot_description" command="$(find xacro)/xacro --inorder '$(find ur_description)/urdf/ur5_joint_limited_robot.urdf.xacro' transmission_hw_interface:=$(arg transmission_hw_interface)" />
</launch>

此时在运行

source devel/setup.bash
roslaunch ur_gazebo ur5.launch

即可打开该功能包下的gazebo模拟器,如图
在这里插入图片描述

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

cjh@ASUS:~/ur5e_ws$ roslaunch ur_robot_driver ur10_bringup.launch robot_ip:=192.168.56.101 ... logging to /home/cjh/.ros/log/c741816e-d1ac-11f0-972e-a7fb13f9bfc6/roslaunch-ASUS-39643.log Checking log directory for disk usage. This may take a while. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB. started roslaunch server http://ASUS:36277/ SUMMARY ======== PARAMETERS * /controller_stopper/consistent_controllers: ['joint_state_con... * /force_torque_sensor_controller/publish_rate: 125 * /force_torque_sensor_controller/type: force_torque_sens... * /forward_cartesian_traj_controller/joints: ['shoulder_pan_jo... * /forward_cartesian_traj_controller/type: pass_through_cont... * /forward_joint_traj_controller/joints: ['shoulder_pan_jo... * /forward_joint_traj_controller/type: pass_through_cont... * /hardware_control_loop/loop_hz: 125 * /joint_based_cartesian_traj_controller/base: base * /joint_based_cartesian_traj_controller/joints: ['shoulder_pan_jo... * /joint_based_cartesian_traj_controller/tip: tool0 * /joint_based_cartesian_traj_controller/type: position_controll... * /joint_group_vel_controller/joints: ['shoulder_pan_jo... * /joint_group_vel_controller/type: velocity_controll... * /joint_state_controller/publish_rate: 125 * /joint_state_controller/type: joint_state_contr... * /pos_joint_traj_controller/action_monitor_rate: 20 * /pos_joint_traj_controller/constraints/elbow_joint/goal: 0.1 * /pos_joint_traj_controller/constraints/elbow_joint/trajectory: 0.2 * /pos_joint_traj_controller/constraints/goal_time: 0.6 * /pos_joint_traj_controller/constraints/shoulder_lift_joint/goal: 0.1 * /pos_joint_traj_controller/constraints/shoulder_lift_joint/trajectory: 0.2 * /pos_joint_traj_controller/constraints/shoulder_pan_joint/goal: 0.1 * /pos_joint_traj_controller/constraints/shoulder_pan_joint/trajectory: 0.2 * /pos_joint_traj_controller/constraints/stopped_velocity_tolerance: 0.05 * /pos_joint_traj_controller/constraints/wrist_1_joint/goal: 0.1 * /pos_joint_traj_controller/constraints/wrist_1_joint/trajectory: 0.2 * /pos_joint_traj_controller/constraints/wrist_2_joint/goal: 0.1 * /pos_joint_traj_controller/constraints/wrist_2_joint/trajectory: 0.2 * /pos_joint_traj_controller/constraints/wrist_3_joint/goal: 0.1 * /pos_joint_traj_controller/constraints/wrist_3_joint/trajectory: 0.2 * /pos_joint_traj_controller/joints: ['shoulder_pan_jo... * /pos_joint_traj_controller/state_publish_rate: 125 * /pos_joint_traj_controller/stop_trajectory_duration: 0.5 * /pos_joint_traj_controller/type: position_controll... * /pose_based_cartesian_traj_controller/base: base * /pose_based_cartesian_traj_controller/joints: ['shoulder_pan_jo... * /pose_based_cartesian_traj_controller/tip: tool0_controller * /pose_based_cartesian_traj_controller/type: pose_controllers/... * /robot_description: <?xml version="1.... * /robot_status_controller/handle_name: industrial_robot_... * /robot_status_controller/publish_rate: 10 * /robot_status_controller/type: industrial_robot_... * /rosdistro: noetic * /rosversion: 1.17.4 * /scaled_pos_joint_traj_controller/action_monitor_rate: 20 * /scaled_pos_joint_traj_controller/constraints/elbow_joint/goal: 0.1 * /scaled_pos_joint_traj_controller/constraints/elbow_joint/trajectory: 0.2 * /scaled_pos_joint_traj_controller/constraints/goal_time: 0.6 * /scaled_pos_joint_traj_controller/constraints/shoulder_lift_joint/goal: 0.1 * /scaled_pos_joint_traj_controller/constraints/shoulder_lift_joint/trajectory: 0.2 * /scaled_pos_joint_traj_controller/constraints/shoulder_pan_joint/goal: 0.1 * /scaled_pos_joint_traj_controller/constraints/shoulder_pan_joint/trajectory: 0.2 * /scaled_pos_joint_traj_controller/constraints/stopped_velocity_tolerance: 0.05 * /scaled_pos_joint_traj_controller/constraints/wrist_1_joint/goal: 0.1 * /scaled_pos_joint_traj_controller/constraints/wrist_1_joint/trajectory: 0.2 * /scaled_pos_joint_traj_controller/constraints/wrist_2_joint/goal: 0.1 * /scaled_pos_joint_traj_controller/constraints/wrist_2_joint/trajectory: 0.2 * /scaled_pos_joint_traj_controller/constraints/wrist_3_joint/goal: 0.1 * /scaled_pos_joint_traj_controller/constraints/wrist_3_joint/trajectory: 0.2 * /scaled_pos_joint_traj_controller/joints: ['shoulder_pan_jo... * /scaled_pos_joint_traj_controller/state_publish_rate: 125 * /scaled_pos_joint_traj_controller/stop_trajectory_duration: 0.5 * /scaled_pos_joint_traj_controller/type: position_controll... * /scaled_vel_joint_traj_controller/action_monitor_rate: 20 * /scaled_vel_joint_traj_controller/constraints/elbow_joint/goal: 0.1 * /scaled_vel_joint_traj_controller/constraints/elbow_joint/trajectory: 0.1 * /scaled_vel_joint_traj_controller/constraints/goal_time: 0.6 * /scaled_vel_joint_traj_controller/constraints/shoulder_lift_joint/goal: 0.1 * /scaled_vel_joint_traj_controller/constraints/shoulder_lift_joint/trajectory: 0.1 * /scaled_vel_joint_traj_controller/constraints/shoulder_pan_joint/goal: 0.1 * /scaled_vel_joint_traj_controller/constraints/shoulder_pan_joint/trajectory: 0.1 * /scaled_vel_joint_traj_controller/constraints/stopped_velocity_tolerance: 0.05 * /scaled_vel_joint_traj_controller/constraints/wrist_1_joint/goal: 0.1 * /scaled_vel_joint_traj_controller/constraints/wrist_1_joint/trajectory: 0.1 * /scaled_vel_joint_traj_controller/constraints/wrist_2_joint/goal: 0.1 * /scaled_vel_joint_traj_controller/constraints/wrist_2_joint/trajectory: 0.1 * /scaled_vel_joint_traj_controller/constraints/wrist_3_joint/goal: 0.1 * /scaled_vel_joint_traj_controller/constraints/wrist_3_joint/trajectory: 0.1 * /scaled_vel_joint_traj_controller/gains/elbow_joint/d: 0.1 * /scaled_vel_joint_traj_controller/gains/elbow_joint/i: 0.05 * /scaled_vel_joint_traj_controller/gains/elbow_joint/i_clamp: 1 * /scaled_vel_joint_traj_controller/gains/elbow_joint/p: 5.0 * /scaled_vel_joint_traj_controller/gains/shoulder_lift_joint/d: 0.1 * /scaled_vel_joint_traj_controller/gains/shoulder_lift_joint/i: 0.05 * /scaled_vel_joint_traj_controller/gains/shoulder_lift_joint/i_clamp: 1 * /scaled_vel_joint_traj_controller/gains/shoulder_lift_joint/p: 5.0 * /scaled_vel_joint_traj_controller/gains/shoulder_pan_joint/d: 0.1 * /scaled_vel_joint_traj_controller/gains/shoulder_pan_joint/i: 0.05 * /scaled_vel_joint_traj_controller/gains/shoulder_pan_joint/i_clamp: 1 * /scaled_vel_joint_traj_controller/gains/shoulder_pan_joint/p: 5.0 * /scaled_vel_joint_traj_controller/gains/wrist_1_joint/d: 0.1 * /scaled_vel_joint_traj_controller/gains/wrist_1_joint/i: 0.05 * /scaled_vel_joint_traj_controller/gains/wrist_1_joint/i_clamp: 1 * /scaled_vel_joint_traj_controller/gains/wrist_1_joint/p: 5.0 * /scaled_vel_joint_traj_controller/gains/wrist_2_joint/d: 0.1 * /scaled_vel_joint_traj_controller/gains/wrist_2_joint/i: 0.05 * /scaled_vel_joint_traj_controller/gains/wrist_2_joint/i_clamp: 1 * /scaled_vel_joint_traj_controller/gains/wrist_2_joint/p: 5.0 * /scaled_vel_joint_traj_controller/gains/wrist_3_joint/d: 0.1 * /scaled_vel_joint_traj_controller/gains/wrist_3_joint/i: 0.05 * /scaled_vel_joint_traj_controller/gains/wrist_3_joint/i_clamp: 1 * /scaled_vel_joint_traj_controller/gains/wrist_3_joint/p: 5.0 * /scaled_vel_joint_traj_controller/joints: ['shoulder_pan_jo... * /scaled_vel_joint_traj_controller/state_publish_rate: 125 * /scaled_vel_joint_traj_controller/stop_trajectory_duration: 0.5 * /scaled_vel_joint_traj_controller/type: velocity_controll... * /scaled_vel_joint_traj_controller/velocity_ff/elbow_joint: 1.0 * /scaled_vel_joint_traj_controller/velocity_ff/shoulder_lift_joint: 1.0 * /scaled_vel_joint_traj_controller/velocity_ff/shoulder_pan_joint: 1.0 * /scaled_vel_joint_traj_controller/velocity_ff/wrist_1_joint: 1.0 * /scaled_vel_joint_traj_controller/velocity_ff/wrist_2_joint: 1.0 * /scaled_vel_joint_traj_controller/velocity_ff/wrist_3_joint: 1.0 * /speed_scaling_state_controller/publish_rate: 125 * /speed_scaling_state_controller/type: scaled_controller... * /twist_controller/frame_id: tool0_controller * /twist_controller/joints: ['shoulder_pan_jo... * /twist_controller/publish_rate: 125 * /twist_controller/type: ros_controllers_c... * /ur_hardware_interface/headless_mode: False * /ur_hardware_interface/input_recipe_file: /home/cjh/ur5e_ws... * /ur_hardware_interface/joints: ['shoulder_pan_jo... * /ur_hardware_interface/kinematics/forearm/pitch: 0 * /ur_hardware_interface/kinematics/forearm/roll: 0 * /ur_hardware_interface/kinematics/forearm/x: -0.612 * /ur_hardware_interface/kinematics/forearm/y: 0 * /ur_hardware_interface/kinematics/forearm/yaw: 0 * /ur_hardware_interface/kinematics/forearm/z: 0 * /ur_hardware_interface/kinematics/hash: calib_17227329492... * /ur_hardware_interface/kinematics/shoulder/pitch: 0 * /ur_hardware_interface/kinematics/shoulder/roll: 0 * /ur_hardware_interface/kinematics/shoulder/x: 0 * /ur_hardware_interface/kinematics/shoulder/y: 0 * /ur_hardware_interface/kinematics/shoulder/yaw: 0 * /ur_hardware_interface/kinematics/shoulder/z: 0.1273 * /ur_hardware_interface/kinematics/upper_arm/pitch: 0 * /ur_hardware_interface/kinematics/upper_arm/roll: 1.570796327 * /ur_hardware_interface/kinematics/upper_arm/x: 0 * /ur_hardware_interface/kinematics/upper_arm/y: 0 * /ur_hardware_interface/kinematics/upper_arm/yaw: 0 * /ur_hardware_interface/kinematics/upper_arm/z: 0 * /ur_hardware_interface/kinematics/wrist_1/pitch: 0 * /ur_hardware_interface/kinematics/wrist_1/roll: 0 * /ur_hardware_interface/kinematics/wrist_1/x: -0.5723 * /ur_hardware_interface/kinematics/wrist_1/y: 0 * /ur_hardware_interface/kinematics/wrist_1/yaw: 0 * /ur_hardware_interface/kinematics/wrist_1/z: 0.163941 * /ur_hardware_interface/kinematics/wrist_2/pitch: 0 * /ur_hardware_interface/kinematics/wrist_2/roll: 1.570796327 * /ur_hardware_interface/kinematics/wrist_2/x: 0 * /ur_hardware_interface/kinematics/wrist_2/y: -0.1157 * /ur_hardware_interface/kinematics/wrist_2/yaw: 0 * /ur_hardware_interface/kinematics/wrist_2/z: -2.37304666792238... * /ur_hardware_interface/kinematics/wrist_3/pitch: 3.141592653589793 * /ur_hardware_interface/kinematics/wrist_3/roll: 1.570796326589793 * /ur_hardware_interface/kinematics/wrist_3/x: 0 * /ur_hardware_interface/kinematics/wrist_3/y: 0.0922 * /ur_hardware_interface/kinematics/wrist_3/yaw: 3.141592653589793 * /ur_hardware_interface/kinematics/wrist_3/z: -1.89105361091135... * /ur_hardware_interface/output_recipe_file: /home/cjh/ur5e_ws... * /ur_hardware_interface/reverse_ip: * /ur_hardware_interface/reverse_port: 50001 * /ur_hardware_interface/robot_ip: 192.168.56.101 * /ur_hardware_interface/robot_receive_timeout: 0.02 * /ur_hardware_interface/script_command_port: 50004 * /ur_hardware_interface/script_file: /opt/ros/noetic/s... * /ur_hardware_interface/script_sender_port: 50002 * /ur_hardware_interface/servoj_gain: 2000 * /ur_hardware_interface/servoj_lookahead_time: 0.03 * /ur_hardware_interface/tf_prefix: * /ur_hardware_interface/tool_baud_rate: 115200 * /ur_hardware_interface/tool_parity: 0 * /ur_hardware_interface/tool_rx_idle_chars: 1.5 * /ur_hardware_interface/tool_stop_bits: 1 * /ur_hardware_interface/tool_tx_idle_chars: 3.5 * /ur_hardware_interface/tool_voltage: 0 * /ur_hardware_interface/trajectory_port: 50003 * /ur_hardware_interface/use_spline_interpolation: True * /ur_hardware_interface/use_tool_communication: False * /vel_joint_traj_controller/action_monitor_rate: 20 * /vel_joint_traj_controller/constraints/elbow_joint/goal: 0.1 * /vel_joint_traj_controller/constraints/elbow_joint/trajectory: 0.1 * /vel_joint_traj_controller/constraints/goal_time: 0.6 * /vel_joint_traj_controller/constraints/shoulder_lift_joint/goal: 0.1 * /vel_joint_traj_controller/constraints/shoulder_lift_joint/trajectory: 0.1 * /vel_joint_traj_controller/constraints/shoulder_pan_joint/goal: 0.1 * /vel_joint_traj_controller/constraints/shoulder_pan_joint/trajectory: 0.1 * /vel_joint_traj_controller/constraints/stopped_velocity_tolerance: 0.05 * /vel_joint_traj_controller/constraints/wrist_1_joint/goal: 0.1 * /vel_joint_traj_controller/constraints/wrist_1_joint/trajectory: 0.1 * /vel_joint_traj_controller/constraints/wrist_2_joint/goal: 0.1 * /vel_joint_traj_controller/constraints/wrist_2_joint/trajectory: 0.1 * /vel_joint_traj_controller/constraints/wrist_3_joint/goal: 0.1 * /vel_joint_traj_controller/constraints/wrist_3_joint/trajectory: 0.1 * /vel_joint_traj_controller/gains/elbow_joint/d: 0.1 * /vel_joint_traj_controller/gains/elbow_joint/i: 0.05 * /vel_joint_traj_controller/gains/elbow_joint/i_clamp: 1 * /vel_joint_traj_controller/gains/elbow_joint/p: 5.0 * /vel_joint_traj_controller/gains/shoulder_lift_joint/d: 0.1 * /vel_joint_traj_controller/gains/shoulder_lift_joint/i: 0.05 * /vel_joint_traj_controller/gains/shoulder_lift_joint/i_clamp: 1 * /vel_joint_traj_controller/gains/shoulder_lift_joint/p: 5.0 * /vel_joint_traj_controller/gains/shoulder_pan_joint/d: 0.1 * /vel_joint_traj_controller/gains/shoulder_pan_joint/i: 0.05 * /vel_joint_traj_controller/gains/shoulder_pan_joint/i_clamp: 1 * /vel_joint_traj_controller/gains/shoulder_pan_joint/p: 5.0 * /vel_joint_traj_controller/gains/wrist_1_joint/d: 0.1 * /vel_joint_traj_controller/gains/wrist_1_joint/i: 0.05 * /vel_joint_traj_controller/gains/wrist_1_joint/i_clamp: 1 * /vel_joint_traj_controller/gains/wrist_1_joint/p: 5.0 * /vel_joint_traj_controller/gains/wrist_2_joint/d: 0.1 * /vel_joint_traj_controller/gains/wrist_2_joint/i: 0.05 * /vel_joint_traj_controller/gains/wrist_2_joint/i_clamp: 1 * /vel_joint_traj_controller/gains/wrist_2_joint/p: 5.0 * /vel_joint_traj_controller/gains/wrist_3_joint/d: 0.1 * /vel_joint_traj_controller/gains/wrist_3_joint/i: 0.05 * /vel_joint_traj_controller/gains/wrist_3_joint/i_clamp: 1 * /vel_joint_traj_controller/gains/wrist_3_joint/p: 5.0 * /vel_joint_traj_controller/joints: ['shoulder_pan_jo... * /vel_joint_traj_controller/state_publish_rate: 125 * /vel_joint_traj_controller/stop_trajectory_duration: 0.5 * /vel_joint_traj_controller/type: velocity_controll... * /vel_joint_traj_controller/velocity_ff/elbow_joint: 1.0 * /vel_joint_traj_controller/velocity_ff/shoulder_lift_joint: 1.0 * /vel_joint_traj_controller/velocity_ff/shoulder_pan_joint: 1.0 * /vel_joint_traj_controller/velocity_ff/wrist_1_joint: 1.0 * /vel_joint_traj_controller/velocity_ff/wrist_2_joint: 1.0 * /vel_joint_traj_controller/velocity_ff/wrist_3_joint: 1.0 NODES / controller_stopper (ur_robot_driver/controller_stopper_node) robot_state_publisher (robot_state_publisher/robot_state_publisher) ros_control_controller_spawner (controller_manager/spawner) ros_control_stopped_spawner (controller_manager/spawner) ur_hardware_interface (ur_robot_driver/ur_robot_driver_node) /ur_hardware_interface/ ur_robot_state_helper (ur_robot_driver/robot_state_helper) auto-starting new master process[master]: started with pid [39676] ROS_MASTER_URI=http://localhost:11311 setting /run_id to c741816e-d1ac-11f0-972e-a7fb13f9bfc6 process[rosout-1]: started with pid [39697] started core service [/rosout] process[robot_state_publisher-2]: started with pid [39700] process[ur_hardware_interface-3]: started with pid [39701] process[ros_control_controller_spawner-4]: started with pid [39705] process[ros_control_stopped_spawner-5]: started with pid [39707] process[controller_stopper-6]: started with pid [39708] process[ur_hardware_interface/ur_robot_state_helper-7]: started with pid [39709] [INFO] [1764920046.778635809]: Waiting for controller manager service to come up on /controller_manager/switch_controller [INFO] [1764920046.781284140]: waitForService: Service [/controller_manager/switch_controller] has not been advertised, waiting... [INFO] [1764920046.785299298]: waitForService: Service [/ur_hardware_interface/dashboard/play] has not been advertised, waiting... [INFO] [1764920046.823334251]: Initializing urdriver [WARN] [1764920046.825634581]: Your system/user seems not to be setup for FIFO scheduling. We recommend using a lowlatency kernel with FIFO scheduling. See https://docs.universal-robots.com/Universal_Robots_ROS_Documentation/doc/ur_client_library/doc/real_time.html for details. [INFO] [1764920046.847294748]: Negotiated RTDE protocol version to 2. [INFO] [1764920046.848984727]: Setting up RTDE communication with frequency 125.000000 INFO: cannot create a symlink to latest log directory: [Errno 2] No such file or directory: '/home/cjh/.ros/log/latest' [INFO] [1764920047.158009]: Controller Spawner: Waiting for service controller_manager/load_controller [INFO] [1764920047.158084]: Controller Spawner: Waiting for service controller_manager/load_controller [INFO] [1764920047.888104678]: Starting primary client pipeline [INFO] [1764920047.888343400]: Checking if calibration data matches connected robot. [INFO] [1764920048.888495202]: Calibration checked successfully. [INFO] [1764920048.888534652]: Initializing dashboard client [INFO] [1764920048.889529021]: Connected: Universal Robots Dashboard Server [WARN] [1764920048.899956764]: Your system/user seems not to be setup for FIFO scheduling. We recommend using a lowlatency kernel with FIFO scheduling. See https://docs.universal-robots.com/Universal_Robots_ROS_Documentation/doc/ur_client_library/doc/real_time.html for details. [INFO] [1764920048.900069962]: Loaded ur_robot_driver hardware_interface [INFO] [1764920048.910638874]: waitForService: Service [/ur_hardware_interface/dashboard/play] is now available. [INFO] [1764920048.930356146]: waitForService: Service [/controller_manager/switch_controller] is now available. [INFO] [1764920048.930374725]: Service available. [INFO] [1764920048.930384931]: Waiting for controller list service to come up on /controller_manager/list_controllers [INFO] [1764920048.930891012]: Service available. [DEBUG] [1764920048.949826235]: Invalid robot package type recieved: 5 [INFO] [1764920048.966082]: Controller Spawner: Waiting for service controller_manager/switch_controller [INFO] [1764920048.966234]: Controller Spawner: Waiting for service controller_manager/switch_controller [INFO] [1764920048.967955]: Controller Spawner: Waiting for service controller_manager/unload_controller [INFO] [1764920048.968168]: Controller Spawner: Waiting for service controller_manager/unload_controller [INFO] [1764920048.969711]: Loading controller: joint_state_controller [INFO] [1764920048.969893]: Loading controller: pos_joint_traj_controller [INFO] [1764920048.974830]: Loading controller: scaled_pos_joint_traj_controller [INFO] [1764920048.998878]: Loading controller: joint_group_vel_controller [INFO] [1764920049.014910]: Loading controller: speed_scaling_state_controller [INFO] [1764920049.022789]: Controller Spawner: Loaded controllers: pos_joint_traj_controller, joint_group_vel_controller [INFO] [1764920049.030777]: Loading controller: force_torque_sensor_controller [INFO] [1764920049.062786]: Controller Spawner: Loaded controllers: joint_state_controller, scaled_pos_joint_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller [INFO] [1764920049.070739]: Started controllers: joint_state_controller, scaled_pos_joint_traj_controller, speed_scaling_state_controller, force_torque_sensor_controller [INFO] [1764920049.157379882]: Robot mode is now RUNNING [INFO] [1764920049.157612152]: Robot's safety mode is now NORMAL [INFO] [1764920070.448252993]: Robot requested program [INFO] [1764920070.449193846]: Sent program to robot [INFO] [1764920070.867426635]: Robot connected to reverse interface. Ready to receive control commands. [INFO] [1764920524.946960694]: Connection to reverse interface dropped. [ERROR] [1764920524.982626390]: Sending data through socket failed. [INFO] [1764920524.984212103]: Robot connected to reverse interface. Ready to receive control commands. [INFO] [1764920525.041894751]: Connection to reverse interface dropped. [ERROR] [1764920525.049856852]: Sending data through socket failed. [INFO] [1764920525.049895864]: Robot connected to reverse interface. Ready to receive control commands. [DEBUG] [1764920525.112915369]: Invalid robot package type recieved: 25 [INFO] [1764921139.409715057]: Connection to reverse interface dropped. [ERROR] [1764921139.417127854]: Sending data through socket failed. [INFO] [1764921139.417650014]: Robot connected to reverse interface. Ready to receive control commands. [INFO] [1764921384.895780001]: Connection to reverse interface dropped. [ERROR] [1764921384.897034888]: Sending data through socket failed. [INFO] [1764921384.900863281]: Robot connected to reverse interface. Ready to receive control commands. [DEBUG] [1764921384.980181088]: Invalid robot package type recieved: 25 [INFO] [1764921498.100054229]: Connection to reverse interface dropped. [ERROR] [1764921498.102120385]: Sending data through socket failed. [INFO] [1764921498.105283427]: Robot connected to reverse interface. Ready to receive control commands. [INFO] [1764921498.745088814]: Connection to reverse interface dropped. [INFO] [1764921498.745205409]: Robot connected to reverse interface. Ready to receive control commands.
12-06
以下为启动launch文件: <?xml version="1.0"?> <launch> <!-- Main entry point for loading a single UR5 into Gazebo, in isolation, in the empty world. A set of ros_control controllers similar to those loaded by ur_robot_driver will be loaded by 'ur_control.launch.xml' (note: *similar*, *not* identical). This bringup .launch file is intentionally given the same name as the one in the ur_robot_driver package, as it fulfills a similar role: loading the configuration and starting the necessary ROS nodes which in the end provide a ROS API to a Universal Robots UR5. Only in this case, instead of a real robot, a virtual model in Gazebo is used. NOTE 1: as this is not a real robot, there are limits to the faithfulness of the simulation. Dynamic behaviour will be different from a real robot. Only a subset of topics, actions and services is supported. Specifically, interaction with the Control Box itself is not supported, as Gazebo does not simulate a Control Box. This means: no Dashboard server, no URScript topic and no force-torque sensor among other things. NOTE 2: users wishing to integrate a UR5 with other models into a more complex simulation should NOT modify this file. Instead, if it would be desirable to reuse this file with a custom simulation, they should create a copy and update this copy so as to accomodate required changes. In those cases, treat this file as an example, showing one way how a Gazebo simulation for UR robots *could* be launched. It is not necessary to mimic this setup completely. --> <!--Robot description and related parameter files --> <arg name="robot_description_file" default="$(dirname)/inc/load_ur5.launch.xml" doc="Launch file which populates the 'robot_description' parameter."/> <arg name="joint_limit_params" default="$(find ur_description)/config/ur5/joint_limits.yaml"/> <arg name="kinematics_params" default="$(find ur_description)/config/ur5/default_kinematics.yaml"/> <arg name="physical_params" default="$(find ur_description)/config/ur5/physical_parameters.yaml"/> <arg name="visual_params" default="$(find ur_description)/config/ur5/visual_parameters.yaml"/> <arg name="transmission_hw_interface" default="hardware_interface/EffortJointInterface" doc="The hardware_interface to expose for each joint in the simulated robot (one of: [hardware_interface/PositionJointInterface, hardware_interface/VelocityJointInterface, hardware_interface/EffortJointInterface])"/> <!-- Controller configuration --> <arg name="controller_config_file" default="$(find ur_gazebo)/config/ur5_controllers.yaml" doc="Config file used for defining the ROS-Control controllers."/> <arg name="controllers" default="joint_state_controller mobile_base_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)"/> <arg name="transmission_hw_interface" value="$(arg transmission_hw_interface)"/> </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> </launch> 运行后报错: [ERROR] [1765199103.526630238, 257.830000000]: Exception thrown while initializing controller 'mobile_base_controller' [ERROR] [1765199103.526673005, 257.830000000]: Initializing controller 'mobile_base_controller' failed [ERROR] [1765199103.543318863, 257.830000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/left_wheel2base_link [ERROR] [1765199103.543727383, 257.830000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/right_wheel2base_link [ERROR] [1765199103.544007016, 257.830000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/front_wheel2base_link [ERROR] [1765199103.544265865, 257.830000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/back_wheel2base_link [ERROR] [1765199103.545024597, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/list_controllers] [ERROR] [1765199103.545062756, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/list_controller_types] [ERROR] [1765199103.545083393, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/load_controller] [ERROR] [1765199103.545109922, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/unload_controller] [ERROR] [1765199103.545129116, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/switch_controller] [ERROR] [1765199103.545151781, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/reload_controller_libraries] [INFO] [1765199103.545247015, 257.830000000]: Loaded gazebo_ros_control. [INFO] [1765199103.545662274, 257.830000000]: Loading gazebo_ros_control plugin [INFO] [1765199103.545698188, 257.830000000]: Starting gazebo_ros_control plugin in namespace: / [ERROR] [1765199103.651149425, 257.830000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/left_wheel2base_link [ERROR] [1765199103.651458961, 257.830000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/right_wheel2base_link [ERROR] [1765199103.651744745, 257.830000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/front_wheel2base_link [ERROR] [1765199103.652153296, 257.830000000]: No p gain specified for pid. Namespace: /gazebo_ros_control/pid_gains/back_wheel2base_link [ERROR] [1765199103.652780240, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/list_controllers] [ERROR] [1765199103.652801218, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/list_controller_types] [ERROR] [1765199103.652816540, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/load_controller] [ERROR] [1765199103.652831280, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/unload_controller] [ERROR] [1765199103.652845767, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/switch_controller] [ERROR] [1765199103.652860741, 257.830000000]: Tried to advertise a service that is already advertised in this node [/controller_manager/reload_controller_libraries]
最新发布
12-09
运行launch文件检测不到发布的odom话题,以下是launch文件的内容: <?xml version="1.0"?> <launch> <!-- Main entry point for loading a single UR5 into Gazebo, in isolation, in the empty world. A set of ros_control controllers similar to those loaded by ur_robot_driver will be loaded by 'ur_control.launch.xml' (note: *similar*, *not* identical). This bringup .launch file is intentionally given the same name as the one in the ur_robot_driver package, as it fulfills a similar role: loading the configuration and starting the necessary ROS nodes which in the end provide a ROS API to a Universal Robots UR5. Only in this case, instead of a real robot, a virtual model in Gazebo is used. NOTE 1: as this is not a real robot, there are limits to the faithfulness of the simulation. Dynamic behaviour will be different from a real robot. Only a subset of topics, actions and services is supported. Specifically, interaction with the Control Box itself is not supported, as Gazebo does not simulate a Control Box. This means: no Dashboard server, no URScript topic and no force-torque sensor among other things. NOTE 2: users wishing to integrate a UR5 with other models into a more complex simulation should NOT modify this file. Instead, if it would be desirable to reuse this file with a custom simulation, they should create a copy and update this copy so as to accomodate required changes. In those cases, treat this file as an example, showing one way how a Gazebo simulation for UR robots *could* be launched. It is not necessary to mimic this setup completely. --> <!--Robot description and related parameter files --> <arg name="robot_description_file" default="$(dirname)/inc/load_ur5.launch.xml" doc="Launch file which populates the 'robot_description' parameter."/> <arg name="joint_limit_params" default="$(find ur_description)/config/ur5/joint_limits.yaml"/> <arg name="kinematics_params" default="$(find ur_description)/config/ur5/default_kinematics.yaml"/> <arg name="physical_params" default="$(find ur_description)/config/ur5/physical_parameters.yaml"/> <arg name="visual_params" default="$(find ur_description)/config/ur5/visual_parameters.yaml"/> <arg name="transmission_hw_interface" default="hardware_interface/EffortJointInterface" doc="The hardware_interface to expose for each joint in the simulated robot (one of: [hardware_interface/PositionJointInterface, hardware_interface/VelocityJointInterface, hardware_interface/EffortJointInterface])"/> <!-- Controller configuration --> <arg name="controller_config_file" default="$(find ur_gazebo)/config/ur5_controllers.yaml" doc="Config file used for defining the ROS-Control controllers."/> <arg name="controllers" default="joint_state_controller left_wheel_velocity_controller right_wheel_velocity_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)"/> <arg name="transmission_hw_interface" value="$(arg transmission_hw_interface)"/> </include> <!-- 先加载 PID gains --> <rosparam file="$(find urdf02_gazebo)/config/gazebo_ros_control_params.yaml" command="load"/> <!-- 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)" /> <param name="delta_t" value="0.02"/> <!-- 20ms偏移 --> </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> </launch> 以下是涉及odom的文件: <robot name="my_car_move" xmlns:xacro="http://wiki.ros.org/xacro"> <xacro:macro name="joint_trans" params="joint_name"> <transmission name="${joint_name}_trans"> <type>transmission_interface/SimpleTransmission</type> <joint name="${joint_name}"> <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> </joint> <actuator name="${joint_name}_motor"> <hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface> <mechanicalReduction>1</mechanicalReduction> </actuator> </transmission> </xacro:macro> <xacro:joint_trans joint_name="left_wheel2base_link" /> <xacro:joint_trans joint_name="right_wheel2base_link" /> <xacro:joint_trans joint_name="front_wheel2base_link" /> <xacro:joint_trans joint_name="back_wheel2base_link" /> <gazebo> <plugin name="differential_drive_controller" filename="libgazebo_ros_diff_drive.so"> <rosDebugLevel>Debug</rosDebugLevel> <publishWheelTF>false</publishWheelTF> <robotNamespace>/</robotNamespace> <publishTf>0</publishTf> <publishWheelJointState>false</publishWheelJointState> <alwaysOn>true</alwaysOn> <updateRate>100.0</updateRate> <legacyMode>true</legacyMode> <leftJoint>left_wheel2base_link</leftJoint> <!-- 左轮 --> <rightJoint>right_wheel2base_link</rightJoint> <!-- 右轮 --> <wheelSeparation>${base_link_radius * 2}</wheelSeparation> <!-- 车轮间距 --> <wheelDiameter>${wheel_radius * 2}</wheelDiameter> <!-- 车轮直径 --> <broadcastTF></broadcastTF> <wheelTorque>30</wheelTorque> <wheelAcceleration>1.8</wheelAcceleration> <commandTopic>cmd_vel</commandTopic> <!-- 运动控制话题 --> <odometryFrame>odom</odometryFrame> <odometryTopic>odom</odometryTopic> <!-- 里程计话题 --> <robotBaseFrame>base_footprint</robotBaseFrame> <!-- 根坐标系 --> </plugin> </gazebo> </robot> 请基于上述代码,提供解决方案
12-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值