四元数船舶领域Quaternion ship domain

四元数船舶领域(Quaternion ship domain, QSD)由确定的四个元素构成:
R f o r e , R a f t , R s t a r b , R p o r t R_{fore},R_{aft},R_{starb},R_{port} Rfore,Raft,Rstarb,Rport

R f o r e R_{fore} Rfore R a f t R_{aft} Raft 为船前部和船尾部, R p o r t R_{port} Rport R s t a r b R_{starb} Rstarb 为船左舷和右舷。

Q S D QSD QSD是由连接这四个元素和内部区域的闭合曲线定义的区域,可以描述如下:

Q S D = { ( x , y ) ∣ f ( x , y ; Q ) ≤ 1 , Q = { R f o r e , R a f t , R s t a r b , R p o r t } } ( 1 ) QSD =\lbrace(x,y)|f(x,y;Q)\leq 1, Q= \lbrace R_{fore},R_{aft},R_{starb},R_{port}\rbrace\rbrace \quad(1) QSD={(x,y)f(x,y;Q)1,Q={Rfore,Raft,Rstarb,Rport}}(1)

其中 f ( ) f() f() Q S D 的 QSD的 QSD边界, Q Q Q 是四元数。

由于多边形和椭圆形在以前的船域中经常使用。因此在不失普遍性的前提下,QSD的边界可以用多边形和椭圆两种形状表示。

根据 Eq.(1), Q S D QSD QSD 的边界可以表示如下:

多边形:
Q S D q = { ( x , y ) ∣ f q ( x , y ; Q ) ≤ 1 , Q = { R f o r e , R a f t , R s t a r b , R p o r t } } ( 2 ) QSD_q =\lbrace(x,y)|f_q(x,y;Q)\leq 1, Q= \lbrace R_{fore},R_{aft},R_{starb},R_{port}\rbrace\rbrace \quad(2) QSDq={(x,y)fq(x,y;Q)1,Q={Rfore,Raft,Rstarb,Rport}}(2)

椭圆形:
Q S D c e = { ( x , y ) ∣ f c e ( x , y ; Q ) ≤ 1 , Q = { R f o r e , R a f t , R s t a r b , R p o r t } } ( 3 ) QSD_{ce} =\lbrace(x,y)|f_{ce}(x,y;Q)\leq 1, Q= \lbrace R_{fore},R_{aft},R_{starb},R_{port}\rbrace\rbrace \quad(3) QSDce={(x,y)fce(x,y;Q)1,Q={Rfore,Raft,Rstarb,Rport}}(3)

其中边界函数 f q f_{q} fq f c e f_{ce} fce可以用下式表示:

f q ( x , y ; Q ) = 2 x ( 1 + s g n x ) R f o r e − ( 1 − s g n x ) R a f t + 2 y ( 1 + s g n y ) R s t a r b − ( 1 − s g n y ) R p o r t ( 4 ) f_q(x,y;Q) = \frac{2x}{(1+sgn x)R_{fore} - (1-sgn x)R_{aft}} + \frac{2y}{(1+sgn y)R_{starb} - (1-sgn y)R_{port}}\quad(4) fq(x,y;Q)=(1+sgnx)Rfore(1sgnx)Raft2x+(1+sgny)Rstarb(1sgny)Rport2y(4)

f c e ( x , y ; Q ) = ( 2 x ( 1 + s g n x ) R f o r e − ( 1 − s g n x ) R a f t ) 2 + ( 2 y ( 1 + s g n y ) R s t a r b − ( 1 − s g n y ) R p o r t ) 2 ( 5 ) f_{ce}(x,y;Q) = \left(\frac{2x}{(1+sgn x)R_{fore} - (1-sgn x)R_{aft}}\right)^2 + \left(\frac{2y}{(1+sgn y)R_{starb} - (1-sgn y)R_{port}}\right)^2 \quad(5) fce(x,y;Q)=((1+sgnx)Rfore(1sgnx)Raft2x)2+((1+sgny)Rstarb(1sgny)Rport2y)2(5)

