ROS2編程基礎課程--概述
- 2019 年 10 月 5 日
- 筆記
版權聲明:本文為部落客原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
文鏈接:https://blog.csdn.net/ZhangRelay/article/details/100772628
課程補充參考資料:https://download.csdn.net/download/zhangrelay/11751608
為什麼學習和研究ROS 2?
參考文獻:https://index.ros.org/doc/ros2/Marketing/
ROS 2(機器人作業系統2)是用於機器人應用的開源開發套件。ROS 2之目的是為各行各業的開發人員提供標準的軟體平台,從研究和原型設計再到部署和生產。 ROS 2建立在ROS 1的成功基礎之上,ROS 1目前已在世界各地的無數機器人應用中得到應用。
特色
- 縮短上市時間
ROS 2提供了開發應用程式所需的機器人工具,庫和功能,可以將時間花在對業務非常重要的工作上。因為它 是開源的,所以可以靈活地決定在何處以及如何使用ROS 2,以及根據實際的需求自由訂製,使用ROS 2 可以大幅度提升產品和演算法研發速度!
- 專為生產而設計
憑藉在建立ROS 1作為機器人研發的事實上的全球標準方面的十年經驗,ROS 2從一開始就被建立在工業級 基礎上並可用於生產,包括高可靠性和安全關鍵系統。 ROS 2的設計選擇、開發實踐和項目管理基於行業利 益相關者的要求。
- 多平台支援
ROS 2在Linux,Windows和macOS上得到支援和測試,允許無縫開發和部署機器人自動化,後端管理和 用戶介面。分層支援模型允許埠到新平台,例如實時和嵌入式作業系統,以便在獲得興趣和投資時引入和推 廣。
- 豐富的應用領域
與之前的ROS 1一樣,ROS 2可用於各種機器人應用,從室內到室外、從家庭到汽車、水下到太空、從消費 到工業。
- 沒有供應商鎖定
ROS 2建立在一個抽象層上,使機器人庫和應用程式與通訊技術隔離開來。抽象底層是通訊程式碼的多種實現, 包括開源和專有解決方案。在抽象頂層,核心庫和用戶應用程式是可移植的。
- 建立在開放標準之上
ROS 2中的默認通訊方法使用IDL、DDS和DDS-I RTPS等行業標準,這些標準已廣泛應用於從工廠到航空 航天的各種工業應用中。
- 開源許可證
ROS 2程式碼在Apache 2.0許可下獲得許可,在3條款(或「新」)BSD許可下使用移植的ROS 1程式碼。這兩個 許可證允許允許使用軟體,而不會影響用戶的知識產權。
- 全球社區
超過10年的ROS項目通過發展一個由數十萬開發人員和用戶組成的全球社區,為機器人技術創建了一個龐大 的生態系統,他們為這些軟體做出貢獻並進行了改進。 ROS 2由該社區開發並為該社區開發,他們將成為未 來的管理者。
- 行業支援
正如ROS 2技術指導委員會成員所證明的那樣,對ROS 2的行業支援很強。除了開發頂級產品外,來自世界 各地的大大小小公司都在投入資源為ROS 2做出開源貢獻。
- 與ROS1的互操作性
ROS 2包括到ROS 1的橋接器,處理兩個系統之間的雙向通訊。如果有一個現有的ROS 1應用程式, 可 以通過橋接器開始嘗試使用ROS 2,並根據要求和可用資源逐步移植應用程式。
ROS 2
Overview概述
- Installation 安裝
- Roadmap 路線圖
- Distributions 發行版
- Concepts 概念
- Features Status 功能狀態
- Tutorials 教程
- Troubleshooting 故障排除
- Contributing 貢獻
- Project Governance 項目管理
- Marketing Materials 市場資料
- Related Projects 相關項目
- Contact us 聯繫我們
- About this documentation 關於本文檔
The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it』s all open source.
機器人作業系統(ROS)是一組軟體庫和工具,用於協助開發機器人應用程式,從驅動程式到最先進的演算法,以及強大的開發人員工具。ROS為開發下一個機器人項目提供了所需的一切,而且它都是開源的。
Here you will find documentation on how to install and use software from ROS 2, which is a new version of ROS that is under heavy development. See below for more information on ROS 2. Also have a look at our promotional material.
這份文檔中將包含有關如何安裝和使用ROS 2(Dashing)軟體的資料,它是正在全力開發的一個新的ROS版本。有關ROS 2的更多資訊,請參考下文,或者請查看宣傳材料。
If you』re looking for information on ROS 1 (i.e., ROS as it has existed for several years and what you might be using right now), check the ROS website or the documentation wiki.
如果需要查閱有關ROS 1的資訊(即,已存在12年的ROS以及現在可能正在使用的ROS),請查看ROS網站或文檔維基。ROS 1 LTS包括indigo、kinetic和Melodic。ROS 2 LTS為Dashing發行版。
Before you proceed here, please read the features page to get an idea of what is in the current ROS 2 release.
在此之前,請先閱讀功能介紹的網頁了解當前ROS 2版本中的內容。
Releases 發行版
See the releases page. 請參考版本發行版介紹網頁。
Installation 安裝
See the installation page. 請參考安裝介紹網頁。
Tutorials and Features 教程和功能
ROS 2 is under heavy development. ROS 2正在快速發展。
You can check out the tutorials page to see a range of examples of what the system can do in its current state, if it fits your project today depending on the exact requirement.
查看教程內容的網頁了解一些關於系統在當前狀態下可以實現的功能,依據具體的要求決定它是否適合當前開發的工程案例。
For details of the current features, see features status page. 有關當前功能的詳細資訊,請參考功能狀態網頁。
If migrating code from ROS to ROS 2, check the migration guide.
如果將程式碼從ROS1遷移到ROS 2,請查看遷移指南網頁。
What』s ahead 事先說明
ROS 2 is currently planning to release new versions every six month (which is twice as often as ROS 1) to give the community members an opportunity to provide early feedback on the evolving system. See the Roadmap for details on the planned upcoming features for ROS 2.
ROS 2目前計劃每六個月發布一個新版本(這是ROS 1的兩倍),以便社區成員有機會提供有關正在開發系統的源源不斷的早期回饋。有關ROS 2計劃即將推出的功能的詳細資訊,請參考路線圖。
Contributing 貢獻
See the contributing page and the developer guide for details on how to contribute to ROS 2 developments.
有關如何為ROS 2開發做出貢獻的詳細資訊,請參考參與網頁和開發人員指南。
Governance 管理
See the governance page. 請參考管理網頁。
Marketing 市場
See the marketing page. 查看市場網頁。
Reporting problems and asking questions
報告並提出問題
See the contact page. 請參考聯繫網頁。
About ROS 2 關於ROS2
Since ROS was started in 2007, a lot has changed in the robotics and ROS community. The goal of the ROS 2 project is to adapt to these changes, leveraging what is great about ROS 1 and improving what isn』t. There』s a full article on the motivation of ROS 2 here.
自ROS於2007年啟動以來,機器人學和ROS社區發生了很多變化。ROS 2項目的目標是適應這些變化,利用ROS 1的優點和改進不足之處。關於ROS 2開發緣由的一篇完整文章在這裡點擊查看。
Where to find more information
哪裡可以找到更多資訊
There are various articles on the design of ROS 2 at design.ros2.org, such as: *Why ROS 2?*, *ROS on DDS*, and *Changes between ROS 1 and ROS 2*.
在design.ros2.org上有關於ROS 2設計的各種文章,例如:* 為什麼開發ROS 2?*,* 基於DDS的ROS *,以及* ROS 1和ROS 2之間的變化 *。
The code for ROS 2 is open source and broken into various repositories. You can find the code for most of the repositories on the ros2 github organization.
ROS 2的程式碼是開源的,並拆分為各種庫。在ros2 github組織網頁上找到大多數庫的源程式碼。
docs.ros2.org contains current details about ROS 2 internal design and organization.
網頁docs.ros2.org包含有關ROS 2內部設計和組織的最新詳細資訊。
awesome-ros2 is a 「cheat sheet」 style quick reference for ROS 2 packages and resources which will get (hopefully) listed on the curated list of awesome lists to help GitHub users to get to know ROS 2.
網頁awesome-ros2是ROS 2包和資源的「清單」式的快速參考指南,將(前景看好的資源)列在精選列表中,以幫助GitHub用戶了解ROS 2。
The following ROSCon talks have been given on ROS 2 and provide information about the workings of ROS 2 and various demos:
以下ROSCon將與ROS 2相關的討論和,介紹了ROS 2工作方式和非常的案例等資訊:
Title 標題 | Type 類型 | Links 鏈接 |
|---|---|---|
Hands-on ROS 2: A Walkthrough 一步一步實踐ROS 2 | ROSCon 2018 | slides / video |
Launch for ROS 2 ROS 2的Launch | ROSCon 2018 | slides / video |
The ROS 2 vision for advancing the future of robotics development ROS 2願景 - 推動未來機器人技術的發展 | ROSCon 2017 | slides / video |
ROS 2 Update - summary of alpha releases, architectural overview ROS 2更新 - alpha版本摘要、架構概述 | ROSCon 2016 | slides / video |
Evaluating the resilience of ROS2 communication layer 評估ROS 2通訊層的彈性 | ROSCon 2016 | slides / video |
State of ROS 2 - demos and the technology behind ROS 2的狀態 - 案例和背後的技術 | ROSCon 2015 | slides / video |
ROS 2 on 「small」 embedded systems 「小型」嵌入式系統上的ROS 2 | ROSCon 2015 | slides / video |
Real-time control in ROS and ROS 2 ROS 2和ROS中的實時控制 | ROSCon 2015 | slides / video |
Why you want to use ROS 2 為什麼要使用ROS 2 | ROSCon 2014 | slides / video |
Next-generation ROS: Building on DDS 下一代ROS:基於DDS編譯 | ROSCon 2014 | slides / video |