建站優(yōu)化收費(fèi)石家莊抖音seo
1 序言
????????通過一個(gè)快速的背景教程,介紹項(xiàng)目范圍和安裝所需的所有內(nèi)容以及第一個(gè)運(yùn)行示例。
????????首先:什么是冰羚?
????????iceoryx是一個(gè)用于各種操作系統(tǒng)的進(jìn)程間通信(IPC)中間件(目前我們支持Linux、macOS、QNX、FreeBSD和Windows 10)。它起源于汽車行業(yè),在汽車行業(yè),當(dāng)涉及到駕駛員輔助或自動駕駛系統(tǒng)時(shí),必須在不同的進(jìn)程之間傳輸大量數(shù)據(jù)。然而,高效的通信機(jī)制也可以應(yīng)用于更廣泛的用例,例如在機(jī)器人或游戲開發(fā)領(lǐng)域。
????????iceoryx使用一種真正的零拷貝共享內(nèi)存方法,允許在沒有單個(gè)拷貝的情況下將數(shù)據(jù)從發(fā)布者傳輸?shù)接嗛喺摺_@確保了數(shù)據(jù)傳輸具有恒定的延遲constant latency,而不管有效負(fù)載的大小。有關(guān)更多信息,請查看1000字的iceoryx簡介。
????????中間件是一個(gè)混亂的術(shù)語,可能是全部,也可能什么都沒有。為了更好地了解這對iceoryx意味著什么,請看看我們的目標(biāo)和非目標(biāo)。
????????將非類型化的C++和C API想象成一個(gè)“管道”(“管道”在Git中定義,意思是低級)。我們自己并不使用“管道”API,而是使用類型化的C++API。通常的使用情況是,iceoryx作為高性能IPC傳輸層集成在一個(gè)更大的框架中,并具有額外的API層。這種“美瓷”API的一個(gè)例子是ROS 2。
????????您可以在上找到完整的API文檔🌐 https://iceoryx.io.
2 支持的平臺
????????自定義iceoryx平臺文章中描述了對新平臺的修改或添加。
Operating System 操作系統(tǒng) | Compiler 編譯器 | supports access rights for shared memory 支持共享內(nèi)存的訪問權(quán)限 | command line parsing 命令行解析 |
Linux | gcc/clang | yes | yes |
QNX | gcc | yes | yes |
MacOS | clang | no, not planned for implementation | yes |
Windows 10 | msvc | no, not planned for implementation | will be implemented |
FreeBSD (Unix) | clang | no, not planned for implementation | yes |
????????一般來說,unix平臺應(yīng)該使用iceoryx,但我們只在CI上測試FreeBSD。
3 Eclipse iceoryx在哪里使用?
Framework | Description |
ROS 2 | Eclipse iceoryx can be used inside the?Robot Operating System?with?rmw_iceoryx |
Eclipse eCAL | Open-source framework from?Continental AG?supporting pub/sub and various message protocols |
RTA-VRTE | AUTOSAR Adaptive Platform?software framework for vehicle computer from?ETAS GmbH |
Cyclone DDS | Performant and robust open-source DDS implementation maintained by?ZettaScale Technology |
Apex.Ida from Apex.AI | Safe and certified middleware for autonomous mobility systems from?Apex.AI |
AVIN AGNOSAR Adaptive Platform | AUTOSAR Adaptive Platform Product from AVIN Systems |
4 編譯和安裝
????????您可以在此處找到構(gòu)建和安裝指南。
5 例子
????????在你構(gòu)建了所有必要的東西之后,你可以繼續(xù)使用這些例子。
6 在Docker環(huán)境中構(gòu)建和運(yùn)行
????????如果你想避免在主機(jī)上安裝任何東西,但你已經(jīng)安裝了Docker,那么可以使用它來構(gòu)建和運(yùn)行iceoryx應(yīng)用程序。
????????有關(guān)如何做到這一點(diǎn)的信息,請參閱專用的README.md。
7 質(zhì)量水平和平臺
????????質(zhì)量級別為5到1+,其中1+是最高級別。
????????請參閱質(zhì)量聲明,了解根據(jù)ROS 2指南的質(zhì)量措施的詳細(xì)信息。
CMake project/target | Current Level | Target Level QNX | Target Level? |
iceoryx_hoofs | 2 | 1+ | 1 |
iceoryx_posh | 2 | 1+, 2 | 1 |
iceoryx_dust | 2 | 2 | 2 |
iceoryx_binding_c | 2 | 2 | 2 |
iceoryx_examples | 5 | 4 | 4 |
iceoryx_introspection | 5 | 4 | 4 |
iceoryx_meta | 5 | 5 | 5 |
7 計(jì)劃中的功能
????????了解PLANNED_features.md中即將推出的功能和項(xiàng)目范圍。
8 iceoryx實(shí)現(xiàn)的綁定和創(chuàng)新
Name | Description | Technologies |
iceoryx-rs | Rust binding for iceoryx | Rust |
iceoryx-automotive-soa | Binding for automotive frameworks like AUTOSAR Adaptive ara::com | C++ |
iceoryx-gateway-dds | Gateway for Cyclone DDS | DDS |
iceray | An iceoryx introspection client written in Rust | Rust |
Larry.Robotics | An iceoryx demonstrator for tinker, thinker and toddler | Demonstrator |