9/19/2016 周一
因为项目原因需要在ros环境下使用kinectV2,所以自学ros系统官方文档,原网址http://wiki.ros.org/ROS/Tutorials/UnderstandingNodes;
本博客内容包含ros教程beginer:1,2,5,6(部分)
1.Understanding ROS Nodes
1)使用ros
$ rosrun [package_name] [node_name]//自动寻找包和node
$ rosrun turtlesim turtlesim_node __name:=my_turtle //使用__name:=可以自定义进程中node的名字
$ rosnode ping my_turtle //使用ping可以测试node是否运行
2)回顾:
- roscore = ros+core : master (提供名称服务) + rosout (标准输出和标准报错) + parameter server (这个以后再讲)
- rosnode = ros+node : 用来获取node信息的工具
- rosrun = ros+run : 从给定包中运行ros node
2.Navigating the ROS Filesystem
1)ros系统包含的文件分为两种
Packages,Manifests (package.xml)。包(packages)是库文件, 可执行文件, 脚本, 或其他文档的集合。
2)文件工具:
代码会包含在多个package中,所以ros提供工具以便快速查看
$ rospack find [package_name]//返回包路径
$ roscd [locationname[/subdir]]//改变当前路径至包路径/还可以添加子路径$ roscd log//前往日志文件路径,如果当前无程序运行会报错。$ rosls [locationname[/subdir]]返回包里面的文件
$ pwd//unix系统下用于输出当前路径
3)回顾
- rospack = ros + pack(age)
- roscd = ros + cd
- rosls = ros + ls
3.Understanding ROS Topics
1)例程:
//运行 $ rosrun turtlesim turtlesim_node $ rosrun turtlesim turtle_teleop_key会出现以下场景:
2)使用命令:
$ rosrun rqt_graph rqt_graph可以观察turtlesim_node和turtle_teleop_key两个node之间的通信,如下:
$ rostopic list -v//可以返回所有的topic