(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022035765
(43)【公開日】2022-03-04
(54)【発明の名称】自律移動体、及びその制御システム、制御方法、及びプログラム
(51)【国際特許分類】
B25J 5/00 20060101AFI20220225BHJP
【FI】
B25J5/00 A
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2020140301
(22)【出願日】2020-08-21
(71)【出願人】
【識別番号】315014671
【氏名又は名称】東京ロボティクス株式会社
(74)【代理人】
【識別番号】100098899
【弁理士】
【氏名又は名称】飯塚 信市
(74)【代理人】
【識別番号】100163865
【弁理士】
【氏名又は名称】飯塚 健
(72)【発明者】
【氏名】川西 亮輔
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707BS10
3C707CS08
3C707HS27
3C707KS10
3C707KT01
3C707LV14
3C707WA16
(57)【要約】 (修正有)
【課題】複数の作業領域において並列に作業が進む状況下で遅延等が発生した場合でも、現場全体の作業効率が低下することを抑制できる技術を提供する。
【解決手段】複数の作業領域を移動する自律移動体100であって、前記作業領域の作業状況を観測する観測手段と、実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録部と、前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識部と、登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画部と、策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御部と、を備え、計画部は、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
複数の作業領域を移動する自律移動体であって、
前記作業領域の作業状況を観測する観測手段と、
実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録部と、
前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識部と、
登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画部と、
策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御部と、
を備え、
前記計画部は、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する、自律移動体。
【請求項2】
認識された前記作業状況と策定された前記動作スケジュールとに基づいて前記観測タイミングを決定するための観測条件を設定する観測条件設定部をさらに備え、
前記観測条件は、次の観測タイミングまでの時間、及び、登録された前記タスクに対する前記観測の優先度の少なくとも一方を含み、
前記計画部は、前記観測条件に従って前記動作スケジュールを変更する、請求項1に記載の自律移動体。
【請求項3】
前記観測条件設定部は、少なくとも2以上の異なる時間に認識された前記作業状況に基づいて前記観測条件を設定する、請求項2に記載の自律移動体。
【請求項4】
前記タスクの実行結果を取得する実行結果取得部をさらに備え、
前記観測条件設定部は、前記タスクの実行結果にさらに基づいて前記観測条件を設定する、請求項2又は3に記載の自律移動体。
【請求項5】
前記タスクの実行結果に基づいて、前記タスクの次の実行タイミングを予測するタイミング予測部をさらに備え、
前記観測条件設定部は、前記タイミング予測部により予測された前記タスクの次の実行タイミングにさらに基づいて前記観測条件を設定し、
前記計画部は、前記タイミング予測部により予測された前記タスクの次の実行タイミングにさらに基づいて前記動作スケジュールを変更する、請求項4に記載の自律移動体。
【請求項6】
前記タイミング予測部により予測された前記タスクの実行タイミングと、前記実行結果取得部により取得された当該タスクの実行結果とに基づいて、前記タイミング予測部の予測精度を評価する実行結果評価部をさらに備え、
前記観測条件設定部は、前記実行結果評価部による評価結果にさらに基づいて前記観測条件を設定し、
前記計画部は、前記実行結果評価部による評価結果にさらに基づいて前記動作スケジュールを変更する、請求項5に記載の自律移動体。
【請求項7】
登録された前記タスクの実行可能性を評価する実行可能性評価部をさらに備え、
前記計画部は、評価された前記タスクの実行可能性にさらに基づいて、前記動作スケジュールを変更する、請求項1から6のいずれか一項に記載の自律移動体。
【請求項8】
表示手段と、表示部とをさらに備え、
前記表示部は、策定した前記動作スケジュールを前記表示手段に表示する、請求項1から7のいずれか一項に記載の自律移動体。
【請求項9】
前記作業領域に設置され、当該作業領域の作業状況を観測する設置用観測手段をさらに備え、
前記認識部は、前記観測手段による観測結果と前記設置用観測手段による観測結果とに基づいて、少なくとも一以上の前記作業領域の作業状況を認識する、請求項1から8のいずれか一項に記載の自律移動体。
【請求項10】
他の前記自律移動体に備わる前記観測手段による観測結果を取得する観測結果取得部をさらに備え、
前記認識部は、前記観測手段による観測結果と、他の前記自律移動体に備わる前記観測手段による観測結果とに基づいて、少なくとも一以上の前記作業領域の作業状況を認識する、請求項1から9のいずれか一項に記載の自律移動体。
【請求項11】
前記観測条件設定部は、機械学習により生成された識別機を用いて前記観測条件を設定する、請求項2に記載の自律移動体。
【請求項12】
前記自律移動体は、マニピュレータ機構を有する一又は複数の腕部を備える、請求項1から11のいずれか一項に記載の自律移動体。
【請求項13】
作業領域の作業状況を観測する観測手段を有し複数の前記作業領域を移動する一又は複数の自律移動体と、サーバとから構成される制御システムであって、
実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録部と、
前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識部と、
登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画部と、
策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御部と、を備え、
前記計画部は、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する制御システム。
【請求項14】
作業領域の作業状況を観測する観測手段を有し複数の作業領域を移動する自律移動体の制御方法であって、
実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録ステップと、
前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識ステップと、
登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画ステップと、
策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御ステップと、を含み、
前記計画ステップでは、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する制御方法。
【請求項15】
作業領域の作業状況を観測する観測手段を有し複数の作業領域を移動する自律移動体の制御プログラムであって、
実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録ステップと、
前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識ステップと、
登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画ステップと、
策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御ステップと、を含み、
前記計画ステップでは、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばモバイルマニピュレータ等の自律移動体等に関する。
【背景技術】
【0002】
近年、工場や倉庫等においてロボットを用いた作業の自動化が進められている。例えば特許文献1には、自律的に移動して所定空間の清掃を行うロボットが開示されている。当該ロボットは、清掃作業の結果(実績)に基づいて清掃の適切な実施間隔を算出し、算出した実施間隔に基づいて清掃作業を実行することによって作業効率を向上させている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ここで、複数の作業領域において並列に作業が進むような複雑な工程を遂行する現場においても当該作業の自動化が求められている。このような現場においては、ロボットによる完全自動化は困難であることから、人と協調して作業を進めることができ、且つ、1台で複数のタスクを自律的に実行可能ないわゆる協働ロボットの導入が検討されている。しかしながら、このような現場では、例えば人の作業に遅延が生じた場合やその逆に人の作業が予定より早く完了した場合(以下、遅延等と称する)に当該遅延等の影響が波及することにより現場全体の作業効率が著しく低下するおそれがあるため、発生した遅延等に対処して、現場全体の作業効率が低下することを抑制する技術が求められている。
【0005】
一方で、特許文献1には、自律的に移動するロボットが作業効率を向上させるために清掃作業の実施間隔を算出する技術が開示されているものの、複数の作業領域において並列に作業が進む状況下で発生した遅延等に対処して、作業効率の低下を抑制する技術については一切言及されていない。
【0006】
本発明は、上述の技術的課題を解決するためになされたものであり、その目的とするところは、複数の作業領域において並列に作業が進む状況下で遅延等が発生した場合でも、現場全体の作業効率が低下することを抑制できる技術を提供することにある。
【課題を解決するための手段】
【0007】
上述の技術的課題は、以下の構成を有する自律移動体等により解決することができる。
【0008】
すなわち、本発明に係る自律移動体は、複数の作業領域を移動する自律移動体であって、前記作業領域の作業状況を観測する観測手段と、実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録部と、前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識部と、登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画部と、策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御部と、を備え、前記計画部は、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する。
【0009】
このような構成によれば、登録されたタスクに基づいて一旦策定された動作スケジュールを、複数の作業領域を移動する自律移動体に備わる観測手段により認識された作業状況に基づいて変更することができるので、複数の作業領域のうちのいずれかの作業領域において遅延等が発生した場合でも、発生した遅延等を認識して、これに対処した動作スケジュールを再計画することができる。この時、認識した遅延等の影響が他の作業領域にも波及することを回避するような動作スケジュールを策定することで、当該遅延等により現場全体の作業効率が低下することを抑制することができる。
【0010】
認識された前記作業状況と策定された前記動作スケジュールとに基づいて前記観測タイミングを決定するための観測条件を設定する観測条件設定部をさらに備え、前記観測条件は、次の観測タイミングまでの時間、及び、登録された前記タスクに対する前記観測の優先度の少なくとも一方を含み、前記計画部は、前記観測条件に従って前記動作スケジュールを変更する、ものであってよい。
【0011】
このような構成によれば、認識された作業状況に基づいて、適切な観測タイミングを決定するための観測条件が設定されるので、動作スケジュールの遂行中に遅延等が発生した場合でも、当該遅延等をより適切なタイミングで観測することができる。
【0012】
前記観測条件設定部は、少なくとも2以上の異なる時間に認識された前記作業状況に基づいて前記観測条件を設定する、ものであってよい。
【0013】
このような構成によれば、作業進捗の時系列変化を把握することができるので、作業状況の時系列変化に応じたより適切な観測条件を設定することが可能となる。
できる。
【0014】
前記タスクの実行結果を取得する実行結果取得部をさらに備え、前記観測条件設定部は、前記タスクの実行結果にさらに基づいて前記観測条件を設定する、ものであってよい。
【0015】
このような構成によれば、観測した作業領域の作業状況に加え、さらにタスクの実行結果に基づいて、より正確な作業状況を考慮した観測条件を設定することができる。その結果、遅延等が発生する可能性が高い作業領域を観測する頻度を高めるとともに、遅延等が発生する可能性の低い作業領域を観測する頻度を低く設定する等、動作スケジュールをより効率的に遂行できるより適切な観測タイミングを計画することができる。
【0016】
前記タスクの実行結果に基づいて、前記タスクの次の実行タイミングを予測するタイミング予測部をさらに備え、前記観測条件設定部は、前記タイミング予測部により予測された前記タスクの次の実行タイミングにさらに基づいて前記観測条件を設定し、前記計画部は、前記タイミング予測部により予測された前記タスクの次の実行タイミングにさらに基づいて前記動作スケジュールを変更する、ものであってよい。
【0017】
このような構成によれば、予測される将来のタスクの実行タイミングを基準として、その前後に観測タイミングを計画することができるので、例えばあるタスクが実行される前、又は実行された後の作業状況を認識したい場合等に、より精度の高い観測タイミングを計画できる観測条件を設定することが可能となる。また、予測されたタスクの実行タイミングに基づいて、より精度の高い動作スケジュールに変更することができる。
【0018】
前記タイミング予測部により予測された前記タスクの実行タイミングと、前記実行結果取得部により取得された当該タスクの実行結果とに基づいて、前記タイミング予測部の予測精度を評価する実行結果評価部をさらに備え、前記観測条件設定部は、前記実行結果評価部による評価結果にさらに基づいて前記観測条件を設定し、前記計画部は、前記実行結果評価部による評価結果にさらに基づいて前記動作スケジュールを変更するものであってよい。
【0019】
このような構成によれば、実行タイミング予測部の予測精度をさらに考慮して観測条件を設定することができるので、予測されたタスクの実行タイミングがずれる可能性も考慮したより適切な観測タイミングを計画することができる。また、予測されたタスクの実行タイミングと、当該予測の予測精度に基づいて、より精度の高い動作スケジュールに変更することができる。
【0020】
登録された前記タスクの実行可能性を評価する実行可能性評価部をさらに備え、前記計画部は、評価された前記タスクの実行可能性にさらに基づいて、前記動作スケジュールを策定する、ものであってよい。
【0021】
このような構成によれば、例えばタスクの実行可能性が著しく低い場合などは、当該タスクを動作スケジュールに組み込む優先度を下げるなどの対応が可能になるので、実現可能性の高い、より適切な動作スケジュールに変更することができる。
【0022】
表示手段と、表示部とをさらに備え、前記表示部は、策定した前記動作スケジュールを前記表示手段に表示する、ものであってよい。
【0023】
このような構成によれば、自律移動体と協調して作業を行う人等に、策定した動作スケジュールを視覚を通じて報知することができる。
【0024】
前記作業領域に設置され、当該作業領域の作業状況を観測する設置用観測手段をさらに備え、前記認識部は、前記観測手段による観測結果と前記設置用観測手段による観測結果とに基づいて、少なくとも一以上の前記作業領域の作業状況を認識するものであってよい。
【0025】
このような構成によれば、異なる場所にある複数の観測手段による観測結果を取得することができるので、移動時間を要さずに、複数の作業領域を跨ぐより広い現場の作業状況を認識することが可能となる。
【0026】
他の前記自律移動体に備わる前記観測手段による観測結果を取得する観測結果取得部をさらに備え、前記認識部は、前記観測手段による観測結果と、他の前記自律移動体に備わる前記観測手段による観測結果とに基づいて、少なくとも一以上の前記作業領域の作業状況を認識するものであってよい。
【0027】
このような構成によれば、異なる場所にある複数の観測手段による観測結果を取得することができるので、移動時間を要さずに、複数の作業領域にわたるより広い現場の作業状況を認識することが可能となる。
【0028】
前記観測条件設定部は、機械学習により生成された識別機を用いて前記観測条件を設定する、ものであってよい。
【0029】
このような構成によれば、機械学習による学習効果に応じて、作業状況に応じたより適切な観測タイミングを決定可能な観測条件を設定することが可能となる。
【0030】
前記自律移動体は、マニピュレータ機構を有する一又は複数の腕部を備える、ものであってよい。
【0031】
このような構成によれば、上述の各機能を備えるモバイルマニピュレータを実現することができる。
【0032】
本発明は、システムとして観念することもできる。すなわち、本発明に係るシステムは、作業領域の作業状況を観測する観測手段を有し複数の前記作業領域を移動する一又は複数の自律移動体と、サーバとから構成される制御システムであって、実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録部と、前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識部と、登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画部と、策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御部と、を備え、前記計画部は、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する。
【0033】
本発明は、方法として観念することもできる。すなわち、本発明にかかる制御方法は、作業領域の作業状況を観測する観測手段を有し複数の作業領域を移動する自律移動体の制御方法であって、実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録ステップと、前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識ステップと、登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画ステップと、策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御ステップと、を含み、前記計画ステップでは、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する。
【0034】
本発明は、コンピュータプログラムとして観念することもできる。すなわち、本発明に係る制御プログラムは、作業領域の作業状況を観測する観測手段を有し複数の作業領域を移動する自律移動体の制御プログラムであって、実行すべき一又は複数種類のタスクを実行する前記作業領域と関連付けて登録するタスク登録ステップと、前記観測手段による観測結果に基づいて、少なくとも一以上の前記作業領域の作業状況を認識する認識ステップと、登録された前記タスクに基づいて、前記タスクの実行タイミングと、前記作業領域の観測を行う観測タイミングとを含む動作スケジュールを策定する計画ステップと、策定された前記動作スケジュールに従って前記自律移動体を動作させる動作制御ステップと、を含み、前記計画ステップでは、認識された前記作業状況に応じて、策定された前記動作スケジュールを変更する。
【発明の効果】
【0035】
本発明によれば、複数の作業領域において並列に作業が進む状況下で遅延等が発生した場合でも、現場全体の作業効率が低下することを抑制できる自律移動体等を提供することができる。
【図面の簡単な説明】
【0036】
【
図1】
図1は、第1実施形態に係る自律移動体の概略構成図である。
【
図2】
図2は、自律移動体の外観を示す概略構成図である。
【
図3】
図3は、自律移動体の動作に関するゼネラルフローチャートである。
【
図4】
図4は、複数の作業領域を説明する図である。
【
図5】
図5は、動作スケジュールを説明する図である。
【
図6】
図6は、第1実施形態の動作制御処理を説明するフローチャートである。
【
図8】
図8は、再計画された動作スケジュールを説明する図である。
【
図10】
図10は、第2実施形態に係る自律移動体の概略構成図である。
【
図11】
図11は、第2実施形態の動作制御処理を説明するフローチャートである。
【
図12】
図12は、第2実施形態の動作制御処理の他の例を説明するフローチャートである。
【
図13】
図13は、第2実施形態の動作制御処理の更なる他の例を説明するフローチャートである。
【発明を実施するための形態】
【0037】
[第1実施形態]
図1および
図2は、第1実施形態に係る自律移動体100の構成例を説明する図である。本実施形態の自律移動体100は、人と共有の作業領域内で運用される自律型の協働ロボットであって、例えば、工場等で部品をピックして所定場所に搬送する機能等を有するAMR(Autonomous Mobile Robot)やモバイルマニピュレータ等に適用されてよい。本実施形態では、自律移動体100が、
図2に示すようなマニピュレータ機構を有する腕部40を備えたモバイルマニピュレータに適用された例について説明する。なお、以下では自律移動体100をモバイルマニピュレータ100とも称する。
【0038】
図1に示すとおり、本実施形態のモバイルマニピュレータ100は、モバイルマニピュレータ100の動作を制御する自律移動体制御装置として機能するコントローラ1と、動作機構駆動手段としての移動機構駆動手段2および頭部駆動手段3と、観測手段4と、を含んで構成される。
【0039】
コントローラ1は、タスク登録部11、作業状況認識部12、計画部13、動作制御部14等の機能部を有する。コントローラ1は、例えば、プロセッサとしての中央演算装置(CPU)、記憶媒体としての読み出し専用メモリ(ROM)およびランダムアクセスメモリ(RAM)、入出力インタフェース(I/Oインタフェース)等がバスを介して接続されて構成される情報処理装置である。また、コントローラ1が備えるROMには、前述の各機能部がそれぞれに有する各機能を実行するためのプログラム(制御プログラム)が格納されている。すなわち、コントローラ1は、記憶媒体に格納された各種プログラムを実行することによって、タスク登録部11等の各機能部の機能を実現するように構成される。なお、コントローラ1を構成するプロセッサおよび記憶媒体として上述した構成は例示であって、これらに加えて、或いは代えて、GPU、フラッシュメモリ、ハードディスク、ストレージ等を含んでもよい。また、上述の各機能部の機能は、必ずしもコントローラ1のみによって実現される必要はなく、機能部毎に適宜選択された複数のコントローラがそれぞれ、或いは協調することによって実現されるように構成されてもよい。コントローラ1の各機能部の機能について、以下説明する。
【0040】
タスク登録部11は、モバイルマニピュレータ100が実行すべきタスクを登録する。後述するように、本実施形態のモバイルマニピュレータ100は、異なる作業領域を自律的に行き来することができるとともに、それぞれの作業領域で異なるタスクを実行可能に構成される。よって、本実施形態のタスク登録部11は、モバイルマニピュレータ100が実行すべきタスクの内容を、タスクの実行場所等と関連付けて登録する。すなわち、タスク登録部11によれば、例えば作業領域Aにて所定部品をピックする、所定部品の組み立てを作業領域Bで行う等、具体的なタスクの内容とそれを実行する場所とが登録される。また、タスクの内容は、例示したような生産的な作業だけでなく、モバイルマニピュレータ100に備わるバッテリを充電する、所定領域を清掃する等の非生産的な作業が含まれてもよい。また、タスク登録部11は、これらのタスクの優先順位、実行頻度、及びタスクの実行条件等をさらに関連付けて登録してもよい。ここでの優先順位とは、登録される複数種類のタスクの実行順に関連する優先度であってよく、実行頻度とは、例えば所定タスクを実行する時間間隔等であってよく、実行条件とは、例えば所定部品が100個以上搬送されたら当該部品の組み立てを開始する等のタスクの実行可否に関する条件等であってよい。なお、上述したタスクの内容等は例示であって、モバイルマニピュレータ100が運用される現場の要求に応じて適宜変更されてよい。
【0041】
作業状況認識部12は、後述の観測手段4による観測結果に基づいて作業領域の作業状況を認識する。ここでの作業領域とは、モバイルマニピュレータ100がタスクを実行する領域だけでなく、モバイルマニピュレータ100が実行するタスクに関連する作業が行われている作業領域を含んでもよい。作業状況とは、主に作業の進捗である。作業状況認識部12が認識する作業状況の詳細については後述する。
【0042】
なお、観測手段4は、イメージセンサ等であってよい。観測手段4の詳細は、
図2を参照して後述する。
【0043】
計画部13は、登録されたタスクに基づいて、作業領域におけるタスクの実行タイミングと、観測手段4を用いた作業状況の観測(観測タスク)を実行する観測タイミングとを含む動作スケジュールを策定する。換言すれば、計画部13は、登録されたタスクを効率的に遂行するために、当該タスクをどこで、どのような順番で、どのタイミングで実行するか、並びに、どの作業領域の作業状況をどのタイミングで観測するか、を計画する。なお、本実施形態では、モバイルマニピュレータ100が複数の作業領域を移動しながら複数種類のタスクを実行することが想定されるので、計画される動作スケジュールには、作業領域間の移動時間が考慮されるのが望ましい。
【0044】
また、計画部13は、登録されたタスクと、さらに作業状況認識部12により認識された少なくとも一以上の作業領域の作業状況とに基づいて、策定された動作スケジュールを再計画する。すなわち、計画部13は、登録されたタスクの内容(及びこれに関連する情報)にのみ基づいて動作スケジュールを策定するだけでなく、認識した作業状況に基づいて、より効率よくタスクを遂行できるように動作スケジュールを適宜変更するように構成される。これにより、計画部13は、トラブルや急な割り込み作業の発生等に起因する遅延や作業の前倒し等によって生じる動作スケジュールに対する作業進捗の変化を認識した際に、リアルタイムに動作スケジュールを変更、修正することが可能となる。計画部13が策定する動作スケジュールの詳細については
図6、
図8等を参照して後述する。なお、以下では、動作スケジュールに対する作業進捗の変化を総称して、「遅延等」とも称する。
【0045】
動作制御部14は、計画部13により生成された動作スケジュールに従ってモバイルマニピュレータ100を動作させるために、動作機構駆動手段を制御する。ここでの動作機構駆動手段には、少なくともモバイルマニピュレータ100を移動させるための移動機構駆動手段2が含まれる。また、その他の動作機構駆動手段として、登録されたタスクや観測タスクを実行する際に必要な駆動手段、例えば、観測手段4が備わる頭部を駆動する頭部駆動手段3や、腕部40等のタスク実行手段を動かすための不図示のモータ、或いはアクチュエータ等が含まれてよい。移動に関する具体例として、動作制御部14は、動作スケジュールに従ってタスクを実行するための移動経路を計画する処理(パスプランニング)を実行するとともに、計画した経路に沿ってモバイルマニピュレータ100を移動させるために移動機構駆動手段2を制御する。なお、動作制御部14が実行する自律移動に関する具体的な制御手法は特に制限されず、既存のモバイルマニピュレータ等の自律移動体に用いられる公知の手法が適宜採用されてよい。
【0046】
図2は、モバイルマニピュレータ100の外観斜視図である。同図から明らかな通り、本実施形態のモバイルマニピュレータ100は、略人型の形状を有しており、ロボット本体部10と、ロボット本体部10を支持する移動台車20と、ロボット本体部10の上端に設けられた頭部30と、ロボット本体部10の前面から延びる腕部40とから構成されている。
【0047】
ロボット本体部10を支持する移動台車20は、モバイルマニピュレータ100が置かれた面(床面)の上を移動する機能を有する全方位移動台車である。全方位移動台車とは、駆動輪として例えば複数のオムニホイールを備え、全方向に移動することができるように構成された台車である。全方位移動台車は、全方位台車、全方向移動台車、または全方向台車と称されてもよい。また、全方位移動台車は、360度の全方向への移動が可能であり狭い通路等でも自在に移動できる。本実施形態の移動台車20は、図示するように、外観に表されるスカート21の内側に、三つの駆動輪22と、駆動輪22をベルト等を介して駆動するための移動機構駆動手段2とから構成されてよい。なお本実施形態の移動機構駆動手段2は一または複数のモータから構成されるものとする。
【0048】
頭部30は、略人型のモバイルマニピュレータ100において、人の頭(首より上の部分)に相当する構成としてロボット本体部10の上端に設けられてよい。頭部30は、人が見た際にその正面を顔として認識できるように構成されている。頭部30は、正面が向く方向を制御可能に構成される。具体的には、本実施形態のモバイルマニピュレータ100は、一又は複数の頭部駆動手段3(アクチュエータ3)を備え、頭部駆動手段3を介して頭部を動かすことによりその正面の向きを制御できるように構成される。なお、以下では、頭部30の正面を顔部31と称する。
【0049】
顔部31の上部には観測手段4としての頭部カメラ4aが備えられている。この頭部カメラ4aによれば、その配置により、後述する手先カメラ4bに比べてより広い視野で撮像を行うことができる。なお、頭部カメラ4aによる撮像方向は、頭部駆動手段3により頭部を駆動することによって制御することができる。
【0050】
本実施形態のモバイルマニピュレータ100は、頭部30を床面に対して水平方向(左右方向)に回転させる鉛直方向の回転軸を有し頭部30の左右方向への回転駆動を可能とする頭部駆動手段3(サーボモータ3a)を有する。これにより、モバイルマニピュレータ100は、頭部30のみを鉛直方向に対して左右へ回転駆動させることができる。ただし、サーボモータ3aの配置は、図示する配置に制限されず、顔部31の向きを左右方向に動かすことができる限り適宜変更されてよい。例えば、サーボモータ3aは、ロボット本体部10を移動台車20に対して左右へ回転駆動させるように設けられてもよい。この場合、サーボモータ3aは、頭部30をロボット本体部10とともに垂直方向に対して左右へ回転駆動させることにより顔部31の向きを変えることができる。
【0051】
また、モバイルマニピュレータ100は、頭部30を床面に対して上下方向に駆動させる水平方向の回転軸を有し頭部30の上下を仰ぎ見る動作を可能とする頭部駆動手段3(サーボモータ3b)を有してもよい。これにより、モバイルマニピュレータ100は、頭部カメラ4aによる撮像方向を上下方向にも動かすことができる。
【0052】
移動台車20の前面上縁部の突部内には、環境認識手段32が設けられている。本実施形態において、環境認識手段32は、レーザー光を用いて対象物までの距離や方向を計測するライダー(LiDAR:Light Detection And Ranging)ユニットである。ただし、環境認識手段32は、ライダーユニットに限定されず他の種々のセンサ等を採用することができる。例えば、撮像素子を設けて画像処理により環境認識を行ってもよいし、レーダーやマイクロフォンアレイ等を用いてもよい。なお、
図2には示していないが、環境認識部32から得られた環境情報は、モバイルマニピュレータ100の自律移動を実現するためにコントローラ1により取得され、動作制御部14へと提供される。
【0053】
モバイルマニピュレータ100はロボット本体部10の前面に腕部40を備える。腕部40は、マニピュレータ機構を備え、運搬する物品等を把持するための把持機構41、本実施形態においてはグリッパが自由端に相当する先端に設けられている。また、腕部40は、登録されたタスクを実行するための動作機構駆動手段として機能する不図示のサーボモータやアクチュエータ等を備える。また、把持機構41の付け根付近には単眼の手先カメラ4bが設けられている。この手先カメラ4bにより把持機構41と対向する把持対象物等を正面から撮像することができる。手先カメラ4bは、頭部カメラ4aと同様に、観測タスクを実行するための観測手段4として機能することができる。
【0054】
なお、腕部40の形状、数、および配置は図示する態様に制限されず目的に応じて適宜変更されてよい。例えば、モバイルマニピュレータ100は、ロボット本体部10の両側面に腕部40を備える双腕ロボットとして構成されてもよい。
【0055】
また、モバイルマニピュレータ100は、生成した動作スケジュールを表示するための不図示の表示手段を備えてもよい。表示手段は、公知の液晶ディスプレイであってよい。また、表示手段は、タスクを登録する際の入力手段としても機能するタッチパネル等で構成されてもよい。この場合には、コントローラ1は、生成した動作スケジュールや、タスクの登録に関するユーザーインターフェイスを表示手段に表示するための機能部(表示部)をさらに有していてもよい。
【0056】
以上が、本実施形態のモバイルマニピュレータ100の構成例である。なお、
図2では省略されているが、モバイルマニピュレータ100は、モバイルマニピュレータ100の動作を制御するのに必要となる他の構成、例えば、電力源となるバッテリや、外部装置との間の通信を行う通信ユニット等を備えてもよい。また、特に観測手段4の種類、数、配置は、上述した構成に限らず、モバイルマニピュレータ100が導入される現場の状況や作業内容等に応じて適宜追加、変更等されてよい。
【0057】
次に、
図3から
図8を参照して、モバイルマニピュレータ100の動作について説明する。
【0058】
図3は、モバイルマニピュレータ100の動作に関するゼネラルフローチャートである。コントローラ1が備える記憶媒体には、図示のフローチャートを参照して以下に説明する処理を実行する制御プログラムが格納されている。
【0059】
同図から明らかなように、処理が開始すると、コントローラ1(タスク登録部11)は、モバイルマニピュレータ100が実行すべきタスクと当該タスクに関連付けられる種々の情報とを登録する(S11)。これら登録される情報は、モバイルマニピュレータ100に備わるタッチパネル等の不図示のユーザインターフェースを介して管理者が入力することにより取得されてもよいし、タブレット型コンピュータや後述のサーバ400等の他の情報処理装置から無線通信を介して取得されてもよい。なお、ここでの種々の情報とは、上述したようなタスクの実行場所を少なくとも含み、それ以外にも、タスクの実行頻度、実行条件、優先順位等を含んでもよい。ただし、これらの種々の情報は管理者によりタスクと同時に入力される必要は必ずしもなく、入力されたタスクの内容から推定される実行場所等の情報が自動的に登録されるように構成されてもよい。例えば、入力されたタスクの内容が所定部品Aのピックだった場合には、コントローラ1が所定部品Aが置かれている場所の情報を取得して、当該タスクの内容と関連付けて自動的に登録するように構成されてよい。なお、ここでの管理者は、モバイルマニピュレータ100を管理あるいは運用する主体が想定されるが、特に制限されない。ただし、管理者と作業者の権限を明確に区別する必要性や、セキュリティ等の観点から、タスクを登録できる人間を制限するように構成されてもよい。
【0060】
タスクが登録されると、コントローラ1(計画部13)は、登録されたタスクに基づいてモバイルマニピュレータ100の動作スケジュールを生成する(S12)。生成される動作スケジュールについて、
図4および
図5を参照して説明する。
【0061】
図4は、本実施形態のモバイルマニピュレータ100が運用される作業領域(作業エリア)の例を説明する図である。モバイルマニピュレータ100は、互いに離れた場所にある作業領域A~Cを図中の点線両矢印が示すような経路で行き来しながら、それぞれの場所に応じたタスクを実行する。すなわち、本実施形態のモバイルマニピュレータ100は、複数作業領域でのマルチタスクが要求される現場で運用され、生成した動作スケジュールに沿って作業領域間を自律的に移動しながら、登録されたタスクを順次遂行するように構成される。
【0062】
図5は、スケジュール生成処理(S12)で生成された動作スケジュールの一例を示す図である。横軸は作業開始時刻t0からの時間の経過を示し、縦軸は上から順に、作業領域A、C、およびBの時間の経過に対する動作スケジュールを示す。「人作業」と記載された白抜きのタブは人による作業時間を示す。A1~A4、B1~B3、およびC1と書かれた斜線のタブはモバイルマニピュレータ100が実行すべきタスクの作業時間(タスクの実行タイミング)を示す。濃いグレイのタブは、モバイルマニピュレータ100が観測手段4を用いて作業状況を観測する時間(観測タイミング)を示す。図中の点線矢印は、作業領域間のモバイルマニピュレータ100の移動を示す矢印であり、点線矢印の起点がある作業領域から、矢印が指し示す作業領域にモバイルマニピュレータ100が移動することを示す。なお、
図5の作業領域A~Cは、
図4で示す作業領域A~Cに対応する。なお、
図5では示されていないが、モバイルマニピュレータ100によるタスクと人作業とが同一の作業領域内で同時並行的に実行されてもよい。
【0063】
図5に示すように、本実施形態の計画部13が生成する動作スケジュールは、登録されたタスクの実行タイミングと観測タイミングと人作業とを含む。なお、ここ(S12)で生成される動作スケジュールは、原則として各タスクと人作業とが滞りなく、順次効率よく遂行されることを目的として調整された理想的なスケジュールであってよい。
【0064】
なお、登録されたタスクの実行タイミングを策定するに際して、登録されたタスクの実行可能性が評価されてもよい。例えば、所定部品の搬送に係るタスクが登録されたとしても、当該所定部品が現場に到着していない、或いは、当該所定部品を置く場所が確保できない、等の事情によって当該タスクの実行可能性が著しく低い場合などは、当該タスクを動作スケジュールに組み込む優先度を下げるなどしてよい。すなわち、コントローラ1は、一機能部として、登録されたタスクの実行可能性を評価する実行可能性評価部をさらに備えてもよく、この場合、計画部13は、評価されたタスクの実行可能性にさらに基づいて、動作スケジュールを生成するように構成されてよい。
【0065】
また、策定される観測タイミングは、あらかじめ定めた一定の時間間隔で複数回設定されてもよいし、作業の性質(例えば、遅延等が発生しやすい作業か否か等)、モバイルマニピュレータ100の移動距離或いは移動効率、各タスクに対する観測タスクの優先度等を考慮して適宜調整して設定されてよい。また、観測タスクは、観測する作業領域に移動するための移動時間と観測タスクの実行時間とにかかる非生産的な時間を要するデメリットがある一方で、観測頻度を高めれば高めるほど遅延等を早期に認識できるメリットがある。よって、計画部13は、観測タスクのこのようなメリット・デメリットのバランスを考慮したうえで、より効率的に全てのタスクが遂行できる動作スケジュールを策定するのが望ましい。動作スケジュールが策定されると(S12)、モバイルマニピュレータ100は、策定した動作スケジュールに沿って各タスクを遂行する動作制御処理を実行する(S13)。動作制御処理の詳細については
図6を参照して説明する。
【0066】
図6は、本実施形態の動作制御処理の詳細フローチャートである。処理が開始されると、モバイルマニピュレータ100は、策定した動作スケジュール(
図5参照)に従って、時刻t0にタスクA1を開始し、タスクA1を完了させると作業領域Bに移動して、タスクB1を実行する。この時、モバイルマニピュレータ100によるタスクB1の実行と並行して、作業領域A、Cでは人作業が行われている。ここで、例えば
図7に示すように、作業領域Cでの人作業に遅延が発生したとする。この場合、従来であれば、作業領域Cで発生した遅延の影響が関連する他の作業にも波及し、動作スケジュール全体にロスや遅延が発生してしまう。
【0067】
図7は、従来において、
図5で示す動作スケジュールの遂行中に時刻t1にて遅延が発生した場合に当該遅延の影響が全体スケジュールに波及する様を可視化した図である。図から明らかなとおり、
図7の動作スケジュールには観測タスクは含まれていない。この場合、モバイルマニピュレータ100は、タスクB2の終了後(時刻t2)、移動先の作業領域CにてすぐにタスクC1を実行できるはずであったが(
図5参照)、時刻t1で発生した遅延によって人作業が終了していないため、当該人作業が終了するまで待つ必要がある。そうすると、モバイルマニピュレータ100は、時刻t2から人作業が終了する時刻t3までの間タスクを実行することができず、待機しなければならない。その後、タスクC1を開始することになるが、タスクC1の実行中に作業領域Aでの人作業が終了するため、当該人作業の終了後、タスクC1完了後にモバイルマニピュレータ100が作業領域Aに到着するまでの間、作業領域Aの工程に空白(ロス)が発生してしまう。さらに、ここでのロスは、タスクA3の終了時間の遅れや、タスクB3の開始時間の遅れに波及し、結果として全体のスケジュールの大幅な遅れにつながってしまう。
【0068】
そこで、本実施形態のモバイルマニピュレータ100は、観測タスクによって作業状況を観測し、作業の遅延を認識した場合には、発生した遅延の影響が全体のスケジュールに波及することを抑制するために動作スケジュールを変更する。以下、本実施形態の動作制御処理について
図6のフローチャートを参照して説明する。
【0069】
モバイルマニピュレータ100は、スケジュール生成処理(S12)にて計画された観測タイミングで観測タスクを実行すると(S131YES)、作業状況認識処理を実行する(S132)。
【0070】
作業状況認識処理(S132)では、コントローラ1(作業状況認識部12)は、観測手段4による観測結果に基づいて作業領域の作業状況を認識する。本実施形態では、頭部カメラ4a及び手先カメラ4bの少なくともいずれか一方が撮影した映像から作業状況の進捗が認識される。作業状況認識部12は、作業状況の進捗を、例えば、部品や完成品の個数等の物の数や、物の位置等に基づいて認識してもよいし、電光掲示板やホワイトボード等に作業進捗が表示或いは記入される場合には、当該電光掲示板等の表示内容から認識してもよい。また、作業領域における人の配置や行動(予め定めたジェスチャー等も含む)等から認識するように構成されてもよい。作業状況認識部12が観測手段4による観測結果から作業状況を認識する具体的な手法については特に制限されず、作業の内容やモバイルマニピュレータ100が運用される現場の状況等に応じて適宜選択されてよい。
【0071】
なお、作業状況認識部12は、必ずしも一台のモバイルマニピュレータ100が備える観測手段4の観測結果だけに基づいて作業状況を認識する必要はない。例えば、作業領域に設置され、設置された作業領域の作業状況を観測するための一又は複数の観測手段4(カメラ4c)をさらに備える場合には(
図4参照)、モバイルマニピュレータ100は、カメラ4cの観測結果を受信するように構成されてよい。すなわち、モバイルマニピュレータ100は、作業領域に設置され、当該作業領域の作業状況を観測する設置用観測手段としてのカメラ4cをさらに備えるとともに、作業状況認識部12は、頭部カメラ4a等による観測結果とカメラ4cによる観測結果とに基づいて、少なくとも一以上の作業領域の作業状況を認識するように構成されてよい。なお、カメラ4cの具体的な構成は特に制限されず、イメージセンサを備えた一般的な固定カメラ等が採用されてよい。
【0072】
また、モバイルマニピュレータ100は、同じ現場(作業領域A~Cのいずれか)で運用される他の一又は複数のモバイルマニピュレータ100が備える観測手段4の観測結果を受信するように構成されてよい。すなわち、モバイルマニピュレータ100は、他のモバイルマニピュレータ100に備わる観測手段4による観測結果を取得する観測結果取得部をさらに備え、作業状況認識部12は、観測手段4による観測結果と、他のモバイルマニピュレータ100に備わる観測手段4による観測結果とに基づいて、少なくとも一以上の作業領域の作業状況を認識するように構成されてよい。なお、観測結果取得部は、コントローラ1の一機能部として構成されてよい。
【0073】
このように、異なる場所にある複数の観測手段4による観測結果を取得することにより、移動時間を要さずに、複数の作業領域にわたるより広い現場の作業状況を認識することが可能となる。
【0074】
そして、コントローラ1は、認識した作業状況から動作スケジュールの変更が必要と判断した場合には(S133YES)、再計画処理を実行する(S134)。一方、動作スケジュールの変更を要する程の遅延等が認識されない場合には(S133NO)、モバイルマニピュレータ100は、引き続き策定された動作スケジュールに沿って動作制御処理を実行する。なお、動作スケジュールの変更が必要か否かは、作業の遅延又は前倒し等が発生しているか否かから判断されてよいし、更に、発生した遅延等が許容できる程度か否かから判断されてよい。ここで許容できる遅延等の程度は、例えば2分程度の遅延又は前倒しであれば許容するなど、現場の状況等に応じて適宜設定されてよい。
【0075】
再計画処理(S134)では、コントローラ1(計画部13)は、登録されたタスクと認識された作業状況とに基づいて、各作業領域におけるタスクの実行タイミングと観測タイミングとを含む動作スケジュールを再計画する。換言すれば、計画部13は、登録されたタスクと認識された作業状況とに基づいて、策定された動作スケジュールを変更する。ここで変更された動作スケジュールについて、
図8を参照して説明する。
【0076】
図8は、再計画処理にて生成される動作スケジュールの一例を説明する図である。まず、モバイルマニピュレータ100は、スケジュール生成処理(
図3、S12)で生成した動作スケジュールに従って動作制御処理を遂行し、タスクA2完了後の観測タスクを実行した結果、作業領域Cでの遅延を認識する(S132)。そして、認識した遅延が許容できないと判断された場合には(S133YES)、コントローラ1(計画部13)は、遅延を認識した時点以降の動作スケジュールを再計画(リスケジュール)する(S134)。
【0077】
図8が示すように、再計画した動作スケジュールによれば、タスクB2の完了後(時刻t2)、作業領域Cではなく作業領域Aに直行し、タスクA3を実行する。すなわち本例における再計画処理(S134)では、作業領域Cで発生した人作業の遅延によりタスクC1の開始可能時間が遅れると判断したうえで、作業領域Aの人作業にタスクA3を割り込ませる(時刻t2から時刻t3)。これにより、従来であれば遅延した人作業が終了するまでの無駄な待機時間(
図7両矢印参照)を有効に活用して、タスクA3を完了させることができる。そして、タスクA3の完了後にタスクC1の実行タイミングが設定される時刻t3)、さらにタスクC1の完了後に作業領域BでのタスクB3を計画することによって、時刻t2での遅延が波及することで生じる可能性のあったタスクB3前のロス(
図7参照)を解消することができる。なお、観測タスクで認識された進捗変化が作業の前倒しであった場合には、人作業を含む各タスクが前倒しするように動作スケジュールが変更されてよいし、前倒しにより空いた時間(余裕時間)を利用して観測タスクを増やしたり、清掃や充電等の非生産的なタスクを追加的に実行するように変更されてもよい。
このように、本実施形態のモバイルマニピュレータ100は、登録されたタスクと認識された作業状況とに基づいて、各作業領域におけるタスクの実行タイミングを変更することにより、認識した遅延等の影響が他の作業領域にも波及することを抑制し、複数領域に係る工程全体の作業効率が低下することを回避することができる。ただし、
図8で示すようような変更が可能なのは、少なくともタスクA3が作業領域Aの人作業に割り込み可能であることが前提である。すなわち、計画部13は、動作スケジュールを変更する際に、各作業領域における人作業に各タスクが割り込み実行可能かどうかを判断したうえで、各タスクの実行順を調整する。なお、割り込み実行が可能か否かは、タスク登録処理(S11)において登録された各タスクの優先度等から判断されてよいし、人作業が遂行中の各作業領域の作業状況をリアルタイムで認識して、認識した作業状況に基づいて判断するように構成されてもよい。
【0078】
また、
図8が示すように、計画部13は、再計画処理(S134)において、登録されたタスクと認識された作業状況とに基づいて観測タイミングを再計画してもよい。本例では、図示するとおり時刻t4にて作業領域Cを観測するように観測タスクが再計画されている。観測タイミングは、スケジュール生成処理(S12)にて上述したように例えば1時間後などの一定の時間間隔や、各タスクに対する観測タスクの優先度等を考慮して設定されてもよいし、より詳細な観測条件に基づいて設定されてもよい。再計画処理によって観測タスクが計画されることによって、再計画処理(S134)後においても任意の作業領域の作業進捗を把握することができるので、再計画処理後の動作スケジュールにさらなる遅延等が発生した場合でも、当該遅延等に対応して、動作スケジュールを都度変更することができる。なお、より詳細な観測条件に基づいて観測タイミングを決定する具体的な手法については、第2実施形態において後述する。
【0079】
再計画処理により新たな動作スケジュールが生成されると、スケジュール生成処理(S12)、又は、過去に実行された再計画処理(S134)にて生成された動作スケジュールが更新される(S135)。動作制御部14は、更新された動作スケジュールに従って、登録された全タスクが終了するまで動作制御処理を引き続き実行する(S136)。
【0080】
以上が本実施形態のモバイルマニピュレータ100が実行する動作制御処理の詳細である。ただし、
図3及び
図6で示すフローチャートは本実施形態の動作制御処理を説明するための例示であって、必ずしも図示するとおりに実行されることを制限するものではなく、上述の技術的効果を奏する限り適宜変更されてもよい。例えば、図示するようにタスク登録処理(S11)は動作制御処理(S13)の前段で行われ、スケジュールを変更するか否かを判断する処理(S133)は、観測タスクの実行後(S131YES)に行われる必要は必ずしもない。例えば、動作制御処理(S13)の実行中に追加のタスク(割り込みタスク)が登録されてもよく、この場合には、当該割り込みタスクの実行タイミングを加えた新たな動作スケジュールを計画する再計画処理(S134)が、当該割り込みタスクが登録された直後に実行されてもよい。
【0081】
また、
図3及び
図6を参照して上述した再計画処理等を含む全ての処理は、必ずしもモバイルマニピュレータ100に備わるコントローラ1が全て実行する必要はなく、例えば、
図9に示すようなシステム300により実現されてもよい。
【0082】
図9は、モバイルマニピュレータ100を制御するシステム300の全体構成図である。図示するように、システム300は、モバイルマニピュレータ100、及びサーバ400が無線LAN或いはインターネット回線を介して相互に情報通信可能に接続されることにより構成されている。なお、同図においては三台のモバイルマニピュレータ100が記載されているが、一、二又は四台以上のモバイルマニピュレータ100が接続されてもよい。また、モバイルマニピュレータ100同士が互いに無線通信可能に接続されてもよい。
【0083】
サーバ400は、情報処理装置から成り、モバイルマニピュレータ100からの要求に応じて各種情報の提供を行う。サーバ400は、各種プログラムを実行するCPU等から成る制御部、実行されるプログラムや各種のデータを記憶するROM、RAM又はフラッシュメモリ等から成る記憶部、モバイルマニピュレータ100等の外部装置との間の通信を行う通信ユニット、等を備え、それらがバスを介して互いに接続されて構成されている。なお、サーバ400は、いわゆる物理サーバとしてモバイルマニピュレータ100が運用される現場等に載置されてもよいし、いわゆる仮想サーバとしてインターネットのクラウド上に設けられてもよい。
【0084】
システム300では、サーバ400が一又は複数のモバイルマニピュレータ100を統括する上位系の管理システムとして構成されてもよい。この場合、例えばサーバ400がタスク登録部11と計画部13とを備え、生成した動作スケジュールをモバイルマニピュレータ100に送信するように構成されてもよい。そして、モバイルマニピュレータ100はサーバ400から送信された動作スケジュールを受信してコントローラ1の記憶媒体に記憶するとともに、記憶した動作スケジュールに従って動作制御処理(S13)を実行するように構成されてもよい。さらに、動作制御処理の実行中においてモバイルマニピュレータ100が認識した作業状況はサーバ400に送信され、サーバ400の計画部13において、
図6を用いて上述したのと同様の再計画処理(S134)が実行されてもよい。すなわち、
図3及び
図6に示すフローチャートを用いて説明した各処理は、必ずしもコントローラ1が全て実行する必要はなく、コントローラ1とサーバ400とが適宜必要な情報を互いに送受信しながら協調することにより実現されてもよい。
【0085】
以上が第1実施形態の自律移動体(モバイルマニピュレータ)100,およびシステム300の詳細である。上述したように、本実施形態のモバイルマニピュレータ100によれば、登録されたタスクと、複数の作業領域を移動する自律移動体に備わる観測手段により認識された作業状況とに基づいて動作スケジュールが変更(再計画)されるので、複数の作業領域のうちのいずれかの作業領域において遅延等が発生した場合でも、当該遅延等に対処した動作スケジュールに都度変更することができる。この時、認識した作業遅延等の影響が他の作業領域にも波及することを回避するような動作スケジュールに変更することで(
図8参照)、当該遅延等により現場全体の作業効率が低下することを抑制することができる。
【0086】
[第2実施形態]
以下、第2実施形態の自律移動体(モバイルマニピュレータ)200について説明する。
【0087】
図10は、第2実施形態のモバイルマニピュレータ200の概略構成図である。図示するとおり、本実施形態のモバイルマニピュレータ200は、コントローラ1が、さらに観測条件設定部121と実行結果取得部122とを有する点が第1実施形態と主に相違する。また、
図10に示されるように、本実施形態のコントローラ1は、さらに実行タイミング予測部123と実行結果評価部124とを有してもよい。以下、
図11~
図13を参照して、本実施形態の動作制御処理(S13)における観測条件設定部121等の機能について説明する。なお、
図6を参照して上述した動作制御処理(S131~S136)と同様の処理については同じ符号を付して説明を省略する。
【0088】
図11は、第2実施形態に係る動作制御処理の詳細フローチャートである。策定された動作スケジュールの遂行中において、モバイルマニピュレータ100が観測タスクを除くいずれかのタスクを実行した場合には(S131NO、S232YES)、コントローラ1(実行結果取得部122)は、タスクの実行結果を取得する(S233)。ここでの実行結果とは、モバイルマニピュレータ200が実行したタスクの進捗である。
図8を参照すれば、実行結果取得部122は、例えばタスクA2の実行中、又は終了時点で、タスクA2の作業進捗を実行結果として取得する。例えばタスクA2の内容が所定部品の搬送であれば、実行結果取得部122は、搬送した所定部品の個数をタスクA2の実行結果として取得することによって、タスクA2の進捗を把握することができる。なお、実行結果は、観測手段4の観測結果に基づいて取得されてよい。このように、実行結果取得部122は、動作スケジュールに組み込まれた各タスクの実行毎に、各タスクの実行結果を取得するように構成されてよい。なお、取得した実行結果はコントローラ1の記憶媒体に記憶されてよい。
【0089】
観測条件設定処理(S234)では、コントローラ1(観測条件設定部121)は、再計画処理(S134)において観測タスクの観測タイミングを決定する条件(観測条件)を設定する。より詳細には、観測条件設定部121は、認識した作業状況(S132)と策定された動作スケジュールとに基づいて、又は、認識した作業状況及び策定された動作スケジュールと取得した実行結果(S233)とに基づいて、観測条件を設定する。
【0090】
認識した作業状況に基づいて観測条件を設定する場合には、観測条件設定部121は、主に遅延等の発生状況に応じて観測条件を設定する。ここでの観測条件には、次に作業状況の観測を行うまでの時間(時間間隔)や、タスクに対する観測タスクの優先順位等が含まれてよい。これらの観測条件は、認識された遅延等の時間の長さや遅延等の発生頻度に応じて設定されてよい。例えば、ある作業領域の遅延等の時間が長いほど、或いは遅延等の発生頻度が高いほど、当該作業領域における観測タスクの時間間隔がより短く、観測タスクの優先順位がより高く設定されてよい。
【0091】
なお、観測条件設定部121は、少なくとも2以上の異なる時間に認識された作業状況に基づいて観測条件を設定するのが望ましい。作業状況を2以上の異なる時間に認識することにより、作業進捗の時系列変化を把握することができるので、作業状況の時系列変化に応じたより適切な観測条件を設定することが可能となる。
【0092】
取得した実行結果にさらに基づいて観測条件を設定する場合には、観測条件設定部121は、取得したタスクの実行結果をさらに考慮し、タスクの作業進捗に応じた観測条件を設定する。例えば、ある作業領域におけるタスクの作業進捗が計画よりも進んでいる場合には、当該作業領域における観測タスクの時間間隔がより長く、観測タスクの優先順位がより低く設定されてよい。
【0093】
このように、本実施形態のモバイルマニピュレータ200は、人作業の進捗と、実行したタスクの作業進捗とに基づいて、観測タスクの適切な観測タイミングを決定するための観測条件を設定する(S234)。これにより、設定された観測条件に基づいて現場の作業進捗に応じた観測タイミングが設定される。その結果、コントローラ1(計画部13)は、遅延等が発生する可能性が高い作業領域を観測する頻度を高めるとともに、遅延等が発生する可能性の低い作業領域を観測する頻度を低く設定することができるので、全体スケジュールをより効率的に遂行できる適切な観測タイミングを計画することができる(S134)。
【0094】
また、
図12に示すように、本実施形態の動作制御処理では、観測条件設定処理(S234)の前段にて実行タイミング予測処理(S235)がさらに実行されてもよい。
【0095】
実行タイミング予測処理(S235)では、コントローラ1(実行タイミング予測部123)は、取得した実行結果(S233)に基づいて、又は、実行結果を2以上の異なる時間に取得した場合には当該実行結果の時系列データに基づいて、次にタスクを実行可能なタイミングを予測する。具体例として、例えばタスクA1が部品Pをピックして所定場所に置く作業であり、タスクA2が100個の部品Pが梱包された箱を搬送する作業であった場合について説明する。この場合、実行タイミング予測部123は、タスクA1の作業進捗(部品Aがピックされた個数)、又は当該作業進捗の時系列データに基づいて、将来的に100個の部品Pが集まるタイミング、すなわちタスクA2(100個の部品Pが梱包された箱の搬送)を実行することができるタイミングを予測することができる。このようにして、実行タイミング予測処理(S235)では、既に実行されたタスクの進捗結果に基づいて、当該タスクに関連するタスクを実行可能なタイミングが予測される。
【0096】
そして、観測条件設定部121は、S235にて予測されたタスクの実行タイミングをさらに考慮して観測条件を設定してもよい(S234)。具体的には、観測条件設定部121は、例えば、予測した実行タイミングの前後2分以内に観測タスクを実行するような観測条件を設定してもよい。これにより、観測条件設定部121は、予測される将来の実行タイミングを基準として、その前後に観測タイミングを計画することができるので、例えばあるタスクが実行される前、又は実行された後の作業状況を認識したい場合に、より精度の高い観測タイミングを計画できる観測条件を設定することが可能となる。また、観測条件設定部121は、例えば、予測したタスクが実行される場所への移動時間を考慮して観測条件を設定してもよい。これにより、観測条件設定部121は、タスクを実行するついでにその場、或いは近くの作業領域を観測する等、作業領域間の移動時間が考慮されたより効率的な観測タイミングを設定することが可能となる。
【0097】
また、計画部13は、タスクの実行タイミングの予測結果(S132)に基づいて、より精度の高い動作スケジュールに変更することができる(S134)。
【0098】
このように、本実施形態のモバイルマニピュレータ200は、将来のタスクの実行タイミングを予測することによって(S235)、観測タスクの適切な実行タイミングを決定するための観測条件を設定することができるとともに(S234)、予測したタスクと、当該タスクに関連するタスクの動作スケジュールをより精度よく再計画することができる(S134)。
【0099】
また、
図13に示すように、本実施形態の動作制御処理では、観測条件設定処理(S234)の前段にて実行結果評価処理(S236)がさらに実行されてもよい。
【0100】
実行結果評価処理(S234)では、コントローラ1(実行結果評価部124)は、予測したタスクの実行タイミング(S235)と、予測したタスクの実行結果(S233)とに基づいて、実行タイミング予測処理(S235)の予測精度を評価する。換言すれば、実行結果評価部124は、予測したタスクの実行タイミングと、当該タスクを実際に実行したタイミングとを比較して、実行タイミング予測部123の予測誤差を算出する。
【0101】
そして、観測条件設定部121は、評価された実行タイミング予測部123による予測精度をさらに考慮して観測条件を設定してもよい(S234)。例えば、予測誤差が大きいほど、当該タスクに関連する作業が動作スケジュールどおりに遂行できない可能性が高いので、当該タスクに関連する作業状況を観測する観測タイミングの時間間隔をより短く、実行頻度をより高く設定してよい。このように、観測条件設定部121は、実行結果評価処理(S234)により評価された実行タイミング予測部123の予測精度をさらに考慮して観測条件を設定することにより、将来のタスクの実行タイミングがずれる可能性も考慮して、より適切な観測タイミングを計画することができる(S134)。
【0102】
また、計画部13は、予測されたタスクの実行タイミング(S132)と、当該予測の予測精度に基づいて、より精度の高い動作スケジュールに変更することができる(S134)。なお、予測誤差が予め定められた所定時間より大きい場合には、現状の動作スケジュールどおりにタスクを遂行することは困難である可能性が高いので、スケジュール変更が必要と判断して(S133YES)、観測タスクの実行有無に関わらずに再計画処理(S134)が実行されてよい。
【0103】
以上が第2実施形態にて実行される動作制御処理の詳細である。ただし、
図3及び
図6で示すフローチャートは本実施形態の動作制御処理を説明するための例示であって、必ずしも図示するとおりに実行されることを制限するものではなく、上述の技術的効果を奏する限り適宜変更されてもよい。また、第1実施形態と同様に、一又は複数のモバイルマニピュレータ200とサーバ400とによるシステム300を構成することも可能である。その場合には、例えば、サーバ400が実行タイミング予測部123と実行結果評価部124とを備え、
図11から
図13に示すフローチャートを用いて説明した各処理は、コントローラ1とサーバ400とが適宜必要な情報を互いに送受信しながら協調することにより実現されてもよい。
【0104】
なお、観測条件設定部121は、例えば深層学習(Deep Neural Network)等の機械学習手法を適用して機械学習させることによって生成された識別機(学習済みモデル)を用いて、より効率的な観測タイミングを決定可能な観測条件を設定できるように構成されてもよい。機械学習の具体例としては、強化学習(Reinforcement Learning)が採用されてよい。ここでの強化学習は、例えば、予測誤差(例えば策定した動作スケジュールと実際に実行された動作との誤差)が小さくなる観測条件であるほど高い報酬が得られるように設定されてよい。このような学習を経た識別機によれば、例えば観測タスクを含む各タスクの優先度を報酬がより高くなるように設定するので、予測誤差の小さい、より効率的な観測タイミングを決定可能な観測条件を設定することが可能となる。
【0105】
以上が第2実施形態のモバイルマニピュレータ200の詳細である。本実施形態のモバイルマニピュレータ200によれば、認識された作業状況に基づいて適切な観測タイミングを決定するための観測条件が設定されるので、動作スケジュールの遂行中に遅延等が発生した場合でも、当該遅延等をより適切なタイミングで観測することができる。
【0106】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【0107】
例えば、
図2で示すモバイルマニピュレータ100の構成は一例であって、図示する態様に制限されない。モバイルマニピュレータ100、200は、観測手段4を備え、少なくとも一つの任意のタスクを実行可能であって、さらに、複数の作業領域間を移動可能に構成される限り適宜変更されてよい。
【産業上の利用可能性】
【0108】
本発明は、少なくとも自律移動体等を製造する産業において利用可能である。
【符号の説明】
【0109】
1 コントローラ
4 観測手段
4c カメラ(設置用観測手段)
11 タスク登録部
12 作業状況認識部(認識部)
13 計画部
14 動作制御部
40 腕部
100 自律移動体
121 観測条件設定部
122 実行結果取得部
123 実行タイミング予測部(タイミング予測部)
124 実行結果評価部
200 自律移動体
300 システム
400 サーバ