一个简单的ROS工程项目搭建详细过程(适合新手)
创建工作区(workspace)
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
$ catkin_init_workspace ##在catkin_ws下的src文件夹路径下执行该语句
虽然这时候工作区是空的,但是我们依然可以进行编译:
$ cd ~/catkin_ws/
$ catkin_make ##在catkin_ws文件夹路径下执行该语句
这时候,会在当前文件夹下生成devel,build这两个子文件夹,在devel文件夹下能看到几个setup.*sh文件。
设置环境变量有两种方法:
方法1.在桌面打开一个新终端,执行下面这行语句:
$ source devel/setup.bash
执行上面的这行语句的缺点是每次在电脑桌面打开一个新终端就要重新执行“ source devel/setup.bash ”,这样就显的有点麻烦,所以平时往往会采用方法2
方法2.在桌面打开一个新终端,执行下面这行语句:
$ echo “source ~/catkin_ws/devel/setup.bash” >> ~/.bashrc
可以执行 gedit ~/.bashrc命令来查看最后一行是否为下图这样的形式
创建一个ROS功能包(pachage)
切换到工作区:
$ cd ~/catkin_ws/src
创建一个名叫first_pkg的工程包,并依赖于roscpp
$ catkin_create_pkg first_pkg roscpp
这个时候src目录先就会出现一个叫做first_pkg的文件夹,这就是我们的功能包目录。
这个src文件夹就是我们放源文件的地方,现在我在src文件夹下新建一个空白文档,命名为hello.cpp,即在里面建立一个hello.cpp的源文件,
hello.cpp内容如下:
#include <ros/ros.h>
int main(int argc,char ** argv){
ros::init(argc,argv,“hello”);
ros::NodeHandle nh;
ROS_INFO_STREAM(“hello,ROS!”);
}
在first_pkg文件夹里面的src文件夹中打开一个新终端执行 ls命令,
此时将src里面的文件名全不显示出来,这里面只有hello.cpp一个文件,所以只显示这个文件,当显示的这个文件名为下图的白色时,说明该文件没有可执行授权,需要进行授权
执行 $ chmod +x hello.cpp 命令
再执行ls时显示为上图的绿色,
修改CmakeList.txt文件
注意修改的是first_pkg文件夹下的CmakeList.txt文件
只需在文件的末尾添加两句;
add_executable(hello ./src/hello.cpp)
target_link_libraries(hello ${catkin_LIBRARIES})
编译工作区
在桌面打开一个新终端执行下面语句
$ cd ~/catkin_ws
$ catkin_make
运行功能包
桌面打开一个新终端执行
$ roscore
重新打开一个新的终端执行:
$ rosrun first_pkg hello
结果显示:
[ INFO] [1626772287.181736861]: hello,ROS!
参考链接:https://blog.csdn.net/shaochuang1/article/details/98890222
参考链接:https://blog.csdn.net/sandalphon4869/article/details/102962595