Ubuntu16.04 下 ROS 系统使用 python3 程序
所有的伟大,源于一个勇敢的开始!
1.ROS 1.0系统
ROS(Robot Operating System)是用于编写机器人软件程序的一种具有高度灵活性的软件架构, 源自斯坦福大学的STanford Artificial Intelligence Robot (STAIR) 和 Personal Robotics (PR)项目。
ROS1.0采用python2.7版本编译,导致python3程序无法使用。
2.python3 ;
Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容,导致很多程序无法用python2使用。
3.ROS系统使用python3
ROS1.0操作系统使用python3程序,可以使用两种方式:1)Anaconda管理python;2)采用Virtualenv,搭建python3虚拟环境。此处只说明采用方式2的使用情况。
a) 安装Virtualenv:
$ sudo pip install virtualenv
b)创建虚拟Python环境:
#查询安装的python3位置
whereis python3
#创建虚拟环境文件夹
mkdir ~/virtualenv
#链接python3,此处以python3.6为例
virtualenv -p /usr/bin/python3.6 ~/virtualenv/py3.6
#查看环境是否创建成功
source ~/virtualenv/py3.6/bin/activate
c) ROS下使用虚拟python3环境编译文件
#激活python3使用环境
source ~/virtualenv/py3.6/bin/activate
#安装ros下python编译依赖包,这步非常重要
pip install catkin_pkg pyyaml empy rospkg numpy
#在ros工程下,编译环境
catkin_make
#赋予python文件可执行权限
chmod +x /ROS_project/src/xxx.py
#添加ROS环境到~/.bashrc文件
echo "source ~//ROS_project/devel/setup.bash" >> ~/.bashrc
#运行文件
python /ROS_project/src/xxx.py
#结束python3虚拟环境
deactivate
注释:安装完环境后,使用python3虚拟环境
i)启动
source ~/virtualenv/py3.6/bin/activate
ii)使用
...
iii)结束
deactivate