Reeds-Shepp曲线公式推导及代码实现-第二部分(共三部分)

:由于CSDN篇幅限制,文章只能拆分成三部分,完整的文章可见Reeds-Shepp曲线公式推导及代码实现

CSDN剩余部分:
Reeds-Shepp曲线公式推导及代码实现-第一部分(共三部分)
Reeds-Shepp曲线公式推导及代码实现-第二部分(共三部分)
Reeds-Shepp曲线公式推导及代码实现-第三部分(共三部分)

2. Reeds-Shepp求解

在下面的所有推导中,均是在归一化后的基础上进行的,即车辆的曲率半径为单位长度,并且起始姿态被认为是在原点处。 ( t , u , v ) (t,u,v) (tuv)表示所需的每个运动的度量。因此,在转弯机动的情况下,它们表示在转弯圆的中心内切的角度,并且在直线机动的情况下,它们表示要行进的距离。

2.1 L + S + L + L^+S^+L^+ L+S+L+

在这里插入图片描述

其中

  • □ O 1 O 2 B A \square O_1O_2BA O1O2BA是一个矩形
  • ∠ S O 1 A = ∠ B O 2 E \angle SO_1A=\angle BO_2E SO1A=BO2E=t
  • t + v = φ t+v=\varphi t+v=φ
  • O 2 O_2 O2点坐标为 ( x − sin ⁡ φ , y + cos ⁡ φ ) (x-\sin\varphi,y+\cos\varphi) (xsinφ,y+cosφ)
  • O 1 O_1 O1点的坐标的为 ( 0 , 1 ) (0,1) (0,1)
  • O 1 O 2 ⃗ \vec{O_1O_2} O1O2 在极坐标下可表示为 ( u , t ) (u,t) (u,t),这里 u u u对应的是极径, t t t对应的极角。

因此,可得

  • u , t = p o l a r ( x − s i n φ , y + cos ⁡ φ − 1 ) u,t=polar(x-sin\varphi,y+\cos\varphi-1) u,t=polar(xsinφ,y+cosφ1)
  • v = φ − t v=\varphi-t v=φt

注: p o l a r ( x , y ) polar(x, y) polar(x,y)指的是将笛卡尔坐标系中的点 ( x , y ) (x,y) (x,y)转换为极坐标系中的表示,在极坐标系中,点的位置由半径 r r r和角度 θ \theta θ确定。

对于 r , θ = p o l a r ( x , y ) r,\theta=polar(x,y) r,θ=polar(x,y),有 r = x 2 + y 2 、 θ = a r c t a n y x r=\sqrt{x^2+y^2}、\theta=arctan{\frac{y}{x}} r=x2+y2 θ=arctanxy

2.2 L + S + R + L^+S^+R^+ L+S+R+

在这里插入图片描述

其中

  • A D = u AD=u AD=u
  • O 1 O 2 = u 1 O_1O_2=u_1 O1O2=u1
  • B B B A D AD AD O 1 O 2 O_1O_2 O1O2的中点
  • t − v = φ t-v=\varphi tv=φ
  • O 2 O_2 O2点坐标的 ( x + sin ⁡ φ , y − c o s φ ) (x+\sin\varphi,y-cos\varphi) (x+sinφ,ycosφ)
  • O 1 O_1 O1点坐标为 ( 0 , 1 ) (0,1) (0,1)
  • O 1 O 2 ⃗ \vec{O_1O_2} O1O2 在极坐标下可表示为 ( u 1 , t 1 ) (u_1,t_1) (u1,t1)
  • 在直角 △ O 1 B A \triangle O_1BA O1BA中有 u 1 2 4 = 1 + u 2 4 \frac{ {u_1}^2}{4}=1+\frac{u^2}{4} 4u12=1+4u2
  • θ = arctan ⁡ O 1 A A B = arctan ⁡ 2 u \theta=\arctan\frac{O_1A}{AB}=\arctan\frac{2}{u} θ=arctanABO1A=arctanu2
  • t 1 + θ = t t_1+\theta=t t1+θ=t

因此,可得

  • u 1 , t 1 = p o l a r ( x + sin ⁡ φ , y − c o s φ − 1 ) u_1,t_1=polar(x+\sin\varphi,y-cos\varphi-1) u1,t1=polar(x+sinφ,ycosφ1)
  • u = u 1 2 − 4 u=\sqrt{u_1^2-4} u=u124
  • θ = a r c t a n 2 u \theta=arctan\frac{2}{u} θ=arctanu2
  • t = t 1 + θ 1 t=t_1+\theta_1 t=t1+θ1
  • v = t − φ v=t-\varphi v=tφ

2.3 L + R − L + L^+R^-L^+ L+RL+

在这里插入图片描述

其中

  • △ O 1 O 2 O 3 \triangle O_1O_2O_3 O1O2O3为等腰三角形
  • O 1 O 3 = u 1 O_1O_3=u_1 O1O3=u1
  • t + u + v = φ t+u+v=\varphi t+u+v=φ
  • O 1 O_1 O1点坐标为 ( 0 , 1 ) (0,1) (0,1)
  • O 3 O_3 O3点坐标为 ( x − sin ⁡ φ , y + cos ⁡ φ ) (x-\sin\varphi,y+\cos\varphi) (xsinφ,y+cosφ)
  • O 1 O 3 ⃗ \vec{O_1O_3} O1O3 在极坐标下可表示为 ( u 1 , θ ) (u_1,\theta) (u1,θ)
  • β = arccos ⁡ O 1 O 3 / 2 O 1 O 2 = arccos ⁡ U 1 4 \beta=\arccos\frac{O_1O_3/2}{O_1O_2}=\arccos\frac{U_1}{4} β=arccosO1O2O1O3/2=arccos4U1
  • u = π − 2 β u=\pi-2\beta u=π2β
  • t = π 2 + θ + β t=\frac{\pi}{2}+\theta+\beta t=2π+θ+β

综上,可得

  • u 1 , θ = p o l a r ( x − sin ⁡ φ , y + cos ⁡ φ − 1 ) u_1,\theta=polar(x-\sin\varphi,y+\cos\varphi-1) u1,θ=polar(xsinφ,y+cosφ1)
  • β = arccos ⁡ u 1 4 \beta=\arccos\frac{u_1}{4} β=arccos4u1
  • t = π 2 + θ + β t=\frac{\pi}{2}+\theta+\beta t=2π+θ+β
  • u = π − 2 β u=\pi-2\beta u=π2β
  • v = φ − t − u v=\varphi-t-u v=φtu

2.4 L + R − L − L^+R^-L^- L+RL

在这里插入图片描述

其中

  • △ O 1 O 2 O 3 \triangle O_1O_2O_3 O1O2O3为等腰三角形
  • O 1 O 3 = u 1 O_1O_3=u_1 O1O3=u1
  • t + u − v = φ t+u-v=\varphi t+uv=φ
  • O 1 O_1 O1点坐标为 ( 0 , 1 ) (0,1) (0,1)
  • O 3 O_3 O3点坐标为 ( x − sin ⁡ φ , y + cos ⁡ φ ) (x-\sin\varphi,y+\cos\varphi) (xsinφ,y+cosφ)
  • O 1 O 3 ⃗ \vec{O_1O_3} O1O
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艰默

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值