无人帆船开源套件详解-帆船航行基础
《大学帆船运动基础教程》 吴有凯 中国海洋大学出版社

——
帆船(Sailboat)是利用风力前进的船。

1帆船结构

在中小型帆船中最常见的就是单桅帆,这种船上有一根桅杆和两面帆。

如图所示为纵帆船:

图中的稳向板龙骨 起到防止船体横移的作用。

稳向板和龙骨是两个不同的概念,前者可以升起或降下,后者固定。

船帆中最先着风的帆缘称作前缘,后部的船翼后缘称作帆的后缘
从前缘到后缘的假想水平线称作;从弦到最大吃水点的垂直距离称作弦深
充满空气以形成凹面弯曲的船帆的一面称作迎风面;向外吹以形成凸起形状的一面称作背风面

在模型帆船中,使用舵机取代人力操作舵叶的船柄,使用收缩机操控主帆缭绳。

帆的作用

2 *伯努利原理在帆船中的应用

*注意:实际上帆船航行原理仍存在争议,这里选取了通行的伯努利原理。

(物理学)帆船原理简述-李永乐

2.1浮升力

伯努利原理指在一个流体系统,比如气流、水流中,流速越快,流体产生的压强就越小。

下图为主帆俯视图,其工作原理与飞机机翼工作方式相似:

帆在风的作用下形成弧形,风吹过上半部分弧形区域时会被挤压,此面称为背风面;根据伯努利原理,空气的挤压造成空气流速变大,因而压强变小,因而吸引周围空气,这会导致空气进一步被挤压,形成循环(见下图);
而在迎风面,空气未被挤压,因而空气流速较慢,根据伯努利原理可知该区域压强较大,因而排斥周围空气,使空气保持不被挤压的状态,形成循环(见下图);

背风面压强小,迎风面压强大,由此形成压强差,造成一个垂直于帆的作用力,称作浮升力/托举力(见图)。

2.2帆船的前进

以图示情况为例,船处于近风行驶(此概念在后续章节中涉及),图中箭头表示风向。
帆受风后会形成垂直于帆的力即浮升力,可以将该力分解为两个方向,即向前力侧向力,侧向力会被水流和稳向板的作用所抵消,而向前力被保留,因而使帆船前进:

为了使帆船保持前进的最大航速,需要使向前力与船的航行方向一致,为此需要根据风向和航向调整风帆以充分利用伯努利效应。

3航行角度/航行方向

航行角度

3.1基本概念

如果把海平面分成360°,帆船的航行方向与风向则可用一个特定的角度来表示,共有六种基本航行方向,分别是正顶风、近迎风航行、小角度横风航行、横风航行、大角度横风航行、正顺风航行:

正顶风航行
帆船航向有所限制,当船头对准风时,帆只摆动而不工作,船帆不能工作区域被称为禁行区域(图中A区域),该区域通常位于正逆风左右各约45度角内,可用于船的停泊;在此区域以外的任何方向皆可航行。
风从船的左边吹来叫做左舷风航行(图中不包括禁行区域的右半圆);风从船的右边吹来叫做右舷风航行(图中不包括禁行区域的左半圆);

横风航行
是航行的最佳选择,此时船速达到最大,帆船完全进入了拉力状态,帆角应调整为45°。

正顺风航行
指航向和风吹过的方向完全一致。由于未利用伯努利效应,帆船完全处于被风推着走的行驶状态,难以达到最大航速;此外,在该状态下航行,可能导致过帆甚至翻船,因此不建议在该状态下航行。

3.2逆风航行

逆风航行(正顶风航行)时,帆船不能直接顶风行驶,但可以采取Z字形的路线到达目的地。
能够航行的与风的最小角度就是无法航行区域的边缘,称作近风行驶(近迎风航行)。变换受风的船舷称为迎风换舷(即让船头穿越风),一般来说换舷之后主帆会自动被带到另一侧;换舷越流畅,越能尽快抵达目的地,因为船处于一个迎风航行的状态,如果换舷速度慢了,船可能会停下来。
在迎风换舷的操作中,有右舷换左舷左舷换右舷之分,这取决于风从哪边吹来:若换舷船是左舷受风,即为左舷换右舷,换舷后,风就吹向船的另一边了。

