Стартовый комплект робототехники AMD Xilinx KR260: Рекомендованная розничная цена 349 долларов США. AMD Xilinx обновляет рынок промышленной робототехники с KR260, доступным стартовым комплектом, который включает в себя множество операций ввода-вывода. |
|||
|
|
Прошлым летом мы познакомились со стартовым комплектом KV260 Vision AI от AMD Xilinx, который сочетал в себе систему K26 System-on-a-Module (SoM) компании с дочерней платой с большим количеством операций ввода-вывода для ИИ распознавания изображений. В то время мы обнаружили, что опыт был немного грубым по краям. Тем не менее, было легко увидеть, что установка была многообещающей благодаря мощной FPGA, прочной основе хороших инструментов разработки и большому количеству операций ввода-вывода. В то время также был недавно анонсирован стартовый комплект робототехники KR260, но он будет доступен только позже.
Что ж, этот день настал. KR260 использует тот же K26 SoM, что и KV260, но все операции ввода-вывода камеры заменены на сетевые контроллеры и входы датчиков. На этот раз основное внимание уделяется промышленной робототехнике, что немного усложняет нашу работу. Благодаря распознаванию изображений в KV260 и очаровательным гидам на основе искусственного интеллекта, как мы видели в комплекте разработчика Jetson AGX Orin от NVIDIA, преимущества очевидны и их легко продемонстрировать. С KR260 приложения столь же практичны и, возможно, даже более важны для нашей повседневной жизни, но, возможно, не так наглядны.
Мы, конечно, вернемся к этому в свое время, но сначала давайте проведем экскурсию по нашему сегодняшнему участнику…
Стартовый комплект для робототехники AMD Xilinx KR260
Как мы уже говорили ранее, звездой шоу является SoM K26, основанный на архитектуре AMD Xilinx Zynq UltraScale+. Спецификации здесь не сильно изменились; он по-прежнему имеет те же 256 000 программируемых логических ячеек с более чем 1,4 TOPS вычислительной мощности. Однако на этот раз мы должны сосредоточиться на другом наборе операций ввода-вывода. Наряду со всеми интерфейсами камеры и USB IO, о которых мы упоминали ранее, также имеется до 40 гигабит Ethernet-подключений, разделенных на четыре стороны. Четырехъядерный кластер Arm Cortex A53 и 4 ГБ памяти DDR4 также присутствуют, но, как и прежде, они в основном предназначены для того, чтобы указывать FPGA, что делать, а не быть основным процессором.
Когда мы доберемся до дочерней платы, вы увидите, что KR260 сильно отличается от своего брата. На одном краю мы находим порт SFP+, который может принимать адаптер Ethernet 10 Гбит/с. Рядом с ним мы находим четыре 12-контактных интерфейса Pmod, которые используются для подключения датчиков. Производство чувствительных компонентов требует контролируемой среды, и в сочетании с набором датчиков температуры и влажности KR260 может быть весьма полезным контроллером. Также имеется стандартный порт micro-USB для таких вещей, как связь COM-порта с хостом (типично для встраиваемых систем), который также служит разъемом USB JTAG. На верхнем краю есть даже разъем GPIO, совместимый с Raspberry Pi.
С другой стороны мы видим четыре порта RJ-45, подключенных к четырем контроллерам Gigabit Ethernet. Два из этих портов являются портами Industrial Ethernet, которые будут важны, когда мы начнем говорить о сети промышленных роботов на заводе. Промышленный Ethernet поддерживает дополнительный прикладной уровень, который помогает системам синхронизироваться с невероятно точной синхронизацией — то, что мы можем проверить с помощью осциллографа. Другие контроллеры Ethernet по-прежнему полезны для таких вещей, как подключение к внутренней сети и связь с Интернетом.
На задней кромке платы также находятся четыре разъема USB 3.0 и выход DisplayPort, оба из которых необходимы, если вы хотите использовать KR260 в автономной среде разработки, а не подключать его к ПК с Linux, на котором запущена разработка AMD Xilinx Vitis. среда и цепочка инструментов. Также имеется стандартный цилиндрический разъем для прилагаемого адаптера питания 12 В. На задней панели платы находится слот для карты micro SD, используемый для запуска встроенного дистрибутива Linux.
Выбор в дистрибутивах Linux почти такой же, как и в KV260: Petalinux Embedded или Ubuntu 22.04 LTS Desktop. Однако, в отличие от нашего опыта работы с KV260, все наши обзорные устройства KR260 поставлялись с последней прошивкой из коробки, готовой для последнего образа Ubuntu. В результате начать работу было так же просто, как загрузить образ Ubuntu и использовать balenaEtcher для записи образа на прилагаемую SD-карту. Вставьте SD-карту и подключите необходимые кабели, и мы отправимся в гонки.
Xilinx KR260: многоузловая робототехника реального времени
Подумайте на мгновение об автоматизированной (или даже полуавтоматической) фабрике. Часто есть десятки движущихся частей, роботизированные руки, которые перемещают детали, другие руки, которые паяют компоненты поверхностного монтажа, упаковки и так далее. Время, необходимое для синхронизации всех этих операций и их максимально быстрого выполнения, может быть довольно сложным для размышлений. Если рука, перемещающая платы из паяльной станции, перемещается слишком быстро, в то время как другой робот устанавливает компоненты, вы внезапно получаете испорченные детали и сгоревшие печатные платы. Или если рука тянется за деталью другого робота, а ее там нет, то вдруг по окружающей среде разбросаны вполне годные детали.
Как и все остальное, это требует времени, и, вероятно, неудивительно, что это одна часть программного обеспечения и одна часть аппаратного обеспечения. Что касается аппаратного обеспечения, материнская плата KR260 имеет пару портов Industrial Ethernet, которые могут блокировать синхронизацию и обеспечивать отсутствие джиттера при доставке кадров, что обеспечивает синхронизацию всего. С другой стороны, за обработку этих пакетов отвечает программное обеспечение. Протокол 802.1AS, более известный как сеть, зависящая от времени, используется для блокировки синхронизации времени между разными клиентами. Если бы на каждой плате был только один из них, этого было бы достаточно, но вам потребуются дорогие чувствительные к времени переключатели, которые также реализуют этот протокол.
Но с двумя портами на каждом KR260 можно построить очень точную сеть со всеми клиентами в идеальной синхронизации без какого-либо дополнительного оборудования, кроме портов Gigabit Ethernet и FPGA K26 SoM. Помните, что KR260, как и предшествующий KV260, работает под управлением дистрибутива Linux, будь то Petalinux или Ubuntu. Работая поверх Linux, программная часть нашей сети робототехники опирается на операционную систему роботов версии 2, более известную как ROS 2.
ROS 2 — это набор библиотек, используемых для создания приложений для робототехники. AMD Xilinx предоставляет несколько приложений-ускорителей, построенных на этом фундаменте, включая приложение TSN, которое мы собираемся изучить. Multi-Node TSN Accelerator программирует логику FPGA, необходимую для синхронизации всех различных роботов, высвобождая другие ресурсы K26 SoM для фактического управления фабрикой.
AMD Xilinx сообщила нам, что в время на РОСКоне В октябре прошлого года был большой интерес к синхронизации нескольких функций, чтобы завод работал на полную мощность, а продукты не попадали в мусорные баки из-за рассинхронизации узлов. К счастью, компания пришла подготовленной, так как в разработке было программное обеспечение, позволяющее упростить эту задачу.
Почему так важно работать в сети, чувствительной ко времени
По мере того, как AMD Xilinx знакомила нас со своей историей TSN и многоузловой коммуникацией, стало очевидным, что для того, чтобы фабрика работала с максимальной эффективностью, сложное время, необходимое для поддержания всего в движении, не может остановиться и ждать, пока все узлы подтвердят команду и пусть работает. Вместо этого каждая часть оборудования должна синхронизироваться, как марширующий оркестр, выступающий в перерыве между таймами на игре в чашу колледжа.
По сути, TSN — это интернет вещей в большом масштабе. IoT может быть немного ругательным словом в потребительском пространстве, поскольку устройства перестают поддерживаться и имеют неисправленные уязвимости или невольно шпионят за своими пользователями. Однако на промышленном уровне все узлы должны иметь возможность общаться друг с другом. Это буквально Интернет вещей, который опирается на синхронизацию и мониторинг, чтобы поддерживать движение промышленного комплекса.
Чувствительная ко времени часть имени TSN делает его полезным и для множества других вариантов использования, от управления информационно-развлекательными устройствами вашего автомобиля и функциями безопасности до распределенного мониторинга для контроля окружающей среды. AMD Xilinx была в авангарде такого рода вещей в течение многих лет, и интересно оглянуться назад. презентация 2017 года и посмотрите, сколько из того, что предсказывала компания (Xilinx в то время), будет тенденцией, и сколько из этого осуществилось в последнее время.
Опыт разработки стартового комплекта робототехники KR260
Как мы уже упоминали, стартовый комплект AMD Xilinx KR260 Robotics Starter Kit может работать с парой дистрибутивов Linux. Однако, несмотря на существование Ubuntu Desktop, не принимайте его за отдельную коробку разработчика. Это устройство предназначено для разработки встраиваемых систем через USB-кабель и на выделенном ПК с Linux. Все инструменты разработки, такие как Vitis, предназначены для работы на хост-компьютере. Затем этот хост Linux подключается к KR260 через COM-порты USB для программирования SoM. Это означает, что рабочий процесс KR260 знаком тем, кто привык работать с другими встроенными платформами, такими как серия Terasic DE10, которую вы можете найти в сборке MiSTer.
Чтобы было ясно, это обычный рабочий процесс, который разработчики встраиваемых систем используют с незапамятных времен. Однако мы не думаем, что встроенное пространство будет таким всегда и навсегда, как продемонстрировал комплект разработчика Jetson AGX Orin от NVIDIA. Тем не менее, это инструмент за 2000 долларов с гораздо более высоким энергопотреблением и дополнительными ресурсами, поэтому не совсем справедливо сравнивать его с KR260 за 349 долларов. Однако мы думаем, что студенты, в частности, захотят иметь возможность кодирования непосредственно на устройстве, а не в обычном цикле кода, компиляции и передачи новых сборок по сети.