[identity profile] lonely-war.livejournal.com posting in [community profile] engineering_ru
upd. Спасибо за помощь, получилось, в комментах выложил скрин решения

Помогите люди добрые, горю. Собрал конструкцию scara робота. Принцип управления немного отличается от общепринятого - на осях у меня стоят переменные резисторы, которые вращаются вместе с ними. В динамике измеряю сопротивление, аппроксимирую и знаю на какой угол в данный момент смещены рёбра конструкции.


Через углы довольно просто вычислить текущие координаты оголовка манипулятора. Но чтобы управлять им, мне нужно решить обратную задачу. И не получается.



Геометрически задача выглядит так:


Через координаты x и y нужно вычислить углы alfa и beta. Я пробовал через синусы косинусы.
Застрял на необходимости разложить арксинус разности.


Потом подумал, у нас же точка соединения рёбер это точка пересечения двух окружностей. На каком-то этапе пришлось возводить обе части уравнения в квадрат и соответственно терять корни. Ну да леший бы с ними. Всё равно результат уравнения не совпал с геометрическим построением. Как так может получиться не понимаю, в чём-то ошибся что ли.

math.sqrt((math.pow(y*y+x*x,2)-4*y*y*l*l)/(4*x*x-4*y*y))


Ещё нашёл вот такую картинку. Забитые по ней формулы дали примерно правильный результат, но они теряют знак. У меня вторая соединительная ось манипулятора может заходить в отрицательную зону, угол alfa может быть меньше нуля. А формула всегда даёт абсолютное значение.


beta = math.acos((x*x+y*y-l*l-l*l)/(2*l*l))

beta / math.pi * 180

gamma = math.acos((x*x+y*y+l*l-l*l)/(2*l*math.sqrt(x*x+y*y)))

gamma / math.pi * 180

alfa = beta / 2 - (math.pi / 2 - gamma)

alfa / math.pi * 180



Пробовал смотреть исходники Marlin от vitaminred. Место в коде, где вычисляются углы нашёл, но там какая-то вакханалия.


В общем если кто-то подскажет как решить, мы с Тыквой будем очень признательны.



This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

engineering_ru: (Default)
Инженерия

December 2025

S M T W T F S
 123456
78910111213
14151617181920
2122232425 2627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 10th, 2026 04:51 am
Powered by Dreamwidth Studios