ros知识点

  • 工作空间
    一个典型的ROS工作空间目录结构如下:
    所有ROS程序都必须放置在某个ROS工作空间(workspace)下,我们在主目录下创建一个名为catkin_ws的ROS工作空间(ROS工作的空间名字可以随便取,一般约定俗成以_ws结尾).
catkin_ws/         			# 工作空间
├── src/                   	  # src目录放置源码
│   ├── CMakeLists.txt          # 顶层CMakeLists.txt
│   ├── package_1/				# ROS包1
│   ├── package_2/				# ROS包2
│   └── package_n/				# ROS包n
├── build/                    # build目录放置编译结果
├── devel/                    # devel目录放置开发相关文件
│   └── setup.bash              # 运行该脚本才能让该工作空间下的包被ROS发现
└── install/                  # install目录放置安装相关文件
  • ROS节点
    在运行ROS节点之前,应先启动一个命令行窗口,执行roscore命令启动一个ROS核心,才能执行其他的ROS命令。
    运行ROS节点的命令格式如下:
rosrun ROS包名 ROS节点名 [参数1:=1 参数2:=2]

例如想要运行feature_tracker包中的feature_tracker节点,需要执行以下命令:

roscore&rosrun feature_tracker feature_tracker _config_file:=~/learning_ros_ws/src/VINS-Mono/config/euroc/euroc_config.yaml _vins_path:=~/learning_ros_ws/src/VINS-Mono
  • launch文件

一个完整的应用通常包含很多个ROS节点,一次使用rosrun命令启动这些节点并配置参数较为麻烦,因此将一系列节点和运行参数写进launch文件中,通过roslaunch命令一次启动多个节点。

launch文件一般放在ROS包下的launch目录

运行roslaunch文件的命令格式如下:

rosrun ROS包名 launch文件名

ROS会自动在第一次运行launch文件的窗口调用roscore(可以理解为每个launch文件都有一个缺省的roscore节点),因此只需要一个命令行窗口就可以运行所有相关的ROS节点。

例如,想要运行euroc.launch,命令如下

roslaunch vins_estimator euroc.launch 		# 运行vins_estimator包下的euroc.launch文件
  • package
    一个文件夹要被ROS认为是package的话,必须包含以下两个文件:CMakeList.txt和package.xml
    老版的xml叫做Manifest.xml

你可能感兴趣的:(机器人,自动驾驶,人工智能)