備註

您正在閱讀 ROS 2 的舊版但仍然受支援的文件。對於最新版本的資訊,請參見 Lyrical

Alpha

這是先前分開的 ROS 2 的 8 個 Alpha 發行版頁面的合併版本。

我們希望您能試用它們並 提供回饋

ROS 2 alpha8 發布(代號 Hook-and-Loop;2016 年 10 月)

支援的 DDS 供應商變更

ROS 2 supports multiple middleware implementations (see this page for more details). Until Alpha 8, ROS 2 was supporting ROS middleware implementations for eProsima's Fast RTPS, RTI's Connext and PrismTech's OpenSplice. To streamline our efforts, as of Alpha 8, Fast RTPS and Connext (static) will be supported, with Fast RTPS (now Apache 2.0-licensed) shipped as the default.

範圍

正如「alpha」這個限定詞所暗示的,此 ROS 2 版本距離完成還很遠。您不應期望從 ROS 1 切換到 ROS 2,也不應期望使用 ROS 2 構建新的機器人控制系統。相反地,您應該嘗試一些示範、探索程式碼,或許還可以編寫自己的示範。

此發行版包含的改進有:

  • 對 Fast RTPS 及其 rmw 實作的多項改進

    • 在 Fast RTPS 中支援大型(影像)訊息

    • Fast RTPS 中的 wait_for_service 功能

  • 在 Python 和 C 中支援所有 ROS 2 訊息類型

  • 在 Python 中新增對服務品質 (QoS) 設定的支援

  • 修復了上一個 Alpha 發行版中的多個錯誤

以上未列出的內容幾乎不包含在此版本中。下一步計劃請參閱 路線圖

ROS 2 alpha7 發布(代號 Glue Gun;2016 年 7 月)

需要新版本的 Ubuntu

Until Alpha 6 ROS 2 was targeting Ubuntu Trusty Tahr (14.04). As of this Alpha ROS 2 is targeting Ubuntu Xenial Xerus (16.04) to benefit from newer versions of the compiler, CMake, Python, etc.

範圍

正如「alpha」這個限定詞所暗示的,此 ROS 2 版本距離完成還很遠。您不應期望從 ROS 1 切換到 ROS 2,也不應期望使用 ROS 2 構建新的機器人控制系統。相反地,您應該嘗試一些示範、探索程式碼,或許還可以編寫自己的示範。

The major features included in this release are:

  • Graph API 功能:wait_for_service

    • Added interfaces in rclcpp and make use of them in examples, demos, and tests

  • Improved support for large messages in both Connext and Fast-RTPS (partial for Fast-RTPS)

  • 使用從 ROS 1 移植程式碼的 Turtlebot 示範

以上未列出的內容幾乎不包含在此版本中。下一步計劃請參閱 路線圖

ROS 2 alpha6 發布(代號 Fastener;2016 年 6 月)

範圍

正如「alpha」這個限定詞所暗示的,此 ROS 2 版本距離完成還很遠。您不應期望從 ROS 1 切換到 ROS 2,也不應期望使用 ROS 2 構建新的機器人控制系統。相反地,您應該嘗試一些示範、探索程式碼,或許還可以編寫自己的示範。

The major features included in this release are:

  • Graph API 功能:wait_for_service

    • 為節點新增圖形守衛條件,用於等待圖形變更

    • Added rmw_service_server_is_available for verifying if a service is available

  • 重構 rclcpp 以使用 rcl

  • 改進了 Python 中對複雜訊息類型的支援

    • 巢狀訊息

    • 陣列

    • 字串

以上未列出的內容幾乎不包含在此版本中。下一步計劃請參閱 路線圖

ROS 2 alpha5 發布(代號 Epoxy;2016 年 4 月)

範圍

正如「alpha」這個限定詞所暗示的,此 ROS 2 版本距離完成還很遠。您不應期望從 ROS 1 切換到 ROS 2,也不應期望使用 ROS 2 構建新的機器人控制系統。相反地,您應該嘗試一些示範、探索程式碼,或許還可以編寫自己的示範。

The major features included in this release are:

  • Support for C data structures in Fast RTPS and Connext Dynamic rmw implementations.

  • 在 C 中支援服務。

  • 新增 32 位元和 64 位元 ARM 作為實驗性支援平台。

