编程学习网 > 编程语言 > Python > 在ROS中使用python3教程
2023
11-24

在ROS中使用python3教程

现在许多第三方库已经放弃了对于python2的支持。所以在ROS中调用包多有不便。

ROS本身是基于python2的,但是ROS官方也对python3做了支持。所以理论上不需要任何转接,直接就能使用python3发布和接收ROS话题
废话少说,直接开始。
在python3环境中安装ROS核心包
你可以自己创建一个虚拟环境安装,也可以直接安装。我这里就直接安装在本地的python3环境上了。
pip3 install catkin-tools
pip3 install rospkg
注意,我这里安装在本地的python3环境上,所以pip使用的是pip3。如果你要是使用的虚拟环境,直接pip就可以。
这里其实就已经结束了,是不是觉得结束的很突然。那我们写一个发布者看看。
建立一个发布者
这里发布者要注意,要在开头声明python3的环境,不然还是会调用python2的。
#!/usr/bin/env python3

import rospy
from std_msgs.msg import String
import sys

def talker():
    pub = rospy.Publisher('chatter', String, queue_size=10)
    rospy.init_node('talker', anonymous=True)
    rate = rospy.Rate(10) # 10hz
    while not rospy.is_shutdown():
        hello_str = sys.version
        rospy.loginfo(hello_str)
        pub.publish(hello_str)
        rate.sleep()


if __name__ == '__main__':
    try:
        talker()
    except rospy.ROSInterruptException:
        pass

程序功能是发布一下当前的python版本
执行发布者
在终端中cd到你的程序位置
使用python3执行程序就可以,记得要用python3。

看一下结果

确实是3.6版本的python。

不过这种方法还有由一些些缺陷,是直接运行python程序的。启动起来相比roslaunch和rosrun来说比较混乱。不过对于小的项目来说还是比较方便的,兼容性也比较强。

以上就是在ROS中使用python3教程的详细内容,想要了解更多Python教程欢迎持续关注编程学习网。

扫码二维码 获取免费视频学习资料

Python编程学习

查 看2022高级编程视频教程免费获取