Дельта-робот
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Дельта-робот
Вот тут есть простой расчёт кинематики дельта-робота.
С триподом по сути тоже самое, только определяется не угол а расстояние.
С триподом по сути тоже самое, только определяется не угол а расстояние.
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Дельта-робот
А как в данной схеме обеспечивается постоянная ориентация выходного звена?spike писал(а):трипода с вот такой вот кинематсхемой
Не ваш проект?buyvoll писал(а):Вот тут есть простой расчёт кинематики дельта-робота.
Я в последнее время задумываюсь над дельтой - очень зрелищный робот. Уже и в пинг-понг играет, если кто не видел
[youtube]http://www.youtube.com/watch?v=omGHeVmv6NI[/youtube]
Конструкция совсем простая, тут больше с системой управления думать надо - для высоких скоростей нужен учет динамики. Кто знает, где можно приобрести недорогие поворотные сервоприводы? )ad(
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
Да, проект наш.
На китайских сервоприводах вот от сюда http://www.parkflyer.ru/category/189/84/
В пинпонг играет симпатично ))
Там походу положение постоянно отслеживается камерой
На китайских сервоприводах вот от сюда http://www.parkflyer.ru/category/189/84/
В пинпонг играет симпатично ))
Там походу положение постоянно отслеживается камерой
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Дельта-робот
Очень любопытно. А в какой он стадии готовности?buyvoll писал(а):Да, проект наш.
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Дельта-робот
Предполагалось параллелограммами на карданах, картинки под рукой нету )bk(PKM писал(а):А как в данной схеме обеспечивается постоянная ориентация выходного звена?
buyvoll, можт расскажешь подробнее о проекте?
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
Пока рассказывать особо нечего. Как раз планировал по ходу выполнения выкладывать инфу на сайте.
В данный момент как-раз сдаются в работу чертежи.
Изначально планировалось привязать его к тач-скрину. Сейчас собираемся решать вопрос с софтом, ибо очень уж проект RepRap понравился, хочется сделать что-то вроде него
В данный момент как-раз сдаются в работу чертежи.
Изначально планировалось привязать его к тач-скрину. Сейчас собираемся решать вопрос с софтом, ибо очень уж проект RepRap понравился, хочется сделать что-то вроде него
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Дельта-робот
Примерно какие характеристики планируются - размеры, скорость, ускорение?
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
Планируется как раз таки изучить, как он себя поведёт на указанных китайских сервах.
а по размерам - 300мм плечо, 550 мм предплечье
а по размерам - 300мм плечо, 550 мм предплечье
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Дельта-робот
Вроде они довольно хлипковаты. Возможно, машинку с теннисной ракеткой на таких и построили, но на длине 300 мм даже самые мощные из них дадут не больше килограмма.
С другой стороны, от привода весом 50-100 г многого ожидать не приходится. Если серьезное что-то творить, то сервопривод + редуктор. Вроде червячные тут должны хорошо подойти.
С другой стороны, от привода весом 50-100 г многого ожидать не приходится. Если серьезное что-то творить, то сервопривод + редуктор. Вроде червячные тут должны хорошо подойти.
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
Изначально робот проектировался для воспроизведения движений с тач-панели, т.е. для рисования. Так что много ему таскать и не придётся. А как его сделаем, будем лепить что-нибудь посерьёзней
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
Для понимания сути вопроса, пишу его сюда.
Решил что для управления нормальным дельта-роботом, дабы не ловить кучу лифтов на редукторах (да и не тратить много денех, которых как обычно нет) нужно сочинять драйверы с контролируемым микрошагом.
Ну а дальше, вроде как всё просто, по нужной координате подстраиваем нужные углы.
Одна загвоздка - дабы не погрязнуть в написании проги для перевода G-кода в координаты XYZ (а программер из меня далеко не ахти, а по симу боюсь реально погрязну) надобно где-то раздобыть эту самую часть проги.
А по симу вопрос: Где взять такой ресурс?
Решил что для управления нормальным дельта-роботом, дабы не ловить кучу лифтов на редукторах (да и не тратить много денех, которых как обычно нет) нужно сочинять драйверы с контролируемым микрошагом.
Ну а дальше, вроде как всё просто, по нужной координате подстраиваем нужные углы.
Одна загвоздка - дабы не погрязнуть в написании проги для перевода G-кода в координаты XYZ (а программер из меня далеко не ахти, а по симу боюсь реально погрязну) надобно где-то раздобыть эту самую часть проги.
А по симу вопрос: Где взять такой ресурс?
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Дельта-робот
Вообще есть хороший проект ЕМС2 - все что угодно можно сделать, только он на линуксе.
Или Gigamesh - тогда надо spike просить добавить кинематику.
Или Gigamesh - тогда надо spike просить добавить кинематику.
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
да вот в том и дело, что нужно с выводящей частью программы поэкспериментировать.
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Дельта-робот
Ага, интересненько! )ab( Что ты хочешь получить от микрошага? Говорят точности от него не прибавится... Но я таки так понимаю: микрошаг 1/10 с погрешностью 30% - это все равно лучше (как минимум плавнее) чем полушаг.buyvoll писал(а):Решил что для управления нормальным дельта-роботом, дабы не ловить кучу лифтов на редукторах (да и не тратить много денех, которых как обычно нет) нужно сочинять драйверы с контролируемым микрошагом.
)bw3( кагбэ, наверное, не так уж и просто... можт я чего-то не понял...buyvoll писал(а):Ну а дальше, вроде как всё просто, по нужной координате подстраиваем нужные углы.
Вроде как в G-коде координаты XYZ присутствуют, совсем не понял что надо.buyvoll писал(а):Одна загвоздка - дабы не погрязнуть в написании проги для перевода G-кода в координаты XYZ (а программер из меня далеко не ахти, а по симу боюсь реально погрязну) надобно где-то раздобыть эту самую часть проги.
Упрашивать меня не придется )ab( , сделаю обязательно. Только описание кинематики нужно, а дальше все весьма просто делается.PKM писал(а):Или Gigamesh - тогда надо spike просить добавить кинематику.
Имеется ввиду та, которая приводами рулит?buyvoll писал(а):нужно с выводящей частью программы поэкспериментировать.
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
Всётаки хочется попытаться добиться точности. Дабы лапы дельта робота пряма на вал ШД вешать, например.spike писал(а): Ага, интересненько! )ab( Что ты хочешь получить от микрошага? Говорят точности от него не прибавится... Но я таки так понимаю: микрошаг 1/10 с погрешностью 30% - это все равно лучше (как минимум плавнее) чем полушаг.
Идея в том, чтобы контролировать положение поля по току катушек и непосредственно логикой, а с МК задавать ШИМ на компаратор, соответственно требуему току в соответствующей катушке.
Ну я выше давал ссылку на расчёт киниматики, вроде не сложно получилось)bw3( кагбэ, наверное, не так уж и просто... можт я чего-то не понял...
блок кода для чтения этого самого G-кода.Вроде как в G-коде координаты XYZ присутствуют, совсем не понял что надо.
Как и говорил, расчёт кинематики тут http://www.ignb.ru/projects/12-delta-robot.htmlУпрашивать меня не придется )ab( , сделаю обязательно. Только описание кинематики нужно, а дальше все весьма просто делается.
в коде, правдо сыром, это вот так вот
Код: Выделить всё
// Управление приводами
//определение координат для каждой ноги
float x1 = x;
float y1 = y;
float x2 = x*cos(120) + y*sin(120);
float y2 = y*sin(120) - x*cos(120);
float x3 = x*cos(120) - y*sin(120);
float y3 = y*sin(120) + x*cos(120);
//определение углов
float BAC1 = acos ( (AB*AB + (y1 + OC – O1A)*(y1 + OC – O1A) + z*z – (BC*BC-x1*x1)) / (2*AB*(sqrt((y1 + OC – O1A)*(y1 + OC – O1A) + z*z))) );
float BAC2 = acos ( (AB*AB + (y2 + OC – O1A)*(y2 + OC – O1A) + z*z – (BC*BC-x2*x2)) / (2*AB*(sqrt((y2 + OC – O1A)*(y2 + OC – O1A) + z*z))) );
float BAC3 = acod ( (AB*AB + (y3 + OC – O1A)*(y3 + OC – O1A) + z*z – (BC*BC-x3*x3)) / (2*AB*(sqrt((y3 + OC – O1A)*(y3 + OC – O1A) + z*z))) );
float МАС1 = atan ((y1 + OC – O1A)/z);
float МАС2 = atan ((y2 + OC – O1A)/z);
float МАC3 = atan ((y3 + OC – O1A)/z);
float theta1 = BAC1 - МАС1;
float theta2 = BAC2 - МАС2;
float theta3 = BAC3 - МАС3;
// заполнение ШИМ
int t1 = (1100/360)*theta1*8 + 950;
int t2 = (1100/360)*theta2*8 + 950;
int t3 = (1100/360)*theta3*8 + 950;
if (TCNT2>=20000)
{
PORTD|=_BV(PD0);
PORTD|=_BV(PD1);
PORTD|=_BV(PD2);
TCNT1=0;
}
if ((TCNT2 >= t1) && (PORTD & 0b00000001)) PORTD&_~BV(PD0);
if ((TCNT2 >= t2) && (PORTD & 0b00000010)) PORTD&_~BV(PD1);
if ((TCNT2 >= t3) && (PORTD & 0b00000100)) PORTD&_~BV(PD2);
она самаяИмеется ввиду та, которая приводами рулит?
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Дельта-робот
Не знаю как объяснить... Попробуй задать некую прямую в пространстве XYZ, с небольшим шагом проведи пересчеты в углы и посмотри какая зависимость получится. Предполагаю что зависимость будет очень даже отличаться от прямой. Это значит что нельзя подобрать такой шаг, при котором гарантированно угол привода изменится на величину дискрета. Можно, конечно, на это забить и просто заполнять (например линейно) приращения положения привода дискретами перемещений. Можно, особо если точность воспроизведения траектории не слишком важна, т.е. если важны именно конечные точки.buyvoll писал(а):Ну я выше давал ссылку на расчёт киниматики, вроде не сложно получилось
Хотя, может быть я дую на холодную воду, пробуй...
У тебя приведен расчет инверсной (обратной) кинематики, GIGAMESH использует прямую (все равно как она будет расчитываетана - или аналитически или численно). Т.е. нужно преобразование из координат приводов (углов подъема лап) в координаты инструмента (XYZ).
Насколько я понимаю примерно так и работает практически любой боле-мене нормальный шаговый привод. Недостаток этой идеи в том, что положение поля по току катушек можно контролировать с весьма ограниченной точностью, которая обусловлена неидеальностью магнитной системы.buyvoll писал(а):Идея в том, чтобы контролировать положение поля по току катушек и непосредственно логикой, а с МК задавать ШИМ на компаратор, соответственно требуему току в соответствующей катушке.
buyvoll писал(а):блок кода для чтения этого самого G-кода
Ты знаешь, я пока еще не готов выложить исходники целиком... а вырезать блок из программы... непросто это, короче.buyvoll писал(а):она самаяspike писал(а):Имеется ввиду та, которая приводами рулит?
С другой стороны исходники в сети есть, тыц, ну и конечно linuxcnc, можно оттуда попробовать портировать.
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
Обратный расчёт сделать не сложно, но в случае когда робот должен провести инструмент через определённые координаты (а они, как ты сам сказал, есть в G-коде) то нужно положение приводов подгонять под координаты, а не наоборот.spike писал(а): У тебя приведен расчет инверсной (обратной) кинематики, GIGAMESH использует прямую (все равно как она будет расчитываетана - или аналитически или численно). Т.е. нужно преобразование из координат приводов (углов подъема лап) в координаты инструмента (XYZ).
Уж послал, так послал )ag(
-
- Почётный участник
- Сообщения: 358
- Зарегистрирован: 08 фев 2010, 01:03
- Репутация: 5
- Контактная информация:
Re: Дельта-робот
В том-то весь и прикол, что именно наоборот: зная текущие координаты приводов, можно подобрать такие их изменения (исходя из их дискретности) чтобы следующая точка лежала на заданной кривой. Кривая задается g-кодом.
Конечно, можно и наоборот - никто не запрещает... но, как я уже говорил могут быть проблемы, а могут и не быть - не знаю, я так не делал.
У меня сейчас оооочень много работы, поэтому пообещать что-то сделать быстро ну никак не могу.
Идет работа над CNCOpen - это технология обмена данными между модулями ЧПУ, некая виртуальная универсальная шина, к которой подключаются модули. Процесс этот идет давно и не очень быстро, некоторые модули уже написаны, ядро тоже вроде как готово, но практически никакой отладки не было. Вот как раз эти модули бы тебя устроили: готовые, отлаженные, с описанными входными-выходными форматами. Пока ждем... )bs(
Конечно, можно и наоборот - никто не запрещает... но, как я уже говорил могут быть проблемы, а могут и не быть - не знаю, я так не делал.
)bn( вроде как и не посылал... )ab(buyvoll писал(а):Уж послал, так послал
У меня сейчас оооочень много работы, поэтому пообещать что-то сделать быстро ну никак не могу.
Идет работа над CNCOpen - это технология обмена данными между модулями ЧПУ, некая виртуальная универсальная шина, к которой подключаются модули. Процесс этот идет давно и не очень быстро, некоторые модули уже написаны, ядро тоже вроде как готово, но практически никакой отладки не было. Вот как раз эти модули бы тебя устроили: готовые, отлаженные, с описанными входными-выходными форматами. Пока ждем... )bs(
- buyvoll
- Мастер
- Сообщения: 214
- Зарегистрирован: 14 сен 2010, 14:20
- Репутация: 26
- Контактная информация:
Re: Дельта-робот
(нет, ну всё-таки не сдержусь )ag( )
не отмазывайся, не военкомат )ao(
)bj( )bj( )bj( шутка
наверно ты прав, такие бы очень пригодились.
ну мы тут потихоньку муливать читалку начали... ну если конкретней, то пока не сам код а только с алгоритмом разбираемся
будет видно в общем )ad(
не отмазывайся, не военкомат )ao(
)bj( )bj( )bj( шутка
наверно ты прав, такие бы очень пригодились.
ну мы тут потихоньку муливать читалку начали... ну если конкретней, то пока не сам код а только с алгоритмом разбираемся
будет видно в общем )ad(
- PKM
- Почётный участник
- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Дельта-робот
прошло полтора года... есть дельта-робот?
Некоторые сообщения были отделены в новую тему: Дельта робот для расскладки оцинкованного профиля #1.
--Nick
--Nick