計測自動制御学会東北支部 第 310 回研究集会 (2017.7.21)
資料番号 310-3

玉乗りロボットの制御に関する研究
Control of a Robot Balancing on a Ball
○山﨑泰 ∗ ，長縄明大 ∗ ，小松和三 ∗ ，○ Yutaka Yamazaki∗ , Akihiro Naganawa∗ , Kazumi Komatsu∗*秋田大学大学院 理工学研究科∗Graduate School of Engineering Science, Akita University

キーワード : 玉乗りロボット (Robot Balancing on a Ball)，安定化制御 (Stability Control)，二重倒立振子 (Double Inverted Pendulum)

連絡先 : 〒 010-8502 秋田市手形学園町 1 番 1 号
秋田大学大学院 理工学研究科 システムデザイン工学専攻
山﨑泰，Tel/Fax : 018-889-2971，E-mail: m8017619(at)s.akita-u.ac.jp

1.

はじめにれる．現在行われている玉乗り型のロボット研

倒立振子は，傘や棒を逆さに立てる遊びを自動制御で行う機械システムであり，制御工学の応用問題として 1970 年代以降，さまざまな研究が行われてきた．構造的には，振子機構部分にアクチュエータをもたないため，自由度数よりアクチュエータ数の少ないシステム，いわゆる劣駆動系の一種でもある 1) ．ロボットの制御において，バランスの保持は直立姿勢を維持するために必要不可欠な要素であり，その多くの場合は，倒立振子の安定化制御問題として考えることができる．
玉乗りロボットは，倒立振子の自由度を拡張したシステムであり，倒立振子型のバランス制御の一種といえる 2, 3, 4) ．サーカスでの曲芸などでみられるが，ロボットとして制御されている例は少ない．玉乗りロボットのバランス保持の原理は一般的な倒立振子と同様で，支持点が本体の重心の真下に常に位置するように制御さ究において，球は移動に不可欠な部品として駆動部に囲まれ，かつ分離しないような考慮がされている場合もある．球を介して移動することにより，二輪駆動形の車輪移動ロボットでは対応できなかった軸方向への瞬時の移動が可能となる．このことは，平面上を自由に移動できる倒立振子として高い機動性を有していることを意味する．
様々な形態の玉乗りロボットが研究されているが，それらのロボットにはある共通点が存在すると考えられる．それは，球の上で一つのロボット機構のみが駆動する一重構造の玉乗りロボットである，という点である．二重構造以上の玉乗り型ロボットに関する研究および開発の報告は確認されていない．
本研究では，玉乗り型の倒立振子において，Fig. 1 に示す二重構造の移動体を安定に制御するための手法を検討している．これは，球の上にロボット本体を載せ，さらにその上にフリー–1–}• 玉乗りロボットの駆動に用いられる球として，剛性が高く，摩擦があることが要求される．そこでボールには，滑らかな表面でSecond-Stageinvertedpendulum}あるボーリング球を使用した．ボーリング
玉の直径は 218 mm であり，質量は約 4.2kg である．また，そのままの表面では滑りやすいため，表面にはゴムスプレーで加工し，滑りにくくした．

• 駆動部は，モータおよびオムニホイールから構成されている．オムニホイールは一重First-Stage
invertedpendulum

オムニホイールを使用することにより，滑らかな回転を可能としている．モータは，ステッピングモータを用いることでオムニホイールの回転角度を容易に得ることができる．

• マイコンは，Arduino Uno を使用しており，それぞれのモータを駆動させるために3 つ搭載している．Arduino は，比較的安Fig. 1

価なマイコンで，オープンソースで簡単二重構造の玉乗りロボットの構造にプログラムを作成し，コントロールでジョイント等を介してもう一段の倒立振子を載きるため，利便性が良いマイコンである．

せて二段の倒立振子を制御するものである．本

さらに，プログラムの言語は C++ライブ

稿では，二重構造の玉乗りロボットを設計・製ラリに豊かである．

作し，これを安定化制御 (直立姿勢の維持) する• センサは MPU-6050 3 軸加速度，3 軸ジ方法について検討した内容を述べる．

ャイロセンサモジュールを用いる．MPU-

2.

6050 センサモジュールのライブラリがネッ一重構造の玉乗りロボット

ト上で公開されており，そちらを用いるこ製作した一重構造の玉乗りロボットを Fig.2に示す．なお，玉乗りロボットの大きさは直径約 220 mm，高さ約 300 mm である．玉乗りロ方向へ球を移動させ，安定化する．また，傾いた角度が大きいほど，球も素早く動かさなければならない．

