• <noscript id="e0iig"><kbd id="e0iig"></kbd></noscript>
  • <td id="e0iig"></td>
  • <option id="e0iig"></option>
  • <noscript id="e0iig"><source id="e0iig"></source></noscript>
  • 【大疆無人機OnboardSDK-ROS系統搭建(二)】

    【大疆無人機OnboardSDK-ROS系統搭建(二)】

    硬件軟件參考平臺及設置參考上一篇博客。

    不同之處,使用了OnboardSDK-ROS版本。區別于OnboardSDK,需要創建ROS工作空間,并將SDK源碼放入catkin_ws工作空間進行編譯執行。

    • 具體步驟如下:

    1.編譯djiosdk-core模塊library并安裝到系統。

    安裝上一篇博客下載完成OnboardSDK之后需要對djiosdk-core模塊進行編譯,不然執行ROS版本時會報錯,找不到DJIOSDK之類。

    git clone https://github.com/dji-sdk/Onboard-SDK/releases 
    cd Onboard-SDK
    mkdir build
    cd build
    cmake ..
    make djiosdk-core
    sudo make install djiosdk-core

    2.Onboard-SDK-ROS版本安裝

    下載源碼:https://github.com/dji-sdk/Onboard-SDK-ROS/releases 

    git clone https://github.com/dji-sdk/Onboard-SDK-ROS/releases 

    3.創建ROS下的 catkin workspace工作空間并初始化。

    mkdir -p ~/catkin_ws/src
    cd src
    catkin_init_workspace

    4.編譯Onboard-SDK-ROS。

    把第二步下載的Onboard-SDK-ROS版本解壓,并將整個解壓包文件放入~/catkin_ws/src下。

    文件結構如下圖:

    接著編譯:

    cd ~/catkin_ws
    catkin_make 

    即可將dji_sdk和dji_sdk_demo編譯安裝成功。

    5.注冊開發者賬號:

    開發者官網:https://developer.dji.com/

    注冊一個開發者賬號并成為開發者,創建OnboardSDK的app獲取app_di和app_key

     rosed dji_sdk sdk.launch配置文件或者直接進去該文件夾內文本方式編輯將app_di和key以及波特率設置和Assistant2中一致即可:

    <launch>
        <node pkg="dji_sdk" type="dji_sdk_node" name="dji_sdk" output="screen">
        <!-- node parameters -->
        <param name="serial_name" type="string" value="/dev/ttyUSB0"/>
        <param name="baud_rate" type="int" value="230400"/>
        <param name="app_id" type="int" value="your_id"/>
        <param name="app_version" type="int" value="1"/>
        <param name="align_time" type="bool" value="false"/>
        <param name="enc_key" type="string" value="your_key"/>
        <param name="use_broadcast" type="bool" value="false"/>
        </node>
    </launch>

    6.執行ROS飛行控制實例案例:

    • 在這之前注意A3+Ubuntu連接(USB-TTL)連接正確。A3+Windows(Micro-USB)用來使用Assistant2設置波特率和上面一致。每次調整完波特率之后需要重啟一下A3。并將SDK調整至API控制。遙控器打開并撥到F檔位。

    roslaunch dji_sdk sdk.launch

    打開新的終端并執行飛行控制demo(在demo中有不同的示例都可以試試效果):

    source devel/setup.bash
    rosrun dji_sdk_demo demo_flight_control

    示意圖:

    再打開一個終端查看ROS消息傳遞圖:

    rosrun rqt_graph rqt_graph

     

    • 注意:USB串口問題以及可能遇到報錯問題參考上一篇博客中的解決方法,大同小異。

     

     

    另可參考官網:

    https://developer.dji.com/onboard-sdk/documentation/development-workflow/environment-setup.html#ubuntu-linux

    版權聲明:本文為KID_yuan原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
    本文鏈接:https://blog.csdn.net/KID_yuan/article/details/102561988

    智能推薦

    大疆無人機二次開發進階-DJI mobile SDK和DJI onboard SDK聯合開發行業應用項目

    上一篇文章講到了怎么使用DJI mobile SDK,這次主要講解DJI mobile SDK和DJI onboard SDK聯合開發。 android APP那端向DJI onborad SDK端發數據和收數據我就不做詳細介紹了,調一個函數即可,無需封裝和解析協議,如下:下面詳細介紹DJI onborad SDK的使用,以M600 PRO為例: 1、首先申請DJI onborad SDK&nbs...

    E:大疆M300二次開發PSDKV2.1.0。無法識別無人機型號。一直出現 aircraft type 0

    連接好設備后(M300無人機,開發套件2.0,選用樹莓派4B),可以運行示例程序,但是一直打印 [35.664][module_core]-[Info]-[PsdkCore_Init:134]PSDK is connecting aircraft, aircraft type 0, PSDK adapter type&...

    無人機抓捕

    無人機開發(基于Dji onboard SDK) 目前成果 仿真:發現物體能向大致方向飛行,沒檢測到飛機會停住。 實驗:飛機沒檢測到無人機無法懸停,跟蹤不穩定。 1.很容易出現檢測不到無人機的情況,后面需要在新的場景中訓練數據集,并且需要在數據集中加入遠處的無人機的照片。 2.需要加入uav的probability閾值。 3.記錄寫下的所發點的坐標,寫入log文件,以便后面分析。 4.加入跟蹤算法...

    ROS 無人機仿真系統3 —— 驗證仿真系統

    1、平臺驗證          前面文檔搭建的仿真平臺是否正常,可以馬上允許一個launch文件進行驗證:    當你在終端運行該指令時,會不斷彈出信息,當出現報錯時說明平臺搭建有問題。我在這個過程中出現gazebo運行異常的問題,因為之前使用的是gazebo5,別人建議下使用了gazebo7就沒有...

    hive 導出數據之一列多行,轉為一行多列

    需求:提取數據 說明:原數據是一列多行,需要轉化為一行多列 待查詢表為:temp_05 待查詢數據為: 待查詢數據如圖: 需要提取的數據表頭如下: 預定日期 昨日價格 前天價格 2018-02-01 2018-02-02 2018-02-03 2018-02-04 可用提數 SQL 數據如圖: 以下為嘗試過程 數據如圖: 數據如圖: 數據如圖: 數據如圖:...

    猜你喜歡

    asp.net做一個簡易的聊天室

    要求: 結果: 關鍵代碼: Default.aspx Default.aspx.cs Default2.aspx Default2.aspx.cs Default3.aspx Default3.aspx.cs Default4.aspx...

    動態SQL和多表關聯-筆記

    《動態SQL與多表關聯》筆記 學習目標 能夠使用動態SQL完成SQL拼接 能夠使用resultMap完成多表查詢 能夠使用一對一查詢 能夠使用一對多查詢 (注:多對多其實就是兩個一個多) 映射文件:為什么要resultMap 目標 定義結果映射 使用結果映射 回顧 在mybatis中有2種配置文件: 核心配置文件,如:sqlMapConfig.xml 實體類映射文件,如:UserMapper.xm...

    【OpenGL C++ UE4】獲取模型頂點及面索引數據,并優化存儲結構供UE4繪制

    目錄 一、功能需求 二、成果 三、環境配置 四、詳細步驟 4.1 Max制作三棱錐并處理 4.2 核心代碼 4.2.1 傳入結構體數據 4.2.2 頂點去重、更新索引 4.2.3 輸出本地CSV文件 4.3 UE4繪制 一、功能需求 想必你肯定會問我一個問題,UE4直接導入模型不好么? 哈哈,前提是在做畢設時,導師提供的只有頂點與面索引數據,沒有模型。 下文詳細介紹了畢設開發中的難點,涉...

    解決Pyinstaller打包numpy和pandas庫文件過大問題

    解決Pyinstaller壓縮numpy和pandas庫文件過大問題 文件包類型和網上的方法 Windows下docker的安裝 在docker下實現打包     今天是2021年的第一天,先祝各位小伙伴現年快樂哈。最近因為做了一個項目,需要打包文件,文件中包含了numpy和pandas庫,結果打包出來幾百行的代碼居然要900m,人都傻了,翻遍了全網找解決方...

    精品国产乱码久久久久久蜜桃不卡