(4)(4.3) Kogger Sonar

news/2024/7/10 20:09:03 标签: 开源, 无人机, 测距仪, Copter, ArduPilot

文章目录

前言

1 推荐硬件

2 配置回声探测仪模块

ArduPilot%E7%A1%AC%E4%BB%B6-toc" style="margin-left:40px;">3 连接ArduPilot硬件

4 参数说明


前言

KOGGER 声纳(KOGGER Sonar)是一款结构紧凑、成本低廉的水下回声测深仪模块,带有 UART 接口,电源电压为 5-14v


1 推荐硬件

CP210x USB->UART 转换器和安装了 Kogger 应用程序(Kogger Application)的 Windows PC

2 配置回声探测仪模块

在将模块连接到 ArduPilot 之前,应对其进行配置。您需要将 KOGGER 声纳模块连接到计算机上。图形用户界面是开源Kogger 应用程序(Kogger Application)。

1. 在图形用户界面中进行以下调整:

2. 选择指定的 COM 端口并按绿色 RUN(运行)按钮。

3. 设置以下测距仪参数:

  • Max distance = 50000
  • Dead zone = 100
  • Confidence = 0

4. 设置以下传感器参数:

  • Pulse count = 10
  • Frequency = 700kHz
  • Booster = ON

5. 设置以下数据集参数。

  • Period = 100ms
  • Rangefinder = NMEA

6. 按"闪光灯设置"键。

就是这样。该模块即可与自动驾驶仪配合使用。

ArduPilot%E7%A1%AC%E4%BB%B6" style="margin-left:.0001pt;text-align:justify;">3 连接ArduPilot硬件

KOGGER 声纳通过串行/uart 接口使用 NMEA 协议进行距离测量。

如果使用 SERIAL2 (TELEM2),则应设置以下参数:

传感器可以连接到自动驾驶仪上任何可用的串行/uart 端口。在下图中,第一个传感器连接到 SERIAL2 (TELEM2)

  • SERIAL2_PROTOCOL = 9 (Lidar);
  • SERIAL2_BAUD = 115 (115200 baud)。

然后应设置以下测距仪相关参数:

  • RNGFND1_TYPE = 17 (NMEA);
  • RNGFND1_MIN_CM = 30
  • RNGFND1_MAX_CM = 50000(即 50m)。这是测距仪能够可靠读取的距离,单位为厘米;
  • RNGFND1_ORIENT = 25(即向下),如果安装在船上。

测试传感器

传感器读取的距离可在Mission Planner飞行数据屏幕的状态选项卡中查看。仔细查看"sonarrange"(声纳范围)。

4 参数说明

1SERIAL2_PROTOCOL:串行2协议选择

注意:更改后需要重新启动。

控制 Serial2 端口应使用何种协议。请注意,Frsky 选项需要外部转换器硬件。详情请查看维基百科。

Values

Value

Meaning

-1

None

1

MAVLink1

2

MAVLink2

3

Frsky D

4

Frsky SPort

5

GPS

7

Alexmos Gimbal Serial

8

Gimbal

9

Rangefinder

10

FrSky SPort Passthrough (OpenTX)

11

Lidar360

13

Beacon

14

Volz servo out

15

SBus servo out

16

ESC Telemetry

17

Devo Telemetry

18

OpticalFlow

19

RobotisServo

20

NMEA Output

21

WindVane

22

SLCAN

23

RCIN

24

EFI Serial

25

LTM

26

RunCam

27

HottTelem

28

Scripting

29

Crossfire VTX

30

Generator

31

Winch

32

MSP

33

DJI FPV

34

AirSpeed

35

ADSB

36

AHRS

37

SmartAudio

38

FETtecOneWire

39

Torqeedo

40

AIS

41

CoDevESC

42

DisplayPort

43

MAVLink High Latency

44

IRC Tramp

2RNGFND1_TYPE测距仪类型

连接测距仪的类型。

Values

Value

Meaning

0

None

1

Analog

2

MaxbotixI2C

3

