Дельта-робот

Намоточные, сверлильные, электроэррозионные и другие станки с ЧПУ.
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Дельта-робот

Сообщение buyvoll »

Вот тут есть простой расчёт кинематики дельта-робота.
С триподом по сути тоже самое, только определяется не угол а расстояние.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Дельта-робот

Сообщение PKM »

spike писал(а):трипода с вот такой вот кинематсхемой
А как в данной схеме обеспечивается постоянная ориентация выходного звена?
buyvoll писал(а):Вот тут есть простой расчёт кинематики дельта-робота.
Не ваш проект?

Я в последнее время задумываюсь над дельтой - очень зрелищный робот. Уже и в пинг-понг играет, если кто не видел
[youtube]http://www.youtube.com/watch?v=omGHeVmv6NI[/youtube]

Конструкция совсем простая, тут больше с системой управления думать надо - для высоких скоростей нужен учет динамики. Кто знает, где можно приобрести недорогие поворотные сервоприводы? )ad(
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

Да, проект наш.
На китайских сервоприводах вот от сюда http://www.parkflyer.ru/category/189/84/

В пинпонг играет симпатично ))
Там походу положение постоянно отслеживается камерой
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Дельта-робот

Сообщение PKM »

buyvoll писал(а):Да, проект наш.
Очень любопытно. А в какой он стадии готовности?
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Дельта-робот

Сообщение spike »

PKM писал(а):А как в данной схеме обеспечивается постоянная ориентация выходного звена?
Предполагалось параллелограммами на карданах, картинки под рукой нету )bk(

buyvoll, можт расскажешь подробнее о проекте?
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

Пока рассказывать особо нечего. Как раз планировал по ходу выполнения выкладывать инфу на сайте.
В данный момент как-раз сдаются в работу чертежи.
Изначально планировалось привязать его к тач-скрину. Сейчас собираемся решать вопрос с софтом, ибо очень уж проект RepRap понравился, хочется сделать что-то вроде него
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Дельта-робот

Сообщение PKM »

Примерно какие характеристики планируются - размеры, скорость, ускорение?
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

Планируется как раз таки изучить, как он себя поведёт на указанных китайских сервах.
а по размерам - 300мм плечо, 550 мм предплечье
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Дельта-робот

Сообщение PKM »

Вроде они довольно хлипковаты. Возможно, машинку с теннисной ракеткой на таких и построили, но на длине 300 мм даже самые мощные из них дадут не больше килограмма.
С другой стороны, от привода весом 50-100 г многого ожидать не приходится. Если серьезное что-то творить, то сервопривод + редуктор. Вроде червячные тут должны хорошо подойти.
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

Изначально робот проектировался для воспроизведения движений с тач-панели, т.е. для рисования. Так что много ему таскать и не придётся. А как его сделаем, будем лепить что-нибудь посерьёзней
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

Для понимания сути вопроса, пишу его сюда.
Решил что для управления нормальным дельта-роботом, дабы не ловить кучу лифтов на редукторах (да и не тратить много денех, которых как обычно нет) нужно сочинять драйверы с контролируемым микрошагом.
Ну а дальше, вроде как всё просто, по нужной координате подстраиваем нужные углы.
Одна загвоздка - дабы не погрязнуть в написании проги для перевода G-кода в координаты XYZ (а программер из меня далеко не ахти, а по симу боюсь реально погрязну) надобно где-то раздобыть эту самую часть проги.
А по симу вопрос: Где взять такой ресурс?
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Дельта-робот

Сообщение PKM »

Вообще есть хороший проект ЕМС2 - все что угодно можно сделать, только он на линуксе.
Или Gigamesh - тогда надо spike просить добавить кинематику.
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

да вот в том и дело, что нужно с выводящей частью программы поэкспериментировать.
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Дельта-робот

Сообщение spike »

buyvoll писал(а):Решил что для управления нормальным дельта-роботом, дабы не ловить кучу лифтов на редукторах (да и не тратить много денех, которых как обычно нет) нужно сочинять драйверы с контролируемым микрошагом.
Ага, интересненько! )ab( Что ты хочешь получить от микрошага? Говорят точности от него не прибавится... Но я таки так понимаю: микрошаг 1/10 с погрешностью 30% - это все равно лучше (как минимум плавнее) чем полушаг.
buyvoll писал(а):Ну а дальше, вроде как всё просто, по нужной координате подстраиваем нужные углы.
)bw3( кагбэ, наверное, не так уж и просто... можт я чего-то не понял...
buyvoll писал(а):Одна загвоздка - дабы не погрязнуть в написании проги для перевода G-кода в координаты XYZ (а программер из меня далеко не ахти, а по симу боюсь реально погрязну) надобно где-то раздобыть эту самую часть проги.
Вроде как в G-коде координаты XYZ присутствуют, совсем не понял что надо.
PKM писал(а):Или Gigamesh - тогда надо spike просить добавить кинематику.
Упрашивать меня не придется )ab( , сделаю обязательно. Только описание кинематики нужно, а дальше все весьма просто делается.
buyvoll писал(а):нужно с выводящей частью программы поэкспериментировать.
Имеется ввиду та, которая приводами рулит?
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

spike писал(а): Ага, интересненько! )ab( Что ты хочешь получить от микрошага? Говорят точности от него не прибавится... Но я таки так понимаю: микрошаг 1/10 с погрешностью 30% - это все равно лучше (как минимум плавнее) чем полушаг.
Всётаки хочется попытаться добиться точности. Дабы лапы дельта робота пряма на вал ШД вешать, например.
Идея в том, чтобы контролировать положение поля по току катушек и непосредственно логикой, а с МК задавать ШИМ на компаратор, соответственно требуему току в соответствующей катушке.
)bw3( кагбэ, наверное, не так уж и просто... можт я чего-то не понял...
Ну я выше давал ссылку на расчёт киниматики, вроде не сложно получилось
Вроде как в G-коде координаты XYZ присутствуют, совсем не понял что надо.
блок кода для чтения этого самого G-кода.
Упрашивать меня не придется )ab( , сделаю обязательно. Только описание кинематики нужно, а дальше все весьма просто делается.
Как и говорил, расчёт кинематики тут http://www.ignb.ru/projects/12-delta-robot.html
в коде, правдо сыром, это вот так вот

Код: Выделить всё

 // Управление приводами
//определение координат для каждой ноги
	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);
