Робототехника с открытым исходным кодом

Ветка робототехники с открытым исходным кодом

Робот iCub с открытым исходным кодом, установленный на опорной раме. Высота робота составляет 104 см, а вес — около 22 кг.

Робототехника с открытым исходным кодом — это отрасль робототехники , где роботы разрабатываются с использованием аппаратного обеспечения с открытым исходным кодом и бесплатного программного обеспечения с открытым исходным кодом , публично обмениваясь чертежами , схемами и исходным кодом . Таким образом, она тесно связана с движением за открытый дизайн , движением создателей [1] и открытой наукой .

Требования

Робототехника с открытым исходным кодом означает, что информация об оборудовании легко распознается, так что другие могут легко перестроить его. В свою очередь, это требует, чтобы проектирование использовало только легкодоступные стандартные подкомпоненты и инструменты, а процесс сборки был подробно документирован, включая спецификацию материалов и подробные («стиль Ikea») пошаговые инструкции по сборке и тестированию. (Одного файла CAD недостаточно, так как он не показывает шаги для выполнения или тестирования сборки). Эти требования являются стандартными для оборудования с открытым исходным кодом в целом и формализованы различными лицензиями, сертификациями, особенно теми, которые определены рецензируемыми журналами HardwareX и Journal of Open Hardware .

Требования к лицензированию программного обеспечения такие же, как и для любого программного обеспечения с открытым исходным кодом . Но, кроме того, для того, чтобы программные компоненты имели практическое применение в реальных робототехнических системах, они должны быть совместимы с другим программным обеспечением, как правило, как определено некоторым стандартом сообщества промежуточного программного обеспечения робототехники .

Аппаратные системы

На сегодняшний день заявки включают:

Аппаратные подкомпоненты

Большинство определений оборудования с открытым исходным кодом позволяют использовать неоткрытые подкомпоненты в модульной конструкции , если они легкодоступны. Однако многие конструкции пытаются протолкнуть открытость в как можно большее количество подкомпонентов, с целью в конечном итоге достичь полностью открытых конструкций.

Открытые аппаратные средства с ручным управлением и их подкомпоненты, например, из Open Source Ecology , часто используются в качестве отправных точек и расширяются за счет систем автоматизации.

Открытые подкомпоненты могут включать в себя вычислительное оборудование с открытым исходным кодом в качестве подкомпонентов, например, Arduino и RISC-V , а также двигатели и драйверы с открытым исходным кодом, такие как Open Source Motor Controller и ODrive.

Роботы с открытым исходным кодом часто используются вместе с операционной системой Robot Operating System с открытым исходным кодом и различными симуляторами с открытым исходным кодом, такими как Gazebo , работающими на операционной системе Linux с открытым исходным кодом, поэтому они предназначены для взаимодействия с ней.

Программные подкомпоненты

Промежуточное ПО

Промежуточное программное обеспечение для робототехники — это программное обеспечение, которое связывает вместе несколько других программных компонентов. В робототехнике это, в частности, означает системы связи в реальном времени со стандартизированными протоколами передачи сообщений. Преобладающим промежуточным программным обеспечением с открытым исходным кодом является ROS2 , операционная система робота, теперь как версия 2. Другие альтернативы включают ROS1, YARP — используется в iCub , URBI и Orca .

Драйвер программного обеспечения

Большинству датчиков и приводов роботов требуются программные драйверы. На этом уровне существует небольшая стандартизация программного обеспечения с открытым исходным кодом, поскольку каждое аппаратное устройство отличается. Создание открытых драйверов для закрытого оборудования затруднено, поскольку требует как низкоуровневого программирования , так и обратного проектирования .

Программное обеспечение для моделирования

Симуляторы робототехники с открытым исходным кодом включают Gazebo , MuJoCo и Webots . Движки 3D-игр с открытым исходным кодом, такие как Godot, также иногда используются в качестве симуляторов, если они оснащены подходящими интерфейсами промежуточного программного обеспечения. [ необходима цитата ]

Программное обеспечение для автоматизации

