1
計測自動制御学会東北支部 第 291 回研究集会(2014.10.23) 資料番号 291-5
スライディングモード制御による
除雪ロボットの軌道追従制御
Line following control for the snow removal robot using
the sliding mode control
○駒米光太郎*,Ernesto Rivas*,中村久一郎*,水戸部和久*
○Koutarou Komagome*,Ernesto Rivas*,
Kyuitirou Nakamura*,Kazuhisa Mitobe*
*山形大学
*Yamagata University
キーワード:除雪ロボット(snow removal robot),屋外ロボット(outdoor robot), 自律化(automation),軌道追従制御(line following control)
連絡先:〒992-8510 山形県米沢市城南 4-3-16 山形大学工学部機械システム工学科 6-501 水戸部研究室
水戸部和久,Tel : 0238-26-3230,Fax : 0238-26-3205,E-mail : [email protected]
――――――――――――――――
1.はじめに 本研究は,自律移動型の小型除雪ロボッ トへの応用を目的として,軽量且つ小型の クローラーロボットの軌道追従制御を問題 とする.目的とするロボットは,雪を回収 しブロック状に成形するロボットと雪ブロ ックを運搬するロボットからなるシステム である.軽量なクローラーロボットが移動 しながら雪ブロックを回収するためには, 外乱の影響を打ち消すロバスト性が高い軌 道追従制御が必要である. 本研究では,通常の状態フィードバック 制御に加えスライディングモード制御を検 討する.スライディングモード制御は目標 ダイナミクスへのフィードバックを高ゲイ ンで行うため,状態フィードバック制御に 比べロバスト性が期待できる制御である. 車輪型ロボットのスライディングモード制 御については非ホロノミック拘束下での運 動制御の問題として議論され,軌道の安定 化[1],外乱に対するロバスト性[2][3],離散 時間での実装[4]などが報告されている. 本論文では,本体に搭載されたUSB カメ ラおよびARToolKit[5]を用いて自己位置を 測定し,小型除雪ロボットの軌道追従制御 としてのスライディングモード制御の評価 について述べる.2 2.試作小型除雪ロボットのハードウェア 軌道追従制御実験のために試作したクロ ーラーロボットの外観をFig.1 に示す.試作 したロボットは雪上車のラジコン車に以下 の変更を施したものである.前面に雪ブロ ックを回収するためのグリッパを取り付け た.左右のクローラーを駆動するモーター を制御性の良いモーターに変更し,減速機 にモーターの回転を検出するロータリーエ ンコーダーを左右の回転軸に取り付けた. 上部には自己位置検出のためにUSB カメラ を取り付け,画像情報は外部のPC に取り込 まれる.各クローラーの回転速度はロボッ ト内部に実装したマイコンが制御する.回 転速度の指令はPC から USB ケーブルを介 して行う.制御システムの構成をFig.2 に示 す.
Fig.1 Snow removal robot prototype
Fig.2 Structure of the control system
3.スライディングモード制御の追従制御則 クローラーロボットの運動を簡単な2輪 の差動駆動モデルでモデル化する.Fig.3 に 示すような X-Y 平面におけるロボットの運 動を式(1),(2)の通りモデル化する. 𝑥̇ = 𝑣sinθ ≅ 𝑣𝜃 (1) 𝜃̇ = 𝑢 (2)
Fig.3 The unicycle model
ここで,ロボットの速度𝑣および角速度𝜃̇は左 右のクローラーの速度により操作可能と考 える.左右のクローラー速度を𝑣𝑙, 𝑣𝑟,左右の クローラー間の距離を𝐿とすれば,次式が成 り立つ. 𝑣 = 𝑣𝑙+ 𝑣𝑟 2 (3) 𝜃̇ = 𝑢 =𝑣𝑙− 𝑣𝑟 𝐿 (4) 以下では,𝑣を一定とする拘束下で角速度の 指令値𝑢を制御入力として制御系を構成する. スライディングモード制御の切り替え線を 次式で与える. 𝑥 + 𝛼𝜃 = 0 (5) ここで,𝛼は正数であり制御下でのロボット の運動に影響する.スライディングモード制 御においてロボットの運動は𝜃 = 𝑥 ̇/ 𝑣によ り, 𝑥 +𝛼 𝑣𝑥̇ = 0 (6) を満足する.すなわち,
3 𝑥(𝑡) = 𝑥0𝑒−𝑣𝛼𝑡 (7) 𝜃(𝑡) = 𝑥0𝛼 𝑣 𝑒 −𝑣𝛼𝑡 (8) となり,いずれも指数関数的に0に収束する. 切り替え線への到達条件から制御則を決定 する.入力𝑢を𝑢 = −𝑘𝑥𝑥で与え,Fig.4に示す ようなX-θ平面において状態(𝑥, 𝜃)が2つの領 域Ⅰおよび領域Ⅱのどちらかにあるかによ ってフィードバックゲイン𝑘𝑥を切り替える 制御を行った.ここで,式(5)より𝑠 = 𝑥 + 𝛼𝜃 とおく,リアプノフ関数の候補として, 𝑉 = 1 2𝑠2 (9) を考えると, 𝑉̇ = 𝑠𝑠̇ = 𝑠(𝑥̇ + 𝛼𝜃̇) = 𝑠(𝑣𝜃 + 𝛼𝑢) = −𝑠(𝛼𝑘𝑥𝑥 − 𝑣𝜃) (10) となる.制御則はFig.4に示す領域Ⅰおよ び領域Ⅱに対して以下の通りに定める. 領域Ⅰにおいては, 𝑢 = −𝑘𝐼𝑥 (11) ここで,ゲインは0 > 𝑘𝐼> − 𝑣 𝛼2を満足す る.領域Ⅱにおいては, 𝑢 = −𝑘𝐼𝐼𝑥 (12) ここで,ゲインは𝑘𝐼𝐼 < −𝛼𝑣2とする.いずれの 領域でも𝑉̇ ≤ 0となり,状態(𝑥, 𝜃)は切り替え 線に拘束される.
(a) Regions Ⅰ (b) Regions Ⅱ Fig.4 Sliding surface s = 0 and
regions ⅠandⅡ 4.ARToolKit 本研究では,小型除雪ロボットの軌道追従 制御にARToolKit を使用した.ARToolKit と は,AR アプリケーションの実装を支援する C/C++用のプログラミングライブラリであ る.ARToolKit を使用することにより,カメ ラでのマーカの認識,マーカに対するカメラ の位置・姿勢を検出することが可能となる. Fig.5 に ARToolKit の座標系を示す.
Fig.5 Coordinate system of the ARToolKit
ロボットとマーカの関係をFig.6 に示す.
Fig.6 Positional relationship between the robot and marker
Fig.3 におけるロボットの姿勢角𝜃の計算法 を以下に示す.ARToolKit により得られたカ メラの座標系でのマーカの位置(𝑥𝑚, 𝑧𝑚)から, 座標変換によりマーカ座標系でのカメラ位 置(𝑥𝑐, 𝑧𝑐)を得る.カメラはロボットの進行方 向を向いているので,Fig.3 におけるロボッ トの姿勢角𝜃は以下の通り計算できる.まず, カメラ座標から見たマーカの方向𝜃𝑐を求め る. 𝜃𝑐 = 𝑡𝑎𝑛−1(𝑥𝑐⁄ ) (13) 𝑧𝑐 (𝑥𝑐, 𝑧𝑐) 𝑋𝑐 𝑍𝑐 𝑍𝑚 𝑋𝑚 (𝑥𝑚, 𝑧𝑚) 𝜃𝑚 𝜃 𝜃𝑐 𝜃(=𝑥̇ 𝑣) Ⅰ 0 S = 0 𝜃(=𝑥̇ 𝑣) Ⅱ 0 Ⅱ S = 0 Ⅰ 𝑍𝑚 𝑦𝑐 画像座標系 𝑥𝑐 画像中心 𝑋𝑐 𝑍𝑐 𝑌𝑐 画像平面 カメラ座標系 𝑌𝑚 𝑋𝑚 マーカ座標系
4 同様にマーカ座標から見たカメラの方向𝜃𝑚 は, 𝜃𝑚= 𝑡𝑎𝑛−1(𝑥𝑚⁄𝑧𝑚) (14) 𝜃𝑐, 𝜃𝑚により,ロボットの向き𝜃は次式となる. 𝜃 = 𝜃𝑐+ 𝜃𝑚 (15) 5.実験環境 小型除雪ロボットシステムにおいて,運搬 ロボットが雪ブロックを回収する作業を想 定して,目標物に対して所定の位置から接近 する制御の実験を行う.Fig.7 に示すように ロボット前方に目標であるマーカを配置し, ARToolKit によりカメラ画像からマーカに 対するロボットの位置・姿勢を検出する.検 出された位置・姿勢値を使用して軌道追従制 御を行う.目標であるマーカは大小2 つを使 用する.単一のマーカの場合,マーカとカメ ラ間の距離により位置・姿勢の検出値に誤差 が生じてしまう.走行時にマーカとカメラ間 の距離によって認識するマーカを切り替え ることにより,位置・姿勢の検出値の安定化 を行う.
Fig.7 Experimental environment 6.走行実験と実験結果 6.1.実験方法 Fig.8 に示すようにマーカからの距離が 2000[mm]の地点をスタートラインとし,マ ーカの300[mm]前をストップラインとする. スライディングモード制御を実装したロボ ットに目標軌道からの初期誤差や制御の設 定値の変更,外乱を与えた際の目標軌道上へ の収束性の確認,同じ条件化での状態フィー ドバック制御との比較を行うことでスライ ディングモード制御の評価を行う.
Fig.8 Experimental setup
6.2.スライディングモード制御の実験結果 スライディングモード制御を実装したロ
ボットに初期誤差 500[mm]を与えて走行実
験を行った.Fig.9 にロボットの軌跡および 実験時のロボットの状態(𝑥, 𝜃)を示す.
(ⅰ) Trajectory of the robot
(ⅱ) Relationship of the 𝑥 and 𝜃 Fig.9 Experimental result of
the sliding mode control
スライディングモード制御を実装したクロ ーラーロボットが目標軌道上に収束しなが ら走行していることがFig.9 から確認できる. 目標軌道 ロボット マーカ PC 初期誤差 スタートライン ストップライン マーカ 300[mm] 2000[mm] -20 -15 -10 -5 0 5 10 -200 -100 0 100 200 300 400 500 600 700 A n gl e θ [d eg ree] Position X [mm]
5 さらに,ロボットの状態(𝑥, 𝜃)が切り替え線に 拘束されていることも確認することができ る.このことから,スライディングモードが ロボットに作用していることが確認できる. 6.3.切り替え線に関する実験結果 スライディングモード制御の切り替え線 の傾きがロボットに及ぼす影響を確認する ため,式(5)の𝛼の値を変えて実験を行う. Fig.10 にロボットの軌跡および実験時のロ ボ ッ ト の 状 態(𝑥, 𝜃) を 示 す . 初 期 誤 差 は 500[mm]である.
(ⅰ) Trajectory of the robot
𝛼 = 5
(ⅱ) Relationship of the 𝑥 and 𝜃 𝛼 = 5
(ⅰ) Trajectory of the robot 𝛼 = 20
(ⅱ) Relationship of the 𝑥 and 𝜃
𝛼 = 20
Fig.10 Experimental result about the line of the sliding mode control Fig.10 より,スライディングモード制御の切 り替え線の傾きによってロボットの走行経 路の変化を確認することができる.𝛼 = 20 の 場合,切り替え線の傾きが緩やかなためロボッ トの角度変化が小さくマーカに向かって一直 線に走行している.𝛼 = 5の場合,切り替え線 の傾きが急なためロボットの角度変化が大 きくなり,マーカに向かって曲線を描きなが ら走行している.相対的に切り替え線の傾き が急な方がロボットの角度変化が大きくな り目標軌道への収束性が良くなる結果を得 た. 6.4.ロバスト性に関する実験結果 スライディングモード制御のロバスト性 を確認するため,ロボットが走行する路面の 摩擦抵抗を小さくして実験を行う.摩擦抵抗 を低減するために直径 6[mm]の発泡スチロ ールボールを使用する.Fig.11 にロボットの 軌跡および実験時のロボットの状態(𝑥, 𝜃)を 示す.初期誤差は500[mm]である.
(ⅰ) Trajectory of the robot
-25 -20 -15 -10 -5 0 5 10 -200 -100 0 100 200 300 400 500 600 700 A n gl e θ [d eg ree] Position X [mm] -25 -20 -15 -10 -5 0 5 10 -200 -100 0 100 200 300 400 500 600 700 A n gl e θ [d eg ree] Position X [mm]
6
(ⅱ) Relationship of the 𝑥 and 𝜃 Fig.11 Experimental result about the robustness of the sliding mode control 摩擦抵抗が小さい路面の走行の場合でも、マ ーカに向かって曲線を描きながら走行して いることが確認できる.Fig.11 より,ロボッ トの状態(𝑥, 𝜃)が切り替え線に拘束されてい ることから,スライディングモード制御のロ バスト性の高さを確認できる. 6.5.状態フィードバック制御との比較 スライディングモード制御の評価のため, 連続的な状態フィードバック制御との比較 実験を行う.状態フィードバック制御におい て,式(1),(2)のモデルに式(16)のフィードバ ック入力式を与えるとする. 𝑢 = 𝑘𝑥𝑥 + 𝑘𝜃𝜃 (16) Fig.12 に状態フィードバック制御とスライ ディングモード制御のロボットの軌跡およ びロボットの状態(𝑥, 𝜃)を示す.初期誤差は 500[mm]とする.
(ⅰ) Trajectory of the robot state feedback control
(ⅱ) Relationship of the 𝑥 and 𝜃 state feedback control
(ⅰ) Trajectory of the robot sliding mode control
(ⅱ) Relationship of the 𝑥 and 𝜃 sliding mode control
Fig.12 Result of a comparative experiment Fig.12 より,状態フィードバック制御とスラ イディングモード制御を実装したロボット が双方とも曲線を描きながらマーカへ走行 していることが確認できるが,以下の違いが 確認できる.スライディングモード制御に対 して状態フィードバック制御は目標軌道上 に位置は収束しているが,角度の補正が十分 に行われていない.この状態では雪ブロック を回収することが困難であるといえる. -20 -15 -10 -5 0 5 10 -200 -100 0 100 200 300 400 500 600 700 A n gl e θ [d eg ree] Position X [mm] -25 -20 -15 -10 -5 0 5 10 -200 -100 0 100 200 300 400 500 600 700 A n gl e θ [d eg ree] Position X [mm] -25 -20 -15 -10 -5 0 5 10 -200 -100 0 100 200 300 400 500 600 700 A n gl e θ [d eg ree] Position X [mm]
7 7.考察 スライディングモード制御はロボットの 状態(𝑥, 𝜃)を切り替え線上に拘束されるため ロボットの走行軌跡は走行路面が変わって も変化はないといえる.Fig.9 と Fig.11 から 走行路面が異なってもロボットの走行軌跡 に変化がないことが確認できる.このことか ら,スライディングモード制御はロバスト性 が高いといえる.しかし,Fig.11 のロボット の状態(𝑥, 𝜃)は Fig.9 の状態(𝑥, 𝜃)に比べて検 出値のばらつきが生じている.これは摩擦抵 抗が小さい路面を走行しているため,すべり によってロボットに振動が生じてカメラが 揺れるため検出値にばらつきが生じたと考 えられる.Fig.10 より,切り替え線の傾きは ロボットの走行軌跡に変化が生じることが 確認できた.目的とするロボットは目標に対 して曲線を描きながら走行することが求め られるため傾きが急な方がロボットに適切 であるといえる.Fig.12 より,状態フィード バック制御では最終停止位置でスライディ ングモード制御よりも誤差が大きく生じた. 状態フィードバック制御はゲインを大きく することで追従性を向上させることが可能 であるが,大きな行き過ぎ量が生じカメラが マーカを見失うという問題が起こるため,状 態フィードバックは適切なゲインの設定が 難しい.対して,スライディングモード制御 は高ゲインを設定しても切り替え線上に拘 束されるために状態フィードバック制御よ りも使いやすい制御といえる. 今後の課題として,実用化に向けてロボッ トにグリッパを取り付け雪ブロックの回収 を行う実験,雪上での走行実験をすることが 挙げられる. 8.おわりに 本研究では,自律移動型の小型除雪ロボッ トの軌道追従制御としてスライディングモ ード制御を検討し,走行実験からロボットに 与える影響を確認した. 9.参考文献 [1] J.Guldnerand.I.Utkin. “Stabilization of nonholonomic mobile robots using
Lyapunov functions for navigation and sliding mode control”,
Proc.IEEE Int.Conf.Decision Contr., pp.2967-2972,1994.
[2] Jung-Min Yang and Jong-Hwan Kim, “Sliding Mode Control for Trajectory Tracking of Nonholonomic Wheeled Mobile Robots”, IEEE Trans. on Robotics and Automation, Vol. 15, No. 3, 1999.
[3] R. Solea, A. Filipescu and G. Stamatescu, “Sliding-mode real-time mobile
platform control in the presence of uncertainties”, Joint 48th IEEE
Conference on Decision and Control and 28th Chinese Control Conference, 2009. [4] M. Letizia Corradini, T. Leo and
G. Orlando, "Experimental Testing of a Discrete-Time Sliding Mode
Controller for Trajectory Tracking of a Wheeled Mobile Robot in the Presence of Skidding Effects", Journal of Robotic Systems 19 (4), 177–188, 2002.
[5] http://www.hitl.washington.edu/ artoolkit/