日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Pixhawk精准着陆之IRLock配置

發(fā)布時(shí)間:2024/1/1 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pixhawk精准着陆之IRLock配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

安裝說明

  • 下載Pixymon和pixy對(duì)應(yīng)markone的固件,在這里。

固件必須是firmware_IRLOCKpixy_1.0.1.hex

irlock = markone

然后固件里 irlock = pixy

  • 給Pixy刷固件的方法

打開PixyMon,將Pixy連接到電腦,然后長按Pixy上的按鈕,進(jìn)入燒錄過程,松開按鈕并選擇下載好的Markone固件。

刷完固件后,重置Pixy


然后點(diǎn)擊 Raw video才能顯示可見光圖像

Markone上有29個(gè)紅外燈,正常情況下僅需要MarkOne的目標(biāo)信息,因此需要在Pixy的鏡頭上加上紅外濾光片。

  • 端口設(shè)置

pixy支持I2C、SPI以及串口三種輸出方式,點(diǎn)擊設(shè)置按鈕在Interface欄可以看到。將鼠標(biāo)懸浮在data out port處時(shí)會(huì)出現(xiàn)相應(yīng)端口的默認(rèn)設(shè)定值,其中SPI為0,I2C為1….

SPI、I2C、串口的協(xié)議輸出的幀完全相同,每個(gè)幀中的對(duì)象按大小排序,最大的對(duì)象先發(fā)送。小端形式發(fā)送,一個(gè)新的換幀有兩個(gè)同步信號(hào)0xaa55表示

Bytes 16-bit words Description ---------------------------------------------------------------- 0, 1 0 sync (0xaa55) 2, 3 1 checksum (sum of all 16-bit words 2-6) 4, 5 2 signature number 6, 7 3 x center of object 8, 9 4 y center of object 10, 11 5 width of object 12, 13 6 height of object

  • 相機(jī)調(diào)焦

這一步非常重要

為了實(shí)現(xiàn)15米的測(cè)距精度,相機(jī)的棱鏡需要稍微不聚焦,這能夠讓MarkOne在相機(jī)視野中看上去更大,因此可以測(cè)得的距離更遠(yuǎn)。

將MarkOne信標(biāo)放到離相機(jī)10-15米遠(yuǎn)的地方。將IR-Lock對(duì)準(zhǔn)相機(jī),打開Pixymon并點(diǎn)擊Display raw video來查看相機(jī)返回的視頻,可以發(fā)現(xiàn)MarkOne看上去像是一個(gè)白斑。

通過旋轉(zhuǎn)鏡頭對(duì)焦,直到MarkOne看上去非常清晰。在室外進(jìn)行對(duì)焦更加簡(jiǎn)單,因?yàn)槟隳茉谝曨l中看到其他物體。如果你在室內(nèi),就只能看到MarkOne信標(biāo)。完成對(duì)焦后,抄任意一個(gè)方向傳動(dòng)棱鏡約1/4圈,這將使得棱鏡稍微不對(duì)焦。可以發(fā)現(xiàn)markOnede 形狀在返回的視頻中稍微變大了一些。

點(diǎn)擊Action欄下的Default program,你會(huì)發(fā)現(xiàn)能夠在15米內(nèi)準(zhǔn)確的檢測(cè)到IR-Lock.信標(biāo)的位置由一個(gè)白色的方框表示。

視頻鏈接

硬件連接

IR-Lock可以使用3S電池供電,工作電壓范圍為10.2-18V DC。

IR-Lock與Pixhawk的連接示意圖如下

飛控固件&PL設(shè)置

