Обзор манипулятора myCobot 280 Pi с Python и визуальным программированием

myCobot 280 Pi — это универсальный роботизированный манипулятор с 6 степенями свободы. Он был разработан Elephant Robotics с использованием платы Raspberry Pi 4 в качестве основного контроллера. Робот компактен и обеспечивает стабильную работу, что делает его идеальным для ограниченного пространства. Его также можно запрограммировать на разных языках, он прост в использовании и предлагает множество функций. Он подходит для тех, кто интересуется программированием контроллера робота-манипулятора и для инженерных проектов.

Распаковка myCobot 280 Pi

myCobot 280 Pi имеет рабочий диапазон 280 мм, весит 850 грамм и может выдерживать полезную нагрузку до 250 грамм. Он приводится в действие 6 серводвигателями, по одному на каждую степень свободы, оснащен матричным светодиодным дисплеем 5 × 5 и поддерживает детали LEGO.

MyCobot 280, управляемый одноплатным компьютером Raspberry Pi 4, может быть подключен к камере для приложений обработки изображений, поддерживает подключение Ethernet и WiFi, имеет четыре порта USB и может быть подключен к дисплею через порт micro HDMI Raspberry Pi 4. Наконец, 40-контактный разъем GPIO также доступен для расширения с четкой маркировкой для каждого контакта, а на задней панели есть выключатель питания и цилиндрический разъем питания постоянного тока.

Слот для карты MicroSD расположен под роботом MyCobot 280 Pi.

Блок питания 100–240 В переменного тока с выходным напряжением 8,4 В постоянного тока и мощностью до 5 А (42 Вт) также входит в комплект поставки.

Другие аксессуары в комплекте myCobot включают:

  • myCobot-плоская база
  • 4x силиконовые присоски для надежного крепления основания к столу
  • Веб-камера myCobot
  • Комплект аспирационной помпы myCobot
  • Различные соединительные провода
  • Соединители LEGO

Как прикрепить плоскую опорную плиту к манипулятору myCobot 280 Pi

Плоское основание myCobot Pi и силиконовые присоски

Сборка проста. Просто вставьте присоски в монтажные отверстия в четырех углах и закрепите их с помощью пластиковой головки винта.

Вот так это выглядит в готовом виде.

Предусмотренные разъемы LEGO позволяют легко подключать аксессуары к роботу myCobot 280 Pi.

При необходимости вставьте несколько разъемов LEGO в пазы монтажной пластины.

Наконец, поместите роботизированную руку myCobot 280 Pi поверх основания, убедившись, что она совмещена с резьбой и разъемами LEGO. Теперь вы можете поставить робота на пол или стол и плотно прикрутить присоски, чтобы основание робота не двигалось во время работы. Лучше разместить его на гладкой поверхности, такой как стекло или мрамор.

Операционная система Ubuntu

myCobot 280 Pi поставляется с операционной системой Ubuntu Linux и может быть запрограммирован с помощью IDE визуального программирования myBlockly и/или Python в VSCode.

Python

myCobot 280 Pi программируется на Python, что добавляет возможность использовать камеру для обнаружения объектов и поддерживает библиотеку OpenCV для искусственного интеллекта, обработки изображений и машинного обучения.

ROS

Операционная система роботов (ROS) использует Rviz для имитации движения манипулятора робота и удаленного управления манипулятором через ROS.

Программирование робота MyCobot 280 Pi с помощью MyBlockly

MyBlockly — это инструмент визуальной разработки, использующий символы вместо команд. В этом блоке есть группа символов, включающая логику, циклы, математику, текст, списки, цвет, переменные, функции, а также функции для управления манипулятором и многое другое, так что есть все, что нам нужно, чтобы легко написать программу. Вы можете нажать «Выполнить» в правом углу, чтобы запустить программу. Давайте посмотрим на некоторые интересные команды.

Время в MyBlockly

Блок Sleep позволяет добавить задержку в секундах.

Raspi-GPIO

