ROS Rviz 显示超声波测量范围 Python
最近几个月都在忙调试和工程的事情 太忙了,两个月都没发布文章了 过阵子应该就可以重新开始软件开发工作了,SLAM 有时间的话会把Cartographer给捋一捋分享出来
1. 缘由
开始正题 超声波传感器在机器人传感器中有着重要地位 第一步需要可视化超声波传感器测量范围来感官了解一下
在网上的资料基本都是C++版本的 “你行,我也行”,这里就补一下Python版本
2. Python实现
关于 范围Range 可以在 ROS说明 查看
import rospy
from sensor_msgs.msg import Range
import tf
def DataUpdating(ultrasound_pub):
"""
数据更新函数
"""
br = tf.TransformBroadcaster()
br.sendTransform((0.0, 0.0, 0.0), (0.0, 0.0, 0.0, 1.0),
rospy.Time.now(), "map", "utr0")
ultrasound = Range()
ultrasound.header.stamp = rospy.Time.now()
ultrasound.header.frame_id = 'utr0'
ultrasound.radiation_type = Range.ULTRASOUND
ultrasound.field_of_view = 1
ultrasound.min_range = 0.2
ultrasound.max_range = 0.8
ultrasound.range = 0.3
ultrasound_pub.publish(ultrasound)
def node():
"""
节点启动函数
"""
try:
rospy.init_node('Ultrasound_node')
ultrasound_pub = rospy.Publisher('ultrasound0', Range, queue_size=10)
rate = rospy.Rate(10)
while not rospy.is_shutdown():
DataUpdating(ultrasound_pub)
rate.sleep()
except rospy.ROSInterruptException:
pass
if __name__ == '__main__':
node()
3. 效果
怎么启动上述文件就不再描述了 直接上图看效果
谢谢
|