Launch file doesn't work after xacro update
Hello there,
After updating to version 1.9.4 of the ros-indigo-xacro package, one of my launch files doesn't work anymore, and I can't figure out why. The error mesages I get are the following:
Traceback (most recent call last):
File "/opt/ros/indigo/share/xacro/xacro.py", line 60, in <module>
xacro.main()
File "/opt/ros/indigo/lib/python2.7/dist-packages/xacro/__init__.py", line 706, in main
open_output(output_filename).write(doc.toprettyxml(indent=' '))
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb7' in position 1960: ordinal not in range(128)
while processing /home/daniel/catkin_ws/src/rotors_simulator/rotors_gazebo/launch/spawn_mav.launch:
Invalid <param> tag: Cannot load command parameter [robot_description]: command [ /opt/ros/indigo/share/xacro/xacro.py '/home/daniel/catkin_ws/src/rotors_simulator/rotors_description/urdf/firefly_base.xacro' enable_logging:=false enable_ground_truth:=true log_file:=firefly mav_name:=firefly] returned with code [1].
Param xml is <param command=" $(find xacro)/xacro.py '$(arg model)' enable_logging:=$(arg enable_logging) enable_ground_truth:=$(arg enable_ground_truth) log_file:=$(arg log_file) mav_name:=$(arg mav_name)" name="robot_description"/>
The traceback for the exception was written to the log file
The launch file is this:
<?xml version="1.0" ?>
<launch>
<arg name="mav_name" />
<arg name="model" default="$(find rotors_description)/urdf/$(arg mav_name)_base.xacro"/>
<arg name="tf_prefix" default="$(optenv ROS_NAMESPACE)"/>
<arg name="x" default="0.0"/>
<arg name="y" default="0.0"/>
<arg name="z" default="0.1"/>
<arg name="enable_logging" default="false"/>
<arg name="enable_ground_truth" default="true"/>
<arg name="log_file" default="$(arg mav_name)"/>
<!-- send the robot XML to param server -->
<param name="robot_description" command="
$(find xacro)/xacro.py '$(arg model)'
enable_logging:=$(arg enable_logging)
enable_ground_truth:=$(arg enable_ground_truth)
log_file:=$(arg log_file)
mav_name:=$(arg mav_name)"
/>
<param name="tf_prefix" type="string" value="$(arg tf_prefix)" />
<!-- push robot_description to factory and spawn robot in gazebo -->
<node name="spawn_$(arg mav_name)" pkg="gazebo_ros" type="spawn_model"
args="-param robot_description
-urdf
-x $(arg x)
-y $(arg y)
-z $(arg z)
-model $(arg mav_name)"
respawn="false" output="screen">
</node>
</launch>
Any help would be greatly appreciated!
Cheers, Daniel