Имеется ввиду та, которая приводами рулит?
она самая
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Дельта-робот

Сообщение spike »

buyvoll писал(а):Ну я выше давал ссылку на расчёт киниматики, вроде не сложно получилось
Не знаю как объяснить... Попробуй задать некую прямую в пространстве XYZ, с небольшим шагом проведи пересчеты в углы и посмотри какая зависимость получится. Предполагаю что зависимость будет очень даже отличаться от прямой. Это значит что нельзя подобрать такой шаг, при котором гарантированно угол привода изменится на величину дискрета. Можно, конечно, на это забить и просто заполнять (например линейно) приращения положения привода дискретами перемещений. Можно, особо если точность воспроизведения траектории не слишком важна, т.е. если важны именно конечные точки.
Хотя, может быть я дую на холодную воду, пробуй...

У тебя приведен расчет инверсной (обратной) кинематики, GIGAMESH использует прямую (все равно как она будет расчитываетана - или аналитически или численно). Т.е. нужно преобразование из координат приводов (углов подъема лап) в координаты инструмента (XYZ).
buyvoll писал(а):Идея в том, чтобы контролировать положение поля по току катушек и непосредственно логикой, а с МК задавать ШИМ на компаратор, соответственно требуему току в соответствующей катушке.
Насколько я понимаю примерно так и работает практически любой боле-мене нормальный шаговый привод. Недостаток этой идеи в том, что положение поля по току катушек можно контролировать с весьма ограниченной точностью, которая обусловлена неидеальностью магнитной системы.
buyvoll писал(а):блок кода для чтения этого самого G-кода
buyvoll писал(а):
spike писал(а):Имеется ввиду та, которая приводами рулит?
она самая
Ты знаешь, я пока еще не готов выложить исходники целиком... а вырезать блок из программы... непросто это, короче.
С другой стороны исходники в сети есть, тыц, ну и конечно linuxcnc, можно оттуда попробовать портировать.
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

spike писал(а): У тебя приведен расчет инверсной (обратной) кинематики, GIGAMESH использует прямую (все равно как она будет расчитываетана - или аналитически или численно). Т.е. нужно преобразование из координат приводов (углов подъема лап) в координаты инструмента (XYZ).
Обратный расчёт сделать не сложно, но в случае когда робот должен провести инструмент через определённые координаты (а они, как ты сам сказал, есть в G-коде) то нужно положение приводов подгонять под координаты, а не наоборот.
spike писал(а):Ты знаешь, я пока еще не готов выложить исходники целиком... а вырезать блок из программы... непросто это, короче.
С другой стороны исходники в сети есть, тыц, ну и конечно linuxcnc, можно оттуда попробовать портировать.
Уж послал, так послал )ag(
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Дельта-робот

Сообщение spike »

В том-то весь и прикол, что именно наоборот: зная текущие координаты приводов, можно подобрать такие их изменения (исходя из их дискретности) чтобы следующая точка лежала на заданной кривой. Кривая задается g-кодом.
Конечно, можно и наоборот - никто не запрещает... но, как я уже говорил могут быть проблемы, а могут и не быть - не знаю, я так не делал.
buyvoll писал(а):Уж послал, так послал
)bn( вроде как и не посылал... )ab(
У меня сейчас оооочень много работы, поэтому пообещать что-то сделать быстро ну никак не могу.
Идет работа над CNCOpen - это технология обмена данными между модулями ЧПУ, некая виртуальная универсальная шина, к которой подключаются модули. Процесс этот идет давно и не очень быстро, некоторые модули уже написаны, ядро тоже вроде как готово, но практически никакой отладки не было. Вот как раз эти модули бы тебя устроили: готовые, отлаженные, с описанными входными-выходными форматами. Пока ждем... )bs(
Аватара пользователя
buyvoll
Мастер
Сообщения: 214
Зарегистрирован: 14 сен 2010, 14:20
Репутация: 26
Контактная информация:

Re: Дельта-робот

Сообщение buyvoll »

(нет, ну всё-таки не сдержусь )ag( )
не отмазывайся, не военкомат )ao(
)bj( )bj( )bj( шутка
наверно ты прав, такие бы очень пригодились.
ну мы тут потихоньку муливать читалку начали... ну если конкретней, то пока не сам код а только с алгоритмом разбираемся
будет видно в общем )ad(
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Дельта-робот

Сообщение PKM »

прошло полтора года... есть дельта-робот? ;)
Некоторые сообщения были отделены в новую тему: Дельта робот для расскладки оцинкованного профиля #1.
--Nick
Ответить

Вернуться в «Прочие станки»