【大疆無人機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串口問題以及可能遇到報錯問題參考上一篇博客中的解決方法,大同小異。
另可參考官網:
智能推薦
JavaWeb核心技術系列教程(29)——JSTL Core標簽庫
C語言自學完備手冊(33篇) Android多分辨率適配框架 JavaWeb核心技術系列教程 HTML5前端開發實戰系列教程 MySQL數據庫實操教程(35篇圖文版) 推翻自己和過往——自定義View系列教程(10篇) 走出思維困境,踏上精進之路——Android開發進階精華錄 講給Android程序員看的前端系列教程(40集免費****+源碼) 版...
HTML & CSS 學習總結
HTML & CSS 學習總結 1HTML 1.1HTML定義 HTML的全稱為超文本標記語言,是一種標記語言。它包括一系列標簽.通過這些標簽可以將網絡上的文檔格式統一,使分散的Internet資源連接為一個邏輯整體。HTML文本是由HTML命令組成的描述性文本,HTML命令可以說明文字,圖形、動畫、聲音、表格、鏈接等。 當然了這是比較官方的闡述,我自己的語言來解釋就是網頁設計語言里算是最...
Nginx怎么配置SSL證書
首先,你需要有一個域名和SSL證書,這里我使用的阿里云的免費SSL證書 登錄阿里云控制臺之后,搜索產品 ssl,選擇 SSL證書 這里會顯示你已經簽發的 SSL 證書,然后點擊 下載 這里選擇下載 Nginx 的 下載完成,解壓會出現一個 pem文件 和 key文件 然后進入你的服務器 nginx 目錄下,(我這里用的windows,linux操作同理) 在 nginx 目錄下新建一個 cert ...
爬蟲獲取代理IP并檢驗可用性與識別指紋
前段時間在做有關代理IP與路由器的學習,基于FreeBuf上feiniao的文章http://www.freebuf.com/articles/web/159172.html,自己總結并修改了部分代碼,實現了代理IP的爬取以及簡單的分析,在此將自己的動手過程簡單記錄下來。 代理IP能實現IP隱藏,通過大量獲取可用的代理IP,能夠實現反追蹤的滲...
2018第九屆藍橋杯省賽C/C++ B組題解
第一題: 第幾天 解析: 答案: 125 第二題: 明碼 解析: 參考代碼: 最后看到: 計算器算算就好了。 答案: 387420489 第三題: 乘積尾零 解析: 用高精度算法也可以: 答案: 31 第四題: 測試次數 解析: 方法一: dp 設在第n層樓還剩k個手機可以用的話,f(n, k)為在最壞的運氣下最多需要測試多少次能確定手機的耐摔指數。(注: n >= 0,k >= 1)...
猜你喜歡
卷積神經網絡計數流程圖_用神經網絡計數卡
卷積神經網絡計數流程圖 You can find my code on my Github here. 您可以在我的Github上找到我的代碼。 Here are the links to my previous posts on blackjack. I used a modified version of my old blackjack simulator (discussed in det...
SpringBoot 2.0 +SpringCloud 實現服務注冊與發現
1.創建 SpringBoot 項目 修改pom.xml 文件 添加springcloud依賴 2.在springboot 的程序啟動類加上 @EnableEurekaServer 注解 注:如果springboot 和對應的springcloud版本不一致,會導致@EnableEurekaServer 注解無法引用 3.配置文件 application.properties 啟動項目 訪問&nb...
windows基于Docker安裝并啟動Tomcat(解決404)
一、安裝Docker 下載地址https://www.docker.com/products/docker-desktop 如果下在太慢可直接從我的百度云轉存:鏈接:https://pan.baidu.com/s/1ycqU5PNus_q7FWVxynv-nw 提取碼:c2q0 復制這段內容后打開百度網盤手機App,操作更方便哦 按照默認方式完成安裝,系統要求win10 6...
Ubuntu 安裝與配置2018
1. 安裝系統 2. 設置root 用戶密碼: sudo passwd root ******** 3. 安裝GVIM: sudo add-apt-repository ppa:fcwu-tw/ppa sudo apt-get update sudo apt-get install vim sudo apt-get install vim-gtk //gtk gui 支持的vim,使用gvim啟動...