Руководство · Средний · 30 мин
Сила сервопривода в захвате: заклинивание и податливость
Сервопривод задаёт положение, а объект — силу: жёсткость определяет преобразование, и при жёстких пальцах допустимый диапазон уже одного шага сервопривода.
Это задача единиц, а не настройки
Вся сложность захвата на сервоприводах для любителей укладывается в две строки:
- Объект реагирует на силу. Ниже нижнего предела он выпадает, выше верхнего — разрушается.
- Сервопривод принимает положение.
writeMicroseconds(1300)соответствует углу, и сервопривод удерживает этот угол, прикладывая необходимые усилия.
Это разные величины, а преобразует их последовательная жёсткость всей цепи от рычага сервопривода до объекта — рычага, пальца, накладки и самого объекта. Если жёсткость этой цепи равна k, то перемещение пальцев на Δc за пределы первого контакта создаёт
N = k · Δc
а допустимый диапазон сил, выраженный в единицах перемещения, которые можно задать, равен
Δc_window = ( F_ceiling − F_floor ) / k
Все положения этой страницы следуют из одного уравнения, включая причину, по которой более жёсткий и качественно напечатанный палец делает захват хуже.
Что сервопривод действительно может разрешить
Рабочее разрешение любительского сервопривода составляет примерно один градус после учёта мёртвой зоны, люфта редуктора и квантования источника импульсов. Этот градус превращается в перемещение пальцев через плечо силы L:
step = L · (π/180)
| Плечо силы | Перемещение пальцев за шаг | Сила заклинивания SG90 | Непрерывная сила (≈70%) |
|---|---|---|---|
| 12 mm | 0.209 mm | 14.67 N | 10.27 N |
| 20 mm | 0.349 mm | 8.80 N | 6.16 N |
| 30 mm | 0.524 mm | 5.87 N | 4.11 N |
| 45 mm | 0.785 mm | 3.91 N | 2.74 N |
| 60 mm | 1.047 mm | 2.93 N | 2.05 N |
Обратите внимание на два важных обстоятельства. Короткое плечо силы обеспечивает одновременно большую силу и более высокое разрешение — по обоим параметрам, важным для захвата. Цена этого — диапазон: перемещение пальцев при повороте рычага на θ равно L·θ, поэтому плечо 12 mm при повороте на 120° обеспечивает раскрытие 25 mm и не позволяет обхватить бутылку диаметром 65 mm.
Плечо силы выбирают по самому широкому объекту, который необходимо поднять, а сила и разрешение получаются как следствие. Если одновременно нужны диапазон и сила, для этого служат тяга или кинематическая схема.
Второй важный момент: PCA9685 с 12 битами обеспечивает разрешение команды примерно 0.09°, которое может показаться достаточным для решения проблемы, но это не так. Граница задаётся мёртвой зоной и редуктором сервопривода, а не источником импульсов. Более точные команды дают более плавное движение, а не более высокую точность силы — та же закономерность, что и при микрошагах, повышающих разрешение следования, а не точность.
Измеренный диапазон сил
Теперь объединим обе части. Возьмём клубнику: 15 g, μ 0.6, предел разрушения около 3 N и SG90 с плечом 30 mm, создающим 4.11 N непрерывно. При подъёме на 250 mm за 0.9 s нижний предел по скольжению равен 0.29 N, а верхний — min(3, 4.11) = 3 N, поэтому диапазон сил равен 2.71 N. Разделив его на жёсткость, получим:
| Палец | k | Диапазон | По сравнению с шагом 0.524 mm | Рабочие положения сервопривода |
|---|---|---|---|---|
| Жёсткий напечатанный палец из PLA | 25 N/mm | 0.108 mm | В 5× раз уже | 0 |
| Жёсткий палец с пенной накладкой | 4 N/mm | 0.677 mm | Немного шире | 1 |
| Пружина, включённая последовательно с пальцем | 0.8 N/mm | 3.386 mm | В 6× раз шире | 7 |
| Напечатанный упругий палец | 0.35 N/mm | 7.739 mm | В 15× раз шире | 15 |
Диапазон изменяется точно как 1/k. Двадцать пять, делённое на тридцать пять сотых, даёт семьдесят один, и 7.739 / 0.108 — тоже семьдесят один. Здесь нет приблизительности: перетаскивая ползунок жёсткости в симуляторе захвата, можно наблюдать, как два значения изменяются согласованно друг с другом.
Ниже одного шага сервопривода не существует рабочего положения. Это не «сложно настроить» — значение команды, попадающее в диапазон, просто не существует, и никакая прошивка его не обеспечит. Это самое полезное знание, которое стоится получить перед печатью пальца.
Почему тогда работают жёсткие захваты?
Потому что они вообще не попадают в диапазон. Они перелетают его и останавливаются, зафиксированные на собственной границе силы сервопривода, и это работает, только пока граница случайно находится ниже предела разрушения объекта.
Прогоните объекты в симуляторе с жёстким пальцем, и столбец «рабочие положения» будет равен нулю для каждого из них — тем не менее четыре из шести удерживаются вполне надёжно:
| Объект | Предел разрушения | Что происходит с жёсткими пальцами |
|---|---|---|
| Деревянный блок | 500 N | Удерживается — сервопривод зафиксирован на 4.11 N |
| Болт M6 | 2000 N | Удерживается — сервопривод зафиксирован |
| Куриное яйцо | 30 N | Удерживается — сервопривод зафиксирован |
| Бутылка PET | 8 N | Удерживается — сервопривод зафиксирован |
| Бумажный стакан | 4 N | Раздавлен |
| Клубника | 3 N | Раздавлена |
Сервопривод работает как муфта, которую вы не проектировали и не можете настроить. Она удерживается на значении τ·0.7/L, и всё, что слабее, разрушается.
Это действительно контринтуитивное следствие: установка более крупного сервопривода делает захват хуже. Переместите ползунок момента заклинивания от SG90 к MG996R, и случайная муфта поднимется выше предела разрушения яйца — теперь вы разбиваете и яйца. Увеличение момента почти так же часто является неверным ответом на вопрос «он роняет предметы», как и правильным.
Цена удержания при заклинивании
Сервопривод, зафиксированный против объекта, находится в состоянии заклинивания. Он не вращается, поэтому не создаёт механической мощности, и вся потребляемая обмоткой энергия превращается в тепло.
- SG90 при заклинивании и 4.8 V потребляет примерно 650–750 mA. При 70% момента заклинивания через двигатель без обдува и в пластиковом корпусе всё ещё проходит около 0.49 A.
- Сервоприводы нагреваются за десятки секунд и выходят из строя за минуты. Обычный симптом — сервопривод работает, затем слабеет и начинает дрожать, затем гудит и не делает ничего.
- Дешёвый стабилизатор 5 V, питающий несколько таких сервоприводов, создаст просадку питания, которая перезагрузит микроконтроллер посреди захвата.
Что исправляет это, примерно по возрастанию стоимости:
- Не удерживайте то, что не требуется удерживать. Откройте захват сразу после установки детали. Самая распространённая ошибка — конечный автомат, который оставляет пальцы закрытыми на пустом захвате на весь обратный путь.
- После захвата уменьшите усилие. Сначала плотно закройте пальцы, затем уменьшите команду на один-два шага. При последовательной податливости большая часть силы сохранится; без неё сила исчезнет полностью, что служит ещё одним доводом в пользу податливости.
- Питайте сервопривод от отдельного источника, а не от стабилизатора платы, и разместите рядом конденсатор на несколько сотен µF.
- Для длительного удержания добавьте механический фиксатор или рычажную схему с самофиксацией за предельным углом. Так поступают промышленные захваты, и механизм потребляет нулевой ток.
- После минуты удержания измерьте температуру корпуса пальцем. Тёплый корпус допустим. Если палец нельзя удержать на корпусе, остаётся примерно неделя работы.
Создание податливости
Податливость одновременно исправляет обе проблемы: расширяет диапазон и выводит сервопривод из режима заклинивания. Есть четыре способа получить её, от самого дешёвого:
Пенная накладка или TPU (k ≈ 4 N/mm)
Наклейте пену EVA или напечатайте накладку из TPU толщиной 3–4 mm. Это ничего не стоит, выполняется за пять минут и переводит решение из нуля рабочих положений примерно в одно. Это работоспособное минимальное исправление, но для хрупких деталей его недостаточно.
Последовательная удлинительная пружина (k ≈ 0.8 N/mm)
Разместите пружину между рычагом сервопривода и пальцем, добавив паз и штифт, чтобы механизм мог компенсировать ход. Теперь сервопривод задаёт прогиб пружины, то есть фактически силу с реальным допуском. Это последовательный упругий исполнительный механизм, собранный из компонента стоимостью 40p и лучшее по соотношению цены и результата изменение во всём захвате.
Правила проектирования: выберите пружину, рабочий прогиб которой охватывает ваш диапазон в несколько миллиметров, слегка создайте натяжение, чтобы при первом контакте не было мёртвой зоны, и добавьте жёсткий упор, чтобы аварийная команда не могла свести витки пружины и передать через механизм полный момент заклинивания.
Напечатанный упругий палец (k ≈ 0.35 N/mm)
Палец с намеренно тонким участком, который изгибается. При печати ничего не стоит, дополнительные детали не нужны, а диапазон самый широкий из четырёх. Печатайте из PETG или нейлона, а не из PLA: PLA подвержен ползучести при постоянной нагрузке, и за несколько недель удержания деталей упругий элемент примет остаточную деформацию.
Толщина имеет решающее значение: жёсткость изгибающейся балки пропорциональна кубу толщины, поэтому 2 mm против 1.5 mm дают коэффициент 2.4. Напечатайте полоску для испытания, подвесьте известные грузы, измерьте прогиб, и через десять минут получите k. В симулятор следует вносить именно измеренное значение, а не предустановленное.
Пальцы fin-ray
Весь палец представляет собой ферму, которая обхватывает объект при нагружении. Это одновременно обеспечивает податливость и частичное геометрическое замыкание, поэтому такие пальцы стали основным решением для любительских захватов неправильных объектов. Их сложнее моделировать: эффективная жёсткость изменяется по мере обхвата, поэтому значение следует измерить, а не вычислять.
Чем обходится податливость
Она не бесплатна, и о компромиссе следует сказать прямо:
- Точность положения объекта. Деталь оказывается там, куда её поместила податливость, а не там, куда вы задали команду. Если деталь необходимо установить с точностью 0.2 mm, податливость работает против вас и нужен жёсткий захват с реальным измерением силы.
- Время установления. После быстрого движения мягкий палец колеблется. После смыкания и перед подъёмом добавьте короткую задержку, иначе вы измерите колебание, а не силу захвата.
- Ползучесть. Любой пластик под постоянной нагрузкой постепенно деформируется. Пружины и упругие элементы из PETG значительно лучше PLA.
- Невозможность ощутить объект. Податливость делает положение самого сервопривода менее точным показателем состояния кончика пальца, поэтому для обнаружения захвата нужен выключатель или датчик — см. конечный автомат перемещения деталей.
Четыре значения, которые нужны перед печатью
L, плечо силы — определяется самым широким объектом. Остальные значения следуют из него.k, последовательная жёсткость — измеряется подвешиванием грузов к напечатанному испытательному пальцу.F_crush— измеряется кухонными весами и несколькими разрушиваемыми образцами.step = L·(π/180)— вычисляется арифметически.
Затем проверьте (min(F_crush, τ·0.7/L) − F_floor)/k > step. Если условие не выполнено, никакая прошивка не заставит захват работать, а исправление всегда состоит в уменьшении k, а не в увеличении момента.
Далее
- Трение, силовое замыкание и почему два контакта — это ставка — отказ, который нельзя устранить одной силой
- Типы роботозахватов и сила сжатия — откуда берётся нижний предел
- Симулятор захвата — изменяйте жёсткость и следите, как диапазон изменяется как 1/k
- Сервопривод SG90 — компонент, предполагаемый на этой странице
- Управление сервоприводами с PCA9685 — что делать, когда сервоприводов становится шесть
Исследуйте граф
Входит в эти сборки
Проекты и учебные пути, в которые входит это руководство.
Дополнительные материалы