日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

11(3)-AirSim+四旋翼仿真-AirSim中人工势场法方法改进

發(fā)布時(shí)間:2023/12/31 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 11(3)-AirSim+四旋翼仿真-AirSim中人工势场法方法改进 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在11(2)中已經(jīng)將人工勢(shì)場(chǎng)法避障代碼遷移至AirSim中,但是有一些待解決問(wèn)題,這里一并說(shuō)明后續(xù)的解決方案。

1.障礙物檢驗(yàn)

之前使用了AirSim中提供的目標(biāo)識(shí)別接口,主要問(wèn)題在于

  • 受到可搜索目標(biāo)種類(lèi)的限制,無(wú)法識(shí)別的物體不會(huì)被視作障礙物;
  • 檢測(cè)距離受限,在距離小于3米時(shí)難以識(shí)別。
  • 在拿到了障礙物檢測(cè)接口后,對(duì)相關(guān)部分進(jìn)行替換,以上問(wèn)題得到較好的解決。這部分內(nèi)容不是本人負(fù)責(zé),相關(guān)代碼可參考:https://github.com/Kun-k/airsim_python/tree/main/ObstacleDetection。該接口可實(shí)時(shí)檢測(cè)障礙物,并返回box3D類(lèi)型的障礙物信息,如下所示:

    'box3D': <Box3D> { 'max': <Vector3r> { 'x_val': 4.900000095367432, 'y_val': 0.7999999523162842, 'z_val': 0.5199999809265137}, 'min': <Vector3r> { 'x_val': 3.8999998569488525, 'y_val': -0.19999998807907104, 'z_val': 1.5199999809265137}},

    box3D類(lèi)型提供了8個(gè)頂點(diǎn)信息,8個(gè)頂點(diǎn)可組成一個(gè)立方體,進(jìn)而得到想要的障礙物信息。

    這里取用了x?yx-yx?y平面內(nèi)的4個(gè)頂點(diǎn)計(jì)算斥力。需注意以下兩點(diǎn):

  • 檢測(cè)障礙物時(shí)的距離閾值,與避障時(shí)的距離閾值定義不同,故計(jì)算斥力時(shí)需再次確認(rèn)障礙物是否在距離閾值內(nèi)。
  • 直接獲取的障礙物信息是在機(jī)體坐標(biāo)系下的信息,需變換至全局坐標(biāo)系再進(jìn)行計(jì)算。
  • 2.無(wú)人機(jī)速率和偏航控制

    在之前使用LQR方法進(jìn)行控制,能夠較好地控制無(wú)人機(jī)跟蹤目標(biāo)狀態(tài),實(shí)現(xiàn)無(wú)人機(jī)機(jī)頭朝向與飛行方向的一致。但為了進(jìn)行速度、加速度限幅,目標(biāo)狀態(tài)的速度和加速度并不匹配,控制誤差也較大,對(duì)無(wú)人機(jī)的速度限制效果一般。

    參考三維航路點(diǎn)跟蹤時(shí)使用的控制器限幅方法,通過(guò)當(dāng)前速度對(duì)控制器輸出進(jìn)行限制,進(jìn)行如下調(diào)整:

    # 無(wú)障礙物時(shí),三維航路點(diǎn)跟蹤的控制器輸出 U1 = np.array((K0 * Pt_matrix + K1 * A.dot(Pt_matrix)).T)[0] if np.linalg.norm(U1, ord=np.inf) > Ul_track:U1 = U1 * Ul_track / np.linalg.norm(U1, ord=np.inf) U = -(U1 + V_curr) / K2 # 有障礙物時(shí)的控制器輸出 U = Fatt + Frep if np.linalg.norm(U, ord=np.inf) > Ul_avoid:U = Ul_avoid * U / np.linalg.norm(U, ord=np.inf) U = (U - V_curr) / K2 # 改進(jìn)部分

    3.改進(jìn)局部極小值判斷方法

    考慮下圖所示的情況,無(wú)人機(jī)由軌跡1-2切換至軌跡2-3時(shí),在航路點(diǎn)2處先減速再加速。

    此時(shí)速度較小,如加速過(guò)程中檢測(cè)到障礙物,會(huì)認(rèn)為滿(mǎn)足航路點(diǎn)檢測(cè)條件,產(chǎn)生不必要的避障動(dòng)作。

    解決方法為,只在加速運(yùn)動(dòng)的過(guò)程中進(jìn)行局部極小值檢驗(yàn)。

    4.實(shí)現(xiàn)效果

    改進(jìn)APF方法與RRT方法結(jié)合進(jìn)行避障飛行

    RRT+APF無(wú)人機(jī)避障飛行

    總結(jié)

    以上是生活随笔為你收集整理的11(3)-AirSim+四旋翼仿真-AirSim中人工势场法方法改进的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。