2.1

300mm

ボットの制御では，倒立振子と同じで，傾いた

220mm

構成

本研究では，以下の部品を用いて構成した．

–2–Fig. 2一重構造の玉乗りロボットとで正確な角度を得ることができる．

• 本ロボットに使用するモータドライバの駆動電源電圧は，7.5 V - 85 V であるため，Vこれに対応し，容量の大きい 11.1 V 3700

mAh 3 セルリポバッテリーを使用した．

V
2.2

ロボットの制御

本ロボットの制御プログラムの開発は，マイコンとして使用している Arduino 専用の統合開発

V

環境ソフトウェア Arduino IDE を使用して行った．Arduino IDE は，C 言語および C++ 言語をベースにした Arduino 独自の言語を使用している．Arduino 言語を用いてスケッチと呼ばれるプログラムを書き，Arduino ボードにアップ

Fig. 3

オムニホイールと指令式の対応関係

ロードすることで様々なセンサやアクチュエーン，Kd は微分ゲインである．それぞれの速度比タを扱うことができる．
本ロボット駆動時に実行されるプログラムは，ロボットの電源を入れ，初期化終了の後，玉乗りロボットの制御が開始される．サンプリングとオムニホイール，軸は Fig. 3 のように対応づけられている．X 軸上のオムニホイールから反時計回りに s1 ，s2 ，s3 とし，それぞれのオムニホイールは vs1 ，vs2 ，vs3 に対応している．

周期は 30 ms としている．
姿勢角度の検出は，MPU-6050 センサモジュールからデジタル信号でロール角，ピッチ角，ヨー角が出力される．制御にはヨー角は必要ないため，ロール角とピッチ角によって姿勢角度を検出し制御を行う．PID 制御を用いるため，速度司令値は文献を参考にし，次式のようにした 3) ．

Ki θp+ Kd θp s)(1)
vs1 = −(Kp θp +s
√



3
Ki θr



vs2 ={Kp θr ++ Kd θr s}

2s


K i θp1+ {Kp θp ++ Kd θp s}
(2)
2s

√


3
Ki θr



+ Kd θr s}
vs3 = − {Kp θr +2s
 + 1 {K θ + Ki θp + K θ s}(3)p pd p2s

ロボットの動きを平面内で考えると，Fig. 4 に示すモデルが得られる 3) ．ここで，I , I , m , mpbpbは各々，ロボット本体と球体の慣性モーメントと質量，r は球体の半径，h は振子の質量中心の高さ，θ は振子の鉛直からの傾斜角度，ϕb は振子と球の相対的回転角である．このモデルより，
式 (4) の伝達関数が得られる 3) ．

G(s) =(Ib + (mp + mb )r2 + mp hr)s
mp hg − (Ip + mp (h + r)2 + Ib + mb r2 ))s2(4)なお，参考文献では，加速度を入力とし伝達関数を求めているが，本ロボットでは速度を入力としているため，分子に s が現れている．
以上より，平面内で考えた場合のブロック線
図が Fig. 5 のようになる．ここで，Θd は目標値である．

ここで vs1 ，vs2 ，vs3 は球を駆動するために 3 つのモーターに送る速度指令，θr はロール角，θpはピッチ角，Kp は比例ゲイン，Ki は積分ゲイ–3–い，約 135 s で転倒し，そこから約 160 s まで手で保持した．
76Angle[deg]

5b4
32Fig. 4

倒立振子モデル 3)

10Fig. 650

100Time[sec]150200

玉乗りロボットの鉛直からの角度

I 制御を加えた PI 制御を取り入れて実験をFig. 52.3

行った結果，安定点から 1◦ 以上外れた場合で倒立振子モデルのブロック線図も，そのまま転倒せず安定状態に戻ることがでロボットの駆動実験

きた．外乱を加えた場合，外乱が大きくなけれ

本駆動実験では，以下の手順でロボットの駆動を行い，駆動の様子を目視およびスナップショットにより評価を行う．

ば倒れることはないが，安定化までに時間がかかってしまうため，D 制御も取り入れた PID 制御で実験を行った．その結果，外乱を加えた場合にも PI 制御よりも素早く安定化することが1) ロボットの電源を点けてからセンサの値できた．

が落ち着く約 10 s 後に球にのせる．

2) 手で軽く支えながら，倒立姿勢を保てる

3.

か様子を見る．

二重構造の玉乗りロボット