Этот набор блоков управляет GPIO (входами/выходами общего назначения). Он используется для установки любого из контактов GPIO Raspberry Pi в состояние HIGH или LOW в режиме вывода или для настройки их как входов.

ATOM IO

Этот набор блоков управляет светодиодной матрицей 5×5 манипулятора. Вы можете изменить значение данных RGB каждого светодиода (красный, синий, зеленый), а также использовать ШИМ-управление.

Цвет светодиодов будет меняться в зависимости от введенных нами данных.

Статус

Набор блоков, специфичных для робота MyCobot 280 Pi, в частности, для его включения или выключения, проверки рабочего состояния и отключения всех сервоприводов.

Модель MDI и работа

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

Модель JOG и работа

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

Состояние работы и настройки

Эти блоки могут устанавливать скорость механической руки и запрашивать текущую скорость, а также минимальный и максимальный углы конкретного сустава.

Определение угла наклона робота по каждой оси

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

Появится окно. Мы можем вручную отрегулировать угол манипулятора робота и нажать кнопку «Прочитать углы» в разделе «Быстрое перемещение». Значения будут автоматически введены в блок Set Angle.

Тест MyCobot 280 Pi на точность

Мы проверили точность движения робота myCobot 280 Pi и измерили точность +/– 5%. В тесте манипулятор робота переходит в цвет на бумаге, а светодиодный матричный дисплей меняет цвет, чтобы он соответствовал этому цвету, как вы можете видеть из видео ниже.

Всасывающий насос myCobot

Всасывающий насос, который может расширить возможности манипулятора myCobot 280 Pi, позволяя поднимать и перемещать объекты за счет всасывания. Максимальный вес предмета, поднимаемого с помощью аспиратора myCobot, составляет 250 грамм.

Особенности всасывающего насоса

  • Функция – всасывать предметы, чтобы поднимать и перемещать их
  • Максимальный вес поднимаемого объекта – 250 грамм.
  • Материалы – Фотополимер/нейлон 7100
  • Белый цвет
  • Размеры — 94 х 74 х 51 мм
  • Вес – 220 грамм

Установка аспирационного насоса myCobot на myCobot 280 Pi

Опять же, мы будем использовать соединители LEGO, чтобы присоединить всасывающий насос myCobot.

Вот и все. Аспирационный насос myCobot можно легко установить на myCobot 280 Pi с помощью разъемов LEGO.

Подключение аспирационного насоса к роботизированной руке

Нам все еще нужно подключить всасывающий насос к манипулятору. Это можно сделать, подключив четыре провода к разъему GPIO Raspberry Pi 4: 5V, GND, G2 (GPIO21), G5 и (GPIO22).

Мы будем использовать штыревые кабели Dupont, подключенные к разъему GPIO, а именно 5V, GND, G2, подключенные к GPIO21, и G5 к GPIO22.

Использование всасывающего насоса myCobot с myBlockly

Перейдем в меню Raspi-GPIO и выберем блок «Set Mode BCM» для работы с контактами 20 и 21 в качестве выходов (OUT) с помощью командных блоков Set pin.

Два набора блоков используются для управления аспирационным насосом myCobot.

  • Чтобы всасывающий насос работал, мы установим контакты 20 и 21 в положение HIGH.
  • Чтобы остановить это, мы установим оба контакта в LOW.

Это все, что нам нужно для включения и отключения аспирационного насоса myCobot.

Пробная работа по подъему и перемещению с помощью всасывающего насоса

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

Камера MyCobot 280

Камера легкая и может быть легко установлена ​​на манипуляторе за пару минут. Это в основном plug-and-play, а компактный дизайн означает, что вам не нужно беспокоиться о том, что он займет слишком много места. Цветная камера USB 2.0 работает с разрешением HD до 720p, предлагает широкий угол обзора и подходит для ряда приложений, таких как распознавание лиц, интеллектуальный экран, интеллектуальная экспресс-доставка, торговые автоматы, сканирование штрих-кода/QR-кода, контроль доступа, медицинское оборудование и так далее.

