当前位置: 首页 > news >正文

无人机避障—— 激光雷达定高北醒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 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:  # Ctrl+C 停止输出数据if ser != None:ser.close()

最重要的就是设置端口号:

ls -l /dev/ttyUSB*

拔掉激光雷达串口: 

确定是USB1设置就好了。

运行代码:

sudo python3 test.py

测试成功! 

相关文章:

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

无人机避障过程&#xff0c;光靠大疆飞控内部的气压计不准&#xff0c;很容易在高度较低的时候受到地面植被等障碍物影响&#xff0c;使得掉高严重&#xff0c;因此采用激光雷达定高模块进行定高。 硬件&#xff1a; 北醒TF03-UART、Xavier-NX 软件代码&#xff1a; 北醒官…...

在虚幻引擎中实现Camera Shake 相机抖动/震屏效果

在虚幻引擎游戏中创建相机抖动有时能让画面更加高级 , 比如 遇到大型的Boss , 出现一些炫酷的特效 加一些短而快的 Camera Shake 能达到很好的效果 , 为玩家提供沉浸感 创建Camera Shake 调整Shake参数 到第三人称或第一人称蓝图 调用Camera Shake Radius值越大 晃动越强...

SQL Server的文本和图像函数

新书速览|SQL Server 2022从入门到精通&#xff1a;视频教学超值版_sql server 2022 出版社-CSDN博客 《SQL Server 2022从入门到精通&#xff08;视频教学超值版&#xff09;&#xff08;数据库技术丛书&#xff09;》(王英英)【摘要 书评 试读】- 京东图书 (jd.com) SQL Se…...

PN8034非隔离12V300MA,SOP7/DIP7开关电源芯片

PN8034宽输出范围非隔离交直流转换芯片 PN8034SSC-R1B----SOP7&#xff0c; PN8034NSC-T1 ----DIP7&#xff0c; PN8034概述 PN8034集成PFM控制器及650V高雪州能力智能功本MOSFET&#xff0c;用于外图元器件极精简的小功率非隔离开关电源。PN8034内置高压启动模块&#xff0c…...

VMware下Ubuntu找不到共享文件夹

在VMware的设置中已经设置了共享文件夹&#xff0c;在Ubuntu系统中找不到&#xff0c;参考了网上其他的文章&#xff0c;发现还是不能解决问题&#xff0c;无意中尝试了一小步&#xff0c;没想到成功解决了&#xff0c;在这里记录一下。 1&#xff09;首先查询本机的gid 2&…...

银河麒麟桌面操作系统V10登录闪退问题解决

银河麒麟桌面操作系统V10登录闪退问题解决 1、问题描述2、问题分析3、问题解决方法第一步&#xff1a;修改/tmp文件夹权限第二步&#xff1a;重启图形化服务 &#x1f490;The Begin&#x1f490;点点关注&#xff0c;收藏不迷路&#x1f490; 在使用银河麒麟桌面操作系统V10时…...

【Git原理与使用】分支管理

分支管理 1.理解分支2.创建分支2.1创建分支2.2切换分支2.3合并分支 3.删除分支4.合并冲突4.分支管理策略5.分支策略6.bug分支7.删除临时分支8.小结 点赞&#x1f44d;&#x1f44d;收藏&#x1f31f;&#x1f31f;关注&#x1f496;&#x1f496; 你的支持是对我最大的鼓励&…...

Linux操作系统分析实验-多线程与内核模块编程,实验一

实验一 多线程与内核模块编程 一、实验目的 1、理解Linux下进程的结构&#xff1b; 2、理解Linux下产生新进程的方法&#xff08;系统调用—fork函数&#xff09;&#xff1b; 3、掌握如何启动另一程序的执行&#xff1b; 4、理解Linux下线程的结构&#xff1b; 5、理解…...

AI绘画Stable Diffusion人物背景替换实操教程,让创意无限延伸

大家好&#xff0c;我是灵魂画师向阳 Stable Diffusion以其强大的能力可以实现人物背景的更换。本文将带你深入了解如何利用Stable Diffusion中的Inpaint Anything插件快速且精准地实现人物背景的替换&#xff0c;从而让你的图片焕发新生。 前期准备 本文会使用到Inpaint An…...

linux环境oracle11.2.0.4打补丁(p31537677_112040_Linux-x86-64.zip)

上传补丁及opatch工具 创建目录并上传opatch工具和补丁包 百度网盘地址 链接: https://pan.baidu.com/s/1EA5oerm52aesZUnb5OnQsA 提取码: ib8f [oraclerhel64 ~]$ mkdir /u01/psu [oraclerhel64 ~]$ cd /u01/psu [oraclerhel64 psu]$ ll total 514572 -rw-r--r-- 1 oracle o…...

华为 HCIP-Datacom H12-821 题库 (29)