一系列的迎风换舷被称为迎风行驶

3.3帆船航行中的风

风可分为 因船运动而产生的风、相对风和真风:

航行中帆的调整要朝着相对风的风向。

4无人帆船的自动控制原理

4.1传感器

无人帆船自动控制系统中应用到的传感器主要有三类:GPS,IMU,风向仪。

  1. GPS:提供帆船当前坐标
  2. IMU(Inertial Measurement Unit,惯性测量单元):提供航行速度和船头朝向。IMU一般包括三轴陀螺仪及三轴加速度计,某些9轴IMU还包括三轴磁力计。
  3. 风向仪:测定风向

借助这些传感器提供的数据信息,可以解算出无人帆船的当前状态,再根据其状态决定帆和舵的调整,产生相关控制信号:

各传感器功能:

4.2帆船状态的解算

大致过程如下:

设(x1,y1)为当前帆船的坐标,(x2,y2)为设定的目标点的坐标,则帆船位置与目标点两点之间的距离(dwp)为:

目标点和自然坐标系的夹角(hwp)为:

在上图基础上加入表示船头朝向和风向的箭头:

图中:

  1. α——帆船首尾线与自然坐标系夹角,即IMU值
  2. β——帆船首尾线与风向标夹角,即风向仪值
  3. θ——θ=α+β-hwp,即目标点与风向的夹角
  4. hwp——见前文,由公式获得

θ值决定了帆船处于正常状态还是处于换舷状态,一般情况下,我们规定当θ的绝对值小于90度时,帆船处于正常状态:

——————————————————————————
在无人帆船中,帆的控制和舵的控制是分开的,帆用来保持速度,舵用来保持航向。

4.3舵的控制

一般情况下,帆船是一直处于normal状态的,采用PID来实现帆船舵的控制;在换舷模式下,帆船需要打满舵。

帆船有两种换舷方式,前面已讨论到迎风(逆风)换舷,除此之外还有顺风换舷
在顺风换舷状态下,当为右舷转左舷时,打左满舵;当为左舷转右舷时,打右满舵;
在逆风换舷状态下,当为右舷转左舷时,打右满舵;当为左舷转右舷时,打左满舵。

以流程图来表示:

转舵方向与舵叶转向方向相反:

在下图中,标注了舵叶转向方向,图1为逆风左舷转右舷;图2为顺风左舷转右舷:

船舵效能取决于流过船舵水流的速度,如果游艇静止在水中,那么船舵则无法控制方向。
在直线航行的情况下,当船帆平衡时,在平静的水面上,无需使用船舵,仅仅通过调节船帆就可以使船保持直线。

4.4帆的控制

在帆船行驶中,为了获得最大的提升力,需要调整帆与风的最佳角度,帆位角是风向角的一半时帆上产生的力量最大
风向角指风向同帆船首尾连线之间的夹角:

帆位角是指帆位线(弦)与帆船首尾连线之间的夹角:

可以根据风向角改变帆的角度来调整风与帆的最佳角度,也可以直接改变航向。

下图为帆位和风向的关系图:

从图中可以看到,当风向值在180°-360°范围时,帆的开角同风向值为0-180°时一样。

