卒業研究のご紹介
2021年版
機械・自動車・ロボット系所属学生
屋外清掃ロボットの開発
古川 紫之神奈川県
創造工学部ロボット・メカトロニクス学科2021年3月卒業
神奈川県立神奈川総合産業高等学校出身
研究の目的
地方の自治体などでは、地域住民がボランティアという形で定期的に公共施設や道路への清掃活動を行っています。しかし、近年の地域の過疎化と住民の高齢化が進み、負担が大きくなっているのが現状です。また、労働力不足を背景に不動産業者やホテル業者など施設を持つ事業者が、清掃業者の省力化のために業務用清掃ロボットの需要が増加しています。そこで、屋外に散乱したゴミを自動的に片づけるロボットを製作し、労働者不足の解消を目指しました。このようなロボットを実現するために最低限必要な機能として、未知の環境把握、自己位置の推定、落ち葉の回収の3つが考えられます。本研究では、屋外の落ち葉の清掃を目的として、移動ロボットにバキュームクリーナーを搭載した、屋外掃除ロボットを構成します。
研究内容や成果等
■ 屋外清掃ロボットの概要
屋外清掃ロボットは図1のように、LiDARとエンコーダによるオドメトリのデータを処理することで自己位置を推測し、屋外の障害物に衝突することなく効率的なルートで走行し、搭載したバキュームクリーナーで落ち葉やゴミの回収を行う。
(1)ロボットの構造
ロボットのサイズは、幅600mm、長さ840mm、高さ670mmである。ロボットは2つの車輪とモータで駆動する。モータにはエンコーダが搭載されており、ホイールの回転角を取得できる。図1の通りロボットにはLiDAR(北陽電機株式会社製 URG-04LX-UG01)、バキュームクリーナー(RYOBI社製 RESV-1800HP 683700A)、バッテリー(SEKIYA社製 SDB1515)、RaspberryPi4が搭載されている。バッテリーは交流100Vを出力でき、定格1500Wのバキュームクリーナーを1時間稼働させられる。LiDARは半径4mの範囲の地形情報を得ることができる。ロボットの制御にはRaspberryPi4とROSを用いる。
(1)ロボットの構造
ロボットのサイズは、幅600mm、長さ840mm、高さ670mmである。ロボットは2つの車輪とモータで駆動する。モータにはエンコーダが搭載されており、ホイールの回転角を取得できる。図1の通りロボットにはLiDAR(北陽電機株式会社製 URG-04LX-UG01)、バキュームクリーナー(RYOBI社製 RESV-1800HP 683700A)、バッテリー(SEKIYA社製 SDB1515)、RaspberryPi4が搭載されている。バッテリーは交流100Vを出力でき、定格1500Wのバキュームクリーナーを1時間稼働させられる。LiDARは半径4mの範囲の地形情報を得ることができる。ロボットの制御にはRaspberryPi4とROSを用いる。
(2)SLAMによる環境マップの生成
ロボットを制御するにあたって、未知の環境把握と自己位置の推定をするには環境マップの作成が必要である。環境マップはSLAMで生成する。SLAMとは、自己位置推定と環境マップ作成を同時に行う手法である。SLAMを行うにはLiDARによる周囲の地形情報の取得とオドメトリによる大まかな自己位置の推定が必要である。オドメトリから大まかな自己位置を推定し、LiDARで自己位置の補正と環境マップの生成を行う。例として、ROSでgmappingノードを起動し、図2(省略)の空間でロボットを走行させると図3のような環境マップが生成される。
ロボットを制御するにあたって、未知の環境把握と自己位置の推定をするには環境マップの作成が必要である。環境マップはSLAMで生成する。SLAMとは、自己位置推定と環境マップ作成を同時に行う手法である。SLAMを行うにはLiDARによる周囲の地形情報の取得とオドメトリによる大まかな自己位置の推定が必要である。オドメトリから大まかな自己位置を推定し、LiDARで自己位置の補正と環境マップの生成を行う。例として、ROSでgmappingノードを起動し、図2(省略)の空間でロボットを走行させると図3のような環境マップが生成される。
(3)オドメトリ
SLAMに必要な大まかな自己位置はオドメトリで推定する。オドメトリとは車輪型移動ロボットにおける車輪の回転角度からロボットの位置を推定する手法である。この項ではオドメトリの計算方法について簡単に説明する。両車輪の間隔をD、車輪の半径をrとする。時間Tで短い距離を移動したと仮定したとき、左右のモータの回転量(現在のエンコーダ値Elc、ErcとT秒前のエンコーダ値Elp、Erp)を用いると、ロボットの速度υおよび角速度ωは
SLAMに必要な大まかな自己位置はオドメトリで推定する。オドメトリとは車輪型移動ロボットにおける車輪の回転角度からロボットの位置を推定する手法である。この項ではオドメトリの計算方法について簡単に説明する。両車輪の間隔をD、車輪の半径をrとする。時間Tで短い距離を移動したと仮定したとき、左右のモータの回転量(現在のエンコーダ値Elc、ErcとT秒前のエンコーダ値Elp、Erp)を用いると、ロボットの速度υおよび角速度ωは
と表される。
これらの式を用いて移動後の位置(x(k+1),y(k+1))および方向θ(k+1)を求めると
となる。
(4)自律走行
SLAMで環境マップを生成した後、ROSでamclノード、move_baseノードを起動し、rvizで到着地点を指定するとロボットが道順を計算し、障害物に衝突することなく自動でその地点に進行する。これを繰り返すことで自律走行を実現する。
(4)自律走行
SLAMで環境マップを生成した後、ROSでamclノード、move_baseノードを起動し、rvizで到着地点を指定するとロボットが道順を計算し、障害物に衝突することなく自動でその地点に進行する。これを繰り返すことで自律走行を実現する。
■ 実験
(1)実験環境
これまでに説明してきた屋外清掃ロボットの性能を評価するため、実際に屋外で走行させて実験を行った。
実験では、ロボットが図4のエリア内において正しく環境マップを生成できるかどうか、散乱している落ち葉を回収できるかどうか、障害物に衝突せず走行できるかどうかを評価する。
これまでに説明してきた屋外清掃ロボットの性能を評価するため、実際に屋外で走行させて実験を行った。
実験では、ロボットが図4のエリア内において正しく環境マップを生成できるかどうか、散乱している落ち葉を回収できるかどうか、障害物に衝突せず走行できるかどうかを評価する。
(2)環境マップの生成実験
ロボットにエリア内を自律探索させ、環境マップの生成が正しく行えているのか確認した。その結果、図5の通り、環境マップの生成が正しく行えた。なお、自律探索にはexlore_liteノードを用いた。
ロボットにエリア内を自律探索させ、環境マップの生成が正しく行えているのか確認した。その結果、図5の通り、環境マップの生成が正しく行えた。なお、自律探索にはexlore_liteノードを用いた。
(3)落ち葉収集実験
ロボットが環境マップの生成を正しく完了した後、エリア内に落ち葉を散乱させる。10 個の通過地点をロボットに送信し自律走行をさせた場合、落ち葉を回収できるかどうかを確認した。その結果、壁や障害物に衝突することなく通過した道にある落ち葉の回収に成功した。
(4)障害物回避実験
ロボットが落ち葉の収集をしている間、ロボットの正面を横切るように人を歩かせた場合、人に衝突せず回避できるかを検証した。その結果、ロボットは人に衝突する直前に停止し、迂回して走行を続けた。
ロボットが環境マップの生成を正しく完了した後、エリア内に落ち葉を散乱させる。10 個の通過地点をロボットに送信し自律走行をさせた場合、落ち葉を回収できるかどうかを確認した。その結果、壁や障害物に衝突することなく通過した道にある落ち葉の回収に成功した。
(4)障害物回避実験
ロボットが落ち葉の収集をしている間、ロボットの正面を横切るように人を歩かせた場合、人に衝突せず回避できるかを検証した。その結果、ロボットは人に衝突する直前に停止し、迂回して走行を続けた。
■ 考察
SLAMを行っている間、ロボットの車輪が段差に引っかかり、進行不可能になるケースがあった。原因として、使用したLiDARが2次元LiDARであるということが挙げられる。2次元では特定の高さの検出だけしかできないため、段差の検出ができなかったと考えられる。より正確な自律走行を実現するためには、3次元のLiDARと、それに対応できるSLAM パッケージが必要である。
■ おわりに
本研究では、LiDARとエンコーダを用いたSLAMで生成した環境マップをもとに自律走行と、それによる落ち葉やゴミの回収を行う屋外清掃ロボットを製作し、性能を評価した。
しかし、屋外に散乱した落ち葉やゴミの自動回収を目的としていたが、バキュームクリーナーの起動、ROSやそのノードの起動は手動で行わなければいけない。今後の課題として、ロボットの主電源を入れただけでバキュームクリーナーの起動、ROSの起動、自動探索による地図生成、屋外の自動走行を連続で行える機能を実装し、屋外清掃ロボットとして、労働者不足の改善を実現する必要がある。そして時間設定をして指定の時間が経過したらスタート地点に帰還する機能も実装し、実用化できるようなロボットの開発を目指したい。
しかし、屋外に散乱した落ち葉やゴミの自動回収を目的としていたが、バキュームクリーナーの起動、ROSやそのノードの起動は手動で行わなければいけない。今後の課題として、ロボットの主電源を入れただけでバキュームクリーナーの起動、ROSの起動、自動探索による地図生成、屋外の自動走行を連続で行える機能を実装し、屋外清掃ロボットとして、労働者不足の改善を実現する必要がある。そして時間設定をして指定の時間が経過したらスタート地点に帰還する機能も実装し、実用化できるようなロボットの開発を目指したい。
現時点では、ロボットは障害物や人などの移動物体を避けながら、指定されたエリア内全体を移動し、落ち葉などを清掃しています。一方、落ち葉などの多くは風の影響で道やエリアの端に集まっていることが多く、今のロボットの移動方法では時間がかかってしまいます。そこで今後は、ロボットにビデオカメラを搭載し、その映像を処理することで、落ち葉の集まっている場所を特定し、そこに直接移動して清掃活動するように拡張していく予定です。