其中 s g n sgn sgn 是如numpy.sign类的符号函数:
s g n ( x ) = { 1 x ≥ 0 − 1 , x < 0 ( 6 ) sgn(x) = \begin{cases} 1 & x \geq 0 \\ -1, & x < 0 \\ \end{cases} \quad(6) sgn(x)={11,x0x<0(6)
多边形和椭圆形四元数船舶领域
根据 Eq.(4)和(5)可以发现, Q S D QSD QSD的边界形状可以用一个参数 k k k 控制,含有参数 k k k Q S D QSD QSD可以写作如下:

Q S D k = { ( x , y ) ∣ f k ( x , y ; Q ) ≤ 1 , Q = { R f o r e , R a f t , R s t a r b , R p o r t } , k ≥ 1 } ( 7 ) QSD_k =\lbrace(x,y)|f_k(x,y;Q)\leq 1, Q= \lbrace R_{fore},R_{aft},R_{starb},R_{port}\rbrace, k\geq1 \rbrace \quad(7) QSDk={(x,y)fk(x,y;Q)1,Q={Rfore,Raft,Rstarb,Rport},k1}(7)

f k ( x , y ; Q ) = ( 2 x ( 1 + s g n x ) R f o r e − ( 1 − s g n x ) R a f t ) k + ( 2 y ( 1 + s g n y ) R s t a r b − ( 1 − s g n y ) R p o r t ) k ( 8 ) f_{k}(x,y;Q) = \left(\frac{2x}{(1+sgn x)R_{fore} - (1-sgn x)R_{aft}}\right)^k + \left(\frac{2y}{(1+sgn y)R_{starb} - (1-sgn y)R_{port}}\right)^k \quad(8) fk(x,y;Q)=((1+sgnx)Rfore(1sgnx)Raft2x)k+((1+sgny)Rstarb(1sgny)Rport2y)k(8)

k k k 决定了 Q S D QSD QSD的形状,而四元数 Q ( i . e . R f o r e , R a f t , R s t a r b , R p o r t ) Q(i.e. R_{fore},R_{aft},R_{starb},R_{port}) Q(i.e.Rfore,Raft,Rstarb,Rport)标识了船域大小。
因此可以通过参数 Q Q Q k k k合理地对 Q S D QSD QSD建模。

K i j i m a [ 1 ] Kijima^{[1]} Kijima[1] 等人用阻塞区参数估计公式(Estimation formulae for parameters of the blocking area)估计 Q Q Q 的横向和纵向半径。可以用下式表示:

{ R f o r e = ( 1 + 1.34 k A D 2 + ( k D T / 2 ) 2 ) L R a f t = ( 1 + 0.67 k A D 2 + ( k D T / 2 ) 2 ) L R s t a r b = ( 0.2 + k D T ) L R p o r t = ( 0.2 + 0.75 k D T ) L ( 9 ) \begin{cases} R_{fore} = \left(1+1.34 \sqrt{k^2_{AD}+(k_{DT}/2)^2 } \right) L\\ R_{aft} = \left(1+0.67 \sqrt{k^2_{AD}+(k_{DT}/2)^2 } \right) L \\ R_{starb} = (0.2 + k_{DT})L \\ R_{port}= (0.2 + 0.75k_{DT})L\\ \end{cases} \quad(9) Rfore=(1+1.34kAD2+(kDT/2)2 )LRaft=(1+0.67kAD2+(kDT/2)2 )LRstarb=(0.2+kDT)LRport=(0.2+0.75kDT)L(9)

其中 L L L是本船长度, k A D k_{AD} kAD是进距距离(Advance)的增益, k D T k_{DT} kDT是旋回直径的增益。并且可以被定义为如下:

{ k A D = A D / L = 1 0 0.3591 lg ⁡ V o + 0.0952 k D T = D T / L = 1 0 0.5441 lg ⁡ V o − 0.0795 ( 10 ) \begin{cases} k_{AD} = A_D/L = 10^{0.3591 \lg {V_{o} + 0.0952} }\\ k_{DT} = D_T/L = 10^{0.5441 \lg{ V_{o} - 0.0795}}\\ \end{cases} \quad(10) {kAD=AD/L=100.3591lgVo+0.0952kDT=DT/L=100.5441lgVo0.0795(10)

其中 V o V_o Vo是本船速度,用 节 表示。

旋回初径 D T D_T DT:3~6倍船长

相对旋回初径 D T / L D_T/L DT/L

旋回直径 D D D: 旋回初径的 0.9~1.2倍

进距 A D A_D AD:旋回初径的 0.6~1.2倍

船舶旋回运动

# Python 实现后续补充
import numpy as np
import math
import matplotlib.pyplot as plt

L = 0.0863  # 以海里nm为单位 1节=1海里/小时=1.852公里/小时=0.514444m/s
DT = 5 * L # 相对旋回初径
D = 1.2 * DT # 旋回直径
AD = 1.2 * DT # 进距

# 进距和旋回直径增益
def Gain_k(v):
    k_ad = 10**(0.3591*math.log10(v)+0.0952)
    k_dt = 10**(0.5441*math.log10(v)-0.0795)
    return k_ad, k_dt

# 计算四元数 
def Quaternion(k_ad,k_dt):
    r_fore = (1+1.34*math.sqrt(k_ad**2+(k_ad/2)**2))*L
    r_aft = (1+0.67*math.sqrt(k_ad**2+(k_ad/2)**2))*L
    r_starb = (0.2+k_dt)*L
    r_port = (0.2+0.75*k_dt)*L
    return r_fore, r_aft, r_starb, r_port

v = 20

k_ad, k_dt = Gain_k(v)
r_fore, r_aft, r_starb, r_port = Quaternion(k_ad,k_dt)

Q = [r_fore, r_aft, r_starb, r_port]

x = [[0,r_starb],[r_starb,0],[0,-r_port],[-r_port,0]]
y = [[r_fore,0],[0,-r_aft],[-r_aft,0],[0,r_fore]]

plt.figure(dpi=128)
plt.plot(x,y,color = 'r')
plt.scatter(0,0,marker='*')
plt.grid(True)
plt.grid(color='black', linestyle='--',linewidth=0.3,alpha=0.3)
plt.xlabel('x(n mile)')
plt.ylabel('y(n mile)')
plt.xlim(-1,1)
plt.ylim(-1,1)
plt.show()

在这里插入图片描述

Refer

ence
[1]: Kijima, K. and Furukawa, Y. (2003). Automatic collision avoidance system using the concept of blocking area. Proceeding of IFAC Conference on Manoeuvring and Control of Marine Craft, Girona, Spain.
[2]: Wang N. An intelligent spatial collision risk based on the quaternion ship domain[J]. The Journal of Navigation, 2010, 63(4): 733.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值