ROS机器人操作系统开发视频教程进阶(记录感悟和过程)
- 一、激光雷达SLAM建图导航的ROS机器人项目
一、激光雷达SLAM建图导航的ROS机器人项目 1、rosrun 和roslaunch
rosrun每次只能运行一个节点,而roslaunch自动打开roscore,并且可以同时运行多个节点
2、下载一个终端软件terminator,确实比原版好用,下载代码为:
sudo apt-get install terminator
3、运行一个demo
首先,打开一个终端,启动master:
~$ roscore
然后,再开一个终端,启动显示节点:
~$ rosrun turtlesim turtlesim_node
然后,再开一个终端,启动控制节点:
~$ rosrun turtlesim turtle_teleop_key
然后,保持控制界面在控制节点处,按下上下左右即可移动,没错,或许你见过这个demo,这就是最为基础的官方自带demo。
然后,再开一个终端,查看节点关联:
~$ rqt_graph
- 附一些有用的快捷指令
文章图片
然后,你可以尝试输入指令:
~$ rostopic type /turtle1/cmd_vel
可以得到:
geometry_msgs/Twist
也就是说/turtle1/cmd_vel即控制节点类型属于上面这个结果。
检验执行:
~$ rosmsg show geometry_msgs/Twist
结果为:
geometry_msgs/Vector3 linear
float64 x
float64 y
float64 z
geometry_msgs/Vector3 angular
float64 x
float64 y
float64 z
其中,我们也可以用指令发布和订阅topic消息msg:
~$ rostopic pub -1 turtle1/cmd_vel geometry_msgs/Twist -- '[1,0,0]' '[0,0,1]'
这里的-1是指发送一次,发送什么话题,话题消息类型,然后是类型的数据,这里是线速度和角速度按1Hz发布
~$ rostopic pub -r 1 turtle1/cmd_vel geometry_msgs/Twist -- '[1,0,0]' '[0,0,1]'
这里是周期性的发布,一次发布一次订阅topic
~$ rostopic echo /tutle1/cmd_vel
用来监视消息,会自动弹出消息的实时数据变化,打印出来
4、介绍使用rqt的图形工具包
rqt工具很多,先看:
~$ rosrun rqt_topic rqt_topic
可以看到系统所有的消息话题都打印出来,可以消息的类型图形化表示出来,仅可以查看,需要查看的数据可以打上对勾,数据有动作会被打印出来。
如果是发消息的话,可以使用指令:
~$ rosrun rqt_publisher rqt_publier
刚打开的话,页面是空白的,没有消息,但是可以选择自己需要的topic,然后选择Type,再点击+号,下面就会出现需要的消息。
使用过程是,修改自己所要发送的数据值,然后右键,点击Publish Selected Once,可以发送数据一次,如果需要一直发送,则打上方框√,然后1.00就是1Hz,再发送就可以
然后是图形化工具:
~$ rosrun rqt_plot rqt_plot
可以图形化的方式白哦是话题消息数据的波形,同样,初次打开是空白的,所以要在topic处输入所需的消息,在这个demo中输入:
/turtle1/cmd_vel/linear
/turtle1/cmd_vel/angular
每输完一句点击一次加号即可。
至此,这个demo演示告一段落。
推荐阅读
- ROS|ROS机器人操作系统学习
- 《Linux从入门到精通》|【Linux】之【内存】相关的命令&&解析以及内存相关的问题[free、meminfo、内存泄漏、内存溢出、Overcommit]
- Linux|Linux查看网络带宽使用情况 (端口显示)
- 《Linux从入门到精通》|Linux系统如何查看服务器带宽及网络使用情况
- 小项目|【c语言五子棋】简单ai算法(理论)
- 小项目|【c语言五子棋】简单ai算法初步(实际)
- Linux|Linux实操篇-组管理和权限管理
- ORACLE|How to install oracle19c in Centos8
- linux工作中常用之必备基础命令