ros学习笔记(二)——创建工作空间和ros功能包以及ros功能包的卸载
我们所有的ros程序,包括我们自己写的,最终都会组织成为功能包。所以在开始具体工
作之前,首先应该创建工作空间,以致于容纳下我们所写的程序,即各种功能包。
(一)创建工作空间:
首先说一个小知识点,若你想要查看你的ros正在使用的工作空间,使用下面的命令:
echo $ROS_PACKAGE_PATH
这里我们创建一个工作空间:名为catkin_ws以及src文件,用来放置功能包源码。创建
命令如下:
mkdir -p ~/catkin_ws/src
然后在进入到catkin_ws/src目录下,执行如下命令:
cd ~/catkin_ws/src
初始化文件夹:在src文件中创建了一个 CMakeLists.txt 的文件,目的是告诉系统,这个
是ROS的工作空间。命令如下:
catkin_init_workspace
到这步还未对工作空间进行编译,继续执行如下命令:
catkin_make
这个命令用于构建工作空间。这时catkin_ws目录下会出现两个新的文件:build和
devel,工作空间即创建完成。
一旦我们在目录下建好了文件夹,就需要将此路径添加到ROS_PACKAGE_PATH,即设
置环境变量。此例我们需要把我们工作空间的环境变量设置到bash中并让其生效。
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
现在我们已经在ros系统中创建和配置完成自己的文件夹。
(二)创建功能包:
刚刚我们建立了新的工作空间,即catkin_ws.接下来我们我们学习如何创建ros功能包。
创建功能包的命令行为:
catkin_create_pkg<package_name> [depend1] [depend2] [depend3]
<package_name>:表示功能包的名字,可以自定义。
[depend1] [depend2] [depend3] :表示依赖项:依赖项包括以下内容:
std_msgs:包括了常见的消息类型,表示基本数据类型和其他基本的消息构造。
rospy:一个ros的纯Python客户端库。
roscpp:使用c++实现ros的各种功能。
接下来我们正式创建功能包:
首先我们先进入src:
cd ~/catkin_ws/src/
创建功能包:
catkin_create_pkg learning_communication std_msgs roscpp rospy
你将会看到如下内容:
arning_communication std_msgs roscpp rospy
Created file learning_communication/CMakeLists.txt
Created file learning_communication/package.xml
Created folder learning_communication/include/learning_communication
Created folder learning_communication/src
Successfully created files in /home/zyt/catkin_ws/src/learning_communication. Please adjust the values in package.xml.
说明创建成功!
创建成功与创建工作空间一样都需要编译:
编译功能包:
cd ~/catkin_ws
catkin_make
(三)卸载功能包;
首先卸载包;
sudo apt-get purge ros-indigo-[package_name]
然后卸载依赖包;
sudo apt-get autoremove