首先,开始游戏之前不要着急,身为ROS界的大侦探,请先掌握如下基础知识,仔细阅读了解我们的ROS世界观才能生存。(前情回顾有点长,请一定要坚持到最后呀)
启动ROS
$roscore
首先打开节点管理器master,建立了一个日志输出节点\rosout 记录error,warning写入log文件,参数服务器进行参数配置。
然后我们就可以启动节点,一个package可以有多个可执行文件,TA们是静态的,而节点代表着进程,TA们是动态的,一般以功能来划分的。启动node的方法如下
$rosrun [package_name] [node_name]
易错点:容易出现找不到package的情况,在rosrun之前一定要记得运行脚本文件让工作空间环境变量有效。
$ source ~/ros/devel/setup.bash
命令 | 功能 |
---|---|
rosnode list | 列出当前运行节点列表 |
rosnode info [node_name] | 列出节点信息 |
rosnode kill [node_name] | 终止一个进程 |
当然,如果存在多个节点的时候,一个一个rosrun打开我们也太难了。所以我们要升级学习roslaunch,roslaunch 可以启动一个节点管理器和多个节点。launch文件是描述一组节点及其话题重映射和参数的XML文件。根据规范,这些文件的后缀都是.launch
$ roslaunch [pkg_name] [file_name.launch]
我们需要在启动文件里面配置好我们要启动的规则,launch文件和package文件一样都要符合标签语言的规范。
RLException: [part1.launch] is neither a launch file in package [swarm] nor is [swarm] a launch file name
The traceback for the exception was written to the log file
运行launch出错也要提前设置环境变量,至少可以换一个错误显示,比如语法错误。
RLException: Invalid roslaunch XML syntax: mismatched tag: line 24, column 2
The traceback for the exception was written to the log file
下面来进行launch 文件的使用说明。
launch 文件使用说明
group标签定义命名空间
<group ns="bluesim">
<node pkg="swarm" type="swarm_behavior&