xArm-Developer / xarm_ros2

ROS2 developer packages for robotic products from UFACTORY
https://www.ufactory.cc/pages/xarm
BSD 3-Clause "New" or "Revised" License
111 stars 69 forks source link

joint_cmd is not valid #86

Open px172 opened 1 month ago

px172 commented 1 month ago

Hi,

Thanks for developing such a great product and user-friendly environment.

The issue happened when I launched the simulated xArm with the gazebo. The gazebo is launched, and the robotic arm model is loaded. However, when I opened the gazebo_ros2_conrol plugin, the console shows:

[gzclient-2] Topic [/data://world/default/model/UF_ROBOT/plugin/gazebo_ros2_control/joint_cmd] is not valid.

My environment is:

OS: ubuntu 22.04 ROS: Humble (All packages are updated)

I also compiled the gazebo_ros2_control and the error is the same.

The full log: [INFO] [launch]: All log files can be found below /home/px172/.ros/log/2024-07-18-15-29-41-441470-ismblab-205879 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [gzserver-1]: process started with pid [205881] [INFO] [gzclient-2]: process started with pid [205883] [INFO] [robot_state_publisher-3]: process started with pid [205885] [INFO] [spawn_entity.py-4]: process started with pid [205887] [robot_state_publisher-3] [INFO] [1721287781.983235174] [robot_state_publisher]: got segment link1 [robot_state_publisher-3] [INFO] [1721287781.983301976] [robot_state_publisher]: got segment link2 [robot_state_publisher-3] [INFO] [1721287781.983307582] [robot_state_publisher]: got segment link3 [robot_state_publisher-3] [INFO] [1721287781.983310768] [robot_state_publisher]: got segment link4 [robot_state_publisher-3] [INFO] [1721287781.983313619] [robot_state_publisher]: got segment link5 [robot_state_publisher-3] [INFO] [1721287781.983316314] [robot_state_publisher]: got segment link6 [robot_state_publisher-3] [INFO] [1721287781.983319002] [robot_state_publisher]: got segment link_base [robot_state_publisher-3] [INFO] [1721287781.983321718] [robot_state_publisher]: got segment link_eef [robot_state_publisher-3] [INFO] [1721287781.983324351] [robot_state_publisher]: got segment world [spawn_entity.py-4] [INFO] [1721287782.222606619] [spawn_entity]: Spawn Entity started [spawn_entity.py-4] [INFO] [1721287782.222812135] [spawn_entity]: Loading entity published on topic robot_description [spawn_entity.py-4] /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/qos.py:307: UserWarning: DurabilityPolicy.RMW_QOS_POLICY_DURABILITY_TRANSIENT_LOCAL is deprecated. Use DurabilityPolicy.TRANSIENT_LOCAL instead. [spawn_entity.py-4] warnings.warn( [spawn_entity.py-4] [INFO] [1721287782.223883562] [spawn_entity]: Waiting for entity xml on robot_description [spawn_entity.py-4] [INFO] [1721287782.235055887] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30 [spawn_entity.py-4] [INFO] [1721287782.235253309] [spawn_entity]: Waiting for service /spawn_entity [spawn_entity.py-4] [INFO] [1721287782.737832251] [spawn_entity]: Calling service /spawn_entity [spawn_entity.py-4] [INFO] [1721287782.977986695] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [UF_ROBOT] [gzserver-1] [INFO] [1721287783.034207956] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin [gzserver-1] [INFO] [1721287783.036218748] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: / [gzserver-1] [INFO] [1721287783.036348772] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control [gzserver-1] [INFO] [1721287783.038230249] [gazebo_ros2_control]: connected to service!! robot_state_publisher [gzserver-1] [INFO] [1721287783.039812318] [gazebo_ros2_control]: Received urdf from param server, parsing... [gzserver-1] [INFO] [1721287783.040174369] [gazebo_ros2_control]: Loading parameter files /tmp/launch_params_a4bcwcx1 [gzserver-1] [INFO] [1721287783.050922727] [gazebo_ros2_control]: Loading joint: joint1

[gzserver-1] [INFO] [1721287783.051615386] [gazebo_ros2_control]: Loading joint: joint2

[gzserver-1] [INFO] [1721287783.051665551] [gazebo_ros2_control]: Loading joint: joint3

[gzserver-1] [INFO] [1721287783.051702266] [gazebo_ros2_control]: Loading joint: joint4

[gzserver-1] [INFO] [1721287783.051743053] [gazebo_ros2_control]: Loading joint: joint5

[gzserver-1] [INFO] [1721287783.051826552] [gazebo_ros2_control]: Loading joint: joint6

[gzserver-1] [INFO] [1721287783.052013827] [resource_manager]: Initialize hardware 'gazebo_ros2_control/GazeboSystem' [gzserver-1] [INFO] [1721287783.052627138] [resource_manager]: Successful initialization of hardware 'gazebo_ros2_control/GazeboSystem' [gzserver-1] [INFO] [1721287783.052764808] [resource_manager]: 'configure' hardware 'gazebo_ros2_control/GazeboSystem'

[gzserver-1] [INFO] [1721287783.052776841] [resource_manager]: 'activate' hardware 'gazebo_ros2_control/GazeboSystem'

[gzserver-1] [INFO] [1721287783.053045669] [gazebo_ros2_control]: Loading controller_manager [gzserver-1] [INFO] [1721287783.061613887] [gazebo_ros2_control]: Loaded gazebo_ros2_control. [INFO] [spawn_entity.py-4]: process has finished cleanly [pid 205887] [gzclient-2] Topic [/data://world/default/model/UF_ROBOT/plugin/gazebo_ros2_control/joint_cmd] is not valid.

penglongxiang commented 1 month ago

Hi @px172, please provide detailed procedures to replicate your issue. What is the launch script you use and the arguments given, and what is the particular operation to trigger that error message ?

px172 commented 1 month ago

Hi,

Thanks for the response. The launch script is an example from 5.8 xarm_gazebo:

ros2 launch xarm_gazebo xarm6_beside_table_gazebo.launch.py

No other arguments are given.

The operation to trigger the error is to select the gazebo_ros2_control plugin in the gazebo.