ROS机器人操作系统开发教程|ROS机器人操作系统开发视频教程进阶-小乌龟演示(一)


ROS机器人操作系统开发视频教程进阶(记录感悟和过程)

  • 一、激光雷达SLAM建图导航的ROS机器人项目
【ROS机器人操作系统开发教程|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

  • 附一些有用的快捷指令
    ROS机器人操作系统开发教程|ROS机器人操作系统开发视频教程进阶-小乌龟演示(一)
    文章图片

    然后,你可以尝试输入指令:
~$ 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演示告一段落。

    推荐阅读