LidarLite-I2C

5

PWM

6

BBB-PRU

7

LightWareI2C

8

LightWareSerial

9

Bebop

10

MAVLink

11

USD1_Serial

12

LeddarOne

13

MaxbotixSerial

14

TeraRangerI2C

15

LidarLiteV3-I2C

16

VL53L0X or VL53L1X

17

NMEA

18

WASP-LRF

19

BenewakeTF02

20

Benewake-Serial

21

LidarLightV3HP

22

PWM

23

BlueRoboticsPing

24

DroneCAN

25

BenewakeTFminiPlus-I2C

26

LanbaoPSK-CM8JL65-CC5

27

BenewakeTF03

28

VL53L1X-ShortRange

29

LeddarVu8-Serial

30

HC-SR04

31

GYUS42v2

32

MSP

33

USD1_CAN

34

Benewake_CAN

35

TeraRangerSerial

36

Lua_Scripting

100

SITL


http://www.niftyadmin.cn/n/5456270.html

相关文章

vue页面实现左右div宽度,上下div高度分割线手动拖动高度或者宽度自动变化,两个div宽度或者高度拉伸调节,实现左右可拖动改变宽度的div内容显示区

实现左右或者上下div两部分拖动,宽度或者高度自动变化,实现流畅平滑的变化,还可以是实现拖动到一定宽度就不让拖动了,如果你不需要最小宽度,就直接去掉样式就行 这是页面。分左中右三部分,中间我是用来作为拖动的按钮…

主流公链 - Filecoin

探索Filecoin:去中心化存储网络 1. Filecoin简介 Filecoin是一个去中心化的存储网络,旨在通过区块链技术实现全球性的分布式文件存储和检索市场。Filecoin允许用户将文件存储在网络中的节点上,并通过加密、分片和复制等技术保证数据的安全性…

夜晚水闸3D可视化:科技魔法点亮水利新纪元

在宁静的夜晚,当城市的霓虹灯逐渐暗淡,你是否曾想过,那些默默守护着城市安全的水闸,在科技的魔力下,正焕发出别样的光彩?今天,就让我们一起走进夜晚水闸3D模型,感受科技为水利带来的…

技术整理:SpringBoot+Redis+lua脚本防止超卖

SpringBootredislua 防止超卖 一、背景 工作中遇到了有人用 RedisTemplate 的 increment去做总库存的加减,但是这种方式是保证不了原子性的还是会超卖。 redis 是可以保证原子性,但是 RedisTemplate 里面的方法去调用redis是不能保证原子性 二、优化…

网络编程综合项目-多用户通信系统

文章目录 1.项目所用技术栈本项目使用了java基础,面向对象,集合,泛型,IO流,多线程,Tcp字节流编程的技术 2.通信系统整体分析主要思路(自己理解)1.如果不用多线程2.使用多线程3.对多线…

Debian GNU/Linux 安装docker与docker compose

安装 Docker 更新包列表 sudo apt update 安装必要的软件包,以便让 APT 可以通过 HTTPS 使用存储库: sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common 添加 Docker 的官方 GPG 密钥: cu…

【小沐学QT】QT学习之路径问题汇总

文章目录 1、简介1.1 QDir1.2 QFile1.3 QFileInfo1.4 QFileSystemWatcher 2、Qt各种路径2.1 程序所在路径2.2 程序的全路径2.3 当前工作目录2.4 用户目录路径2.5 我的文档路径2.6 桌面路径2.7 程序数据存放路径2.8 临时文件路径2.9 遍历文件2.10 路径封装类2.11 Qt读写文件&…

蓝桥备赛——DFS

废话不多说&#xff0c;先上题 对应代码如下&#xff1a; def dfs(x,y):global numfor i in range(0,4):dir[(-1,0),(0,-1),(1,0),(0,1)]nx,nyxdir[i][0] ,ydir[i][1]if nx<0 or nx>hx or ny <0 or ny>wy: continueif mp[nx][ny]*:num1print("%d:%s->%d%…