《精通ROS机器人编程(原书第2版) 》 —3.11.6 在RViz中查看7-DOF机械臂

举报
华章计算机 发表于 2020/02/10 16:52:11 2020/02/10
【摘要】 本节书摘来自华章计算机《精通ROS机器人编程(原书第2版) 》 一书中第3章,第3.11.6节,作者是[印度]郎坦·约瑟夫(Lentin Joseph)[意大利]乔纳森·卡卡切(Jonathan Cacace),张新宇 张志杰 等译 。

3.11.6 在RViz中查看7-DOF机械臂

讨论完机器人模型后,我们可以在RViz中查看设计好的xacro文件,并使用关节状态发布者(joint state publisher)节点控制每个关节,使用机器人状态发布者(robot state publisher)节点发布机器人状态。

可以使用名为view_arm.launch的启动文件执行上述任务。该文件位于此软件包的launch文件夹内:

 image.png

图3-9 7-DOF度机械臂的末端执行器连接图

 

 

在launch文件夹中创建以下启动文件,并使用catkin_make命令编译软件包。使用以下命令启动URDF:

 image.png

该机器人将在RViz上显示,且同时打开了关节状态发布者(joint state publisher)的GUI:

 image.png

image.png

图3-10 在RViz中查看7-DOF机械臂和joint_state_publisher

我们可以与关节滑块进行交互并移动机器人的关节。接下来,我们将讨论关节状态发布者能做些什么。

理解关节状态发布者

关节状态发布者(joint state publisher)是一个ROS软件包,常用于与机器人的每个关节进行交互。该软件包包含joint_state_publisher节点,该节点将从URDF模型中找到非固定关节,并以sensor_msgs/JointState的消息格式发布每个关节的关节状态值。

在前面的启动文件view_arm.launch中,我们启动了joint_state_publisher节点并将一个名为use_gui的参数设置为true,如下所示:

 image.png

如果我们将use_gui设置为true,那么joint_state_publisher节点将显示一个基于滑动条控件的窗口来控制每个关节。关节的下限位值和上限位值将取自joint标签内的limit标签相关联的上下限位数据。前面的截图显示了RViz中的机器人模型,以及用于更改机器人关节位置的用户界面,其中use_gui参数的设置为true。

我们可以在http://wiki.ros.org/joint_state_publisher找到更多关于关节状态发布者的信息。

理解机器人状态发布者

机器人状态发布者(robot state publisher)软件包可以将机器人的状态发布到tf。此软件包订阅了机器人的关节状态,并使用URDF模型的运动表示来发布每个连杆的3D姿态。我们可以在启动文件中使用以下代码来实现机器人状态发布者节点:

 image.png

在前面的启动文件view_arm.launch中,我们启动了这个节点来发布机械臂的tf。我们可以通过点击RViz上的tf选项可视化机器人的变换,如图3-11所示。

 image.png

图3-11 RViz中7-DOF机械臂的tf视图

关节状态发布者软件包和机器人状态发布者软件包都是与ROS桌面安装程序一起安装的。

创建了7-DOF机械臂的机器人描述后,我们来讨论如何制作一个差速轮式移动机器人。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。