精準(zhǔn)著陸功能包含在AC3.3的修改版本中,而在AC3.4中,精準(zhǔn)著陸已經(jīng)成為默認(rèn)的功能了(需要使用額外的距離測(cè)量模塊,例如SF10/A激光雷達(dá)、聲吶進(jìn)行高度測(cè)量)。

  • AC3.3* PL固件(APM:Copter V3.3.3-rc2 IR-LOCK Firmware

    • Quad:Arducopter_PL_Quad_3.3.3-rc2.px4
    • Source Code: Copter-3.3 Github
    • Latest Commit: 593db3….
    • 對(duì)開發(fā)者:如果想要自己編譯源碼,則需要修改一下子模塊中的irlock.cpp文件,將其替換為這個(gè)文件。代碼位置: ardupilot\modules\PX4Firmware\src\drivers\irlock
  • 必要參數(shù)設(shè)置

    燒好AC3.3* PL固件后,有三個(gè)參數(shù)需要修改。其中由兩個(gè)是使用精準(zhǔn)著陸功能必須修改的,另一個(gè)參數(shù)控制精準(zhǔn)著陸的下降速度

  • PRECLND_ENABLED: 將此值置1
  • PRECLND_SPEED: 這個(gè)參數(shù)不需要修改。它可以用于限制在精準(zhǔn)著陸期間飛行器的水平速度,但目前在控制代碼中不使用。
  • PRECLND_TYPE: 將此值設(shè)置成2。此參數(shù)對(duì)應(yīng)IR-Lock的傳感器類型。
  • LAND_SPEED: 下降速度(cm/s)。該值可以降低到低至30cm / s。通常,較低的值可提高精準(zhǔn)著陸的精度。

    • 飛行模式

    AC3.3 * PL固件中包含修改的飛行模式

  • LAND: 飛機(jī)中心對(duì)準(zhǔn)IR目標(biāo)下降,同時(shí)以參數(shù)PREC_LND SPEED中規(guī)定的下降速率下降。應(yīng)用滾動(dòng)或俯仰將立即禁用自動(dòng)精準(zhǔn)著陸控制。

  • LOITER: 在保持高度的同時(shí),中心在IR目標(biāo)上。應(yīng)用滾動(dòng)或俯仰將立即禁用自動(dòng)精度著陸控制。

  • AUTO (LAND): 當(dāng)執(zhí)行腳本任務(wù)時(shí),LAND命令將使對(duì)角線對(duì)準(zhǔn)IR對(duì)象,同時(shí)以參數(shù)PREC_LND SPEED中規(guī)定的下降速率下降。

    出現(xiàn)異常,請(qǐng)切換到Stabilize模式

    首次飛行時(shí),可以使用STABLIZE模式起飛并手動(dòng)將飛機(jī)飛到MarkOne信標(biāo)上方附近。然后切換到LOITER或者LOITER模式。如果信標(biāo)在傳感器視覺范圍內(nèi),你會(huì)看到飛機(jī)會(huì)朝著信標(biāo)移動(dòng)。

    注意: 如果你在LOITER/LAND模式下觸碰了橫滾或俯仰搖桿,精準(zhǔn)著陸控制將失效。

    • PL日志解讀

記錄的精準(zhǔn)著陸變量可以在“PL”標(biāo)題下找到。

bX/bY: Angle-to-target measurement in the body-frame reference BEFORE accounting for roll/pitch of copter.在考慮飛機(jī)的橫滾、俯仰之前測(cè)得的機(jī)體坐標(biāo)系中距目標(biāo)的角度。

eX/eY: Angle-to-target measurement in the earth-frame reference AFTER accounting for roll/pitch of copter.考慮飛機(jī)的橫滾、俯仰之后測(cè)得的地球坐標(biāo)系中距目標(biāo)的角度。

pX/pY: Calculated distance of target from copter in earth-frame. Note that the distance calculation depends on the altitude measurement. Also, the altitude variable in this particular instance is range limited, such that a negative value or very small value is not used to calculate the position.算得的在地球坐標(biāo)系中目標(biāo)與飛機(jī)直接的距離。注意距離的測(cè)量取決于高度的測(cè)量。同時(shí),在這個(gè)特殊實(shí)例中的高度變量范圍有限,因此將不使用負(fù)值或非常小的值來計(jì)算位置。

// get body-frame angles to target from backendif (!_backend->get_angle_to_target(_bf_angle_to_target.x, _bf_angle_to_target.y)) {_have_estimate = false;}float x_rad = _bf_angle_to_target.x - _ahrs.roll;float y_rad = -_bf_angle_to_target.y + _ahrs.pitch;// rotate to earth-frame angles_ef_angle_to_target.x = y_rad*_ahrs.cos_yaw() - x_rad*_ahrs.sin_yaw();_ef_angle_to_target.y = y_rad*_ahrs.sin_yaw() + x_rad*_ahrs.cos_yaw();// get current altitude (constrained to no lower than 50cm)float alt = max(alt_above_terrain_cm, 50.0f);// convert earth-frame angles to earth-frame position offset_target_pos_offset.x = alt*tanf(_ef_angle_to_target.x);_target_pos_offset.y = alt*tanf(_ef_angle_to_target.y);_target_pos_offset.z = 0; // not used

下圖顯示了5次連續(xù)精準(zhǔn)著陸。綠線表示飛機(jī)的高度。紅線(’bX’)表示傳感器在x方向上相對(duì)于傳感器測(cè)量的與目標(biāo)對(duì)象的角度。

當(dāng)LAND模式啟動(dòng)時(shí),飛機(jī)開始向目標(biāo)移動(dòng),將角度測(cè)量值向零驅(qū)動(dòng)。通常觀察角度測(cè)量中的振蕩。

總結(jié)

以上是生活随笔為你收集整理的Pixhawk精准着陆之IRLock配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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