gazebo_ros_control plugin is waiting for model URDF in parameter
Please help.
Very few times the gazebo opens with the loaded model, almost 99 times it fails with the below error.
After searching for one day in all forums I tried the following, so far no luck :( 1) runnning verbose:=true 2) running rosrun gzclient and then the launch file 3) making sure box size is not zero in model description file 4) transmission type properly mentioned in model description file 5) gazebo ros control plugin installed and mentioned in model file 6) gazebo ros control plugin installed (please note that i was able to run the same launch before, suddenly this error is coming up) 7) checked namesapce
Launch file:
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="world" default="empty"/>
<arg name="paused" default="false"/>
<arg name="use_sim_time" default="true"/>
<arg name="gui" default="true"/>
<arg name="headless" default="false"/>
<arg name="debug" default="false"/>
<arg name="x" default="0"/>
<arg name="y" default="0"/>
<arg name="x1" default="0"/>
<arg name="y1" default="0"/>
<arg name="z" default="0"/>
<arg name="roll" default="0"/>
<arg name="pitch" default="0"/>
<arg name="yaw" default="0"/>
<arg name="initial_pose_x" default="0"/>
<arg name="initial_pose_y" default="0"/>
<arg name="initial_pose_a" default="0.0"/>
<arg name="take_break" default="5.0"/>
<arg name="world_name" default="$(find robot_gazebo)/worlds/world_2.world" />
<arg name="ns_1" default="first_pelican" />
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="world_name" value="$(arg world_name)"/>
<arg name="paused" value="$(arg paused)"/>
<arg name="use_sim_time" value="$(arg use_sim_time)"/>
<arg name="gui" value="$(arg gui)"/>
<arg name="headless" value="$(arg headless)"/>
<arg name="debug" value="$(arg debug)"/>
</include>
<group ns="$(arg ns_1)">
<param name="robot_description" command="$(find xacro)/xacro.py '$(find robot_description)/urdf/robot.xacro' namesapce_deploy:=$(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" />
<!-- Load joint controller configurations from YAML file to parameter server -->
<rosparam file="$(find robot_gazebo)/config/robot_control.yaml" command="load"/>
<!-- load the controllers -->
<node name="controller_spawner" pkg="controller_manager" type="spawner" respawn="false"
output="screen" ns="/$(arg ns_1)" args="joint_state_controller joint1_position_controller"/>
<!-- convert joint states to TF transforms for rviz, etc -->
<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>
<!-- ************** Red circle image detection *************** -->
<node name="image_processing_node" pkg="image_processing" type="image_processing_node" output="screen">
<param name="namesapce_deploy" value="$(arg ns_1)"/>
</node>
<!-- ************** Navigation *************** -->
<node name="smart_exploration" type="smart_exploration" pkg="robot_exploration" output="screen">
<param name="dist_x" value="$(arg x)"/>
<param name="dist_y" value="$(arg y)"/>
<param name="namesapce_deploy" value="$(arg ns_1)"/>
</node>
</group>
</launch>
Trace:
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 ...
Can you post your launch file? I recently solved a very similar problem on my system. You might also get quicker assistance on the Gazebo Answers site.
Thanks rmck for replying back, please find the launch file above, I have edited my question
Which ROS version are you using?
You can get rid of the xacro error by changing your xacro line, remove .py and add --inorder between xacro and find
@balajithevoyager: Also, please use the Preformatted Text (
101010
) button. It makes it much easier to read your terminal output.I am using ROS kinetic, I tried removing the .py and placed --inorder as given below, but still having the same issue
Where is your macros.xacro file?
Following is the macros.xacro file content