Манипулятор.
Скачать (3.4mb)
Эта программа, написанная с использованием Qt, моделирует обход препятствий манипулятором для достижения цели - некой точки в пространстве. При нажатии на кнопку 'Анимировать' манипулятор начинает тянуться к цели, стараясь обходить препятствия. При движении манипулятора учитываются массы его звеньев.
Поиск цели осуществляется градиентным методом, обход препятствий происходит за счёт динамической штрафной функции: при столкновениях манипулятора с препятствием добавляется информация об этом столкновении, т.е. номер звена и точка столкновения. С течением времени эти появляющиеся штрафные добавки гасятся. Алгоритм не идеален: манипулятор может застрять в локальном оптимуме. Целевую точку, препятствия и сам манипулятор можно двигать.
Программа была написана под заказ, как курсовая работа.