ROS-python2.7 + Pytorch-python3.6 + Anaconda

ROS所使用的python版本为2.7,但是现在越来越多的人做深度学习+机器人方面的研究,而目前搭建神经网络的库许多用的是python3,所以让不同的python版本兼容是一个问题。

经过查阅资料,通过anaconda建立虚拟环境,将python3的程序都放到虚拟环境中,并在虚拟环境中安装ROS的一些包,实现ROS和python3的共存。过程如下:

1. ROS安装,这部分就不说了,网上资料很多,就正常安装。

安装好后,打开一个terminal,输入python,可以看到python版本是:Python 2.7.6.

2. Anaconda建立虚拟环境

2.1. 网上下载anaconnda到Downloads目录,然后

$ cd Downloads
$ sudo bash Anaconda3XXXXXX.sh

安装anaconda,但是不要选择将路径添加到环境变量。等下我们手动添加。

此处可以参考这里:使用anaconda在ubuntu16.04下安装TensorFlow-GPU,同时保留原本的ROS环境

2.2. 暂时添加anaconda环境变量

$ sudo gedit ~/.bashrc
在文件末尾添加:
export PATH=/home/XXX(你自己的ubuntu名字)/anaconda3/bin:$PATH

此时重新打开terminal,输入python,版本为:Python3.6.4。

但是此时ROS中的一些包已经不能用了,因为python版本已经变了。

我们参考上述链接中的方法解决一波。

2.3. 先建一个Python3的虚拟环境

$ conda create -n learninglab python=3.6

2.4. 参考链接进一步修改

$ sudo gedit ~/.bashrc
在文件中添加
alias condapy3='. /home/tom/anaconda3/etc/profile.d/conda.sh && conda activate learninglab'

屏蔽掉
#export PATH=/home/XXX/anaconda3/bin:$PATH

新开一个terminal,输入condapy3,此时进入并激活learninglab的虚拟环境,在输入python,可以看到版本为3.6.

再开一个terminal,输入python,版本还是之前ROS用到的Python2.7.6.。

实际环境和虚拟环境python版本进行了隔离。

2.5. 虚拟环境安装ROS需要的包

terminal输入condapy3,进入learninglab,然后

(learninglab)$ pip install catkin-tools
(learninglab)$ pip install rospkg

2.6. 虚拟环境安装Pytorch

参考https://pytorch.org/

linux-conda-Python3.6-cpu

(learninglab)$ conda install pytorch-cpu torchvision-cpu -c pytorch

 

至此完成环境搭建。

conda清理

conda clean -p
conda clean -t

以后深度学习方面的开发在虚拟环境中做,通过虚拟环境中的ROS包和实际环境中的ROS包通信,达到python2.7和python3.6的平衡。

ROS(机器人操作系统)和PyTorch深度学习框架)是两种不同的工具,分别用于不同的机器人和深度学习应用。 ROS是一个开源的机器人操作系统,它提供了一系列的工具和库,用于建立、控制和协调机器人的各个组件。它的设计目标是为了简化机器人软件的开发和集成,具有良好的可维护性和可扩展性。ROS采用节点(node)和话题(topic)的方式进行通信,通过消息传递实现不同节点之间的信息交换。它支持多种编程语言,如Python,C++等,可以运行在各种平台上。 PyTorch是一个开源的深度学习框架,它的特点是灵活、可扩展和易于使用。PyTorch提供了丰富的工具和支持,用于构建和训练深度神经网络。它允许用户使用动态图模型定义自己的网络结构,并且使用自动微分来优化模型参数。PyTorch具有良好的性能,并且与Python语言紧密集成,方便用户进行快速原型开发和实验。 将ROSPyTorch结合使用可以实现更高级别的机器人控制和智能决策。借助ROS提供的机器人操作功能,结合PyTorch提供的强大深度学习能力,可以实现机器人感知、决策和运动控制等高级功能。例如,可以利用PyTorch对机器人感知数据进行处理和分析,提取关键特征并做出决策,然后使用ROS控制机器人执行相应的动作。 总之,ROSPyTorch是两个不同的工具,ROS用于机器人操作和协调,PyTorch用于深度学习模型的构建和训练。将两者结合使用可以实现更高级别的机器人控制和智能决策。
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值