製作した二重構造の玉乗りロボットを Fig. 73) 完全に手を離し，ロボットを駆動させる．
4) 転倒した場合，ゲインを調整し，再度実験を行う．に示す．なお，大きさは直径約 220 mm，高さ約 350 mm である．二重構造の玉乗りロボット
は，4 層からなっており，下からバッテリー層，ドライバ層，マイコン層，振子層となっている．

何度か実験を行った結果，P 制御のみで安定化

一重構造の玉乗りロボットでは，デバイスの取ができることがわかった．しかし，P 制御おより付けが不安定であったため，新たな円盤を製び PD 制御の場合，安定点から 1◦ 以上ずれてし作し，不安定さを改善している．

まうとそのまま転倒してしまった．その実験結果を Fig. 6 に示す．なお，測定は 193 s まで行–4–二重構造の玉乗りロボットの制御

3.2

二重構造の玉乗りロボットで用いる制御は一350mm

重構造の制御に加え，振子の角度をフィードバックしヨー角を回転させる制御を行う．ヨー角の制御は PID 制御を用い，安定化を図る．Fig. 9にブロック線図および速度指令値を示す．

220mm

二重構造の玉乗りロボット

Fig. 7ﬁxed partpendulum

Fig. 83.1

Fig. 9線図

potentiometer
K i θp+ Kd θp s)
vs1 = −(Kp θp +s
K ϕ +Kdp ϕ + di + Kdd ϕs(5)s√3Ki θr
vs2 ={Kp θr ++ Kd θr s}
2s

Kθ1

 + {Kp θp + i p + Kd θp s}
2s
Kϕdi
+Kdp ϕ ++ Kdd ϕs
(6)
s

√




 vs3 = − 3 {Kp θr + Ki θr + K θr s}
d
2s



Ki θp1+ {Kp θp ++ Kd θp s}
2s



 +K ϕ + Kdi ϕ + K ϕs
(7)
dpdds

mount

振子層円盤構成

二重構造の玉乗りロボットの制御方法は，一重構造の PID 制御に加えて，ヨー角の制御を行い振子およびロボットを安定化させる．ヨー角で振子を制御できるように，1 自由度の振子を円盤の円周付近に取り付けを行う．これにより，ヨー角の制御による，振子のスウィングアップ制二重構造の玉乗りロボットのブロック

ここで，θr はロール角，θp はピッチ角，ϕ は振御を行うことも可能である．二重玉乗りロボッ

子角，R はそれぞれの目標値，Kp , Kdp は比例

トの構成は，一重構造の玉乗りロボットをそのゲイン，Ki , Kdi は積分ゲイン，Kd , Kdd は微分まま使用し，円盤を追加することによって，振ゲインである．
今回は，二重構造の玉乗りロボットの製作を子を設置した．振子には，ポテンショメータ，マウントおよびポテンショメータ軸と振子を一体化させる固定部を取り付けている．Fig. 8 に振行ったため，今後はこのロボットの安定化制御を行う予定である．

子層円盤の構成を示す．

4.

おわりに

本稿では，一重および二重構造の玉乗りロボットの製作，および一重構造の玉乗りロボットの–5–制御実験を行った．一重構造の玉乗りロボットの制御実験では，P 制御のみでは，定常偏差が残ってしまうため，安定限界となったが，I 制御を加えたことで，安定な制御を行うことができた．また，D 制御を加えることで，外乱に対して即座に安定状態に戻ることがわかった．
二重構造の玉乗りロボットの製作では，スウィングアップも見据えた設計を行った．振子層の円盤の円周に一自由度の振子を設置することで，ヨー角による振子の制御を行えるように製作を行った．また，一重構造で問題であった. 取り付けの不安定さを解消し，外見を改善した．
今後は，二重構造の玉乗りロボットの実験を行い，実験データを収集し，安定化制御を実現することを目指す．また，二段目の振子を真下から真上に振り上げるスウィングアップ制御についても検討する予定である．

参考文献
1) 美多勉：非線形制御入門‐劣駆動ロボットの技
能制御論，昭晃堂 (2000)
2) U. Nagarajan, G. Kantor and R. Hollis：Theballbot: An omnidirectional balancing mobilerobot, The International Journal of Robotics
Research Vol.33, No.6, 917/930 (2014)3) 熊谷 正朗，落合 恭也：玉乗りロボットの開発
第一報 ロボットの実装と基本制御，東北学院大学工学部研究報告，Vol. 48 - No. 1，pp.
32-41 (2014)4) 熊谷 正朗，落合 恭也：玉乗りロボットによる搬送に関する研究，計測自動制御学会東北支部
第 247 回研究集会，資料番号 247-3 (2008)–6–