创建了一个启动文件,在这个文件中,我的机器人应该在露台上打开,当尝试使用robot运行启动文件时,我会得到以下错误
redefining global symbol: pi
when processing file: /home/akash/project/src/techman_robot_ros-master/tm_grasp_description/urdf/tm700.urdf.xacro
included from: /home/akash/project/src/techman_robot_ros-master/tm_grasp_description/urdf/tm700_robot.urdf.xacro
xacro.py is deprecated; please use xacro instead
started roslaunch server http://akash:37109/我仍然可以看到我的露台世界,但不能看到机器人进口。
这是发射文件
<launch>
<arg name="eih" default="false" />
<arg name="limited" default="false"/>
<group unless="$(arg eih)">
<param unless="$(arg limited)" name="robot_description" command="$(find xacro)/xacro.py '$(find tm_grasp_description)/urdf/tm700_robot.urdf.xacro'" />
<param if="$(arg limited)" name="robot_description" command="$(find xacro)/xacro.py '$(find tm_grasp_description)/urdf/tm700_robot_joint_limited.urdf.xacro'" />
</group>
<group if="$(arg eih)">
<param unless="$(arg limited)" name="robot_description" command="$(find xacro)/xacro.py '$(find tm_grasp_description)/urdf/tm700_robot_eih.urdf.xacro'" />
<param if="$(arg limited)" name="robot_description" command="$(find xacro)/xacro.py '$(find tm_grasp_description)/urdf/tm700_robot_joint_limited_eih.urdf.xacro'" />
</group>
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>
<arg name="headless" value="false"/>
<arg name="debug" value="false"/>
<arg name="world_name"
value="$(find tm700_moveit_config)/launch/gg.world"/>
</include>
</launch>发布于 2021-07-20 14:54:03
因为ROS Jade Xacro internally uses functions and constants from Python math module such as pi在将Xacro转换为URDF机器人描述时。由于某种原因,tm700.urdf.xacro (以及包中的其他几个Xacro文件)在第8行中定义了pi。
<property name="pi" value="3.14159265" />这与数学模块的现有定义相冲突。因此,您的机器人描述的生成失败。pi 从Xacro文件中删除的所有定义,然后它就可以工作了。
https://stackoverflow.com/questions/68455388
复制相似问题