以上未列出的內容幾乎不包含在此版本中。下一步計劃請參閱 路線圖

ROS 2 alpha4 發布(代號 Duct tape;2016 年 2 月)

背景

設計文章 所述,我們正在開發一個名為「ROS 2」的 ROS 新主要版本。雖然底層概念(例如發布/訂閱訊息傳遞)和目標(例如靈活性和可重用性)與 ROS 1 相同,我們藉此機會對系統進行重大變更,包括更改一些核心 API。如需深入了解這些變更及其原理,請參閱其他 ROS 2 設計文章

狀態

於 2016 年 2 月 17 日,我們發布了 ROS 2 alpha4,代號 Duct tape。此版本的主要目標是增加更多功能,同時回應我們收到的對先前版本的回饋。為此,我們構建了一組 示範,展示了 ROS 2 的一些關鍵功能。我們鼓勵您試用這些示範、查看實作它們的程式碼,並 提供回饋。我們特別想了解我們在多大程度上滿足了對您重要的使用案例。

目標受眾

雖然歡迎所有人試用示範並瀏覽程式碼,但此版本的目標對象是已經具備 ROS 1 開發經驗的人員。目前,ROS 2 的文件還相當稀少,系統的大部分內容是透過與 ROS 1 的比較來說明。

範圍

正如「alpha」這個限定詞所暗示的,此 ROS 2 版本距離完成還很遠。您不應期望從 ROS 1 切換到 ROS 2,也不應期望使用 ROS 2 構建新的機器人控制系統。相反地,您應該嘗試一些示範、探索程式碼,或許還可以編寫自己的示範。

The major features included in this release are:

  • 改進類型支援基礎設施,包括對 C 的支援

  • Preliminary Python client library, only publishers and subscriptions are supported. Beware, the API is subject to change and is far from complete!

  • 在 C API 中新增 ROS 時間結構(仍需 C++ API)

    • New concept of extensible "time sources" for ROS Time, the default time source will be like ROS 1 (implementation pending)

以上未列出的內容幾乎不包含在此版本中。下一步計劃請參閱 路線圖

ROS 2 alpha3 發布(代號 Cement;2015 年 12 月)

背景

設計文章 所述,我們正在開發一個名為「ROS 2」的 ROS 新主要版本。雖然底層概念(例如發布/訂閱訊息傳遞)和目標(例如靈活性和可重用性)與 ROS 1 相同,我們藉此機會對系統進行重大變更,包括更改一些核心 API。如需深入了解這些變更及其原理,請參閱其他 ROS 2 設計文章

狀態

於 2015 年 12 月 18 日,我們發布了 ROS 2 alpha3,代號 Cement。此版本的主要目標是增加更多功能,同時回應我們收到的對先前版本的回饋。為此,我們構建了一組 示範,展示了 ROS 2 的一些關鍵功能。我們鼓勵您試用這些示範、查看實作它們的程式碼,並 提供回饋。我們特別想了解我們在多大程度上滿足了對您重要的使用案例。

目標受眾

雖然歡迎所有人試用示範並瀏覽程式碼,但此版本的目標對象是已經具備 ROS 1 開發經驗的人員。目前,ROS 2 的文件還相當稀少,系統的大部分內容是透過與 ROS 1 的比較來說明。

範圍

正如「alpha」這個限定詞所暗示的,此 ROS 2 版本距離完成還很遠。您不應期望從 ROS 1 切換到 ROS 2,也不應期望使用 ROS 2 構建新的機器人控制系統。相反地,您應該嘗試一些示範、探索程式碼,或許還可以編寫自己的示範。

