我最近刚收到一个问题。 现在我有了机器人的URDF和STL文件,我想在Rviz中显示它。我怎样才能做到这一点? 谢谢!
答案 0 :(得分:1)
要让您的机器人在Rviz中可见,您必须运行名为 robot_state_publisher 的节点。 该节点解析给定的URDF(xarco)文件,并发布参数机器人描述中给出的机器人框架,还为RViz加载模型提供了一些信息。
Clearpath与赫斯基提供了很好的例子: https://github.com/husky/husky/blob/indigo-devel/husky_description/launch/description.launch
答案 1 :(得分:0)
只需编写一个这样的启动文件:
<launch>
<arg name="model" default="$(find your_package_name)/path_to_your_urdf/your_urdf.urdf"/>
<arg name="gui" default="true"/>
<param name="robot_description" command="$(find xacro)/xacro.py $(arg model)" />
<param name="use_gui" value="$(arg gui)"/>
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"/>
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find urdf_tutorial)/urdf.rviz" required="true"/>
</launch>
建议使用rviz节点取消注释该部分以进行调试,这样您就不必总是重新启动rviz。相反,使用rosrun rviz rviz
启动Rviz(确保roscore正在运行!)
joint_state_publisher让你通过GUI控制你的机器人关节,而robot_state_publisher实际上将joint_states发布到/ tf,允许Rviz为你的机器人获得正确的转换。