&#x1f423;博客最下方微信公众号回复题库,领取题库和教学资源 &#x1f424;诚挚欢迎IT交流有兴趣的公众号回复交流群 &#x1f998;公众号会持续更新网络小知识&#x1f63c; 1.运行 IS-IS 的两台路由器&#xff0c;只有 IIH 发送的时间间隔相同才可以建立邻接关系 A、正…...

MySQL 为什么一定要有一个主键

引言 在数据库设计中&#xff0c;主键&#xff08;Primary Key&#xff09;是一个至关重要的概念。MySQL 作为最广泛使用的关系型数据库之一&#xff0c;主键在 MySQL 表设计中扮演着关键角色。主键不仅决定了表中数据的唯一性和完整性&#xff0c;还对数据库性能、数据查询、…...

Pycharm 本地搭建 stable-diffusion-webui

一、下载工程源码 Github官方连接 https://github.com/AUTOMATIC1111/stable-diffusion-webui 二、Pycharm打开工程 1、设置环境 文件-设置-项目-Python解析器-添加解释器-添加本地解释器 Conda环境-创造新环境-Python版本3.10 注意一定要选择Python3.10版本&#xff0c;否…...

python/爬虫技术/lxml工具介绍/XML和HTML解析

1.lxml介绍&#xff1a; lxml 是一个Python库&#xff0c;它提供了非常强大的XML和HTML解析功能。它基于libxml2和libxslt&#xff0c;是处理XML和HTML文档的首选库之一。 2.安装 首先&#xff0c;需要安装lxml库。可以通过pip来安装&#xff0c;在控制台内执行安装命令。 p…...

Kafka技术详解[5]: 集群启动

目录 集群启动 相关概念 代理&#xff1a;Broker 控制器&#xff1a;Controller 启动ZooKeeper 启动Kafka 初始化ZooKeeper 初始化服务 启动任务调度器 创建数据管理器 创建远程数据管理器 创建副本管理器 创建ZK元数据缓存 创建Broker通信对象 创建网络通信对象 注册Brok…...

记一次教学版内网渗透流程

信息收集 如果觉得文章写的不错可以共同交流 http://aertyxqdp1.target.yijinglab.com/dirsearch dirsearch -u "http://aertyxqdp1.target.yijinglab.com/"发现 http://aertyxqdp1.target.yijinglab.com/joomla/http://aertyxqdp1.target.yijinglab.com/phpMyA…...

[Python学习日记-31] Python 中的函数

[Python学习日记-31] Python 中的函数 简介 语法定义 函数的参数 简介 引子&#xff1a; 你是某公司的一个高级程序员&#xff0c;现在老板让你写一个监控程序&#xff0c;需要24小时全年无休的监控公司网站服务器的系统状况&#xff0c;当 CPU、Memory、Disk 等指标的使用…...

Kafak入门技术详解

抱歉&#xff0c;没有太多的时间进行详细校对 目录 一、Kafka简介 1.消息队列 1.1为什么需要消息队列 1.2消息队列 1.3消息队列的分类 1.4P2P和发布订阅MQ的比较 1.5消息系统的使用场景 1.6常见的消息系统 2.Kafka简介 2.1简介 2.2设计目标 2.3 kafka核心的概念 二…...

X-Spreadsheet:Web端Excel电子表格工具库

在数字化时代&#xff0c;数据管理与分析的重要性日益凸显。传统的电子表格软件如Microsoft Excel和Google Sheets在数据处理方面发挥着重要作用&#xff0c;但在Web端&#xff0c;一款名为X-Spreadsheet的工具库正以其独特的优势逐渐崭露头角。本文将详细介绍X-Spreadsheet&am…...

为什么很多APP取消网页版

厂商为了增加用户黏度把所有的内容都放在 APP 上&#xff0c;京东的网页也搜索不到东西了&#xff0c;就算看到东西要跳转过来还需要先登录一下。 对比亚马逊这类的其他的购物网站&#xff0c;基本上都是网页内容和 APP 的内容都是同步的&#xff0c;网页直接看也可以下单&…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...

【Linux手册】探秘系统世界:从用户交互到硬件底层的全链路工作之旅

目录 前言 操作系统与驱动程序 是什么&#xff0c;为什么 怎么做 system call 用户操作接口 总结 前言 日常生活中&#xff0c;我们在使用电子设备时&#xff0c;我们所输入执行的每一条指令最终大多都会作用到硬件上&#xff0c;比如下载一款软件最终会下载到硬盘上&am…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...

【实施指南】Android客户端HTTPS双向认证实施指南

&#x1f510; 一、所需准备材料 证书文件&#xff08;6类核心文件&#xff09; 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...

链式法则中 复合函数的推导路径 多变量“信息传递路径”

非常好&#xff0c;我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题&#xff0c;统一使用 二重复合函数&#xff1a; z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y))​ 来全面说明。我们会展示其全微分形式&#xff08;偏导…...