ロボット工学8
note Item Type Metadata
note
動力学
この資料で学ぶこと
- 力を加えたときに物体がどのように動くのかを式と図で理解する。
- まっすぐ進む運動(並進運動)と回転する運動(回転運動)の基本式を学ぶ。
- ロボットアームのように関節がたくさんある仕組みを、基本式の組み合わせで説明できることを知る。
- 慣性力、遠心力、コリオリ力といった見かけの力がどのように現れるかをイメージする。
並進運動:押したり引いたりするときの式
並進運動では、ニュートンの運動方程式を使う。
F=mx¨
記号の意味
- F(エフ)は外力。人が押す力やモーターが引っ張る力など。
- m(エム)は質量。物体がどれだけ重く、動きづらいかを表す量。
- x¨(エックスに二つの点)は加速度。速度がどれくらいの勢いで変化しているかを示す。
わかりやすいポイント
- 同じ力をかけても、軽い物体はすぐに加速し、重い物体はゆっくり加速する。
- 動いている物体はそのままの状態を保とうとする。この性質を慣性という。
- 慣性によって、走っている車は急に止まらないし、急に走り出しもしない。
図1 加速する車のイメージ ┌─────────┐ │ ■ (車体) │ └─────────┘ ←←← 力(駆動力) 速度: v₀ < v₁ < v₂
図2 減速する車のイメージ
┌─────────┐
│ ■ (車体) │
└─────────┘
←←← 速度: v₂ > v₁ > v₀
→ ブレーキ力(摩擦制動)
図3 質量が小さい物体 ┌────┐ │ □ │ └────┘ ←→ 小さい力でも加減速が簡単 質量: m_small 加速度: a = F / m_small → 大きい
図4 質量が大きい物体 ┌────────┐ │ □ │ └────────┘ ←→ 同じ力でも加減速がゆっくり 質量: m_large 加速度: a = F / m_large → 小さい
回転運動:回すときの式
回転運動では、次の式を使う。
τ=Jθ¨
記号の意味
- τ(タウ)はトルク。レバーやハンドルを回すときの「回す力」。
- J(ジェイ)は慣性モーメント。回りにくさの大きさで、重い部分が外側にあるほど大きくなる。
- θ¨(シータに二つの点)は角加速度。回転する速さがどれくらいの勢いで変化するかを示す。
わかりやすいポイント
- 同じトルクをかけても、慣性モーメントが小さいほどくるくる回りやすい。
- 自転車のホイールやコマが急に止まらないのは、慣性モーメントが大きいから。
ロボットアーム全体の式
関節がたくさんあるロボットアームでは、次のようにすべての力をまとめて表す。
M(Θ)Θ¨+h(Θ,Θ˙)+DΘ˙+f(Θ˙)+g(Θ)=τ
記号の意味
- Θ(シータ)は各関節の角度をまとめたベクトル。[Θ1,Θ2,Θ3,…,Θn] のように書く。
- Θ˙ は関節の角速度。どれくらいの速さで回っているか。
- Θ¨ は関節の角加速度。角速度がどれくらいの勢いで変化しているか。
- τ はモーターが出すトルクをまとめたもの。
- M(Θ) は慣性行列。ロボットの姿勢によって変わり、回りやすさをまとめて表す行列。
- h(Θ,Θ˙) は遠心力やコリオリ力といった見かけの力。
- DΘ˙ は粘性摩擦による抵抗。速度に比例する抵抗力。
- f(Θ˙) は動摩擦による抵抗。関節同士がこすれることで生じる。
- g(Θ) は重力による力。アームが下向きに引っ張られる。
左辺に並んでいる力を全部足したものが、右辺のトルク τ になる。つまり「各関節の角度や速さが決まれば、必要なトルクを計算できる」ということを示している。
ベクトルと慣性行列のイメージ
関節が多いと、角度や速度を一つずつ書くのは大変なので、ベクトルを使ってまとめる。
Θ¨=[Θ1¨,Θ2¨,Θ3¨,…,Θn¨]
慣性行列の例として、二自由度のアームを考えると次のようになる。
M(Θ)=I11I12I21I22
I11=α+2βC2
I22=β
I12=I21=β+γC2
ここで α(アルファ)、β(ベータ)、γ(ガンマ)は定数。C2 は cosΘ2、S1 は sinΘ1、S2 は sinΘ2 を短く書いたもの。 Θ2 の値が変わると cosΘ2 の値が変わり、慣性行列 M も姿勢によって変化する。
遠心力とコリオリ力のイメージ
回転している座標系で観測すると、遠心力とコリオリ力という見かけの力が現れる。これらは h(Θ, Θ') に含まれている。
図5 回転系における遠心力
回転軸
│
●───→ 角速度 ω
│ \
│ \ 質点 m
│ ●
↑ F_c = m r ω² (遠心力)
図6 フーコーの振り子とコリオリ力
地球自転軸
↑
│
↺ 地球の自転 Ω
│
●─── 振り子の支持点
│\
│ \
│ ● 振り子の質点
│ \
│ ↖ 速度 v
│
コリオリ力 F_cor = 2m(v × Ω)
フーコーの振り子では、地球が自転しているために振り子の揺れる向きがゆっくり回転して見える。これがコリオリ力の働きである。遠心力とコリオリ力を正しく考慮すると、h(Θ, Θ') を正確に計算できるようになる。
モデル化と方程式の導出の流れ
ロボットアームの運動方程式は、次のステップで導き出されることが多い。
- モデルを決める
各リンク(腕の一本一本)を剛体として扱い、軸や関節をどのように配置するか決める。
一般化座標として関節角度 Θ = [Θ₁, Θ₂, …, Θₙ] を用いる。 - エネルギーを求める
各リンクの運動エネルギー T(Translation + Rotation)と、重力による位置エネルギー V を計算する。
T は各リンクの質量と速度、慣性モーメントと角速度から求める。
V は各リンクの重心の高さから求める。 - ラグランジアンを作る
L=T-V という形でラグランジアン L を作成する。 - ラグランジュの方程式を適用する
各関節角 Θi について、以下の式を計算する。
ddt(∂L∂Θi˙)-∂L∂Θi=τi-τi,f
左辺から M(Θ)Θ¨ や h(Θ,Θ˙) が現れる。右辺にはモーターが発生させるトルク τi が入る。 - 抵抗力を追加する
粘性摩擦がある場合は、速度に比例する抵抗トルク DΘ˙ を加える。
動摩擦(クーロン摩擦)は、速度の符号に依存する一定値としてモデル化する。
モーターや減速機に特有の抵抗トルクがある場合も、必要に応じて追加する。 - 重力項を整理する
位置エネルギー V から導かれる ∂∂ΘV を g(Θ) としてまとめる。
これらの手順を踏むことで、エネルギー保存の考え方に基づきながら、実際のロボットで必要となる抵抗項も含めた運動方程式を得ることができる。
2リンクアームの簡単な計算例
ここでは、平面内で動く2リンクアーム(リンク長 l1, l2、質量 m1, m2)を使って、ラグランジアンの作り方を一通り確認する。
- モデルの前提
各リンクは質量が均一に分布した細い棒とする。
各リンクの重心はリンクの中央にある。
重力は下向きに一定(加速度 g)。
関節角を Θ=[Θ1,Θ2] とする。 Θ1 は第1リンクの角度、Θ2 は第2リンクの角度。 - 位置と速度
第1リンク重心の位置: x1=l12cosΘ1、 y1=l12sinΘ1
第2リンク重心の位置: x2=l1cosΘ1+l22cos(Θ1+Θ2)
y2=l1sinΘ1+l22sin(Θ1+Θ2)
各重心速度は、上式を Θ1, Θ2 で微分して求める。 - 運動エネルギー T
並進運動エネルギー: Ttrans=12m1(x1˙2+y1˙2)+12m2(x2˙2+y2˙2)
回転運動エネルギー: Trot=12I1Θ1˙2+12I2Θ1˙+Θ2˙2
ここで I1, I2 は各リンクの重心まわりの慣性モーメント(棒なら I=112ml2)
全体の運動エネルギー: T=Ttrans+Trot - 位置エネルギー V
V=m1gy1+m2gy2
y1, y2 はステップ2で求めた重心の高さ。 - ラグランジアン L
L=T-V - ラグランジュの方程式
Θ1, Θ2 について ddt(∂∂Θi˙L)-∂∂ΘiL=τi を計算すると、慣性行列 M(Θ)、コリオリ・遠心項 h(Θ,Θ˙)、重力項 g(Θ) が現れる。
粘性摩擦や動摩擦をモデル化したい場合は、τi に -DiΘi˙ や -τi,coulomb を追加すれば良い。
この手順で、具体的なパラメータ(長さ、質量、慣性モーメントなど)を代入して計算することで、実際に M(Θ), h(Θ, Θ'), g(Θ) を求める練習ができる。
演習課題
- 上記の2リンクアームモデルで、l1=l2=1 m、m1=m2=1 kg、g=9.81 m/s2 としたときの慣性行列 M(Θ) を計算しよう。
- 同じ設定で、コリオリ・遠心項 h(Θ,Θ˙) の具体的な式を求めよう。
- 粘性摩擦係数 d1=d2=0.1 N·m·s/rad を仮定し、DΘ˙ の項がどのようなベクトルになるかを示そう。
- 重力項 g(Θ) のトルクベクトルを求め、ある姿勢(例: Θ1=π4、Θ2=π6)で数値を計算してみよう。
- 追加課題として、3リンクアームに拡張するにはどの情報が必要かを整理し、必要な変数や式を列挙してみよう。
コメント