На уровне ИИ многие стандартные алгоритмы имеют реализации программного обеспечения с открытым исходным кодом, в основном в ROS2 . Основные компоненты включают:

Сообщество

Первые признаки растущей популярности создания и обмена конструкциями роботов были обнаружены в сообществе DIY . То, что началось с небольших соревнований для дистанционно управляемых транспортных средств (например, Robot battle ), вскоре переросло в создание автономных роботов телеприсутствия , таких как Sparky, а затем и настоящих роботов (способных самостоятельно принимать решения) как Open Automaton Project. Несколько коммерческих компаний теперь также производят наборы для создания простых роботов.

Сообщество приняло лицензии на оборудование с открытым исходным кодом , сертификации и рецензируемые публикации, которые проверяют, что исходный код был сделан правильно и постоянно доступен в соответствии с определениями сообщества, и которые подтверждают, что это было сделано. Эти процессы стали критически важными из-за многих исторических проектов, которые заявляли о себе как о проектах с открытым исходным кодом, но затем отказывались от обещания из-за коммерциализации или других давлений.

Как и в случае с другими формами оборудования с открытым исходным кодом , сообщество продолжает обсуждать точные критерии «простоты сборки». Распространенный стандарт заключается в том, что проекты должны быть доступны для сборки студентом технического университета за несколько дней с использованием типичных инструментов fablab , но определения всех этих подтерминов также могут быть предметом споров.

По сравнению с другими формами открытого исходного кода оборудования , робототехника с открытым исходным кодом обычно включает в себя большой программный элемент, поэтому вовлекает как программистов, так и инженеров по оборудованию. Концепции открытого исходного кода более устоялись в открытом исходном коде программного обеспечения , чем в оборудовании, поэтому робототехника является областью, в которой эти концепции могут быть общими и переноситься из программного обеспечения в оборудование.

В то время как сообщество робототехники с открытым исходным кодом многогранно и включает в себя широкий спектр специалистов, значительное подсообщество использует промежуточное программное обеспечение ROS и ежегодно встречается на конференции ROSCon [19] для обсуждения разработки самой ROS и компонентов автоматизации, созданных на ее основе.

