本篇文章通过订阅/scan话题获取障碍物的距离信息,达到避障目的,提供部分代码,仅供参考
1.单线激光雷达避障
(1)ros接入激光雷达
以sick激光为例,在之前的文章已经介绍过ROS 入门(七),此处不再赘叙,获取/scan数据文章来源:https://www.toymoban.com/news/detail-422499.html
seq 是消息的顺序标识发布节点在发布消息时,会自动累加
stamp 是消息中与数据相关联的时间戳
frame_id 是消息中与数据相关联的参考系id
angle_min 起始角度(rad)
angle_max 结束角度(rad)
angle_increment 角度分辨率(rad)
time_increment 每个角度扫描时间
scan_time 扫描间隔
range_min 最小距离
range_max 最大距离
ranges 各个角度的距离
intensities 各个角度的强度
(2)代码实现文章来源地址https://www.toymoban.com/news/detail-422499.html
import rospy
from sensor_msgs.msg import LaserScan
from geometry_msgs.msg import Twist
class Obstacle():
def __init__(self):
self.lidar_detect_distance = 1.5 #避障距离为1.5m
self.scan_error = 0.2 #过滤掉0.2m内的点云数据
sub = rospy.Subscribe
到了这里,关于Ros入门 (十)----激光雷达避障 简易实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!