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的主要内容,如果未能解决你的问题,请参考以下文章

ROS-ROS命令

Aruco_ros安装及使用

ros::spin ros::spinOnce使用细节

ros::spin ros::spinOnce使用细节

理解ROS话题---ROS学习第5篇

创建ROS消息和ROS服务