dede网站栏目管理如何建设,站长之家工具高清,2018年的网站制作,wordpress单页留言无人机避障过程#xff0c;光靠大疆飞控内部的气压计不准#xff0c;很容易在高度较低的时候受到地面植被等障碍物影响#xff0c;使得掉高严重#xff0c;因此采用激光雷达定高模块进行定高。
硬件#xff1a;
北醒TF03-UART、Xavier-NX
软件代码#xff1a;
北醒官…无人机避障过程光靠大疆飞控内部的气压计不准很容易在高度较低的时候受到地面植被等障碍物影响使得掉高严重因此采用激光雷达定高模块进行定高。
硬件
北醒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 npser 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)ser.reset_input_buffer()#清除输入缓冲区if recv[0] 0x59 and recv[1] 0x59: # python3distance np.int16(recv[2] np.int16(recv[3] 8))strength recv[4] recv[5] * 256temp (np.int16(recv[6] np.int16(recv[7] 8)))/8-256 #计算芯片温度print(distance %5d strengh %5d temperature %5d % (distance, strength, temp))ser.reset_input_buffer()if recv[0] Y and recv[1] Y: # python2 //此处标示出文件读取成功lowD int(recv[2].encode(hex), 16)highD int(recv[3].encode(hex), 16)lowS int(recv[4].encode(hex), 16)highS int(recv[5].encode(hex), 16)lowT int(recv[6].encode(hex), 16)highT int(recv[7].encode(hex), 16)distance np.int16(lowD np.int16(highD 8))strength lowS highS * 256temp (np.int16(lowD np.int16(highD 8)))/8-256 #计算芯片温度print(distance %5d strengh %5d temperature %5d % (distance, strength, temp))else:time.sleep(0.005) #50ms
if __name__ __main__:try:if ser.is_open False:try:ser.open()except:print(Open COM failed!)getTFminiData()except KeyboardInterrupt: # CtrlC 停止输出数据if ser ! None:ser.close()最重要的就是设置端口号
ls -l /dev/ttyUSB* 拔掉激光雷达串口 确定是USB1设置就好了。
运行代码
sudo python3 test.py 测试成功