错误:gazebo_ros_control插件正在等待参数中的模型URDF

时间:2017-08-12 17:46:14

标签: ros

请帮忙。

很少有凉亭用加载的模型打开,差不多99次失败并出现以下错误。

在所有论坛中搜索了一天之后我尝试了以下内容,到目前为止没有运气:(1)runnning verbose:= true 2)运行rosrun gzclient然后启动文件3)确保框大小不为零4)适当提到的传输类型5)在模型文件中安装和提及的gazebo ros控件插件6)安装了gazebo ros控件插件(请注意我之前能够运行相同的启动,突然出现此错误)7)checked namesapce

错误追踪:

balaji@balaji:~/Documents/balaji/unl/Media/Downloads/robot_ws_final$ source devel/setup.bash 
balaji@balaji:~/Documents/balaji/unl/Media/Downloads/robot_ws_final$ roslaunch robot_gazebo robot_world.launch 
... logging to /home/balaji/.ros/log/e78e4fbc-7f83-11e7-9f51-9801a7b07983/roslaunch-balaji-31825.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
WARNING: disk usage in log directory [/home/balaji/.ros/log] is over 1GB.
It's recommended that you use the 'rosclean' command.

xacro: Traditional processing is deprecated. Switch to --inorder processing!
To check for compatibility of your document, use option --check-order.
For more infos, see http://wiki.ros.org/xacro#Processing_Order
started roslaunch server http://balaji:45487/

SUMMARY
========

PARAMETERS
 * /first_pelican/image_processing_node/namesapce_deploy: first_pelican
 * /first_pelican/joint1_position_controller/joint: palm_riser
 * /first_pelican/joint1_position_controller/pid/d: 10.0
 * /first_pelican/joint1_position_controller/pid/i: 0.01
 * /first_pelican/joint1_position_controller/pid/p: 100.0
 * /first_pelican/joint1_position_controller/type: effort_controller...
 * /first_pelican/joint_state_controller/publish_rate: 100
 * /first_pelican/joint_state_controller/type: joint_state_contr...
 * /first_pelican/robot_description: <?xml version="1....
 * /first_pelican/smart_exploration/dist_x: 0
 * /first_pelican/smart_exploration/dist_y: 0
 * /first_pelican/smart_exploration/namesapce_deploy: first_pelican
 * /rosdistro: kinetic
 * /rosversion: 1.12.7
 * /use_sim_time: True

NODES
  /first_pelican/
    controller_spawner (controller_manager/spawner)
    image_processing_node (image_processing/image_processing_node)
    mybot_spawn (gazebo_ros/spawn_model)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)
    smart_exploration (robot_exploration/smart_exploration)
  /
    gazebo (gazebo_ros/gzserver)
    gazebo_gui (gazebo_ros/gzclient)

auto-starting new master
process[master]: started with pid [31839]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to e78e4fbc-7f83-11e7-9f51-9801a7b07983
process[rosout-1]: started with pid [31852]
started core service [/rosout]
process[gazebo-2]: started with pid [31864]
process[gazebo_gui-3]: started with pid [31879]
process[first_pelican/mybot_spawn-4]: started with pid [31886]
process[first_pelican/controller_spawner-5]: started with pid [31887]
process[first_pelican/robot_state_publisher-6]: started with pid [31888]
process[first_pelican/image_processing_node-7]: started with pid [31889]
process[first_pelican/smart_exploration-8]: started with pid [31890]
[ WARN] [1502559016.978709697]: The root link chassis has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
[ INFO] [1502559016.986332012]: Got param: 0.000000
[ INFO] [1502559016.995995700]: Got param: 0.000000
[ INFO] [1502559016.999604731]: Got param: first_pelican
[ INFO] [1502559017.008884277]: In image_converter, got param: first_pelican
SpawnModel script started
[INFO] [1502559017.185603, 0.000000]: Loading model XML from ros parameter
[INFO] [1502559017.190666, 0.000000]: Waiting for service /gazebo/spawn_urdf_model
[ INFO] [1502559017.208092409]: Finished loading Gazebo ROS API Plugin.
[ INFO] [1502559017.209366293]: waitForService: Service [/gazebo/set_physics_properties] has not been advertised, waiting...
[INFO] [1502559017.386893, 0.000000]: Controller Spawner: Waiting for service controller_manager/load_controller
[ INFO] [1502559017.566665686, 246.206000000]: waitForService: Service [/gazebo/set_physics_properties] is now available.
[ INFO] [1502559017.611486634, 246.249000000]: Physics dynamic reconfigure ready.
[INFO] [1502559017.795112, 246.428000]: Calling service /gazebo/spawn_urdf_model
[ INFO] [1502559018.103326226, 246.494000000]: Camera Plugin: Using the 'robotNamespace' param: '/first_pelican/'
[ INFO] [1502559018.107184854, 246.494000000]: Camera Plugin (ns = /first_pelican/)  <tf_prefix_>, set to "/first_pelican"
[ INFO] [1502559018.628739638, 246.494000000]: Laser Plugin: Using the 'robotNamespace' param: '/first_pelican/'
[ INFO] [1502559018.628941833, 246.494000000]: Starting Laser Plugin (ns = /first_pelican/)
[ INFO] [1502559018.630496093, 246.494000000]: Laser Plugin (ns = /first_pelican/)  <tf_prefix_>, set to "/first_pelican"
[INFO] [1502559018.650747, 246.494000]: Spawn status: SpawnModel: Successfully spawned entity
[ INFO] [1502559018.669444812, 246.494000000]: Loading gazebo_ros_control plugin
[ INFO] [1502559018.669578793, 246.494000000]: Starting gazebo_ros_control plugin in namespace: first_pelican
[ INFO] [1502559018.670483364, 246.494000000]: gazebo_ros_control plugin is waiting for model URDF in parameter [/robot_description] on the ROS param server.

1 个答案:

答案 0 :(得分:0)

我知道自从提出这个问题已经有一段时间了,但如果有人还在寻找答案,请在下面找到:

我可以在启动文件中进行更改后加载机器人。我必须在robot_description parameter标记之外设置<group>。然后我在<group>标签内的Gazebo中加载或生成了URDF,请找到以下更改:

<arg name="robot_description"
     default="$(find urdf_test_pkg)/model/robot.xacro"/>
<param name="/robot_description"
   command="$(find xacro)/xacro --inorder $(arg robot_description) namesapce_deploy:=$(arg ns_1)"/>

<group ns="$(arg ns_1)">
    <node name="mybot_spawn" pkg="gazebo_ros" type="spawn_model" output="screen"
    args="-urdf -param /robot_description -model mybot_$(arg ns_1)
                -x $(arg x) -y $(arg y) -z $(arg z)
                -R $(arg roll) -P $(arg pitch) -Y $(arg yaw)" respawn="false" />

    <!-- convert joint states to TF transforms for rviz, etc -->
    <!-- Notice the leading '/' in '/robot_description' -->
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="false" output="screen">
        <remap from="/joint_states" to="/$(arg ns_1)/joint_states" />
    </node>
</group>

请注意,此答案基于以下网站提供的解决方案:https://answers.ros.org/question/268655/gazebo_ros_control-plugin-is-waiting-for-model-urdf-in-parameter/。有关问题和答案的更多详细信息,请访问上面的链接。