[Fedora Armhf 和 ROS] ROS Indigo 中 workspace 和 package 的创建

来源:互联网 发布:口风琴基础教程软件 编辑:程序博客网 时间:2024/06/05 21:09

[Fedora Armhf 和 ROS]  系列文章参照实际操作,记录了在Fedora Armhf 环境中使用ROS的相关经验。

文章主题:ROS Indigo 中 workspace 和 package 的创建

本文章介绍了ROS indigo 中 workspace 和 package 的创建。系统环境如下:

硬件:Banana Pro

系统:Fedora 20 for BananaPro (可类比Fedora 20 Armhf)

1. ROS Workspace

ROS 的使用需要在 workspace 中进行。而一个 ROS workspace 其实就是经过初始化处理的文件夹。如下为在home (~/)中创建一个名为 rosws 的workspace 的过程:

$ mkdir -p ~/rosws/src$ cd ~/rosws/src$ catkin_init_workspace
<p class="p1">$ cd ~/catkin_ws</p><p class="p1">$ catkin_make</p>

为了使 rosws 作为 workspace 正常启用,需要执行

$ source devel/setup.bash

当然也可以将这句命令放入 ~/.bashrc ,在登录时自动载入。


2. 创建自己的 package。在 ROS 中编写程序,需要首先创建(或选择已有的) package。在 rosws 中创建依赖 rospy 的 mypackage,需要执行


$ cd ~/rosws/src$ catkin_create_pkg mypackage rospy

如果编写 python 代码执行时遇到 bad interpreter:permission denied 这样的错误提示,通常是由于代码头部对于要是用的 python 编译器调用失败。在本文章中代码执行的环境下,需要调用的python编译器为 /usr/bin/python2.7,故需要确认在 python 文件的头部注明


<span style="font-family: Arial, Helvetica, sans-serif;"> #!/usr/bin/python2.7</span>


注意本例中,/usr/bin/ 和 python2.7之间不可以有空格。


如果编写 python 代码时使用 import mypackage 或者 from mypackage import *被报错“no module named mypackage,需要检查在 rosws 目录下 devel/setup.sh 中 PYTHONPATH 的定义。本例中需要设置 

export PYTHONPATH=~/rosws/devel/lib/python2.7/ site-packages:~/rosws/devel/lib/python2.7/ dist-packages


0 0