ROS使用python3
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ROS使用python3相关的知识,希望对你有一定的参考价值。
参考技术A参考:
为了使用python3的图像处理程序,需要使用到ros接口,但是由于原生ros接口不支持python3,只能使用python2.7(时间2020-07,版本melodic),一下步骤主要为了使用ros调用的方式调用python3的程序
由于ros接收图像数据使用的是cv_bridge 接口,所以先编译python3版本的cv_bridge
注意:此时要先安装好python3的环境,可以按照以下方式安装
进入到工作空间进行编译
会有如下提示
编译完成后,可以在工作路径下的install文件夹里生成需要的库,需要使用python3版本的cv_bridge时,就将这个环境变量导入即可
extend参数的作用是让这次的路径配置不影响之前配置好的路径
1. 在使用rosrun 运行程序时,默认还会调用原生melodic的cv_bridge
我的处理方法是将原来的python版本cv_bridge删除
2. 编译完成会有错误提示,如下图,但不影响使用
编译安装:
在编译时,使用如下命令:
编译过程中会有错误提示
解决方法:
参考 https://answers.ros.org/question/257757/importerror-no-module-named-em-error/
编译完成如下:
运行roscore错误提示
安装netifaces
参考 https://github.com/frescobaldi/python-poppler-qt5/issues/29
https://launchpad.net/ubuntu/+source/sip4/4.19.21+dfsg-1build1
解压安装
python ros 使用launch文件启动脚本
目录结构
在包里面新建scripts文件夹,里面放运行的脚本文件,记得设置执行权限
然后新建launch文件夹,新建launch文件按照如下格式写:
<node pkg="initialpos" name="initial_pos" type="initial_pos.py" output="screen">
</node>
然后source 项目的setup.bash,就可以使用
roslaunch initialpos initial_pos.launch
启动这个脚本了。
参考:https://answers.ros.org/question/229841/how-launch-a-python-script-with-roslaunch/
以上是关于ROS使用python3的主要内容,如果未能解决你的问题,请参考以下文章