ROS机器人系统学习笔记(二)--------ROS基础操作

通过我的上一篇博客,相信大家都已经熟练掌握了ROS的安装,那么,现在我们开始详细讲述ROS如何创建一个工程,如何编译运行工程。

一、新建一个工程

使用命令进入我们上一篇新建的工作空间

cd ~/catkin_ws/
source devel/setup.bash

在当前目录下执行命令进行编译

catkin_make

我们的工程源代码在我们的src/目录下,我们如何创建一个工程呢?

首先我们要明白,我们的ROS工程是一个CMake工程,CMake工程就意味着我们要编写CMakeLists.txt文件,CMake语法我就不讲了,但在ROS中我们可以通过一个简单的命令创建我们想要的工程。

catkin_create_pkg [package name] [ package dependence, such as : std_msgs rospy roscpp ... ]

我先来简单解释一下这个命令,首先,catkin_create_pkg 是ROS内置的创建包的命令,之后加上你的包的名字,再加上你所要的依赖,如:假如你要使用C++编写代码,那么就会要加一个roscpp的依赖。

二、ROS工程结构

├─.settings
├─catkin
│  └─catkin_generated
│      └─version
├─catkin_generated
│  ├─installspace
│  └─stamps
│      └─ccc
├─CMakeFiles
│  ├─3.2.2
│  │  ├─CompilerIdC
│  │  └─CompilerIdCXX
│  ├─abc.dir
│  │  └─src
│  ├─actionlib_generate_messages_cpp.dir
│  ├─actionlib_generate_messages_lisp.dir
│  ├─actionlib_generate_messages_py.dir
│  ├─actionlib_msgs_generate_messages_cpp.dir
│  ├─actionlib_msgs_generate_messages_lisp.dir
│  ├─actionlib_msgs_generate_messages_py.dir
│  ├─clean_test_results.dir
│  ├─CMakeTmp
│  ├─download_extra_data.dir
│  ├─doxygen.dir
│  ├─geometry_msgs_generate_messages_cpp.dir
│  ├─geometry_msgs_generate_messages_lisp.dir
│  ├─geometry_msgs_generate_messages_py.dir
│  ├─roscpp_generate_messages_cpp.dir
│  ├─roscpp_generate_messages_lisp.dir
│  ├─roscpp_generate_messages_py.dir
│  ├─rosgraph_msgs_generate_messages_cpp.dir
│  ├─rosgraph_msgs_generate_messages_lisp.dir
│  ├─rosgraph_msgs_generate_messages_py.dir
│  ├─run_tests.dir
│  ├─sensor_msgs_generate_messages_cpp.dir
│  ├─sensor_msgs_generate_messages_lisp.dir
│  ├─sensor_msgs_generate_messages_py.dir
│  ├─std_msgs_generate_messages_cpp.dir
│  ├─std_msgs_generate_messages_lisp.dir
│  ├─std_msgs_generate_messages_py.dir
│  ├─tests.dir
│  ├─tf2_msgs_generate_messages_cpp.dir
│  ├─tf2_msgs_generate_messages_lisp.dir
│  ├─tf2_msgs_generate_messages_py.dir
│  ├─tf_generate_messages_cpp.dir
│  ├─tf_generate_messages_lisp.dir
│  ├─tf_generate_messages_py.dir
│  └─_catkin_empty_exported_target.dir
├─devel
│  ├─lib
│  │  ├─ccc
│  │  └─pkgconfig
│  └─share
│      └─ccc
│          └─cmake
├─gtest
│  └─CMakeFiles
│      ├─gtest.dir
│      │  └─src
│      └─gtest_main.dir
│          └─src
├─include
│  └─ccc
├─src
└─test_results

上述就是一个简单的ROS工程的代码结构图

include/包名 : 这里会放一些头文件,如,.h 、.hpp。

src/ : 代码目录。

package.xml : 用于描述ROS工程的依赖和其他属性,类似于CMakeLists.txt。

除了以上的目录,一般的工程还会有msg/、srv/目录,这两种文件夹里放的是信息(Message)和服务(Service)文件,这两种文件的使用我们以后再讲。

三、一些有用的命令

ROS既然被称为机器人操作系统,那么在ROS中,就会有一些有用命令:

1、roscd

roscd [package name]

快速转移至工程目录。

2、rosed

rosed [file name]
使用系统默认编辑器编辑某文件,如Vim。
发布了26 篇原创文章 · 获赞 9 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/sad490/article/details/79828876