УДК 004.4+517.977
ПРОГРАММА ДЛЯ РЕШЕНИЯ ЗАДАЧИ ОБ ОПТИМАЛЬНОЙ ПЕРЕОРИЕНТАЦИИ ШАРА
(Работа выполнена при поддержке ФЦП «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг. (соглашение № 8209) и РФФИ, проекты №№ 12-01-00913, 13-01-91162-ГФЕНа)
И.Ю. Бесчастный, аспирант (Институт программных систем им. А.К. Айламазяна РАН, ул. Петра I, 4а, г. Переславль-Залесский, 152021, Россия, [email protected])
Рассматривается задача оптимального качения шара по плоскости с прокручиванием, но без проскальзывания, являющаяся модификацией одной известной модельной задачи геометрической механики, в которой требуется оптимально перевести шар из начального состояния в конечное без прокручивания и проскальзывания. Обе проблемы остаются открытыми, а в случае качения без прокручивания до сих пор неизвестны оптимальные траектории даже в подзадаче о переориентации, когда шар требуется вернуть в исходную точку с новой ориентацией. Если же разрешить шару прокручиваться, задача значительно упрощается. В данной работе описан программный интерфейс для решения задачи об оптимальной переориентации шара с прокручиванием. С использованием необходимых признаков оптимальности экстремальных траекторий, полученных ранее, разработан алгоритм решения, реализованный в виде программного интерфейса в среде Wolfram Mathematica. Разработанная программа позволяет построить и изучить оптимальное возвращение шара. Рассмотренный в статье алгоритм можно использовать для планирования пути сферического робота.
Ключевые слова: программный интерфейс, моделирование, Mathematica, механика, качение поверхностей.
PROGRAM TO SOLVE THE OPTIMAL BALL REORIENTATION PROBLEM
Beschastny I. Yu, postgraduate (Program System Institute of RAS, Petr IAv., 4а, Pereslavl-Zalessky, 152021, Russia, [email protected])
Аbstract. The article considers the optimal problem of a rolling ball on a plane with twisting but without slipping. It is a modification of a classical model problem from geometric mechanics, when it is required to optimally transfer the ball from a given initial state to a terminal one without twisting or slipping. Nowadays both problems are open and even in the non-twisting case the optimal trajectories in the reorientation sub-problem are unknown (when it is required to transfer the ball to the initial point with a new orientation). But if twisting is allowed, the problem becomes significantly simplier. The paper considers the program interface for optimal reorientation in the twisting case. Using some necessary optimality conditions obtained in [10] we construct a solution algorithm, which was realized as a program interface in Wolfram Mathematica. The algorithm considered in this paper can be used for motion planing of a spherical robot.
Keywords: program interface, modeling, Mathematica, mechanics, rolling surfaces.
Рассмотрим механическую систему, состоящую из шара, который катится по горизонтальной плоскости без проскальзывания, но с прокручиванием. Состояние такой системы описывается координатами точки контакта шара и плоскости и матрицей ориентации шара. В задаче о переориентации требуется перекатить шар из одной ориентации в другую так, чтобы достигался минимум вращательной энергии, а координаты точек контакта в начальном и конечном состояниях совпадали. В статье описаны алгоритм решения этой задачи и программный интерфейс, позволяющий изучить качение шара.
Впервые задача об оптимальном качении шара по плоскости была поставлена Дж. Хаммерсли [1] и впоследствии исследовалась различными авторами [2-4]. В своей работе Хаммерсли рассматривал качение по плоскости без проскальзывания и прокручивания из произвольного начального состояния в произвольное конечное. Эта задача до сих пор не решена, что связано со сложной структурой экстремальных траекторий (проекции экстремальных траекторий на плоскость - эластики Эйлера, а матрица ориентации выражается через эллиптические функции Якоби и эллиптический
интеграл третьего рода [3]). При качении с прокручиванием экстремальные траектории выражаются в элементарных функциях, что существенно облегчает исследование оптимальности. В этом случае шар катится лишь по прямым и синусоидам.
Данная задача имеет приложения в механике и робототехнике и представляет собой хорошую модельную задачу в субримановой геометрии [5, 6]. В настоящее время существует большой интерес к созданию роботов, обладающих большей проходимостью, чем колесные. Одной из альтернатив колесным роботам являются сферические роботы. Благодаря своей конструкции они значительно лучше колесных машин справляются с лестницами и прочими препятствиями. Эти роботы могут быть герметичными, что позволяет им передвигаться по снегу и даже по воде. В основе их конструкции могут лежать различные принципы: например, изменение положения центра тяжести, использование колесных механизмов, деформация и т.д. [7]. Описанный в статье алгоритм может использоваться для планирования пути сферических роботов, управляемых тремя роторами внутри. При такой конструкции можно добиться прокру-
чивания. Реальные прототипы подобных машин описываются, например, в [7-9]. Особенность планирования пути сферических роботов заключается в том, что нужно перевести шар в новую точку на плоскости с заданной ориентацией. Это позволяет использовать неподвижную, закрепленную внутри оболочки робота камеру, в результате чего количество сервоприводов в конструкции сравнимо с количеством сервоприводов, используемых в автономных колесных роботах.
Постановка задачи и необходимые сведения. Закрепим в трехмерном пространстве неподвижный репер (еь е2, е3) так, чтобы горизонтальная плоскость, по которой катится шар, была натянута на орты (еь е2), а орт е3 направлен в верхнее полупространство. Выберем подвижный репер (е(, е2, е3), закрепленный в центре шара. Тогда ориентация шара задается матрицей перехода Я : (е|, е'2, е3) ^ (еь е2, е3), а точка контакта координатами (х, у)е К2 в базисе (е1, е2).
Выберем в качестве управления компоненты
единичного вектора угловой скорости О =(0ь 02, 03)е М3. Задачу о переориентации можно сформулировать как следующую задачу оптимального управления:
( 0 -q3 q2 ^
x = -q2, у = qj, r = R q3 0 -qj
v-q2 qj 0 ,
(x, y)e Ж 2, R eSO(3), Q = (Q1, Q2, Q3) e M3, (x(0), y(0), R(0))=(0, 0, Id), (x(ti), y(ti), R(ti))=(0, 0, Ri),
1 '>
J(Q) = - J (Qj + Qj + Q32 )dt ^ min, 2 0
где ti фиксированное.
Приведем вначале общее описание экстремальных траекторий в задаче об оптимальном качении шара с прокручиванием. Исходим из того, что при оптимальном движении вектор угловой скорости Q вращается равномерно вокруг неподвижного горизонтального вектора й = (raj, ю2,0) и
поворот вокруг вертикальной оси на угол ß является симметрией задачи:
Фр : (Q,й,x,y,R,t} ^ (Qp,йр,xp,/,Re,te},
te = t, áp = ePA á, йp = e1^ Й,
f xß) fcos ß - sin ßY x
y
sin ß cos ß Дy
= евАЯе-РА,
где ерАз - матрица поворота вокруг оси е3 на угол р. Это позволяет повернуть систему так, чтобы вектор й принял вид й = (й,0,0). Тогда уравнения экстремальных траекторий примут наиболее простой вид:
x = -<в-1 (02 sin at + Q 3 cos at-Q0), y = Q 0t (1)
(2)
2
_ t( m+Q0) -tm
R = e
e
где
(Q0, D°2, Q3) =(Qi (0), Q2(0), Q3(0))= Q0;
e'(a+a°} и e tm - повороты вокруг векторов й+О0 и -й соответственно [10].
В дальнейшем вместо матрицы поворота R будет удобно использовать соответствующий ей единичный кватернион q=q0+iq1+jq2+kq3,
| q \= -Jql + q2 + q2 + q32 = 1. Напомним, что каждому вращению трехмерного пространства можно поставить в соответствие пару кватернионов ±q
по следующему правилу: если R - вращение трехмерного пространства вокруг единичного вектора
а = (а1, а2, а3) на угол 8, то
6 / ■ ■ • 6
q = cos — + (ali + а2 j + a3k) sin— .
Это позволяет переписать уравнение (2) в ква-тернионном виде:
| Q +C11 at Q0 +a . | Q +C11 . at
q0 = cos—0-cos---sin—0-sin—,
2 2 | Q+a| 2 2
Q0 +a at . | Q +C 11 | Q +cc 11 . at
q =-cos—sin—0--cos—0-sin—,
| Q +a | 2 2 2 2
q =
i
at
Iq +a | ^ ~2
0 ,, • atV I q, +a 11 q cos—qsm— jsm
2
(3)
2
1 (ш ъо • rot V | Ц, +й 11 q3 =—-1 Ц cos— +Ц sin— Isin—-i-.
| Ц +ro | V 2 2) 2
Из двух кватернионов ±q, соответствующих матрице R, здесь приведен кватернион с начальными условиями q=1.
Теперь перейдем от общей задачи управления шаром к подзадаче о переориентации. Опираемся на утверждения, доказанные в [10]:
1) шар может вернуться назад в начало координат только в случае, если он катится по отрезку или стоит на месте и крутится;
2) вращение на месте будет оптимальным, если шар повернется на угол а<п вокруг вертикальной оси;
3) при качении по отрезку вектор угловой скорости Q перпендикулярен горизонтальному вектору й;
4) при качении по отрезку шар вернется в на-
чало координат в момент времени Т = где определяется из соотношений
q2
: = COS
Q,
)2 + (Q0 )2 °\l( Q2 )2 + (Q0 )2
2(л-у0)
= sin ,
Уо =Уо +^ mod п;
а
Тогда в момент первого возвращения ориентация шара будет иметь вид
q0 = cos y cos(Y cos a) + cos a sin y sin(y cos a),
q = cos a sin y cos(y cos a) - cos y sin(y cos a), (6)
q2 = 0, q3 = ± sin a sin y.
Если данная система имеет единственное решение (a, у), удовлетворяющее условиям в (5), и по этому решению единственным образом могут быть найдены значения (ю, у0).
Алгоритм решения задачи. На основе теоретических результатов автором построен алгоритм решения задачи об оптимальной переориентации и написана программа, наглядно демонстрирующая оптимальное качение шара.
Блок-схема алгоритма приведена на рисунке 1.
5) качение по отрезку неоптимально, если
*< , ^ , . (4)
VVo (2л-%) )
Положим, что й =(ю, 0, 0), и найдем ориентацию в момент времени T. В соответствии с утверждением 3 получим, что Q0 = (0,cos ,sin ). Подставим выражения для компонент векторов ю, Q0 и времени T в (3) и сделаем следующую замену переменных с учетом (4):
ю \1ю2 +1 , , ч
Тю^Г ю (5)
ае| 0, nj, Y е (0, п).
На первом шаге определяется конечная ориентация шара с помощью угла вращения 9 и оси вращения, заданной вектором (х, у z). Если ось вращения вертикальна, оптимальным является кручение на месте (блоки 3-10). При этом шар должен повернуться на угол, меньший п, как указано ранее. По этой причине оптимальным будет вращение либо на угол 9 (блоки 7, 9), либо на угол 2п-9 (блоки 6, 8).
Если же вектор х^0, у^0, оптимальным должно быть качение по отрезку (блоки 11-19). В этом случае сначала по оси вращения и углу строится соответствующая пара кватернионов q±=±(q0+iq 1+ +jq2+kq3), затем каждый кватернион поворачивается на угол р±, который определяется из соотношений
cos ß± = ±
í
2 2 q + q
sin ß± = Т q2
"Л
22 Il + <?2
Тогда конечная ориентация будет задаваться кватернионами q± = ±q0 + i^qf+ql ±kq3. Далее решаются две системы (6): cos y cos(y cos a) + cos a sin y sin(Y cos a) = ±q0 ,
cos a sin y cos(y cos a) - cos y sin(Y cos a) q2 + Q , sin a sin y = |q3| .
Для решения этой системы использовался метод Ньютона с выбором начального значения по равномерной сетке. Вычислительные эксперименты показали, что для нахождения корня достаточно сетки из девяти узлов.
Для каждой пары полученных значений (а±, у±) с помощью (5) получаются соответствующие величины (ю, ). Из двух полученных траекторий оптимальной будет та, у которой меньше значение времени T (блок 17). После того как параметры кратчайшей траектории найдены, она может быть построена с помощью формул (1) и (2).
Описание программного интерфейса. Алгоритм решения задачи о переориентации шара был реализован в среде Mathematica. Программный интерфейс показан на рисунке 2. В левой части находится панель управления, которая позволяет ввести входные данные и управлять элементами
Рис. 2. Программный интерфейс
интерфейса. В правой части отображается оптимальное качение шара.
Входные данные (координаты оси и угла вращения) задаются с помощью ползунков X, Y, Z и Angle. Панель Run the animation позволяет запускать/останавливать анимацию, изменять ее скорость и переходить к конкретному моменту времени с помощью ползунка Time. С помощью панели Customize можно управлять следующими элементами отображения качения:
- Sphere's opacity - прозрачность сферы;
- Planes's opacity - прозрачность плоскости;
- Meredians - показать/скрыть меридианы на сфере;
- Movingframe - показать/скрыть подвижный репер;
- StationaryFrame - показать/скрыть неподвижный репер;
- ResultFrame - показать/скрыть конечный репер;
- ResultFrameRGB - отображать конечный репер в цвете;
- PlaneGrid - показать/скрыть координатную сеть на плоскости;
- PlaneCurve - показать/скрыть траекторию точки контакта на плоскости;
- SphereCurve - показать/скрыть траекторию точки контакта на сфере.
Для решения системы (6) в программе использовался метод Ньютона с выбором начального значения по сетке в области изменения (а, у), указанной в (5).
В заключение отметим, что в данной статье явно построен алгоритм решения задачи о переориентации сферы и описана программа, решающая эту задачу. Настоящий алгоритм в дальнейшем можно использовать для перевода шара из произвольного начального состояния в произвольное конечное. Для этого сначала нужно перекатить шар в выбранную точку по прямой без прокручивания и проскальзывания, а затем применить алгоритм, построенный в данной статье.
Полученные результаты могут использоваться для планирования пути и управления колесными роботами с роторами.
Автор благодарен С. Попову за любезно предоставленные материалы для написания данной статьи.
Литература
1. Hammersley J.M., Oxford commemoration ball. Probability, Statistics and Analysis, Cambridge Univ. Press, 1983, pp. 112142.
2. Arthurs A.M., Walsh G.R., On Hammersley's minimum problem for a rolling sphere, Math. Proc. Cambridge Phil. Soc., 1986, Vol. 99, pp. 529-534.
3. Jurdjevic V., The geometry of the plate-ball problem, Arch. Rat. Mech. Anal., 1993, Vol. 124, pp. 305-328.
4. Маштаков А.П., Сачков Ю.Л. Экстремальные траектории и точки Максвелла в задаче об оптимальном качении сферы по плоскости // Матем. сб., 2011. Т. 202 (9). С. 97-120.
5. Аграчев A.A., Сачков Ю.Л. Геометрическая теория управления. М.: Физматлит, 2005. 392 с.
6. Montgomery R., A Tour of Subriemannian Geometries, Their Geodesies and Applications. American Mathematical Society, 2006, 259 с.
7. Chase R., Pandya A., A review of Active Mechanical Driving Principles of Spherical Robots. Robotics, 2012, Vol. 1, pp. 3-23.
8. Joshi V., Banavar R., Hippalgaonkar R., Design, modeling and controllability of a spherical mobile robot. Proc. 13th Nation. Conf. on Mech. and Machines, 2007, pp. 3-8.
9. Svinin M., Morinaga A., Yamamoto M., An analysis of the motion planning problem for a spherical rolling robot driven by internal rotors, IEEE/RSJ Intern. Conf. on Intell. Robots and Systems, 2012, pp. 414-419.
10. Бесчастный И.Ю. Об оптимальном назначении сферы по плоскости с прокручиванием, без проскальзывания // Математический сб. 2013. Т. 204 (10).
References
1. Hammersley J.M., Probability, Statistics and Analysis, Cambridge Unv. Press, 1983, pp. 112-142.
2. Arthurs A.M., Walsh G.R., Math. Proc. Cambridge Phil. Soc., Vol. 99, 1986, pp. 529-534.
3. Jurdjevic V., Arch. Rat. Mech. Anal., Vol. 124, 1993, pp. 305-328.
4. Mashtakov A.P., Sachkov Yu.L., Matematicheskiy sbornik, Vol. 202 (9), 2011, pp. 97-120.
5. Agrachev A.A., Sachkov Yu.L., Control theory from the geometric point of view, Springer, 2004.
6. Montgomery R., A Tour of Subriemannian Geometries, Their Geodesies and Applications, American Mathematical Society, 2006.
7. Chase R., Pandya A., Robotics, Vol. 1, 2012, pp. 3-23.
8. Joshi V., Banavar R., Hippalgaonkar R., 13th National Conf. on Mechanics and Machines, 2007, pp. 3-8.
9. Svinin M., Morinaga A., Yamamoto M., IEEE/RSJ Int. Conf. on Intelligent Robots and Systems, 2012, pp. 414-419.
10. Beschastny I.Yu., Matematicheskii Sbornik, 2013, Vol. 204 (10).
УДК 519.876.5
ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ ПРИ МОДЕЛИРОВАНИИ ПРОЦЕССА РАСТВОРЕНИЯ НА МИКРОУРОВНЕ
(Работа выполнена при поддержке Министерства образования и науки РФ, ГК№ 14.514.11.4054)
С.И. Иванов, аспирант; А.В. Матасов, к.т.н.; М.А. Голубчиков, студент; Н.В. Меньшутина, д.т.н., профессор (Российский химико-технологический университет им. Д.И. Менделеева, Миусская пл., 9, г. Москва, 125047, Россия, [email protected], [email protected], [email protected], [email protected])
Описан программный комплекс для моделирования процессов растворения и водопоглощения на микроуровне с использованием высокопроизводительных вычислений. Предложена имитационная модель растворения и водопо-глощения твердых тел и рассмотрена программная реализация расчетного алгоритма с применением параллельных вычислений. Имитационная модель построена на основе вероятностных клеточных автоматов.
В статье описан принцип работы клеточного автомата, приведены возможные состояния клеток и правила перехода из одного состояния в другое, описаны допущения модели. Модель дает возможность проводить численные эксперименты для тел с многокомпонентным составом и сложной геометрией (твердые тела, покрытые оболочкой, или тела нестандартной формы). Математическая модель позволяет использовать заранее сгенерированные структуры, а также генерировать структуры твердых тел непосредственно перед расчетом. В ходе численных экспериментов было смоделировано растворение твердого тела полимерного нанокомпозита в промежуток времени, составляющий одну неделю. Результаты моделирования сравниваются с экспериментальными данными на примере растворения и водопоглощения полимерных нанокомпозитов, содержащих мягкие и жесткие включения. Доказана адекватность разработанной модели растворения и водопоглощения. Описаны планы развития программного комплекса и математической модели.
Ключевые слова: параллельные вычисления, вероятностные клеточные автоматы, моделирование растворения.
PARALLEL COMPUTING IN MODELING SOLUTION PROCESS IN MICRO LEVEL IvanovS.I., postgraduate; Matasov A V., PhD.; GolubchikovM.A., student; Menshutina N. V., Ph.D., professor (D. Mendeleev University of Chemical Technology of Russia, 9, Miusskaya Sq., Moscow, 125047, Russia, [email protected], [email protected], [email protected], [email protected])
Аbstract. The article describes software for modeling the processes of dissolution and water absorption at the micro level using high-performance computing. A simulation model of water absorption and dissolution of solids based on probabilistic cellular automata was proposed, software implementation of the calculation algorithm using parallel computing was discussed. The model is based on the probabilistic cellular automata. This paper describes the operating principle of cellular automata, the possible states of the cells and rules of transitions from one state to another, the assumptions of the model. The model allows carrying out numerical experiments for the bodies with multi-component composition and complex geometry (solids, coated or irregular body shape). The mathematical model can be used for pre-generated structures and also generate a structure of solids immediately prior to settlement. After numerical experiments the dissolution process of solid polymer nanocomposite was modeled in one week interval. The simulation results were compared with the experimental data on the