Неортогональные координаты
Jun. 10th, 2021 11:18 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Всю неделю возился с корректором оптоволоконного спектрографа. Мужики с какого-то перепуга решили, что будет очень забавно сделать оси под углом 120°. Бились с математикой, несколькими способами получили решения для перевода из ортогональной системы XY в эту кривую UV, однако, из-за неортогональности последней, перевод получается неоднозначным. В итоге система, которая должна (по идее) за 1-2 движения скорректировать отклонение звезды от оптоволокна, выполняет это долго и мучительно, постепенно (итераций за 15-20) приближаясь к цели. Но, даже сев на цель с точностью в 0.1 пикселя, система получается неустойчивой: чуть сместится изображение, и поехали: коррекция приводит к нарастающему смещению по другой оси, в итоге изображение болтается в кружке с радиусом полтора-два пикселя.
И это я еще не дошел до входной турели! Там наши рационализаторы предложили одним двигателем выполнять уйму движений: крутишь в одну сторону — вращается турель (а в некоторых положениях в пучок входит анализатор поляризации), крутишь в другую — вращаются фазовые пластины. И изначально на этом не было ни одного концевика (нужно минимум 2)!
С другой стороны есть противоположность: подвесная часть оптоволоконного спектрографа БТА, где размещено больше двух десятков шаговых моторов!
В общем, в который раз убеждаюсь, что основные столпы — принципы KISS и UNIX-way — нужно соблюдать не только при разработке ПО, но и при разработке железа!
// еще бы перейти с С на какой-нибудь аналогичный ЯП, но требующий в разы меньше писанины!.. Жаль, не придумали еще такого ☹
И это я еще не дошел до входной турели! Там наши рационализаторы предложили одним двигателем выполнять уйму движений: крутишь в одну сторону — вращается турель (а в некоторых положениях в пучок входит анализатор поляризации), крутишь в другую — вращаются фазовые пластины. И изначально на этом не было ни одного концевика (нужно минимум 2)!
С другой стороны есть противоположность: подвесная часть оптоволоконного спектрографа БТА, где размещено больше двух десятков шаговых моторов!
В общем, в который раз убеждаюсь, что основные столпы — принципы KISS и UNIX-way — нужно соблюдать не только при разработке ПО, но и при разработке железа!
// еще бы перейти с С на какой-нибудь аналогичный ЯП, но требующий в разы меньше писанины!.. Жаль, не придумали еще такого ☹