The major features included in this release are:

  • 更新了 rcl 介面。

    • 此介面將被封裝以建立語言繫結,例如 rclpy

    • 此介面比我們目前現有的介面(例如 rmwrclcpp)具有更好的文件和測試覆蓋率。

    • 請參閱 rcl 標頭檔

  • 在 rclcpp 中新增對使用 TLSF(兩級分離適配)分配器的支援,這是一種針對嵌入式與即時系統的記憶體分配器設計。

  • 提升了 MultiThreadedExecutor 的效率,並修復了多執行緒執行的多個錯誤,現已在 CI 上進行測試。

  • 新增了從 spin 中呼叫的回呼內取消 Executor 的能力。

  • Added ability for a timer to cancel itself by supporting a Timer callback that accepts a reference to itself as a function parameter.

  • 新增檢查以防止多個執行緒進入 Executor::spin。

  • 提升了多個之前偶發性失敗的測試的可靠性。

  • Added support for using Fast RTPS (instead of, e.g., OpenSplice or Connext).

  • A partial port of tf2 including the core libraries and core command line tools.

以上未列出的內容幾乎不包含在此版本中。下一步計劃請參閱 路線圖

ROS 2 alpha2 發布(代號 Baling wire;2015 年 10 月)

背景

設計文章 所述,我們正在開發一個名為「ROS 2」的 ROS 新主要版本。雖然底層概念(例如發布/訂閱訊息傳遞)和目標(例如靈活性和可重用性)與 ROS 1 相同,我們藉此機會對系統進行重大變更,包括更改一些核心 API。如需深入了解這些變更及其原理,請參閱其他 ROS 2 設計文章

狀態

於 2015 年 11 月 3 日,我們發布了 ROS 2 alpha2,代號 Baling wire。此版本的主要目標是增加更多功能,同時回應我們收到的對先前 alpha 1 版本的回饋。為此,我們構建了一組 示範,展示了 ROS 2 的一些關鍵功能。我們鼓勵您試用這些示範、查看實作它們的程式碼,並 提供回饋。我們特別想了解我們在多大程度上滿足了對您重要的使用案例。

目標受眾

雖然歡迎所有人試用示範並瀏覽程式碼,但此版本的目標對象是已經具備 ROS 1 開發經驗的人員。目前,ROS 2 的文件還相當稀少,系統的大部分內容是透過與 ROS 1 的比較來說明。

範圍

正如「alpha」這個限定詞所暗示的,此 ROS 2 版本距離完成還很遠。您不應期望從 ROS 1 切換到 ROS 2,也不應期望使用 ROS 2 構建新的機器人控制系統。相反地,您應該嘗試一些示範、探索程式碼,或許還可以編寫自己的示範。

The major features included in this release are:

  • 在 rclcpp 中支援自訂分配器,適用於即時訊息傳遞

  • Feature parity of Windows with Linux/OSX, including workspace management, services and parameters

  • rclcpp API 改進

  • FreeRTPS 改進

以上未列出的內容幾乎不包含在此版本中。下一步計劃請參閱 路線圖

ROS 2 alpha1 發布(代號 Anchor;2015 年 8 月)

背景

設計文章 所述,我們正在開發一個名為「ROS 2」的 ROS 新主要版本。雖然底層概念(例如發布/訂閱訊息傳遞)和目標(例如靈活性和可重用性)與 ROS 1 相同,我們藉此機會對系統進行重大變更,包括更改一些核心 API。如需深入了解這些變更及其原理,請參閱其他 ROS 2 設計文章

狀態

於 2015 年 8 月 31 日,我們發布了 ROS 2 alpha1,代號 Anchor。此版本的主要目標是讓您有機會了解 ROS 2 的運作方式,特別是它與 ROS 1 的不同之處。為此,我們構建了一組 示範,展示了 ROS 2 的一些關鍵功能。我們鼓勵您試用這些示範、查看實作它們的程式碼,並 提供回饋。我們特別想了解我們在多大程度上滿足了對您重要的使用案例。

目標受眾

雖然歡迎所有人試用示範並瀏覽程式碼,但此版本的目標對象是已經具備 ROS 1 開發經驗的人員。目前,ROS 2 的文件還相當稀少,系統的大部分內容是透過與 ROS 1 的比較來說明。

範圍

正如「alpha」這個限定詞所暗示的,此 ROS 2 版本距離完成還很遠。您不應期望從 ROS 1 切換到 ROS 2,也不應期望使用 ROS 2 構建新的機器人控制系統。相反地,您應該嘗試一些示範、探索程式碼,或許還可以編寫自己的示範。

The major features included in this release are:

以上未列出的內容幾乎不包含在此版本中。下一步計劃請參閱 路線圖