<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      SLAM+語音機器人DIY系列:(二)ROS入門——3.在ubuntu16.04中安裝ROS kinetic

      溫馨提示 

      本篇文章已經收錄在我最新出版的書籍《機器人SLAM導航核心技術與實戰》,感興趣的讀者可以購買紙質書籍來進行更加深入和系統性的學習,購買鏈接如下:

      摘要                                          

      ROS機器人操作系統在機器人應用領域很流行,依托代碼開源和模塊間協作等特性,給機器人開發者帶來了很大的方便。我們的機器人“miiboo”中的大部分程序也采用ROS進行開發,所以本文就重點對ROS基礎知識進行詳細的講解,給不熟悉ROS的朋友起到一個拋磚引玉的作用。本章節主要內容:

      1.ROS是什么

      2.ROS系統整體架構

      3.在ubuntu16.04中安裝ROS kinetic

      4.如何編寫ROS的第一個程序hello_world

      5.編寫簡單的消息發布器和訂閱器

      6.編寫簡單的service和client

      7.理解tf的原理

      8.理解roslaunch在大型項目中的作用

      9.熟練使用rviz

      10.在實際機器人上運行ROS高級功能預覽



      3.在ubuntu16.04中安裝ROS kinetic

      9安裝ROS軟硬件配置總結

      使用ROS進行機器人的學習和開發,一般需要一個機器人平臺和一個調試工作平臺。機器人平臺上出于性價比和功耗考慮一般采用ARM嵌入式板作為硬件設備,比如樹莓派3RK3399開發板、nvidia-jetson-tx2等;調試工作平臺一般采用x86個人電腦,比如筆記本電腦、臺式電腦等。ARM嵌入式板的廠家一般都會提供相應定制化的ubuntu系統,定制化主要體現在硬件外設驅動和一些加快系統速度的優化,作為軟件開發人員可以不必考慮這些問題直接當做普通ubuntu使用就行了,比如針對樹莓派3定制化的ubuntu-mate系統;x86個人電腦上的話就可以直接安裝ubuntu官方發布的系統就行了,你可以把ubuntu直接安裝在物理機上,這樣ubuntu運行會更加流暢,你也可以把ubuntu安裝在虛擬機上,這樣可以更方便的切換使用機器上原來的系統(如windows系統)和虛擬機上的ubuntu系統。不管是采用何種硬件,在硬件上以何種方式安裝上ubuntu及其定制化ubuntu,一旦我們擁有了一個可用的ubuntu系統,就可以在這個ubuntu系統上安裝當下流行的ROS發行版了(本文寫作時最流行的ROS發行版是ROS-kinetic)。安裝ROS軟硬件配置的總結,如圖9

      機器人平臺上安裝ROS軟硬件配置,推薦大家使用樹莓派3作為硬件,ubuntu-mate-16.04作為操作系統,安裝ROS-kinetic這個ROS發行版。這一部分的具體講解將在后續的文章中展開。

      調試工作平臺上安裝ROS軟硬件配置,推薦大家使用x86個人電腦(筆記本電腦、臺式電腦都可以)作為硬件,在虛擬機上運行ubuntu16.04系統,安裝ROS-kinetic這個ROS發行版。由于在虛擬機上安裝運行ubuntu16.04系統已經在前面的文章(一)Linux基礎——2.安裝Linux發行版ubuntu系統中詳細講解了,這里就默認我們已經擁有了一個運行在虛擬機上的ubuntu16.04系統了。接下來就著重講解如何安裝ROS發行版ROS-kinetic

      其實在ubuntu上安裝ROS,有很詳細的ROS官方教程,感興趣的朋友可以直接參考官方教程http://wiki.ros.org/kinetic/Installation/Ubuntu。由于官方教程用英文書寫,為了方便大家閱讀,我將官方教程翻譯過來,方便大家學習,下面正式進入安裝。溫馨提醒,由于不同的編輯器對過長的句子換行的規則不同,下面的命令被自動換行后可能影響正常的閱讀,請直接參閱官方教程中的命令http://wiki.ros.org/kinetic/Installation/Ubuntu

      1)配置ubuntu的資源庫

      系統設置->軟件和更新->Ubuntu軟件,可以打開如圖10中的資源庫配置界面,確保“universe”,“restricted”、“multiverse”被勾選了,“下載自”選項中選擇“中國的服務器”,這樣下載更新軟件速度會更快點。不過一般情況下,以上選項都是默認設置好了的。

      (圖10)資源庫配置界面

      2)設置ubuntusources.list

      打開命令行終端,輸入如下命令:

      sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

      (3)設置keys

      打開命令行終端,輸入如下命令:

      sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

      (4)安裝ros-kinetic-desktop-full完整版

      打開命令行終端,分別輸入如下兩條命令:

      sudo apt-get update
      
      sudo apt-get install ros-kinetic-desktop-full

      小技巧,如果安裝過程提示“下載錯誤”,請耐心重試上面的兩條命令,這個錯誤多半是由于網絡故障造成的。

      (5)初始化rosdep

      打開命令行終端,分別輸入如下兩條命令:

      sudo rosdep init
      
      rosdep update

      (6)配置環境變量

      打開命令行終端,分別輸入如下兩條命令:

      echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
      
      source ~/.bashrc

      (7)安裝rosinstall

      打開命令行終端,輸入如下命令:

      sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

      (8)測試ros安裝成功與否

      打開命令行終端,輸入如下命令:

      roscore

      如果此時出現以下內容

      setting /run_id to 4cb2a932-06c0-11e9-9ff2-000c2985f3ab
      process[rosout-1]: started with pid [38686]
      started core service [/rosout]

      那么恭喜你,ROS已經成功的安裝上了!!!

      后記                                        

      ------SLAM+語音機器人DIY系列【目錄】快速導覽------

      第1章:Linux基礎

      1.Linux簡介

      2.安裝Linux發行版ubuntu系統

      3.Linux命令行基礎操作

      第2章:ROS入門

      1.ROS是什么

      2.ROS系統整體架構

      3.在ubuntu16.04中安裝ROS kinetic

      4.如何編寫ROS的第一個程序hello_world

      5.編寫簡單的消息發布器和訂閱器

      6.編寫簡單的service和client

      7.理解tf的原理

      8.理解roslaunch在大型項目中的作用

      9.熟練使用rviz

      10.在實際機器人上運行ROS高級功能預覽

      第3章:感知與大腦

      1.ydlidar-x4激光雷達

      2.帶自校準九軸數據融合IMU慣性傳感器

      3.輪式里程計與運動控制

      4.音響麥克風與攝像頭

      5.機器人大腦嵌入式主板性能對比

      6.做一個能走路和對話的機器人

      第4章:差分底盤設計

      1.stm32主控硬件設計

      2.stm32主控軟件設計

      3.底盤通信協議

      4.底盤ROS驅動開發

      5.底盤PID控制參數整定

      6.底盤里程計標

      第5章:樹莓派3開發環境搭建

      1.安裝系統ubuntu_mate_16.04

      2.安裝ros-kinetic

      3.裝機后一些實用軟件安裝和系統設置

      4.PC端與robot端ROS網絡通信

      5.Android手機端與robot端ROS網絡通信

      6.樹莓派USB與tty串口號綁定

      7.開機自啟動ROS節點

      第6章:SLAM建圖與自主避障導航

      1.在機器人上使用傳感器

      2.google-cartographer機器人SLAM建圖

      3.ros-navigation機器人自主避障導航

      4.多目標點導航及任務調度

      5.機器人巡航與現場監控

      第7章:語音交互與自然語言處理

      1.語音交互相關技術

      2.機器人語音交互實現

      3.自然語言處理云計算引擎

      第8章:高階拓展

      1.miiboo機器人安卓手機APP開發

      2.centos7下部署Django(nginx+uwsgi+django+python3)

       


       

      參考文獻

       

      [1] 張虎,機器人SLAM導航核心技術與實戰[M]. 機械工業出版社,2022.

       

       

       

       

      前言
      編程基礎篇
      第1章 ROS入門必備知識
      1.1 ROS簡介 2
      1.1.1 ROS的性能特色 2
      1.1.2 ROS的發行版本 3
      1.1.3 ROS的學習方法 3
      1.2 ROS開發環境的搭建 3
      1.2.1 ROS的安裝 4
      1.2.2 ROS文件的組織方式 4
      1.2.3 ROS網絡通信配置 5
      1.2.4 集成開發工具 5
      1.3 ROS系統架構 5
      1.3.1 從計算圖視角理解ROS架構 6
      1.3.2 從文件系統視角理解ROS架構 7
      1.3.3 從開源社區視角理解ROS架構 8
      1.4 ROS調試工具 8
      1.4.1 命令行工具 9
      1.4.2 可視化工具 9
      1.5 ROS節點通信 10
      1.5.1 話題通信方式 12
      1.5.2 服務通信方式 15
      1.5.3 動作通信方式 19
      1.6 ROS的其他重要概念 25
      1.7 ROS 2.0展望 28
      1.8 本章小結 28
      第2章 C++編程范式
      2.1 C++工程的組織結構 29
      2.1.1 C++工程的一般組織結構 29
      2.1.2 C++工程在機器人中的組織結構 29
      2.2 C++代碼的編譯方法 30
      2.2.1 使用g++編譯代碼 31
      2.2.2 使用make編譯代碼 32
      2.2.3 使用CMake編譯代碼 32
      2.3 C++編程風格指南 33
      2.4 本章小結 34
      第3章 OpenCV圖像處理
      3.1 認識圖像數據 35
      3.1.1 獲取圖像數據 35
      3.1.2 訪問圖像數據 36
      3.2 圖像濾波 37
      3.2.1 線性濾波 37
      3.2.2 非線性濾波 38
      3.2.3 形態學濾波 39
      3.3 圖像變換 40
      3.3.1 射影變換 40
      3.3.2 霍夫變換 42
      3.3.3 邊緣檢測 42
      3.3.4 直方圖均衡 43
      3.4 圖像特征點提取 44
      3.4.1 SIFT特征點 44
      3.4.2 SURF特征點 50
      3.4.3 ORB特征點 52
      3.5 本章小結 54
      硬件基礎篇
      第4章 機器人傳感器
      4.1 慣性測量單元 56
      4.1.1 工作原理 56
      4.1.2 原始數據采集 60
      4.1.3 參數標定 65
      4.1.4 數據濾波 73
      4.1.5 姿態融合 75
      4.2 激光雷達 91
      4.2.1 工作原理 92
      4.2.2 性能參數 94
      4.2.3 數據處理 96
      4.3 相機 100
      4.3.1 單目相機 101
      4.3.2 雙目相機 107
      4.3.3 RGB-D相機 109
      4.4 帶編碼器的減速電機 111
      4.4.1 電機 111
      4.4.2 電機驅動電路 112
      4.4.3 電機控制主板 113
      4.4.4 輪式里程計 117
      4.5 本章小結 118
      第5章 機器人主機
      5.1 X86與ARM主機對比 119
      5.2 ARM主機樹莓派3B+ 120
      5.2.1 安裝Ubuntu MATE 18.04 120
      5.2.2 安裝ROS melodic 122
      5.2.3 裝機軟件與系統設置 122
      5.3 ARM主機RK3399 127
      5.4 ARM主機Jetson-tx2 128
      5.5 分布式架構主機 129
      5.5.1 ROS網絡通信 130
      5.5.2 機器人程序的遠程開發 130
      5.6 本章小結 131
      第6章 機器人底盤
      6.1 底盤運動學模型 132
      6.1.1 兩輪差速模型 132
      6.1.2 四輪差速模型 136
      6.1.3 阿克曼模型 140
      6.1.4 全向模型 144
      6.1.5 其他模型 148
      6.2 底盤性能指標 148
      6.2.1 載重能力 148
      6.2.2 動力性能 148
      6.2.3 控制精度 150
      6.2.4 里程計精度 150
      6.3 典型機器人底盤搭建 151
      6.3.1 底盤運動學模型選擇 152
      6.3.2 傳感器選擇 152
      6.3.3 主機選擇 153
      6.4 本章小結 155
      SLAM篇
      第7章 SLAM中的數學基礎
      7.1 SLAM發展簡史 158
      7.1.1 數據關聯、收斂和一致性 160
      7.1.2 SLAM的基本理論 161
      7.2 SLAM中的概率理論 163
      7.2.1 狀態估計問題 164
      7.2.2 概率運動模型 166
      7.2.3 概率觀測模型 171
      7.2.4 概率圖模型 173
      7.3 估計理論 182
      7.3.1 估計量的性質 182
      7.3.2 估計量的構建 183
      7.3.3 各估計量對比 190
      7.4 基于貝葉斯網絡的狀態估計 193
      7.4.1 貝葉斯估計 194
      7.4.2 參數化實現 196
      7.4.3 非參數化實現 202
      7.5 基于因子圖的狀態估計 206
      7.5.1 非線性最小二乘估計 206
      7.5.2 直接求解方法 206
      7.5.3 優化方法 208
      7.5.4 各優化方法對比 218
      7.5.5 常用優化工具 219
      7.6 典型SLAM算法 221
      7.7 本章小結 221
      第8章 激光SLAM系統
      8.1 Gmapping算法 223
      8.1.1 原理分析 223
      8.1.2 源碼解讀 228
      8.1.3 安裝與運行 233
      8.2 Cartographer算法 240
      8.2.1 原理分析 240
      8.2.2 源碼解讀 247
      8.2.3 安裝與運行 258
      8.3 LOAM算法 266
      8.3.1 原理分析 266
      8.3.2 源碼解讀 267
      8.3.3 安裝與運行 270
      8.4 本章小結 270
      第9章 視覺SLAM系統
      9.1 ORB-SLAM2算法 274
      9.1.1 原理分析 274
      9.1.2 源碼解讀 310
      9.1.3 安裝與運行 319
      9.1.4 拓展 327
      9.2 LSD-SLAM算法 329
      9.2.1 原理分析 329
      9.2.2 源碼解讀 334
      9.2.3 安裝與運行 337
      9.3 SVO算法 338
      9.3.1 原理分析 338
      9.3.2 源碼解讀 341
      9.4 本章小結 341
      第10章 其他SLAM系統
      10.1 RTABMAP算法 344
      10.1.1 原理分析 344
      10.1.2 源碼解讀 351
      10.1.3 安裝與運行 357
      10.2 VINS算法 362
      10.2.1 原理分析 364
      10.2.2 源碼解讀 373
      10.2.3 安裝與運行 376
      10.3 機器學習與SLAM 379
      10.3.1 機器學習 379
      10.3.2 CNN-SLAM算法 411
      10.3.3 DeepVO算法 413
      10.4 本章小結 414
      自主導航篇
      第11章 自主導航中的數學基礎
      11.1 自主導航 418
      11.2 環境感知 420
      11.2.1 實時定位 420
      11.2.2 環境建模 421
      11.2.3 語義理解 422
      11.3 路徑規劃 422
      11.3.1 常見的路徑規劃算法 423
      11.3.2 帶約束的路徑規劃算法 430
      11.3.3 覆蓋的路徑規劃算法 434
      11.4 運動控制 435
      11.4.1 基于PID的運動控制 437
      11.4.2 基于MPC的運動控制 438
      11.4.3 基于強化學習的運動控制 441
      11.5 強化學習與自主導航 442
      11.5.1 強化學習 443
      11.5.2 基于強化學習的自主導航 465
      11.6 本章小結 467
      第12章 典型自主導航系統
      12.1 ros-navigation導航系統 470
      12.1.1 原理分析 470
      12.1.2 源碼解讀 475
      12.1.3 安裝與運行 479
      12.1.4 路徑規劃改進 492
      12.1.5 環境探索 496
      12.2 riskrrt導航系統 498
      12.3 autoware導航系統 499
      12.4 導航系統面臨的一些挑戰 500
      12.5 本章小結 500
      第13章 機器人SLAM導航綜合實戰
      13.1 運行機器人上的傳感器 502
      13.1.1 運行底盤的ROS驅動 503
      13.1.2 運行激光雷達的ROS驅動 503
      13.1.3 運行IMU的ROS驅動 504
      13.1.4 運行相機的ROS驅動 504
      13.1.5 運行底盤的urdf模型 505
      13.1.6 傳感器一鍵啟動 506
      13.2 運行SLAM建圖功能 506
      13.2.1 運行激光SLAM建圖功能 507
      13.2.2 運行視覺SLAM建圖功能 508
      13.2.3 運行激光與視覺聯合建圖功能 508
      13.3 運行自主導航 509
      13.4 基于自主導航的應用 510
      13.5 本章小結 511
      附錄A Linux與SLAM性能優化的探討
      附錄B 習題
      posted @ 2019-02-16 01:07  小虎哥哥愛學習  閱讀(7059)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 精品中文人妻中文字幕| 少妇人妻无码专区视频| 色九九视频| 建湖县| 成熟妇女性成熟满足视频| 欧美高清一区三区在线专区 | 久久男人av资源网站| 成人动漫综合网| 成人av亚洲男人色丁香| 日本丰满熟妇videossexhd| 欧美喷潮最猛视频| 蜜臀午夜一区二区在线播放| 国产三级a三级三级| 四虎精品国产精品亚洲精| av中文字幕在线二区| 先锋影音男人av资源| 国产色无码精品视频免费| 色欲综合久久中文字幕网 | 你懂的一区二区福利视频| 亚洲日韩精品一区二区三区无码 | 国产精品一码在线播放| 九九热视频免费在线播放| 中文字幕av无码不卡| 巴马| а∨天堂一区中文字幕| 姐姐6电视剧在线观看| 亚洲日本精品一区二区| 日韩一区日韩二区日韩三区| 这里只有精品在线播放| 久久热这里这里只有精品| 377P欧洲日本亚洲大胆| 久久不见久久见免费影院www日本| 国产精品老熟女一区二区| 国产成人亚洲欧美二区综合| 四虎在线播放亚洲成人| 欧美老熟妇乱子伦牲交视频| 欧美乱强伦xxxx孕妇| 亚洲成在人线AV品善网好看| 国产精品熟女一区二区不卡| 高级艳妇交换俱乐部小说| 欧美精品18videosex性欧美|