WRSC无人帆船航行基本原理相关推荐

  1. 世界无人帆船大赛首次登陆中国,水手梦也能用代码实现

    雷刚 发自 凹非寺  量子位 报道 | 公众号 QbitAI 无人驾驶帆船大赛,今年首次来到中国举办. 如果你兼具程序员.工程师和水手的兴趣,或许不容错过这个世界上最大最悠久的无人帆船赛事. WRSC ...

  2. HTML5编写船上航行,描写帆船航行的诗句

    描写帆船航行的诗句 古代因为科技问题,想要在海里航行只能使用帆船,这是我为大家带来的描写帆船航行的'诗句,希望能帮助到大家. 描写帆船航行的诗句 1 长风破浪会有时,直挂云帆济沧海. 2 潮平两岸阔, ...

  3. 无人帆船模拟及实船实验步骤

    目录 模拟实验 1. 启动图形化界面 2. 运行 python 文件 3. 调试 python 文件与 rqt 的关系 1. 获取传感器数据 2. 将数据输出到 rqt 一些建议 注意事项 3. 使用 ...

  4. 第2章 无人艇局部危险避障算法研究

    水面无人艇局部危险避障算法研究 Local Risk Obstacle Avoidance Algorithm of USV 博主 的硕士毕业论文 第2章 无人艇局部危险避障算法研究 2.1 无人艇局 ...

  5. 英语学习笔记(经典100句)

    [写在前面] 参考链接: 7000雅思词汇用100个句子记完!就是这么神奇! - 知乎 (zhihu.com) 本文所有的例句,来自上述链接,可直接看原文. 我这里只是学习笔记,供个人使用.如侵,请告 ...

  6. 粒子群算法实战分享-附原版动画PPT(技术分享也可以文艺范?)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 本文是针对博主使用粒子群优化算法解决水面无人艇静态.动态障碍物规避,及场地布局三类问题,做了更深入的总结分析. 与目前火热的机器学习不同,智能优化 ...

  7. `英语` 2022/8/21

    laureate  获奖者 \text{ laureate \quad 获奖者}  laureate 获奖者 awkward  尴尬的, 难堪的 \text{awkward \quad 尴尬的, 难堪 ...

  8. 大鱼计算机谱 音乐,周深演唱大鱼简谱

    <大鱼>是由尹约填词,钱雷谱曲,周深演唱的歌曲,是动画电影<大鱼海棠>的印象曲,于2016年5月20日首发. 2016年9月,该曲获得亚洲新歌榜年度盛典年度十大金曲奖 创作背景 ...

  9. 世隆科普:无人船的组成部分,无人船由那几部分组成

    现在,无人驾驶技术是各大车企竞相控制的技术制高点,奔驰.宝马.奥迪.沃尔沃.雷克萨斯以及IT行业的巨头谷歌公司等8大品牌均着手无人驾驶技术研发工作,并且研发进程十分迅速,比亚迪.蔚来.小鹏.百度.华为 ...

最新文章

  1. 这三个普通程序员,几个月就成功转型AI,他们的经验是...
  2. php怎么输出3个函数和,PHP利用var_dump,var_export,print_r三个函数的区别示例
  3. java 命令 乱码_解决java 命令行乱码的问题
  4. 洛谷2055 [ZJOI2009]假期的宿舍
  5. 01背包初始化的细节问题与循环下限的改进
  6. jms spring_JMS和Spring:有时很重要的小事情
  7. IOS中设置全局变量
  8. Solr学习总结(1)——Apache Solr快速入门
  9. qutebrowser 只用键盘操作的浏览器
  10. 网站开发中很实用的 HTML5 jQuery 插件
  11. centos是什么linux操作系统,Linux 操作系统之CentOS的介绍
  12. linux—vi编辑器常用命令
  13. Spark机器学习库简介
  14. 华三H3C交换机路由器如何配置dhcp中继(dhcp relay)
  15. anaconda中的python在pycharm中用不了_pycharm与anaconda的使用
  16. 做人做事要有上进心2
  17. HTML META 元数据标签详解
  18. pythonfor反向循环_Python for 循环语句
  19. 正则表达式(regex,RE)
  20. Ubuntu 18.04 如何固定图标到任务栏

热门文章

  1. CF831A-Unimodal Array(单峰阵列)
  2. 计算机桌面个性化怎样设置方法,电脑桌面图标怎么个性化自定义设置呢?
  3. 构建maven时No archetypes currently available的解决方法
  4. JMF介绍之媒体框架
  5. 优盘里文件夹变成html,U盘里的文件全部变成了快捷方式,怎么破?
  6. 电子漫画系列更新10张!古老的示波器,USB hub萌妹,超级酷的焊接壁画
  7. postgresql FDW概念、用法与原理小结
  8. GitHub使用教程、注册与安装
  9. BeatSaber节奏光剑插件开发官方教程1-创建一个插件模板
  10. WINDOS服务器安全设置