Ссылки

  1. ^ Гибб, Алисия (2015). Создание оборудования с открытым исходным кодом: самостоятельное производство для хакеров и производителей . Нью-Йорк: Addison-Wesley. С.  253–277 . ISBN 978-0-321-90604-5.
  2. ^ Тай, Альберт; и др., и др. (2021). «PARA: роботизированная рука с открытым исходным кодом, досягаемостью один метр, полезной нагрузкой два кг, тремя степенями свободы и настраиваемым конечным эффектором». HardwareX . 10 (209): e00209. doi :10.1016/j.ohx.2021.e00209. PMC 9123426 . PMID  35607683. 
  3. ^ Манзур, Сара; и др., и др. (2014). «Шарнирная роботизированная образовательная платформа с открытым исходным кодом и несколькими степенями свободы для автономного манипулирования объектами». Робототехника и компьютерно-интегрированное производство . 30 (3): 351– 362. doi :10.1016/j.rcim.2013.11.003.
  4. ^ "Роботизированная рука с открытым исходным кодом Thor" . Получено 20 октября 2024 г. .
  5. ^ Картер, Сэм; Цагкопулос, Николаос; Клоусон, Гарри; Фокс, Чарльз (2023). «OpenScout: Аппаратный мобильный робот с открытым исходным кодом». Журнал открытого аппаратного обеспечения . 7 (1). doi : 10.5334/joh.54 .
  6. ^ Гриммингер, Ф.; Медури, А.; и др. (2020). «Открытая архитектура модульного робота с управлением крутящим моментом для исследования передвижения на ногах». IEEE Robotics and Automation Letters . 5 (2): 3650– 3657. arXiv : 1910.00093 . doi : 10.1109/LRA.2020.2976639. S2CID  203610542.
  7. ^ Фён, Филипп; Кауфманн, Элия; Ромеро, Энджел; Пеника, Роберт; Сан, Сихао; Бауэрсфельд, Леонард; Лэнгле, Томас; Чоффи, Джованни; Сонг, Юньлун; Локерчио, Антонио; Скарамуцца, Давиде (22 июня 2022 г.). «Agilicious: гибкий квадрокоптер с открытым исходным кодом и открытым аппаратным обеспечением для полета на основе зрения». Science Robotics . 7 (67): eabl6259. arXiv : 2307.06100 . doi :10.1126/scirobotics.abl6259. ISSN  2470-9476. PMID  35731886. S2CID  249955269.
  8. ^ Камара, Фанта; Уолтем, Крис; Черчилль, Грей; Фокс, Чарльз (2023). «OpenPodcar: транспортное средство с открытым исходным кодом для исследований беспилотных автомобилей». Журнал открытого аппаратного обеспечения . 7 (1). arXiv : 2205.04454 . doi : 10.5334/joh.46 .
  9. ^ Ван ден Берг, Сандер; Шарфф, Роб; Русак, Золтан; Ву, Джун (2022). «OpenFish: биомиметический дизайн мягкой роботизированной рыбы для высокоскоростного передвижения». Hardware X . 12 : e00320. arXiv : 2108.12285 . doi : 10.1016/j.ohx.2022.e00320 . PMC 9178345 . PMID  35694325. 
  10. ^ Фаина, Андрес; Неджати, Брайан; Стой, Каспер (2020). «Evobot: модульный робот с открытым исходным кодом для работы с жидкостями для научных экспериментов». Прикладные науки . 10 (3): 814. doi : 10.3390/app10030814 .
  11. ^ Wichitwechkarn, Vijja; Fox, Charles (2023). «MACARONS: модульная и открытая система автоматизации для вертикального земледелия». Journal of Open Hardware . 7 (1). arXiv : 2210.04975 . doi : 10.5334/joh.53 .
  12. ^ Старкс, Майкл и др. (2023). «HeRoSwarm: полнофункциональная конструкция оборудования для миниатюрного роевого робота с поддержкой Open-Source ROS». Международный симпозиум IEEE/SICE по системной интеграции (SII) 2023 г. стр.  1–7 . arXiv : 2211.03014 . doi :10.1109/SII55687.2023.10039174. ISBN 979-8-3503-9868-7. S2CID  253384613.
  13. ^ "Робот для уборки пола". GitHub . Получено 13 сентября 2024 г. .
  14. ^ "Open Mower". GitHub . Получено 13 сентября 2024 г. .
  15. ^ "Открытые сборки Battlebots".
  16. ^ "f1tenth".
  17. ^ Врохиду, Элени; Маниос, Михаил; Папакостас, Джордж А.; Айтсидис, Харалабос Н.; Панайотопулос, Фотис (сентябрь 2018 г.). «Робототехника с открытым исходным кодом: исследование существующих платформ и их применение в образовании». 2018 26-я Международная конференция по программному обеспечению, телекоммуникациям и компьютерным сетям (SoftCOM) . стр.  1– 6. doi :10.23919/SOFTCOM.2018.8555860. ISBN 978-9-5329-0087-3. S2CID  54438146.
  18. ^ Дженсен, Остин М.; Морган, Дэниел; Чен, Янкуан; Клеменс, Шеннон; Харди, Томас (1 января 2009 г.). «Использование нескольких недорогих беспилотных летательных аппаратов (БПЛА) с открытым исходным кодом для 3D-фотограмметрии и распределенного измерения ветра». Том 3: Международная конференция ASME/IEEE 2009 по мехатронным и встраиваемым системам и приложениям; 20-я конференция по надежности, анализу напряжений и предотвращению отказов . стр.  629– 634. doi :10.1115/DETC2009-87586. ISBN 978-0-7918-4900-2.
  19. ^ "ROSCon" . Получено 20 октября 2024 г. .
Взято с "https://en.wikipedia.org/w/index.php?title=Open-source_robotics&oldid=1259475194"