如何编写ros的python程序

Python011

如何编写ros的python程序,第1张

1先建立工作空间~/catkin_ws参阅/note/516843231/3在工程目录下建一个src子目录和.py文件源代码文件:topic_publisher.py~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#!/usr/bin/envpythonimportroslibroslib.load_manifest('basic')importrospyfromstd_msgs.msgimportInt32rospy.init_node('topic_publisher')pub=rospy.Publisher('counter',Int32)rate=rospy.Rate(2)count=0whilenotrospy.is_shutdown():pub.publish(count)count+=1rate.sleep()~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~操作步骤如下liao@liao-eagle:~/catkin_ws$lsbuilddevelinstallsrcliao@liao-eagle:~/catkin_ws$cdsrcliao@liao-eagle:~/catkin_ws/src$lsbasicbeginner_tutorialsCMakeLists.txtfirstsecondliao@liao-eagle:~/catkin_ws/src$cdbasic/liao@liao-eagle:~/catkin_ws/src/basic$lsCMakeLists.txtpackage.xmlsrcliao@liao-eagle:~/catkin_ws/src/basic$cdsrcliao@liao-eagle:~/catkin_ws/src/basic/src$vitopic_publisher.pyliao@liao-eagle:~/catkin_ws/src/basic/src$chmod+xtopic_publisher.py4回到~/catkin_ws目录下,编译程序$cd~/catkin_wsliao@liao-eagle:~/catkin_ws$catkin_make5将当前工程加入到shell环境里去liao@liao-eagle:~/catkin_ws$echo"source~/catkin_ws/devel/setup.bash">>~/.bashrcliao@liao-eagle:~/catkin_ws$source~/.bashrc6运行程序(需开两个终端)liao@liao-eagle:~/catkin_ws$roscoreliao@liao-eagle:~/catkin_ws$rosrunbasictopic_publisher.py7通过rostopic查看相关信息liao@liao-eagle:~/catkin_ws$rostopiclist/counter/rosout/rosout_agg

参考:

为了使用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

解压安装

eclipse

Exec=/opt/eclipse/eclipse

务必加bash -i -c, 替换为

Exec=bash -i -c /opt/eclipse/eclipse