Строка 8: |
Строка 8: |
| Это был ответ на отсутствие<ref>По мнению разработчика UAVCAN.</ref> адекватных технологий, которые могли бы облегчить надежный обмен данными внутри транспортного средства в режиме реального времени между распределенными компонентами современных интеллектуальных транспортных средств (в первую очередь беспилотных летательных аппаратов)<ref>{{Cite web|url=https://groups.google.com/forum/#!topic/drones-discuss/DMjfnaWViUw|title=Drones discuss {{!}} UAVCAN - CAN bus for UAV|website=groups.google.com/forum/#!topic/drones-discuss|access-date=2020-02-27}}</ref>. | | Это был ответ на отсутствие<ref>По мнению разработчика UAVCAN.</ref> адекватных технологий, которые могли бы облегчить надежный обмен данными внутри транспортного средства в режиме реального времени между распределенными компонентами современных интеллектуальных транспортных средств (в первую очередь беспилотных летательных аппаратов)<ref>{{Cite web|url=https://groups.google.com/forum/#!topic/drones-discuss/DMjfnaWViUw|title=Drones discuss {{!}} UAVCAN - CAN bus for UAV|website=groups.google.com/forum/#!topic/drones-discuss|access-date=2020-02-27}}</ref>. |
| | | |
− | Со времени первоначального RFC протокол претерпел три основные итерации разработки, кульминацией которых стал выпуск первой долгосрочной стабильной версии в 2020 году (6 лет спустя) под названием [[UAVCAN]] v1.0. Тем временем протокол был использован в многочисленных разнообразных системах, включая беспилотные летательные аппараты<ref>{{cite thesis|last=Meier|first=Lorenz|date=2017|title=Dynamic Robot Architecture for Robust Realtime Computer Vision|publisher=ETH Zurich|doi=10.3929/ethz-a-010874068}}</ref><ref>{{Cite web|url=https://ardupilot.org/dev/docs/can-bus.html|title=ArduPilot Developer {{!}} CAN bus and UAVCAN protocol|website=ardupilot.org|access-date=2020-02-27}}</ref>, космические корабли<ref>{{cite thesis|last1=Losekamm|first1=Martin|last2=Milde|first2=Michael|last3=Poschl|first3=Thomas|last4=Greenwald|first4=David|last5=Paul|first5=Stephan|title=AIAA Space 2016|date=2016|chapter=Real-Time Omnidirectional Radiation Monitoring on Spacecraft|type=paper|doi=10.2514/6.2016-5532|isbn=978-1-62410-427-5}}</ref>, подводные роботы<ref>{{cite book|doi=10.1109/OCEANSE.2019.8867392|first3=Nils|pages=1–7|first6=Ignacio|last6=Torroba Balmori|first5=Carl|last5=Ljung|first4=Josefine|last4=Severholt|last3=Bore|isbn=978-1-7281-1450-7|first2=Ivan|last2=Stenius|first1=Sriharsha|last1=Bhat|year=2019|title=OCEANS 2019 - Marseille|chapter=Towards a Cyber-Physical System for Hydrobatic AUVs|s2cid=204700489}}</ref>, гоночные автомобили<ref>{{Cite web|url=http://robotek.no/filer/dokumenter/Revolve-NTNU.pdf|title=Archived copy|access-date=2020-02-28|archive-date=2020-02-28|archive-url=https://web.archive.org/web/20200228140659/http://robotek.no/filer/dokumenter/Revolve-NTNU.pdf}}</ref>, робототехнические системы общего назначения<ref name="GitHub">{{Cite web|url=https://github.com/MonashUAS/canros|title=GitHub - MonashUAS/Canros: UAVCAN to ROS interface|website=[[GitHub]]|date=5 April 2022}}</ref> и транспортные средства, обеспечивающие микромобильность<ref>{{cite web|url=https://www.electric-skateboard.builders/t/all-new-2019-vesc-tool-release/83619|title=All new 2019 VESC-Tool release|date=8 February 2019}}</ref>. В 2022 году протокол был переименован в Cyphal<ref name=":02">{{Cite web|date=2022-03-25|title=UAVCAN v1 is now Cyphal|url=https://forum.opencyphal.org/t/uavcan-v1-is-now-cyphal/1622|access-date=2022-10-13|website=OpenCyphal Forum}}</ref>. | + | Со времени первоначального RFC протокол претерпел три основные итерации разработки, кульминацией которых стал выпуск первой долгосрочной стабильной версии в 2020 году (6 лет спустя) под названием [[UAVCAN]] v1.0. Тем временем протокол был использован в многочисленных разнообразных системах, включая беспилотные летательные аппараты<ref>{{cite thesis|last=Meier|first=Lorenz|date=2017|title=Dynamic Robot Architecture for Robust Realtime Computer Vision|publisher=ETH Zurich|doi=10.3929/ethz-a-010874068}}</ref><ref>{{Cite web|url=https://ardupilot.org/dev/docs/can-bus.html|title=ArduPilot Developer {{!}} CAN bus and UAVCAN protocol|website=ardupilot.org|access-date=2020-02-27}}</ref>, космические аппараты<ref>{{cite thesis|last1=Losekamm|first1=Martin|last2=Milde|first2=Michael|last3=Poschl|first3=Thomas|last4=Greenwald|first4=David|last5=Paul|first5=Stephan|title=AIAA Space 2016|date=2016|chapter=Real-Time Omnidirectional Radiation Monitoring on Spacecraft|type=paper|doi=10.2514/6.2016-5532|isbn=978-1-62410-427-5}}</ref>, подводные роботы<ref>{{cite book|doi=10.1109/OCEANSE.2019.8867392|first3=Nils|pages=1–7|first6=Ignacio|last6=Torroba Balmori|first5=Carl|last5=Ljung|first4=Josefine|last4=Severholt|last3=Bore|isbn=978-1-7281-1450-7|first2=Ivan|last2=Stenius|first1=Sriharsha|last1=Bhat|year=2019|title=OCEANS 2019 - Marseille|chapter=Towards a Cyber-Physical System for Hydrobatic AUVs|s2cid=204700489}}</ref>, гоночные автомобили<ref>{{Cite web|url=http://robotek.no/filer/dokumenter/Revolve-NTNU.pdf|title=Archived copy|access-date=2020-02-28|archive-date=2020-02-28|archive-url=https://web.archive.org/web/20200228140659/http://robotek.no/filer/dokumenter/Revolve-NTNU.pdf}}</ref>, робототехнические системы общего назначения<ref name="GitHub">{{Cite web|url=https://github.com/MonashUAS/canros|title=GitHub - MonashUAS/Canros: UAVCAN to ROS interface|website=[[GitHub]]|date=5 April 2022}}</ref> и транспортные средства, обеспечивающие микромобильность<ref>{{cite web|url=https://www.electric-skateboard.builders/t/all-new-2019-vesc-tool-release/83619|title=All new 2019 VESC-Tool release|date=8 February 2019}}</ref>. В 2022 году протокол был переименован в Cyphal<ref name=":02">{{Cite web|date=2022-03-25|title=UAVCAN v1 is now Cyphal|url=https://forum.opencyphal.org/t/uavcan-v1-is-now-cyphal/1622|access-date=2022-10-13|website=OpenCyphal Forum}}</ref>. |
| | | |
− | Cyphal позиционируется разработчиками как в высшей степени детерминированная, ориентированная на безопасность альтернатива высокоуровневым платформам публикации-подписки, таким как [[DDS]] или [[граф вычислений ROS,]] которая достаточно компактна и проста, чтобы ее можно было использовать в глубоко встроенных приложениях с высокой степенью целостности<ref name="forum.opencyphal.org">{{cite web|url=https://forum.opencyphal.org/t/uavcan-a-highly-dependable-publish-subscribe-protocol-for-real-time-intravehicular-networking/557|title=UAVCAN: A highly dependable publish-subscribe protocol for real-time intravehicular networking|date=2 July 2019}}</ref>. Было показано, что Cyphal можно использовать с микроконтроллерами из чистого металла, оснащенными всего лишь 32 КБ ПЗУ и 8 КБ ОЗУ<ref>{{cite web|url=https://diydrones.com/profiles/blogs/new-opengrab-epm-v3-for-uav-cargo-holding|title=New OpenGrab EPM V3 for UAV cargo holding|date=4 December 2015}}</ref>. | + | Cyphal позиционируется разработчиками как в высшей степени детерминированная, ориентированная на безопасность альтернатива высокоуровневым платформам публикации-подписки, таким как [[DDS]] или [[граф вычислений ROS,]] которая достаточно компактна и проста, чтобы ее можно было использовать в глубоко встроенных приложениях с высокой степенью целостности<ref name="forum.opencyphal.org">{{cite web|url=https://forum.opencyphal.org/t/uavcan-a-highly-dependable-publish-subscribe-protocol-for-real-time-intravehicular-networking/557|title=UAVCAN: A highly dependable publish-subscribe protocol for real-time intravehicular networking|date=2 July 2019}}</ref>. Было показано, что Cyphal можно использовать с микроконтроллерами без операционной системы, оснащенными всего лишь 32 КБ ПЗУ и 8 КБ ОЗУ<ref>{{cite web|url=https://diydrones.com/profiles/blogs/new-opengrab-epm-v3-for-uav-cargo-holding|title=New OpenGrab EPM V3 for UAV cargo holding|date=4 December 2015}}</ref>. |
| | | |
| Протокол открыт и может свободно использоваться без одобрения или лицензионных сборов. Разработка основного стандарта и его эталонных реализаций ведется открытым способом и координируется посредством общественного дискуссионного форума<ref>https://forum.opencyphal.org/</ref>. По состоянию на 2020 год проект поддерживается несколькими крупными организациями, включая [[NXP Semiconductors]]<ref>{{cite web|url=https://community.nxp.com/docs/DOC-345215|title=NXP Semiconductors is pleased to support UAVCAN V1.0|date=9 December 2019}}</ref> и [[Dronecode Project]]<ref>{{Cite web|url=https://www.dronecode.org/projects/|title=Dronecode {{!}} Leading open-source components for UAVs|website=www.dronecode.org|access-date=2020-02-27}}</ref>. | | Протокол открыт и может свободно использоваться без одобрения или лицензионных сборов. Разработка основного стандарта и его эталонных реализаций ведется открытым способом и координируется посредством общественного дискуссионного форума<ref>https://forum.opencyphal.org/</ref>. По состоянию на 2020 год проект поддерживается несколькими крупными организациями, включая [[NXP Semiconductors]]<ref>{{cite web|url=https://community.nxp.com/docs/DOC-345215|title=NXP Semiconductors is pleased to support UAVCAN V1.0|date=9 December 2019}}</ref> и [[Dronecode Project]]<ref>{{Cite web|url=https://www.dronecode.org/projects/|title=Dronecode {{!}} Leading open-source components for UAVs|website=www.dronecode.org|access-date=2020-02-27}}</ref>. |
| | | |
| '''История Cyphal в контексте других протоколов, связанных с последовательной шиной:''' | | '''История Cyphal в контексте других протоколов, связанных с последовательной шиной:''' |
| + | |
| [[Файл:History_of_Serial_Protocols.png|1200px]] | | [[Файл:History_of_Serial_Protocols.png|1200px]] |
| | | |
Строка 62: |
Строка 63: |
| Этот подход позволяет любому узлу начать работу сразу после подключения к сети без дополнительных процедур инициализации и обеспечивает взаимодействие приложений с высокой общей степенью целостности системы. | | Этот подход позволяет любому узлу начать работу сразу после подключения к сети без дополнительных процедур инициализации и обеспечивает взаимодействие приложений с высокой общей степенью целостности системы. |
| | | |
− | Протокол состоит из двух четко разделенных основных компонентов: | + | Протокол состоит из двух четко разделенных основных компонентов: транспортный уровень, который работает поверх надежных автомобильных сетей, таких как Ethernet или CAN FD, и уровень независимого от транспорта представления (сериализации), основанный на так называемом языке описания структуры данных - (Data Structure Description Language, DSDL). |
− | | |
− | транспортный уровень, который работает поверх надежных автомобильных сетей, таких как Ethernet или CAN FD, и уровень независимого от транспорта представления (сериализации), основанный на так называемом языке описания структуры данных - (Data Structure Description Language, DSDL). | |
| | | |
| Было показано, что протокол можно реализовать менее чем в 1000 логических строк кода. | | Было показано, что протокол можно реализовать менее чем в 1000 логических строк кода. |