ラピッドプロトタイピングによる倒立振子の作成

プロジェクトの目的

  • 本ページは奈良先端科学技術大学院大学 情報科学研究科の授業の一環で,3DプリンタとMATLABを用いてラピッドプロトタイピングについて学んだ成果を公開したものである.
    今回は,倒立振子の作成を通して迅速に試作品を製作するアプローチを学んだ.
    attack.png

ラピッドプロトタイピングとは

  • 製品開発において多く用いられる手法で形状や性能の評価を迅速に行うため,簡易的に試作品を作ることを言う.
    近年では3DCADと3Dプリンタの開発,低価格化によりこれらを使って,開発期間短縮の意味合いも含まれつつある.
    今回は3DCADとしてAutodesk Inventorを,実機作成に3Dプリンタ dimension を,プログラミング言語としてMATLABを使って行った.
    また実機を動かすのにMATLABとxPC Targetを使用する.以下にそれぞれの説明を述べる.

Autodesk Inventor

  • オートデスク社が販売している製造業向け3次元CADソフトウェア.
    メールアドレスを登録すれば学生は1年間無料で使える”アカデミック版”が存在する.
    他にも3DCADにはSolidWorksやSolid Edgeなどがある.

dimension(3Dプリンタ)

  • ネットワークプリンタ感覚で3次元モデルを短時間で造形するシステム.ABS樹脂を使った積層造形法で作成する.
    3DCADで出力可能なSTLデータを標準付属の「Catalyst EX」で取り込み,モデルとサポートと積層経路(ツールパス)を自動計算する.
    これにより,3DCADのデータから部品を作ることができる. 3Dプリンタは様々な種類が存在するが,STLファイルが開くことができるものが望ましい.

MATLAB

  • MathWorks社が開発している数値解析ソフトウェアであり,その中で使うプログラミング言語の名称.
    従来のプログラミング言語よりも短時間で簡単に科学技術計算を行うことができるのが特徴である.
    またtoolと呼ばれるパッケージがあり,その中のSimulink, SimMechanicsを用いれば,ブロック線図でシミュレーションも行え,3次元モデルもSTLファイルからシミュレーションに反映することができる.

xPC Target

  • Math Works社の提供するMATLABのtoolのひとつである.
    二台のコンピュータをシリアルケーブルで繋ぎ,hostコンピュータでMATLABを動かし,targetコンピュータにてADDA変換を行う.
    これを用いて容易にかつ高速に実機の制御を行うことができる.その為リアルタイムシステムと呼ばれている.

ここでのサイトの取参照日はすべて2013年7月23日である

倒立振子とは

  • 振り子を逆立ちさせた状態を制御を行うことで維持するもの.
    振り子を逆立ち状態で安定に保つには,振り子が倒れようとするのを検出して倒れないように振り子の支点を移動させなければならない.わかりやすい例として手のひらの上に棒を立てる遊びと同じ制御である.
    倒立振子にも種類が存在し二輪倒立振子や回転型倒立振子などがある.
    ここでは,回転型倒立振子を一般的なPID制御で倒立させた.

全体構成

wire.png

ハードウェア

  • Autodesk Inventor を使用してハードウェア全体の設計を行った.

設計思考

今回,回転型倒立振子を作るとなった時に問題が発生した.

授業で用意されたモータのギヤ比が192:1で,19.3[rpm]と減速比が大きく,またモータに付属していたエンコーダも12[p/r]と分解能が低かったため使用できなかった.

そこで,
・角度センサを二つ用意し,振子の角度とアームの角度を読み取れるように取り付ける.
・モータのピニオンギヤに直接アームを取り付けられるような設計.
・振子の回転軸の軸心をしっかり出すこと.

この3つをコンセプトに設計を行った.

設計図

  • Autodesk Inventor を使用して描いた図面が以下になる.
    | Download

完成図

下図に全体像及び,倒立振子断面図を示す. 図に示した位置に,ベアリング,可変抵抗を取り付けた.また,本ページでは図に示す部分をアーム,振子と呼ぶ.

slice.pngCG.png
  • 角度センサを取り付けやすくするために,センサの形に合わせて取り付けた.
  • ピニオンギヤを傷つけないよう,横からねじで締めることで圧力による固定をした.
  • ベアリングを二つつけることで振子の回転軸の軸心をだし,制御しやすくした.

使用部品

以下に使用した部品を示す.

表1 使用部品 (2013年7月22日参照)
型番メーカー備考
ギヤヘッド+エンコーダ付DCモータRDO-29B50G192A-ギヤヘッド,エンコーダ不使用
モータドライバTitech Mortor Driver JW-143-2オカテック株式会社電流制御モード
可変抵抗(角度センサ)RDC501015Aアルプス電気株式会社2コ使用
ベアリングB674ZZ株式会社ミスミ2コ使用
ADCAD12-64(PCI)株式会社コンテック
DACDA12-4(PCI)株式会社コンテック



ソフトウェア

  • MATLAB, Simulink, SimMechanics, xPC Target を使用して設計を行った.
    Simulink, SimMechanics を用いてシミュレーションを行った後,Simulink, xPC Target を用いて実機に実装した.

実験

シミュレーション

  • 回転型倒立振子シミュレーション
    Simulink, SimMechanicsを使用して倒立シミュレーションを行った.
    最初に,外乱としてモータにインパルス状の電圧を与え,倒立制御を行った.
    以下にSimulink配線図を示す.
    InvPenSimWire.png
    この時の,振子とアームの角度を以下に示す.
    黄色は振子,ピンクはアームとなっている.
    振子側は,目標値の0[deg]に収束しているが,アーム側は目標値の0[deg]近傍で振動する結果となった.
    Graph.png
  • シミュレーション動画
    This text is replaced by the Flash movie.

実機

Simulink, xPC Target を使用して回転型倒立振子の倒立・位置制御を行った.

  • MATLAB配線図
    InvPenWire.png
  • 実機映像
    This text is replaced by the Flash movie.
    倒立制御は十分にできているが,位置制御に関してはシミュレーション同様,目標位置近傍で振動する結果となった.
    これは,目標位置に収束させるための仮想的なバネ,ダンパのパラメータに起因すると考えられる.
  • パラメータ
    今回は以下のようにパラメータを設定した.
    • 振子
      • イナーシャ
        Ixx= 5.587E-1
        Ixy= 3.316E-3 Iyy=4.691E-1
        Ixz=-5.438E-3 Iyz=1.613E-1 Izz=9.264E-2

      • 重心
        X=-5.153 [mm]
        Y=-32.715 [mm]
        Z=99.308 [mm]

      • 質量
        0.016 [kg]

    • アーム
      • イナーシャ
        Ixx= 3.991E-3
        Ixy=-7.537E-3 Iyy=1.766E-1
        Ixz= 5.822E-3 Iyz=2.538E-4 Izz=1.762E-1

      • 重心
        X=53.524 [mm]
        Y=2.973 [mm]
        Z=1.038 [mm]

      • 質量
        0.012 [kg]

    • PIDパラメータ
      このPIDパラメータは倒立制御に大きな影響を与えている.
      また,配線図に載っているDampaとSpringは位置制御に影響を与えているのでここを調節する.
      PID.png

Movie

This text is replaced by the Flash movie.

各種データ

作成者

ishihara.png
石原 佑彌
Yuya ISHIHARA
yoshimoto.png
吉本 公則
Masanori YOSHIMOTO

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-02-06 (月) 21:12:09 (257d)