Maloletov-diss
.pdf151
2. Логика работы объекта тела не подразумевает знание какой порядковый номер тело имеет в системе, и тем более — какие порядковые номера имеют взаимодействующие тела (хотя технически их и возможно получить). Однако, от этого зависят знаки коэффициентов при силах и моментах сил. Поэтому логичнее переложить вычисление знаков на среду.
Согласно описанному подходу будут сформированы матрицы определённой структуры. Так, i тело будет формировать матрицу вида:
V˙ |
V˙ |
V˙ |
p˙i |
q˙i |
r˙i |
|
|
|
|
|
|
ix |
iy |
iz |
|
|
|
|
|
|
|
|
|
m |
|
|
|
|
|
-m qV + m rV |
|
|
|
||
i |
|
|
|
|
|
i i |
iz |
i i iy |
|
|
|
|
m |
|
|
|
|
-m rV + m pV |
|
|
|
||
|
i |
|
|
|
|
i i |
ix |
i i iz |
|
|
|
|
|
mi |
|
|
|
-mi piViy + miqiVix |
|
|
|
||
|
|
|
Jix |
-Jixy |
-Jixz |
-(Jiz |
- Jiy )qiri - Jiyz (ri |
2 - qi2 ) - pi (Jixyri - Jixzqi ) |
|
||
|
|
|
-Jixy |
Jiy |
-Jiyz |
-(Jix |
- Jiz )ri pi - Jixz ( pi2 - ri |
2 )- qi (Jiyz pi - Jixyri ) |
|
||
|
|
|
-Jixz |
-Jiyz |
Jiz |
-(Jiy |
- Jix ) piqi - Jixy (qi2 - pi2 )- ri (Jixzqi - Jiyz pi ) |
|
Над матрицей для удобства выписаны переменные, которым соответствуют столбцы. Правый столбец содержит свободные члены уравнений.
Объект-взаимодействие i и j тел будет формировать пять матриц. Первые две из них будут записываться на основе уравнений (2.18), они одинаковы по структуре и отличаются только индексами (первая описывает действие j тела на i тело, а вторая — i тела на j тело):
|
|
Fijx |
|
|
|
|
|
Fijh |
|
|
|
|
|
FijV |
|
|
|
|
Mijx |
Mijh |
MijV |
|
a11 |
|
|
|
|
a12 |
|
|
|
|
a13 |
|
|
|
|
|
|
|
|
0 |
|||
a21 |
|
|
|
|
a22 |
|
|
|
|
a23 |
|
|
|
|
|
|
|
|
0 |
|||
a31 |
|
|
|
|
a32 |
|
|
|
|
a33 |
|
|
|
|
|
|
|
|
0 |
|||
a |
31 |
y - a |
21 |
z |
ij ) |
a |
32 |
y - a |
z |
a |
33 |
y - a |
23 |
z |
ij ) |
a11 |
a12 |
a13 |
0 |
|||
( |
ij |
|
( |
ij |
|
22 |
ij ) |
( |
ij |
|
|
|
|
|
|
|||||||
a z - a |
31 |
x |
a z - a |
|
x |
|
a z - a |
|
x |
|
a21 |
a22 |
a23 |
0 |
||||||||
( |
11 |
ij |
|
ij ) |
( |
12 |
ij |
32 ij ) |
( |
13 |
ij |
33 |
ij ) |
|
|
|
|
|||||
a |
21 |
x - a |
y |
a |
22 |
x - a |
|
y |
ij ) |
a |
23 |
x - a y |
|
a31 |
a32 |
a33 |
0 |
|||||
( |
ij |
11 |
|
ij ) |
( |
ij |
12 |
( |
ij |
13 |
ij ) |
|
|
|
|
Здесь «–» следует писать если i > j, а «+» — если i < j
152
Другие две матрицы будут включать в себя коэффициенты при обобщённых ускорениях, получающиеся в результате дифференцирования уравнений связи, в столбце свободных членов — все прочие (не содержащие обобщённых ускорений слагаемые) из уравнений (2.21) и (2.23).
Последняя матрица содержит в себе условия наложенные на силы и моменты сил (2.19).
Например, для силового взаимодействия эти две матрицы будут нулевыми, а третья матрица будет иметь вид:
Fijx |
Fijh |
FijV |
Mijx Mijh MijV |
|
||
1 |
|
|
|
|
|
Fijx |
|
|
|
|
|
|
|
|
1 |
|
|
|
|
Fijh |
|
|
1 |
|
|
|
FijV |
|
|
|
1 |
|
|
Mijx |
|
|
|
|
1 |
|
Mijh |
|
|
|
|
|
1 |
MijV |
Алгоритм сборки полной матрицы заключается в выполнении следующих действий. Уравнения, описывающие движение одного свободного тела отображаются в матрицу, схематично представленную на рисунке 2.2.
Светлые ячейки соответствуют нулевым коэффициентам, серые ячейки — коэффициентам отличным от нуля, тёмно-серые — столбец свободных членов.
Рисунок 2.2 — Схема матрицы уравнений, описывающих движение одного твёрдого тела.
153
При добавлении второго тела матрица увеличивается на 6 строк и столбцов, элементы столбца свободных членов переносятся в крайний правый столбец, а в добавленные ячейки помещаются коэффициенты уравнений второго тела (см. рисунок 2.3).
1 тело |
2 тело |
1 тело |
|
2 тело |
|
Светлые ячейки соответствуют нулевым коэффициентам, серые ячейки — коэффициентам отличным от нуля исходной матрицы (рисунок 2.2) первого тела, тёмно-серые — коэффициентам добавленной на данном этапе матрицы второго тела.
Рисунок 2.3 — Схема матрицы уравнений, описывающих движение двух свободных твёрдых тел.
Если первое и второе тело взаимодействуют друг с другом, то матрица увеличивается ещё на 6 строк и столбцов. Элементы столбца свободных членов опять переносятся в крайний правый столбец, а в добавленных ячейках размещаются матрицы, сформированные объектом-взаимодействием. Элементы в добавленных столбцах первых 12 строк имеют строгую структуру, которая определяется способом задания сил взаимодействия между телами. А элементы на последних 6 строках определяются уравнениями связей — и их структура зависит
154
от вида связи. Для примера на рисунке 2.4 показана структура матрицы, получающаяся при введении в систему сферического шарнира.
1 тело |
2 тело |
связь 1-2 |
1 тело |
|
|
2 тело |
|
|
связь 1-2 |
|
|
Светлые ячейки соответствуют нулевым коэффициентам, серые ячейки — коэффициентам отличным от нуля исходной матрицы (рисунок 2.3) для двух свободных тел, тёмно-серые — коэффициентам добавленных уравнений связи.
Рисунок 2.4 — Схема матрицы уравнений, описывающих движение двух твёрдых тел, соединённых друг с другом сферическим шарниром.
Действия повторяются при включении в систему новых тел и взаимодействий. На рисунке 2.5 показана структура матрицы, получающейся при добавлении в рассматриваемый пример третьего твёрдого тела.
|
|
155 |
|
1 тело |
2 тело |
связь 1-2 |
3 тело |
1 тело |
|
|
|
2 тело |
|
|
|
1-2 |
|
|
|
связь |
|
|
|
3 тело |
|
|
|
Светлые ячейки соответствуют нулевым коэффициентам, серые ячейки — коэффициентам отличным от нуля исходной матрицы (рисунок 2.4), тёмносерые — коэффициентам уравнений третьего тела.
Рисунок 2.5 — Схема матрицы уравнений после добавления в систему третьего тела.
2.6.2.Особенности реализации численных методов
Для численного определения производных используются известные разностные схемы [13, 224]:
f 'x x ≈ |
f x x − f x− x |
. |
(2.109) |
|
|||
|
2 x |
|
|
|
|
156 |
|
|
|
|
|
f ' ' x x ≈ |
f x x −2 f x f x− x |
. |
(2.110) |
|||
|
|||||||
|
|
|
x2 |
|
|
|
|
f ' ' ' x x ≈ |
f x 2Δ x −2 f x |
x 2 f x− |
x − f x−2 |
x |
.(2.111) |
||
|
2 x3 |
|
|
|
|||
|
|
|
|
|
|
|
где f — дифференцируемая функция; x — переменная, по которой берётся производная; x — малое приращение переменной — шаг взятия производной.
Известно [13], что при использовании формулы (2.109) ошибка пропорциональна значению третьей производной
Если предполагать бесконечно высокую точность представления чисел, то чем меньше x , тем более высокую точность позволяют получить формулы (2.109), (2.110) и (2.111). Однако в компьютере точность представления чисел ограничена. Поэтому при достаточно малых значениях x , точность вычислений ухудшается. Если обозначить через относительную погрешность представления чисел в компьютере (например, для типа double ϵ≈10−15÷−16 ), то ошибку вычислений по формуле (2.109) можно оценить следующим выражением:
O≈ |
x2 |
f ' ' 'x x |
|
f x |
. |
(2.112) |
|
|
3 |
x |
|
||||
|
|
|
|
|
Отсюда следует, что оптимальный шаг дифференцирования, при котором ошибка будет минимальна определяется по формуле:
√ |
|
3 ϵ f ( x) |
|
|
|
|
|
xO≈3 |
|
. |
(2.113) |
||||
2 f ' ' 'x ( x) |
|||||||
|
|
|
157
Если f ' ' ' x x окажется равно 0, то использование формулы (2.113) даст ошибку, которую нельзя трактовать однозначно. Это может быть и ситуация когда f ' ' ' x x действительно равна 0 и шаг дифференцирования на точность вычислений не влияет (на самом деле, при очень большом шаге погрешность может возникать из-за неточности представления чисел в компьютере, но практического значения это не имеет). С другой стороны может быть ситуация, когда шаг слишком маленький и из-за погрешностей представления чисел в компьютере отличие f ' ' ' x x от нуля не заметно. Теоретически возможно также случайное попадание в точку, в которой приближённая формула (2.111) даёт равенство 0, в то время как точное значение третьей производной отличается от нуля. Но на практике вероятность такого события пренебрежимо мала.
Поэтому, на x накладывается ещё два условия:
x ϵ x , |
(2.114) |
где символ следует понимать как «больше на 1-2 порядка», и
|
|
|
x≤ xmax , |
(2.115) |
где xmax |
— максимально допустимый шаг, задаваемый экспертно. |
|||
|
В разработанном программном обеспечении реализован следующий |
|||
алгоритм численного дифференцирования. |
|
|||
1. |
Шагу дифференцирования x присваивается значение |
xmax . |
||
2. |
Вычисляется значение f ' ' ' x( x) (2.111). |
|
||
3. Если f |
' ' ' x x |
равно нулю, то вычисляются результаты дифференцирования — |
||
значения |
f 'x (x) |
(2.109) и, при необходимости, f ' ' x (x) |
(2.110), после чего |
|
|
|
158 |
|
|
алгоритм завершается. |
|
|
|
||
4. Если |
f ' ' ' x x не равно нулю, то вычисляется xO (2.113). |
|
|
||
5. |
Если |
для xO выполняются оба условия (2.114) и |
(2.115), |
то шагу |
|
дифференцирования x присваивается значение xO . |
|
|
|||
6. |
Если для xO не выполняется условие (2.114), то шагу дифференцирования |
||||
x присваивается значение ε x . |
|
|
|||
7. |
если для xO не выполняется условие (2.115), то шагу дифференцирования |
||||
x присваивается значение |
xmax . |
|
|
||
8. |
Вычисляется результат |
дифференцирования — значение |
f 'x x |
(2.109). |
Найденный шаг дифференцирования используется также для вычисления второй f ' ' x (x) (2.110) и третьей f ' ' ' x x (2.111) производных.
Этот же алгоритм используется при вычислении частных производных функций нескольких переменных, что требуется в некоторых задачах оптимизации.
Например, если функция механического состояния шагающей машины () зависит от одной обобщённой координаты и её первой и второй производных
Φ=Φ(q , q˙ , q¨ ) . |
(2.116) |
Значение функции Φ для любого момента времени, обобщённых координаты, скорости и ускорения может быть получено из теоретикомеханической модели путём задания соответствующего программного закона движения. Следовательно значения частных производных, которые могут понадобиться, могут быть найдены с помощью следующих разностных схем.
Φ(q)=∂Φ ≈ |
Φ+00−Φ−00 |
(2.117) |
|
2 q |
|||
∂ q |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
|
|
|
|
|
|
|
|
|
|
|
|
|
Φ |
|
|
|
|
= |
|
|
|
∂2 Φ |
|
≈ |
Φ++0−Φ−+0−Φ+−0+Φ−−0 |
||||||||||||||||
|
|
|
|
|
(q q˙ ) |
|
|
|
|
∂ q∂ q˙ |
|
|
|
|
4 q q˙ |
|
|
|
|
|
|
|||||||||||
|
|
|
|
Φ |
|
= |
|
|
|
∂2 Φ |
≈ |
Φ+0+ −Φ−0+−Φ+0−+Φ−0− |
||||||||||||||||||||
|
|
|
|
|
(q q¨ ) |
|
|
|
|
∂ q∂ q¨ |
|
|
|
|
4 q q¨ |
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
Φ |
|
|
|
=∂2Φ ≈ |
Φ0+0−2 Φ000+Φ0−0 |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
(q˙ |
q˙ ) |
∂ q2 |
|
|
q2 |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
˙ |
|
|
˙ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Φ |
|
|
|
=∂2Φ ≈ |
Φ00+−2 Φ000+Φ00− |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
(q¨ |
q¨ ) |
∂ q2 |
|
|
q2 |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
¨ |
|
|
|
¨ |
|
|
|
|
|
|
|
|
|
Φ |
|
= |
|
∂3 Φ |
|
|
|
|
≈ Φ+0+ −2Φ00+ +Φ−0+ −Φ+0−+2 Φ00−−Φ−0− |
|||||||||||||||||||||||
(qq q¨ ) |
|
|
∂ q2 ∂q |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 q2 |
q |
|
|||||||||||||
|
|
|
|
|
|
|
¨ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
¨ |
|
|
|
|
|
|
|
|||
Φ |
|
|
= |
|
|
|
|
|
∂3 Φ |
|
≈ |
Φ+++−Φ−++−Φ+−+ +Φ−−+ + |
||||||||||||||||||||
|
|
(q q˙ q¨ ) |
|
|
∂ q ∂q˙ ∂q¨ |
|
|
|
|
8 q q˙ |
q¨ |
|
|
|
||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
+ |
−Φ++ −+Φ−+ −+Φ+−−−Φ−−− |
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
q q |
q |
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
˙ |
¨ |
|
|
|
|
|
|
|
|
Φ |
|
= |
|
∂3 Φ |
|
|
|
|
≈ Φ+0+ −2Φ+00 +Φ+0− −Φ−0++2 Φ−00 −Φ−0− |
|||||||||||||||||||||||
(q q¨ q¨ ) |
|
|
∂ q ∂q2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 q q2 |
|
|
|||||||||||||
|
|
|
|
|
|
|
¨ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
¨ |
|
|
|
|
|
|
|
Φ |
= |
|
∂3 Φ |
|
|
|
≈ Φ0++−2Φ00+ +Φ0−+ −Φ0+− +2Φ00− −Φ0−− |
|||||||||||||||||||||||||
(q˙ q˙ q¨ ) |
|
|
∂ q2 |
∂q |
|
|
|
|
|
|
|
|
|
|
|
|
|
2 q2 |
q |
|||||||||||||
|
|
|
|
˙ |
|
|
¨ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
˙ |
¨ |
|
|
|
|
|
|
|
||
Φ |
= |
|
∂3 Φ |
|
|
|
≈ Φ0++−2Φ0+0+Φ0+ −−Φ0− ++2Φ0−0−Φ0−− |
|||||||||||||||||||||||||
(q˙ q¨ q¨ ) |
|
|
∂ q ∂q2 |
|
|
|
|
|
|
|
|
|
|
|
|
2 q q2 |
|
|||||||||||||||
|
|
|
|
˙ |
|
¨ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
˙ |
¨ |
|
|
|
|
|
|
|
|
|
|
|
|
Φ |
|
|
=∂3Φ ≈ Φ00+2−2 Φ00++2 Φ00−−Φ00−2 |
|||||||||||||||||||||||||
|
|
|
|
(q¨ |
q¨ q¨ ) |
|
|
|
|
|
|
∂q3 |
|
|
|
|
|
2 q3 |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
¨ |
|
|
|
|
|
¨ |
|
|
|
|
|
|
|
|
где
(2.118)
(2.119)
(2.120)
(2.121)
(2.122)
(2.123)
(2.124)
(2.125)
(2.126)
(2.127)
|
|
|
|
160 |
|
|
|
Φ |
000 |
=Φ(q , q , q) |
|
|
|
|
|
|
˙ ¨ |
|
|
|
Φ |
=Φ(q+Δ q , q , q) |
|
||||
+00 |
|
|
˙ |
¨ |
|
|
Φ |
=Φ(q− q , q , q) |
|
||||
−00 |
|
|
˙ |
¨ |
|
|
Φ |
=Φ(q+Δ q , q+Δ q , q) |
|||||
++0 |
|
|
|
˙ |
˙ |
¨ |
Φ |
=Φ(q− |
q , q+Δ q , q) |
||||
−+0 |
|
|
|
˙ |
˙ |
¨ |
Φ |
=Φ(q+Δ q , q− |
q , q) |
||||
+−0 |
|
|
|
˙ |
˙ |
¨ |
Φ |
=Φ(q− |
q , q− |
q , q) |
|||
−−0 |
|
|
|
˙ |
˙ |
¨ |
Φ |
=Φ(q+Δ q , q , q+Δ q) |
|||||
+0+ |
|
|
|
˙ ¨ |
|
¨ |
Φ |
=Φ(q− |
q , q , q+Δ q) |
||||
−0+ |
|
|
|
˙ ¨ |
|
¨ |
Φ |
=Φ(q+Δ q , q , q− |
q) |
||||
+0− |
|
|
|
˙ ¨ |
|
¨ |
Φ |
=Φ(q− |
q , q , q− |
q) |
|||
−0− |
|
|
|
˙ ¨ |
|
¨ |
Φ0+0=Φ(q , q˙ +Δ q˙ , q¨ )
Φ0−0=Φ(q , q˙ − q˙ , q¨ )
|
Φ |
|
+ |
=Φ(q , q , q+Δ q) |
|
|
|
|||
|
00 |
|
˙ |
¨ |
¨ |
|
|
|
||
|
Φ |
|
− |
=Φ(q , q , q− q) |
|
|
|
|||
|
00 |
|
˙ |
¨ |
¨ |
|
|
(2.128) |
||
Φ |
=Φ(q+Δ q , q+Δq , q+Δ q) |
|||||||||
+++ |
|
|
|
|
˙ |
|
˙ ¨ |
|
¨ |
|
Φ |
=Φ(q− q , q+Δ q , q+Δ q) |
|
||||||||
−++ |
|
|
|
|
˙ |
|
˙ ¨ |
|
¨ |
|
Φ |
=Φ(q+Δ q , q− |
q , q+Δ q) |
|
|||||||
+−+ |
|
|
|
|
˙ |
|
˙ ¨ |
|
¨ |
|
Φ |
=Φ(q− |
q , q− |
q , q+Δ q) |
|
||||||
−−+ |
|
|
|
|
˙ |
|
˙ ¨ |
|
¨ |
|
Φ |
=Φ(q+Δ q , q+Δ q , q− |
q) |
|
|||||||
++− |
=Φ(q− |
˙ |
|
˙ ¨ |
|
¨ |
|
|||
Φ |
q , q+Δ q , q− |
q) |
|
|||||||
−+− |
|
|
|
|
˙ |
|
˙ ¨ |
|
¨ |
|
Φ |
=Φ(q+Δ q , q− |
q , q− |
q) |
|
||||||
+−− |
|
|
|
|
˙ |
|
˙ ¨ |
|
¨ |
|
Φ |
=Φ(q− |
q , q− |
q , q− |
q) |
|
|||||
−−− |
|
|
|
|
˙ |
|
˙ ¨ |
|
¨ |
|
Φ |
=Φ(q , q+Δ q , q+Δ q) |
|
|
|||||||
0++ |
|
|
|
˙ |
˙ |
¨ |
¨ |
|
|
|
Φ |
|
=Φ(q , q− |
q , q+Δ q) |
|
|
|||||
0−+ |
|
|
|
˙ |
˙ |
¨ |
¨ |
|
|
|
Φ |
|
=Φ(q , q+Δ q , q− |
q) |
|
|
|||||
0+− |
|
|
|
˙ |
˙ |
¨ |
¨ |
|
|
|
Φ |
|
=Φ(q , q− |
q , q− |
q) |
|
|
||||
0−− |
|
|
|
˙ |
˙ |
¨ |
¨ |
|
|
Φ00+2=Φ(q , q˙ , q¨ +2 q¨ )
Φ00−2=Φ(q , q˙ , q¨ −2 q¨ )
2.6.3.Проверка разработанных теоретико-механических моделей
Адекватность разработанных теоретико-механических моделей была проверена по результатам натурных экспериментов для шагающих машин «Восьминог» (рисунок В.1), «Ортоног» (рисунок В.2), шагающих опор