Самодельный гексапод on-line
Например? Какой например взять софт?
Нет. Софт _взять_ не сложно. Вот как будете _писать_ конвертор ?
Зачем городить тогда такое, если можно взять обычный трехосный станок?
Имею ввиду немного (или много) другую конструкцию - проще в два раза.
Т.к. 6 координат не нужно, а нужно только 3.
Тем более шестая в данной конструкции все равно не используется - дублирует шпиндель.
С другой стороны и не “обычный”.
Вот как будете _писать_ конвертор ?
сложность то в чем?
например, вот так:
Maple code:
> restart;
> with(LinearAlgebra):
для экономии места многи цифр не рисуем)
> Digits := 4:
матрица перехода от ск платформы в ск станины через три последовательных поворота вокруг осей станины (x,y,z)
> mx:=Matrix(3,3,[[1,0,0],[0,cos(phi0),-sin(phi0)],[0,sin(phi0),cos(phi0)]]):
> my:=Matrix(3,3,[[cos(psi0),0,sin(psi0)],[0,1,0],[sin(psi0),0,cos(psi0)]]):
> mz:=Matrix(3,3,[[cos(gamma0),-sin(gamma0),0],[sin(gamma0),cos(gamma0),0],[0,0,1]]):
> m:=Multiply(mz,Multiply(my,mx)):
координаты крепления актуаторов на платформе (в ск платформы)
> P:=[ Vector(3,[r*cos( eva*lf(2*Pi/6*i)),r*sin(2*Pi/6*i),h])$i=1..6]:
координаты креплений актуаторов на станине
> P0:=[ Vector(3,[r0*cos( eva*lf(2*Pi/6*i)),r0*sin(2*Pi/6*i),0])$i=1..6]:
координаты фрезы
> V:=Vector(3,[x,y,z]):
растояния между точками крепления актуатора
> fl:={seq(simplify(DotProduct(V+Multiply(m,P[i])-P0[i],V+Multiply(m,P[i])-P0[i],conjugate=false)),i=1..6)}:
приравниваем к искомым длинам
> u:=[(l[i]=sqrt(fl[i]))$i=1..6]:
зададимся конкретными размерами
> r0:=1:
> r:=0.5:
> h:=0.1:
>
теперь перейдем к "чистому 3d" - платформа движется только поступательно
(углы могут быть и отличны от 0)
> phi0:=0:
> psi0:=0:
> gamma0:=0:
получаются вот такие выражения связывающие координаты фрезы с положениями актуаторов:
> simplify(u);
l[1] = .2000e-1*(-1250.*x-2165.*y+500.*z+2500.*x^2+2500.*y^2+2500.*z^2+650.)^(1/2),
l[2] = .1000e-1*(5005.*x+8660.*y+2000.*z+.1000e5*x^2+.1000e5*y^2+.1000e5*z^2+2602.)^(1/2),
l[3] = .1000e-1*(4997.*x-8660.*y+2000.*z+.1000e5*x^2+.1000e5*y^2+.1000e5*z^2+2599.)^(1/2),
l[4] = .1000e-1*(-4991.*x+8660.*y+2000.*z+.1000e5*x^2+.1000e5*y^2+.1000e5*z^2+2598.)^(1/2),
l[5] = .1000*(26.+100.*x+20.*z+100.*x^2+100.*y^2+100.*z^2)^(1/2),
l[6] = .1000*(26.-100.*x+20.*z+100.*x^2+100.*y^2+100.*z^2)^(1/2)];
Погрешности dx[i]=dX[i]*dL[i]
>
где справа вектор производных от длинны по соответствующей координате умноженный на отклонение длинны
>
> dL:=Vector( 6,[dl[i]$i=1..6]):
> dX:=Vector( 6,[-2*l[i]/diff(fl[i],x)$i=1..6]):
> dY:=Vector( 6,[-2*l[i]/diff(fl[i],y)$i=1..6]):
> dZ:=Vector( 6,[-2*l[i]/diff(fl[i],z)$i=1..6]):
например отклонение координаты X можно записать как
>
> dx:=DotProduct(dX,dL,conjugate=false);
2 l[1] dl[1] 2 l[2] dl[2] 2 l[3] dl[3] 2 l[4] dl[4]
dx := - ------------ - ------------ - ------------ - -------------
-0.5 + 2 x 0.5005 + 2 x 0.4997 + 2 x -0.4991 + 2 x
2 l[5] dl[5] 2 l[6] dl[6]
- ------------ - ------------
1.0 + 2 x -1.0 + 2 x
конечно значения dl[i] нам неизвестны, поэтому можно либо найти максимальное значение dx
( задача линейного пограммирования, ограничения: dl[i]>-Maxdl dl[i]<Maxdl ), либо, считая
распределение погрешностей установки актуаторов нормальным, найти распеределение погрешностей
позиционирования фырезы
конечно значения dl[i] нам неизвестны, поэтому можно либо найти максимальное значение dx
( задача линейного пограммирования, ограничения: dl[i]>-Maxdl dl[i]<Maxdl ), либо, считая
распределение погрешностей установки актуаторов нормальным, найти распеределение погрешностей
позиционирования фырезы
Безусловно, интересно, 10x.
Но как я понимаю - это теоретический случай ?
Все равно придется решать примерно такую же задачу, но для реальных условий.
Когда неизвестно, где установлены ноги, где они крепятся, какая у них длина и какой при этом наклон стола.
Причем, сначала нужно будет пристреляться, затем вычислить матрицу для реальной модели, а потом вычислить обратную матрицу, по которой будут конвертироваться XYZ в положение актуаторов.
Кстати, может у вас и для такого формулка найдется ? Было бы реально полезно.
Но как я понимаю - это теоретический случай ?
Это всего лишь кинематика механизма.
Дальше надо уже надо вводить в модель погрешностей (погрешность позиционирования, упругие деформации) и определятся с критерием оптимизации положения платформы
повторюсь что не вижу здесь математически трудностей, для любительских целей достаточно будет конвертера превращающего “паука” в станок кинематику которого поддерживает управляющий софт.
как расчитать требуемое положение актуатороа по положению фрезы см. выше. Для начала ОКР этого достаточно)
Это всего лишь кинематика механизма.
Дальше надо уже надо вводить в модель погрешностей (погрешность позиционирования, упругие деформации) и определятся с критерием оптимизации положения платформы
В общем, я именно про это.
повторюсь что не вижу здесь математически трудностей
Кто ж спорит.
Все просто, если взять и измерить, что где стоит и к чему в каком положении прикручено.
Проблема как раз в том, что не измерить - не подлезешь с микрометром к собранному шарниру.
Поэтому идти придется от обратного.
Ну или считать, что реальная модель == теоретической, со всеми вытекающими.
Чем он лучше “руки” манипулятора ❓
Жесткостью
красивая конструкция!
Что будет в качества шарниров?
(автомобильные шаровые опоры???)
В качестве шарниров я буду использовать все-таки подобия карданным, потому как шаровые к большому сожалению не подойдут - не будет работать нога. Шаровые шарниры подойдут только для гидравлики или специально разработанного под них актуатора (с собственной направляющей).
Особенное если раму перевернуть, чтобы подошли.
Вот интересно, чем управлять, в смысле софта ?
Самому формулу придумывать - всю голову изломаешь.
Собственно суть преобразования координат фрезы в длины ног изложена у pdk, но конечно тут еще непаханное поле в плане точности
Доброго дня!
Вот тут кое что вспомнил, может вам ради интереса стоит глянуть:
festo.com/…/1b433eb8d078cbd2c1256c7e0039bf43.htm
Мощь автоматизации
Идеальная работа: контролируемая мощность, моментальные сжимание и разжимание. Талантливая идея: инженеры Festo воссоздали принцип работы человеческих мышц и изобрели новое промышленное устройство. Пневматический мускул MAS: революционный привод как результат.
Конструкция пневмомускула представляет собой гибкую герметичную трубу из полиамидного волокна, уложенного в ромбовидном порядке. Огромная мощь растяжения многократно увеличивает силу сжатого воздуха.
В десятки раз превышающий по силе традиционные цилиндры, обеспечивающий рекордную скорость, защищенный от слипания - пневмомускул MAS открывает новые возможности применений там, где дело касается автоматизации.
Мне еще показывали видео фильм как такое устройство гнет крыль на фольцы, принципе почти все как ваш гексапод их там было несколько штук и они управляли системой пуансонов или что то вроде этого.
повторюсь что не вижу здесь математически трудностей, для любительских целей достаточно будет конвертера превращающего “паука” в станок кинематику которого поддерживает управляющий софт.
Управляющий софт придется самостоятельно писать. То о чем вы говорите - преобразователь из CAM системы, ну преобразуете одни координаты в другие. Какой именно софтине вы эти другие координаты скормите?
Управляющий софт придется самостоятельно писать. То о чем вы говорите - преобразователь из CAM системы, ну преобразуете одни координаты в другие. Какой именно софтине вы эти другие координаты скормите?
Для скармливания шести координат (для каждой ного) будет писаться своя прога, которая будет работать с параллельным интерфейсом в этом тоже сложного ничего нет. Собственно РС будет управлять шестью связками контроллер-драйвер по предварительно (а можт и не предварительно) сгенеренному файлу.
Для скармливания шести координат (для каждой ного) будет писаться своя прога, которая будет работать с параллельным интерфейсом в этом тоже сложного ничего нет. Собственно РС будет управлять шестью связками контроллер-драйвер по предварительно (а можт и не предварительно) сгенеренному файлу.
Действительно, работать с параллельным портом очень просто. Буду рад, если у вас все получится, как задумано.
Спасибо за ссылку, надо подумать - прикинуть.
Спасибо за ссылку, надо подумать - прикинуть.
Оно в одном направлении работает. Потребуется 12 тяг.
Оно в одном направлении работает. Потребуется 12 тяг.
Ага, я уж прочитал… А так прикольная штука, ну да там еще варианты есть
Супер!!! 😃
тока стоит это изделие наверно как космический корабль…
Привет всем, я уж думал тема не интересна… 😉 А вообще тема довольно актуальна и поле совсем непаханное…, как в плане механики так и в плане математики.
Обратите внимание - используется карданное соединие а не шаровое.
Да, по деньгам дешевле 2k$ ну никак не выходит 😵, вот и задумаешся хобби ли это…
За ролик спасибо, такого еще не видел.
Привет всем, я уж думал тема не интересна… 😉
Тема, конечно, интересна.
Но есть пара вопросов, с которыми нужно определиться.
- избыточность. Скажем, в два раза. Стоит ли оно того ?
- низкое отношение область обработки vs габариты. Важно ли ?
Т.е. для гравировки монеток - подходит.
А вот для выпиливания дверей из цельного куска дерева - как-то не очень.
Кстати, есть ли какие программки для моделирования гесаподов ?
зы: ротопод понравился.
Вообще, показалось, что гесаподы с постоянной длиной ног как-то проще в технологии выглядят.
избыточность. Скажем, в два раза. Стоит ли оно того ?
Не знаю плохо ли что есть избыточность, да и почему в два раза? То что одна степень свободы (вращение вокруг z) я понимаю, но еще?
низкое отношение область обработки vs габариты. Важно ли ?
Т.е. для гравировки монеток - подходит.
А вот для выпиливания дверей из цельного куска дерева - как-то не очень.
Это конечно да, есть такое дело, но не монетки конечно 😃 и тем более двери (для дверей конечно гексапод не подойдет, и избыточен в два раза). А вот для фрезеровки моделей для литья и чистовой обработки отливок топливной аппаратуры самое оно.
зы: ротопод понравился.
Вообще, показалось, что гесаподы с постоянной длиной ног как-то проще в технологии выглядят.
Ротопод вообще супер, как раз хотел запостить сюда в предыдущем сообшении, да сказали что нет прав… для формата swf. С постоянной длинной ног еще проще триподы, но почти везде есть изгибающие моменты изначально.
Кстати, есть ли какие программки для моделирования гесаподов ?
Для моделирования есть - собственного написания, на MathCAD, но это простейший транслятор координат, пока 😉 И еще у чехов вроде встречал как то в сети он-лайн расчет рабочего пространства, у них кстати гексапод с постоянной длинной ног - найду еще раз вложу ссылку.
Не знаю плохо ли что есть избыточность, да и почему в два раза? То что одна степень свободы (вращение вокруг z) я понимаю, но еще?
Правильно. 6 - просто лишняя, а в 5 и 4 - нет необходимости.
Я так смотрю по форуму - даже не трех, а двух было бы достаточно 😃
Даже для “моделей для литья” мне 3х (было бы) вполне достаточно.
А просто так взять и увеличить себестоимость в два раза - как-то не очень.
Ротопод вообще супер, как раз хотел запостить сюда в предыдущем сообшении, да сказали что нет прав… для формата swf. С постоянной длинной ног еще проще триподы, но почти везде есть изгибающие моменты изначально.
У ротопода жесткая конструкция, если привод ног крепится не к оси, а к “трубе”.
Кроме того, в оргинальном гексаподе сопряжение гайка/винт так же не идеально.
Мне даже кажется, что ротопод жесче.
Для моделирования есть - собственного написания, на MathCAD, но это простейший транслятор координат, пока 😉 И еще у чехов вроде встречал как то в сети он-лайн расчет рабочего пространства, у них кстати гексапод с постоянной длинной ног - найду еще раз вложу ссылку.
Преобразование координат - отдельная тема.
Мне бы хотелось помоделиравать рабочую область vs габаритные размеры vs углы между направляющими.
Правильно. 6 - просто лишняя, а в 5 и 4 - нет необходимости.
Я так смотрю по форуму - даже не трех, а двух было бы достаточно 😃
Даже для “моделей для литья” мне 3х (было бы) вполне достаточно.
Мне кажется что на эту тему просто бессмысленно спорить.
…
Но все же не удержусь 😉 : в этой конструкции начисто отсутствуют какие бы то ни было направляющие. Да и ТЕОРЕТИЧЕСКИ не слишком важна точность монтажа, т.е. длинна ног может различаться, ноги могут быть установлены не идеально точно (относительная точность перемещений при этом обязательна, что обеспечивается винтом-гайкой). Собственно точность определяется не железом, а ПО. Как говорят в Hexel, гексапод - это “soft mashine”. Теперь почему я говорю “теоретически”: потому что я еще пока не владею таким софтом, однако знаю что он реализуем, моими силами.
У ротопода жесткая конструкция, если привод ног крепится не к оси, а к “трубе”.
Я имел ввиду хекселовский ротопод, так у него вроде (в Вашей нотации) привод крепится к трубе (только это не совсем труба 😉).
Кроме того, в оргинальном гексаподе сопряжение гайка/винт так же не идеально.
Мне даже кажется, что ротопод жесче.
Конечно у ротопода меньше потерь точности, т.к. меньше сопряжений. Но у ротопода есть еще направляющая - кольцевая.
Мне бы хотелось помоделировать рабочую область vs габаритные размеры vs углы между направляющими.
Вот вернусь с каникул… - щас бы сделал, да нету маткада под рукой.
относительная точность перемещений при этом обязательна, что обеспечивается винтом-гайкой
Тут и будет неточность, в винте/гайке. Еще минус - меньшая нагрузка.
Ротопод тут в баальшом плюсе.
Теперь почему я говорю “теоретически”: потому что я еще пока не владею таким софтом, однако знаю что он реализуем, моими силами.
Не суть. Софт - вполне реален. Мозх бы не задымился лишь.
Конечно у ротопода меньше потерь точности, т.к. меньше сопряжений. Но у ротопода есть еще направляющая - кольцевая.
И что ? В контексте того, что
Собственно точность определяется не железом, а ПО. Как говорят в Hexel, гексапод - это “soft mashine”.
Там может быть хоть яйцо - точность не пострадает, т.к. остальные причины неточности отсутствуют.
Вот вернусь с каникул… - щас бы сделал, да нету маткада под рукой.
Ок, не вопрос.