文章目录B站奥特学园教程
- 前言
- 一、python语言基础
- 二、代码示例
- 1.创建文件
- 2.创建发布者pub
- 3.创建接收者sub
- 4.一些必要的细节
- 总结
前言
对于ROS系统
我们既可以用cpp语言实现
也可以使用python语言实现
一、python语言基础
关键是:
导入rospy的包
import package
对包内的属性、方法进行调用
python以前数据分析时候学过,用的比较多
(会比c++用得习惯一些!
在vscode下的工作空间创建一个文件夹scripts
2.创建发布者pub代码如下(示例):
#! /usr/bin/env python
## 这个导入编译器usr前面一定要加斜杠!!!在这里犯过错!!!
## 把相应包导进来
import rospy
from std_msgs.msg import String
if __name__=="__main__":
## 初始化ros结点
rospy.init_node("ErGouZi")
## 设置发布者
pub = rospy.Publisher(name="Che",data_class=String,queue_size=10)
## 设置消息类,消息类继承String()类
msg = String()
## 设置发布频率,这边设置是1s
rate = rospy.Rate(1)
## 设置计数器
count = 0
while not rospy.is_shutdown():
## 当ros系统没有被关闭的时候
count += 1
msg.data = "HelloCuiHua!"+" {}".format(count)
## 写消息
pub.publish(msg)
## 发送消息
rospy.loginfo("The sending data is: "+msg.data)
## 在日志中输出
rate.sleep()
## 休眠一下
3.创建接收者sub
#! /usr/bin/env python
import rospy
import std_msgs
from std_msgs.msg import String
## 设置回调函数
def DoMsg(message):
rospy.loginfo("My Subscribed Data is: "+message)
pass
if __name__=="__main__":
## 初始化结点
rospy.init_node("HuaHua")
## 设置接收方
sub = rospy.Subscriber(name="Che",data_class=String,callback_args=DoMsg,queue_size=10)
## 跳转
rospy.spin()
4.一些必要的细节
增加权限:注意是+x而不是-x
chmod +x *.py
增加环境变量:
source ./devel/setup.bash
开启rosrun核心:
rosrun
总结
发布方和订阅方的Python实现
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)