无人机避障—— 激光雷达定高北醒TF03-UART(二)

无人机避障过程,光靠大疆飞控内部的气压计不准,很容易在高度较低的时候受到地面植被等障碍物影响,使得掉高严重,因此采用激光雷达定高模块进行定高。

硬件:

北醒TF03-UART、Xavier-NX

软件代码:

北醒官方python指导:Benewake(北醒) TFmini-S\TFmini Plus\TF-Luna\TF02-Pro\TF03 串口版本雷达在Linux(Ubuntu)-Python上的运用-CSDN博客

#创建日期:2020年10月10日
#版本:初版
#此程序对应北醒TF系列默认配置下串口版本有效
#此程序只提供参考和学习
# -*- coding: utf-8 -*-

import serial.tools.list_ports
import time
import numpy as np

ser = serial.Serial()
ser.port = '/dev/ttyUSB1'    #设置端口
ser.baudrate = 115200 #设置雷达的波特率
def getTFminiData():
   while True:
      count = ser.in_waiting #获取接收到的数据长度
      if count > 8:
         recv = ser.read(9)#读取数据并将数据存入recv
         #print('get data from serial port:', recv)
  
### TF-Luna激光雷达避障使用方法 对于TF-Luna激光雷达,在进行避障应用开发时,确保所使用的连接器为1.25mm间距的7针JST[^1]。当安装设备时,务必使镜头与地面保持至少10厘米以上的距离以避开盲区。 #### 设备准备 确认电源规格符合要求,即工作电压范围应在7V到30V之间,并且每台激光雷达所需的最小电流超过100mA乘以其数量。假设采用四台激光雷达,则总供电能力应当不低于400mA@12V直流电输入。 #### 软件配置 针对ROS环境下的快速集成方案如下: ```bash sudo apt-get install ros-noetic-tf-conversions python3-catkin-tools git clone https://github.com/Benewake/TF_Luna_ROS.git ~/catkin_ws/src/ cd ~/catkin_ws && catkin build source devel/setup.bash roslaunch tf_luna_ros tf_luna.launch port_name:=/dev/ttyUSB0 frame_id:=laser_frame ``` 上述命令序列用于下载并编译官方提供的ROS包,启动节点监听串口数据流以及发布扫描消息至`/scan`话题上。其中`port_name`参数指了传感器通信端口号;而`frame_id`则义了坐标系名称以便后续处理算法调用。 #### 数据解析 接收到的数据通常包含两部分——角度和距离测量值。通过订阅`sensor_msgs/LaserScan`类型的消息体来获取这些信息。下面给出一段简单的Python脚本示范如何读取并打印最近障碍物的位置: ```python import rospy from sensor_msgs.msg import LaserScan def callback(data): min_distance = min(data.ranges) index_of_min_dist = data.ranges.index(min_distance) angle_increment = data.angle_increment start_angle = data.angle_min obstacle_angle = (index_of_min_dist * angle_increment) + start_angle print(f"Nearest Obstacle at Angle {obstacle_angle:.2f} radians, Distance={min_distance:.2f}") if __name__ == '__main__': rospy.init_node('lidar_obstacle_detector') sub = rospy.Subscriber('/scan', LaserScan, callback=callback) try: rospy.spin() except KeyboardInterrupt as e: pass ``` 这段程序会持续接收来自激光雷达的新鲜测距结果,并计算出最接近机器人的物体方位角及其直线距离。这有助于构建更复杂的路径规划逻辑或即时反应机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Perishell

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值