ROS下建立工作空间以及编译一个包
2017-11-09 11:03
288 查看
在ROS层面上编写软件,需要有相关的工作空间(workspace)。
生成工作控件并不复杂,首先,我们打开一个控制台(Ctrl+Alt+T),在用户路径下信件一个文件夹,我们起名为LearnROS(也可以起一个自己喜欢的名字)。
然后在这个文件夹中再建立一个文件夹,我们命名为src;完成后,进入src工作路径,输catkin_init_workspace指令初始化工作控件,这会在src文件夹中生成CMakeList。
然后我们进入主路径,在没有任何代码的条件下catkin_make一下,观察现象:
完整的操作的指令如下:
mkdir LearnROS
cd LearnROS/
mkdir src
cd src
catkin_init_workspace
cd ..
catkin_make
cd src
完成这些操作后,我们发现,在LearnROS路径下生成了3个文件夹:build,devel和src。
build文件夹存放了Makefile文件,是catkin自动生成的编译配置文件
devel路径下存放了生成的可执行文件,也就是ROS运行的节点文件(类似于windows下的exe),在没有源代码的情况下,它是空的。
src中存放了我们创作的源文件和头文件,我们所有的代码也都是在src这个文件夹中完成的。
接下来,我们在ROS中拷入一个完整的软件包,编译看看:
首先,在github网站上随便找一个导航包:https://github.com/ros-planning/navigation
控制台中输入:git clone https://github.com/ros-planning/navigation,就可以将navigation包复制到src路径下。
当然,也可以用我精简的导航包,package的数量被精简为4个,包含了移植后的A*算法,这个编译起来会快很多。
切换到LearnROS目录下,输入:catkin_make,等待编译。编译过程中可能会提示缺少SDL_image包的错误,大家可以自己想解决方案,如果无法解决可以在评论区留言。
等待几分钟,编译完成!
打开devel/lib/文件夹,发现生成了可执行文件,也就是node节点文件,这就说明编译成功了!
生成工作控件并不复杂,首先,我们打开一个控制台(Ctrl+Alt+T),在用户路径下信件一个文件夹,我们起名为LearnROS(也可以起一个自己喜欢的名字)。
然后在这个文件夹中再建立一个文件夹,我们命名为src;完成后,进入src工作路径,输catkin_init_workspace指令初始化工作控件,这会在src文件夹中生成CMakeList。
然后我们进入主路径,在没有任何代码的条件下catkin_make一下,观察现象:
完整的操作的指令如下:
mkdir LearnROS
cd LearnROS/
mkdir src
cd src
catkin_init_workspace
cd ..
catkin_make
cd src
完成这些操作后,我们发现,在LearnROS路径下生成了3个文件夹:build,devel和src。
build文件夹存放了Makefile文件,是catkin自动生成的编译配置文件
devel路径下存放了生成的可执行文件,也就是ROS运行的节点文件(类似于windows下的exe),在没有源代码的情况下,它是空的。
src中存放了我们创作的源文件和头文件,我们所有的代码也都是在src这个文件夹中完成的。
接下来,我们在ROS中拷入一个完整的软件包,编译看看:
首先,在github网站上随便找一个导航包:https://github.com/ros-planning/navigation
控制台中输入:git clone https://github.com/ros-planning/navigation,就可以将navigation包复制到src路径下。
当然,也可以用我精简的导航包,package的数量被精简为4个,包含了移植后的A*算法,这个编译起来会快很多。
切换到LearnROS目录下,输入:catkin_make,等待编译。编译过程中可能会提示缺少SDL_image包的错误,大家可以自己想解决方案,如果无法解决可以在评论区留言。
等待几分钟,编译完成!
打开devel/lib/文件夹,发现生成了可执行文件,也就是node节点文件,这就说明编译成功了!
相关文章推荐
- ROS工作空间下建立一个新的package
- 编译ROS工作空间某一个包的命令
- ROS下工作空间、功能包的建立,以及创建节点,实现节点之间的通信!
- ROS(一)关于创建一个工作空间并且编译一个package的两种方法
- ROS知识(16)----如何编译时自动链接同一个工作空间的其他包的头文件(包含message,srv,action自动生成的头文件)
- ROS的学习(三)创建一个工作空间
- ros_fuerte创建工作空间、创建ROS功能包、编译ROS功能包、创建节点(cpp)、编译节点、使用launch文件、创建srv和msg文件、使用新建的srv和msg文件
- 创造一个简单的ROS package 和 建立和编译package
- ROS的初步学习(四)--创建一个工作空间和一个程序包
- ros创建工作空间和包
- Oracle 数据表空间建立 以及最高权限给予 测试本地
- 【EVB-335X-II试用体验】 u-boot与kernel的编译以及本地repo的建立
- JasperReport+iReport报表中同一个excel中建立多个sheet页以及自定义命名sheet的名称
- Axis2的相关准备工作,以及提供的一个简单的例子
- 机器人操作系统ROS Indigo 入门学习(5)——编译一个ROS Package
- ArcEngine不同种类的工作空间建立查询ICursor时“超出系统资源”
- VC6.0 工程改名 和 多个工程合并到一个工作空间 小技巧
- linux系统磁盘分区以及建立一个swap文件增加虚拟内存
- Android网络框架-Volley(二) RequestQueue源码分析以及建立一个RequestQueue