Установка myCobot SuctionPump и камеры myCobot 280 на myCobot 280 Pi

Теперь мы будем подключать камеру MyCobot 280 к аспирационному насосу myCobot, сначала вставив разъемы LEGO в аспирационный насос…

… прежде чем вставить его в камеру, к которой мы добавим дополнительные разъемы LEGO…

… чтобы установить его на роботизированную руку MyCobot 280 Pi.

Идеальный! Это не может быть проще.

Установка OpenCV и Numpy с помощью pip

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

OpenCV — это популярная библиотека для базовой обработки изображений, такой как размытие, смешивание, улучшение качества изображения, повышение качества видео, распознавание объектов, обнаружение лиц или объектов на изображениях и видео, а также цветоделение, которое мы будем использовать в этом проекте/обзоре.

Numpy — это модуль расширения Python с математическими функциями, которые обычно используются для манипулирования наборами данных (массивами) и матрицами.

Пороговое значение изображения

Пороговое значение — это один из методов отделения объекта от фонового изображения. Это работает путем получения серого изображения и преобразования его в двоичное изображение со значениями пикселей 0 (черный) или 255 (пока) с постоянным порогом, используемым для сортировки каждого пикселя изображения на черный или белый. Мы написали программу Python в VSCode, которая может обнаруживать объекты трех разных цветов. На следующем шаге программа попытается сначала найти красный объект, используя вход камеры. Для красного цвета были определены следующие нижний и верхний диапазоны: нижний R = np.array([142, 114, 181]) и верхний R = np.array([194, 255, 255])

В случае синих объектов мы будем использовать следующие значения: lowerB = np.array([83, 228, 206]) и upperB = np.array([106, 255, 255])

И, наконец, вот значения для зеленых объектов:

Пороговый пример кода в Python

Импортируются два модуля: cv2 для работы с изображениями и numpy для работы с массивами и матрицами.

Использование myCobot 280 Pi с конвейерной лентой для сортировки объектов (сортировка по цвету)

Мы заставим робота-манипулятора myCobot 280 Pi работать с конвейерной лентой для сортировки объектов разных цветов. Проект состоит из двух частей:

  • Конвейерная лента использует плату Arduino для управления двигателем, а программа/схема проверяет состояние датчика для измерения тормозного пути объекта в соответствии с положением ленты.
  • MyCobot 280 Pi определяет цвета с помощью порогового значения изображения, выбирает и перемещает красный, синий или зеленый объект в ведро того же цвета с помощью всасывающего насоса. Были установлены четыре позиции:
    1. Позиция красного ящика
    2. Позиция синего ящика
    3. Позиция зеленого ящика
    4. Исходное положение для обнаружения цветных объектов в месте, удобном для myCobot 280 Pi. Мы можем переместить манипулятор робота в это положение и прочитать значения из последовательного монитора и поместить полученные значения в программу, что является очень хорошей точкой для поиска различных положений.

Пример кода сортировки цветов myCobot 280 Pi

Библиотека MyCobot вызывается для управления манипулятором, библиотека RPi.GPIO используется для включения/отключения всасывающего насоса, библиотека cv2 используется для управления изображениями, а numpy — для управления массивами и матрицами.

Посмотрите видеоролики ниже, чтобы увидеть сортировку цветов myCobot 280 Pi в действии.

Нам хотелось бы поблагодарить компанию Elephant Robotics за присланный нам набор роботов myCobot 280 Pi с аксессуарами для ознакомления и игры.

MyCobot 280 Pi имеет гораздо больше функций. Он подходит для новичков в обучении робототехнике, а при стартовой цене 799 долларов его можно использовать для обучения от средней школы до университетского уровня. Роботизированная рука myCobot 280 Pi также может стать отличным способом научиться использовать роботов в промышленных целях. Как вы увидите из наших примеров выше, очень легко написать программы для чтения углов руки, и их также можно использовать для изучения прямой и обратной кинематики для управления роботом.

Если кому-то интересно, вы можете узнать больше и/или приобрести набор в магазине Elephant Robotics.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments