Добрый день! Подскажите, пожалуйста, каким образом рассчитываются координаты точек на сочленениях робота с использованием метода Денавита Хартенберга? Сочленения все вращательные.
Параметры получил, создал матрицу преобразования, начинаю считать координаты точки при нулевом положении приводов - получаю совсем не то, что ожидается............
Возможно нужно как то произвести обратные перемещения координат?
В книжках все останавливается только на уровне "помножить матрицу преобразования на координаты точки текущего узла с целью получения координат точки на предыдущем узле".
Немного поразбирался - если правильно понял, то я получил координаты точек на (i-1) узлах относительно заданной базисной системы координат (с точкой (0,0,0)). Как их теперь перевести в координаты, которые будут характеризовать координаты точек без привязки к базисной системе, чтобы знать их расположение на роботе при движениях узлов?
Конкретно - нужны координаты центра масс для каждого из узлов.
в дх 4 параметра и ничего для расчёта центра масс, инерции, коллизий,... даже близко нет. координаты вычисляются при обходе звеньев. "получаю совсем не то, что ожидается" у дх есть недостатки, а может вы просто нарушили одно из трёх простеньких правил при вводе параметров.
Возможно, что нарушил. А что может быть полезно для решения задачи расчета координаты центра масс всего механизма?
У меня была идея следующая: при изменении положения одного из узлов изменяется координата его центра масс относительно общей нулевой точки для механизма. Соответственно я могу пересчитать координату общего центра масс по простой формуле, учитывающей измененное положение одной или нескольких точек, характеризующих центры масс отдельного узла
понятия не имею, почему почти с нуля хотите пилить. взяв за основу что-то готовое и лучше поняв, что нужно/хочется, уже можно модифицировать под свои задачи или подсмотрев подходы реализации делать полностью свою реализацию. в сети есть и бесплатные/опенсорс библиотеки, в которых в том числе есть и расчёты центра масс, центра тяжести, инерции и т.д. поищите, может чего под ващи задачи подойдёт. это примитивнейшая модель для скелетной анимации. хотите что-то больше, нужно расширять модель и тогда сможете расчитывать центр тяжести и прочее. модель естественно с учётом вычислительных ресурсов, особенностей конструкции и прочего. погуглили бы чего еще кроме этой д-х. "jacobian kinematics", "якобиан кинематика", "center mass jacobian", "singularities jacobian" и т.д.
Спасибо всем за ответы. Мне нужно сделать свое управляющее ПО, каждый винтик я знаю. В т.ч. как он крутится, почему вообще крутится (а не забивается), какая резьба у него и т.д. Это очень сильно потом сказывается на оптимизации. Брать готовое, а потом гадать почему банальное перемножение нескольких матриц происходит за миллисекунды, а не за положенные микросекунды - намного дороже по времени потом получается, чем сесть и разобраться с принципом действия "на берегу". Посмотреть как может все работать - здесь не спорю - штука очень полезная и необходимая.
Свою задачу решил при помощи квартернионов, которые очень полезной штукой оказались. Метод Денавита-Хартенберга помог разобраться с взаимосвязями и взаимной ориентацией отдельных узлов. Это очень важным оказалось, т.к. робототехника для меня с азов началась буквально с начала лета этого. Начал с простого управления движением в формате "заводная игрушка". Сейчас для этой игрушки просчитываются прямая и обратная кинематика + проектируется система стабилизации. Не мной одним конечно, но учимся вместе. После цифровой обработки биологических сигналов математика не кажется сложной, но проблема в понимании всех процессов очень сильно мешает)
сначала хотя бы на компьютере с n-ой попытки сделайте, потом и об оптимизации задумывайтесь. провода или радиоканал в помощь. тем более захочется симуляций и визуализации. в кучу всё не мешайте, легче будет вникать.