ゼロから学ぶ 実践 マルチボディダイナミクス入門
平面運動に絞り,マルチボディダイナミクスの定式化とそのプログラミングを実践的に学ぶ。
- 発行年月日
- 2024/12/26
- 判型
- A5
- ページ数
- 272ページ
- ISBN
- 978-4-339-04692-2
- 内容紹介
- まえがき
- 目次
- 広告掲載情報
本書は,大学の工学部機械系卒レベルの学習経験を有する広い層の方が,ゼロから始めてマルチボディダイナミクスの基礎を幅広く学べることを目的としている.そのため,できるだけわかりやすく説明するために,運動は剛体ボディの平面運動に絞っている。そして,剛体振り子、2重振り子、倒立振り子、遠心振り子,2リンクロボットアーム,3リンク振り子、ピストンクランク系、走行する車両と少しずつ内容を深めて対象を変えつつ,さまざまな機械要素・状況(マルチボディ,枠の概念,座標変換,様々な接触モデル,並進と回転のばね・ダンパ要素,回転・固定・並進ジョイント拘束,駆動拘束,制御,ペナルティ法や拡大法と消去法,運動と力の評価,順動力学と運動学など)が網羅されている。本書の内容を一つずつ理解し積み上げていけば,実際の機械の設計・開発・解析にも非常に有用である。
また,本書のもう1つの特徴は,学んだ理論を実践するために,すべての内容について対応するプログラムの定式化も示し,68個のサンプルプログラム(MATLAB)でその動的挙動や応答特性を視覚的に示していることである。さらには,多数のボディからなる実践的な系を扱う際に向けて,ジョイント拘束や並進と回転のばね・ダンパ要素についてライブラリ化も説明し,ライブラリを用いた見通しの良いサンプルプログラムも提供している。さらには,これらに対応するMATLAB Simscape(1DCAE)プログラム,Pythonプログラムも1,2年以内に提供予定である。
これらを用いれば,理論を習得できるだけでなく直接的あるいは間接的に業務に実践的にすぐに活かすことができる。
そして,本書の内容からさらに学習を深めていきたい場合のために,最終章では文献を示しつつ,逆動力学,弾性体を扱うフレキシブルマルチボディ系や3次元空間マルチボディ系へのつながり・発展の考え方を述べている。
☆発行前情報のため,一部変更となる場合がございます
現在はさまざまな汎用ソフトウェアが開発・普及し,その操作を覚えればさまざまなことがかなり詳細かつ高速に解析できる時代となった。しかし,そのごく基本的・基礎的な理論がわかっていなければ,そのソフトウェアを扱う技術者のレベルは低いままにとどまり,継続的な成長は期待できない。一方,アウトプットがよい技術者はそのソフトウェアの背後にある基本・基礎がわかっている。
著者は2024年10月現在,マルチボディダイナミクス協議会(はじめにの末尾に示す)を通して,マルチボディダイナミクスの啓蒙・啓発と教育活動を行っている。その中で,マルチボディダイナミクス理論の基本・基礎をわかりやすく説明し,簡単なプログラミングを通して実践的にもその内容を体感的に理解できる図書の必要性を感じた。
本書は,大学の工学部機械系卒業レベルの学習経験を有する広い層の方すべてを対象とする。この対象は2023年時点で毎年約20000人が該当している。所属した研究室が機械力学系でなくても問題はない。本書は,読者がマルチボディダイナミクスに興味をもったときに,最初にそして気楽に手にとれるものであり,学部の力学と数学のごく基礎知識以外はほぼ予備知識なしでマルチボディダイナミクスの基礎を幅広く学べるものであることを心がけて執筆した。そして,本書だけで機械システムの運動学解析や動力学解析のための定式化とそのプログラミングまでを実践的に学び,グラフやアニメーションの出力結果を通じて理解・実感・習得できるようにした。そのために,わかりやすく書くことを最重要視して構成し,説明もできるかぎり丁寧に詳しく記述した。
本書は,この目的に沿って運動は平面運動に絞っている。そして,さまざまな機械要素・状況(多ボディ,接触,ばね・ダンパ要素,拘束,運動と力の評価,順動力学と運動学など)が網羅されている。本書の内容を一つずつ理解し積み上げていけば,実際の機械の設計・開発・解析にも非常に有用である。
大学の学部教育での利用も意識し,全体を3部に分け,各章は1週で進められる程度の量として全体の構成を15章とした。1章は計算環境の整備を説明しており,実質的には2章から15章である。また,第2部以降ではライブラリ化や消去法などの発展内容も加えているが,これらは省略して進めてもよい。
ある程度の経験を有する技術者からも「マルチボディダイナミクスの理論は難しい」とよく聞く。その点については,本書では機械システムの挙動を表すプログラムの考え方の習得やプログラム・アニメーションを用いた機械システムの視覚的な理解を深めることを重視し,ほぼすべての内容について合計68のプログラムを含む例題・演習を準備した。そのプログラム面からの学習も強化し,理論と実践の両面からわかりやすく楽しみつつ学べるように工夫している。したがって,本書を読めば「マルチボディダイナミクスプログラムは意外と簡単に書ける」という感想をもつであろう。そして,より詳しい理論に興味をもつ読者に向けては適切な文献も適宜示している。本書の内容からさらに学習を深めていきたい場合のために,16章で文献を示しつつフレキシブルマルチボディ系や3次元空間マルチボディ系へのつながり・発展の考え方を述べた。読者が本書を通してマルチボディダイナミクスに興味をもち,活用いただければ,著者およびマルチボディダイナミクス協議会にとって大きな喜びである。
なお,本書のプログラムは2024年7月時点ではすべてMATLAB(互換フリーソフトウェアOctaveにも対応)で記述し,本書の記述と対応する解説も追記した。本書の例題プログラムはコロナ社の本書書籍詳細ページ(https://www.coronasha.co.jp/np/isbn/9784339046922/)で配布し,MATLABの1D-CAEツールであるSimscapeでも同じ例題プログラムを作成して提供する。また,数年以内に全プログラムをPythonでも記述して提供予定である。各例題・演習を通して理論的内容の理解を行い,このプログラムを実際に走らせて時刻歴応答やアニメーションを通して解析結果を体感していただきたい。また,具体的な機械システムの解析に対して本書の例題プログラムをベースとして適宜活用いただき,対象の挙動をいち早くマルチボディダイナミクス的に捉えることにチャレンジいただきたい。そして,汎用ソフトウェアの背後にある基本・基礎を,実感をもって身につけていただきたい。これらのプログラムが読者の理解と実践応用に役立つことを期待する。
最後に多数のフィードバックをいただいた名古屋大学機械力学研究グループのOB・OGの皆さん,MATLABプログラムのチェック等で貢献してくれた研究室OBの永野一樹氏,文章チェック等で貢献してくれた現修士課程2年生の江尻晴斗氏,Simscapeプログラム作成で貢献してくれた現博士課程2年生の田博文氏に感謝します。
2024年10月
編著者一同
☆発行前情報のため,一部変更となる場合がございます
1.計算環境の準備,本書の用語について
1.1 Octave(MATLAB互換フリーソフトウェア)のインストール
1.1.1 Octave本体のインストール
1.1.2 videoパッケージのインストール
1.2 インストール時,実行時の注意
1.3 本書の用語
解析実践 第1部
機械システムのモデリングと解析の基礎
2.質点の並進運動と剛体の回転運動
2.1 質点の並進運動の定式化
2.2 数値積分の準備と運動方程式の変形
2.2.1 例題1:重力下の質点の自由運動
2.2.2 本書のプログラムの一般的な流れ
2.2.3 例題2:ばねで支持された質点の運動
2.3 剛体の回転運動
2.3.1 剛体の回転運動のみの運動方程式の定式化
2.3.2 例題3:剛体の質量中心まわりの回転運動
2.3.3 例題4:回転ばねで支持された剛体の回転運動
3.ボディの平面運動
3.1 ボディの運動方程式の定式化
3.1.1 例題5:重力下のボディの自由運動
3.1.2 例題6:並進と回転のばね・ダンパで支持したボディの運動
3.2 並進変位の基準点以外に作用する力の表現
3.2.1 力によるモーメント
メモ 幾何ベクトルと代数ベクトル
3.2.2 発展チルダマトリックス(外積オペレータ)
3.2.3 例題7:力による並進変位基準まわりのモーメント
3.3 発展並進変位基準が質量中心以外の場合の運動方程式
4.ばね・ダンパの定式化
4.1 並進ばねダンパ要素(ボディとグラウンドの接続)
4.1.1 並進ばねのベクトル,並進ばね長さとその時間変化率
メモ 座標変換マトリックスA_OGi(θ_i)の姿勢θ_iに関する勾配
4.1.2 並進ばねダンパ要素による力ベクトルとモーメント
4.1.3 例題8:端点を並進ばねダンパ要素で支持したボディの運動(並進変位基準点は質量中心)
4.2 発展並進ばねダンパ要素(グラウンドとボディの接続)のライブラリ
4.2.1 系全体の一般化外力ベクトル
メモ ライブラリ化について
4.2.2 発展例題9:端点を並進ばねダンパ要素で支持したボディの運動(並進変位基準点は質量中心,ライブラリ)
4.2.3 補足例題10:端点を並進ばねダンパ要素で支持されたボディの運動(並進変位基準点は支持点A)
4.3 並進ばねダンパ要素(ボディとボディの接続)
4.3.1 並進ばねのベクトル,並進ばね長さとその時間変化率
4.3.2 並進ばねダンパ要素による力ベクトルとモーメント
4.4 発展並進ばねダンパ要素のライブラリ(2ボディ間)
4.4.1 系全体の一般化外力ベクトル
4.4.2 例題11:並進ばねダンパ要素で支持された2ボディ系の運動(並進運動基準点は質量中心G,ライブラリ)
4.5 回転ばねダンパ要素(グラウンドとボディの接続)
4.5.1 回転ばねの符号,伸び量とその時間変化率
メモ 変形していないときの並進ばね,回転ばねの長さ,角度
4.5.2 回転ばねダンパ要素によるモーメント
4.6 発展回転ばねダンパ要素のライブラリ(グラウンドとボディの接続)
4.6.1 系全体の一般化外力ベクトル
4.6.2 例題12:回転ばねダンパ要素で支持されたボディの運動(回転ばねダンパ要素のライブラリ)
4.7 回転ばねダンパ要素(ボディとボディの接続)
4.7.1 回転ばねの符号,伸び量とその時間変化率
4.7.2 回転ばねダンパ要素によるモーメント
4.8 発展回転ばねダンパ要素のライブラリ(ボディ間)
4.8.1 系全体の一般化外力ベクトル
4.8.2 発展例題13:回転ばねダンパ要素で支持された2ボディ系の運動(回転ばねダンパ要素のライブラリ)
5.接触の表現
5.1 接触の表現:反発係数
5.1.1 ポアソンのモデル
5.1.2 ニュートンのモデル
5.1.3 例題14:接触(反発係数)
メモ MATLABのevent関数
5.2 接触の表現:弾性接触力
5.2.1 フックの法則
5.2.2 エネルギー散逸を伴う線形弾性接触力モデル(Kelvin-Voigtモデル)
5.2.3 例題15:Kelvin-Voigtモデルの接触力
5.2.4 例題16:反発係数と等価減衰係数(Kelvin-Voigtモデル)
5.2.5 例題17:Kelvin-Voigtモデルの接触力を用いたバウンシング運動の解析
5.2.6 エネルギー散逸を伴う線形弾性接触力モデル(負の接触力を避けたKelvin-Voigtモデル)
5.2.7 例題18:負の接触力を避けたKelvin-Voigtモデルの接触力
5.2.8 Hertzの接触理論
5.2.9 エネルギー散逸を伴う非線形弾性接触力モデル(Hunt and Crossleyモデル)
5.2.10 例題19:Hunt and Crossleyモデルの接触力
5.2.11 エネルギー散逸を伴う非線形弾性接触力モデル(その他のモデル)
5.2.12 例題20:Hunt and Crossleyモデルの等価減衰係数の評価
5.3 ボディの弾性接触力と摩擦力
5.3.1 クーロン摩擦
メモ atan関数やシグモイド関数による近似表現
5.3.2 例題21:ボディの並進運動と回転運動(滑り運動と摩擦力)
5.3.3 例題22:ボディのバウンシングからの並進運動と転がり運動(滑り運動と摩擦力)
6.拘束を伴うシステムの運動方程式
6.1 運動方程式と拘束力
メモ ある点に作用する力の別の点における置き換え(力とモーメント)
6.2 ペナルティ法
6.2.1 例題23:剛体振り子の解析(ペナルティ法)
メモ ペナルティ法の剛性係数の数値の影響
6.2.2 例題24:剛体2重振り子の解析(ペナルティ法)
6.2.3 例題25:直方体の頂点で支持する剛体振り子(ペナルティ法)
6.2.4 例題26:回転円板に取り付けられたボディ(ペナルティ法)
6.3 拘束式(回転ジョイント拘束の例)
6.3.1 グラウンドとボディの回転ジョイント拘束
6.3.2 ボディとボディの回転ジョイント拘束
6.3.3 例題27:2重振り子系の回転ジョイント拘束
6.3.4 例題28:回転円板+ボディ系の拘束式
6.4 拘束式の微分と速度方程式・加速度方程式
6.4.1 速度方程式
6.4.2 加速度方程式
6.4.3 例題29:回転ジョイントで拘束された振り子の加速度方程式
7.拡大法
7.1 拘束力とラグランジュの未定乗数法
7.1.1 許容仮想変位
7.1.2 ラグランジュの未定定数
7.1.3 補足ラグランジュの未定乗数の定理の説明
7.1.4 拡大系の運動方程式
メモ拘束の別の捉え方
7.2 数値積分の安定化
7.2.1 バウムガルテの安定化法
7.2.2 補足バウムガルテの安定化法の直観的な説明
7.3 数値解析のための運動方程式の変形
7.3.1 例題30:振り子の動力学解析(拡大法)
7.3.2 例題31:回転円板に取り付けられた剛体振り子の動力学解析
7.4 発展消去法
7.4.1 例題32:振り子の動力学解析(消去法)
7.4.2 例題33:回転円板に取り付けられた剛体振り子の動力学解析
解析実践 第2部
回転ジョイント拘束と固定ジョイント拘束を含むシステム
8.実践例題・演習:グラウンドとボディの回転ジョイント
8.1 モデルと定式化
8.2 発展ジョイント拘束のライブラリ
8.2.1 拘束式,ヤコビマトリックスと加速度方程式
8.2.2 ライブラリの用い方
8.3 発展動力学解析
8.3.1 例題34:剛体振り子の動力学(拡大法,ライブラリ)
8.3.2 例題35:並進ばねダンパ要素で支持された2ボディ系の動力学(基準点は質量中心,拡大法,ライブラリ)
8.4 運動学解析
8.4.1 配位解析
メモ ニュートン-ラプソン法
8.4.2 速度解析
8.4.3 加速度解析
8.4.4 例題36:剛体振り子の運動学
8.5 ジョイント拘束点が時間の関数の場合を学ぶ実践例題:剛体倒立振り子
8.5.1 例題37:剛体倒立振り子の動力学(ジョイント拘束点の位置が時間の関数,拡大法)
8.5.2 発展例題38:剛体倒立振り子の動力学(ジョイント拘束点の位置が時間の関数,拡大法,ライブラリ)
8.5.3 発展演習1:倒立振り子の動力学(消去法,ペナルティ法)
9.実践例題・演習:ボディとボディの回転ジョイント
9.1 モデルと定式化
9.2 発展ジョイント拘束のライブラリ
9.2.1 拘束式,ヤコビマトリックスと加速度方程式
9.2.2 ライブラリの用い方
9.3 2重振り子の運動学解析と動力学解析
9.3.1 例題39:運動学(拡大法)
9.3.2 例題40:動力学(拡大法)
9.3.3 発展例題41:動力学(拡大法,ライブラリ)
9.3.4 発展演習2:動力学(消去法とペナルティ法)
9.4 2リンクロボット
9.4.1 演習3:運動学解析
9.4.2 演習4:動力学解析(ペナルティ法)
9.4.3 演習5:動力学解析(拡大法)
9.4.4 発展演習6:動力学解析(拡大法,ライブラリ)
10.実践例題・演習:固定ジョイント
10.1 グラウンドとボディの固定ジョイントの定式化
10.2 発展グラウンドとボディ間の固定ジョイント拘束のライブラリ
10.2.1 拘束式,ヤコビマトリックスと加速度方程式
10.2.2 ライブラリの用い方
10.2.3 例題42:固定されたボディに取り付けられた振り子の動解析(拡大法,ライブラリ)
10.3 ボディ間の固定ジョイントの定式化
10.4 発展ボディ間の固定ジョイント拘束のライブラリ
10.4.1 拘束式,ヤコビマトリックスと加速度方程式
10.4.2 ライブラリの用い方
10.4.3 例題43:固定拘束された2ボディ振り子の動解析(拡大法,ライブラリ)
11.実践演習:3リンク振り子
11.1 モデルと定式化
11.2 運動学解析・動力学解析
11.2.1 演習7:運動学(拡大法)
11.2.2 演習8:動力学(拡大法)
11.2.3 発展演習9:動力学(拡大法,ライブラリ)
解析実践 第3部
回転ジョイント拘束と並進ジョイント拘束を含むシステム
12.実践例題・演習:グラウンドとボディの並進ジョイント拘束
12.1 モデルと定式化
12.2 グラウンドとボディの並進ジョイント拘束の定式化
12.2.1 拘束式,ヤコビマトリックスと加速度方程式
12.2.2 例題44:動解析(拡大法,並進ジョイント拘束の回転拘束表現1)
12.2.3 例題45:動解析(拡大法,回転拘束の表現2)
12.3 発展グラウンドとボディ間の並進ジョイント拘束のライブラリ
12.3.1 拘束式,ヤコビマトリックスと加速度方程式
12.3.2 ライブラリの用い方
12.3.3 例題46:動解析(拡大法,並進ジョイント拘束の回転拘束表現1,ライブラリ)
13.実践例題・演習:ボディとボディの並進ジョイント拘束
13.1 モデルと定式化
13.2 ボディ間の並進ジョイント拘束の定式化
13.2.1 拘束式,ヤコビマトリックスと加速度方程式
13.2.2 例題47:動解析(拡大法,並進ジョイント拘束の回転拘束表現1)
13.2.3 例題48:動解析(拡大法,並進ジョイント拘束の回転拘束表現2)
13.3 発展ボディ間の並進ジョイント拘束のライブラリ
13.3.1 拘束式
13.3.2 ヤコビマトリックスと加速度方程式
13.3.3 ライブラリの用い方
13.3.4 例題49:動解析(拡大法,並進ジョイント拘束の回転拘束表現1,ライブラリ)
14.実践演習:ピストンクランク系
14.1 モデルと定式化
14.2 拘束
14.2.1 回転ジョイント拘束
14.2.2 並進ジョイント拘束
14.2.3 系全体の拘束式,ヤコビマトリックスと加速度方程式
14.3 運動学解析:拡大法
14.3.1 配位解析
14.3.2 速度解析
14.3.3 加速度解析
14.3.4 演習10:運動学(拡大法)
14.3.5 発展演習11:運動学(拡大法,ライブラリ)
14.4 動力学解析:拡大法
14.4.1 初期条件の設定
14.4.2 演習12:動力学(拡大法)
14.4.3 発展演習13:動力学(拡大法,ライブラリ)
15.実践演習:平地・坂道を走行する車両
15.1 平地を走行する車両のモデルと定式化
15.1.1 車両のモデルと定式化
15.1.2 接触力の近似表現(atan関数,シグモイド関数)
15.2 系全体の拘束式,ヤコビマトリックスと加速度方程式
15.3 平地を走行する車両の動力学解析:拡大法
15.3.1 初期条件
15.3.2 演習14:動解析(拡大法,一定トルク)
15.3.3 演習15:動解析(拡大法,トルク増大)
15.3.4 演習16:動解析(拡大法,一定トルク,接触力表現の比較)
15.4 坂道を運動する車両(拡大法)
15.4.1 演習17:坂道の場合のモデル化
15.4.2 演習18:動解析(拡大法,一定トルク)
16.おわりに:本書からの発展について
16.1 ギヤやラック&ピニオンなどの機械要素について
16.2 逆動力学について
16.3 弾性体について
16.4 3次元空間運動への拡張について
引用・参考文献
索引
-
掲載日:2024/09/03