5

SLAM从入门到精通(编写第一个package)

 11 months ago
source link: https://blog.csdn.net/feixiaoxing/article/details/132801199
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们安装了ROS环境,接着就可以开始进行ROS程序的开发了。在开发之前,我们有几个概念需要厘清一下。第一个是workspace,它相当于一个项目。毕竟,一个电脑上面可以有很多的workspace,也就相当于有很多的项目。第二个是package,它相当于功能块,功能块里面可以有很多的程序,package本身就是很多程序的一个集合。第三个就是node,直接把它看成独立的程序就可以了。

18f04a471fa143baa9a84ee8b5fc4a8c.png

1、创建workspace

        创建工作区是所有工作的第一步。可以通过创建workspace下面src目录的方法,直接进行创建,

mkdir -p ./catkin_ws/src

2、编译workspace

        创建完成之后,就可以直接编译了。这个时候虽然什么也没有,但是catkin_make命令会帮我们自动创建build和dev这两个目录,

3、创建package

        有了工作区,就可以开始创建工作包了。工作包的创建方法也不复杂,主要使用catkin_create_pkg命令即可,前提是先进入src目录,

4、开始准备代码talker.cpp & listener.cpp

        package里面也是有src目录的,虽然有点绕,这个我们可以稍微花点时间理解一下。现在假设有两个程序,一个是talker.cpp,一个是listener.cpp,他们都是放在package的src目录里面。所以第一步,先进入package里面的src目录,即,

./catkin_ws/src/beginner_tutorials/src

        准备talker.cpp文件,



newCodeMoreWhite.png

        接着准备listener.cpp文件,



newCodeMoreWhite.png

5、修改CMakeLists.txt

        这里需要注意的是,相关的CMakeLists.txt文件不是src目录下面文件,而是package下面的文件。这一点很容易改错的。



newCodeMoreWhite.png

6、开始编译

        编译就非常简单了。需要回到workspace的目录,然后输入catkin_make就可以了,

        不出意外的话,我们在./catkin_ws/devel/lib/beginner_tutorials看到对应的可执行文件。

7、启动程序

        启动程序需要三个步骤。第一个步骤,设置一下rosrun的环境,即,

source devel/setup.sh

        这样后期rosrun的时候,就可以直接启动node程序了。第二个步骤,输入roscore,这个相当于整个底层信息交换的大脑。第三个步骤,就是启动talker和listener了,

        所有操作都完成之后,我们就可以看到talker程序这边在不断发送消息,而listener这边在不断地接收消息。这是一个完整的publish和subscribe程序对。

        整个过程看上去自己要做的内容很少。这是因为ros已经帮助我们完成了大部分的工作,用ldd命令看下生成的程序就知道了,



newCodeMoreWhite.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK