(57)【要約】【課題】自装置の動作情報に関するエラーを早期に検出することが可能な作業装置を提供すること。【解決手段】本発明は、作業装置１０の動作部１４を動作させるための複数の動作情報を記憶する記憶部１１と、現在実行中の動作が複数の動作情報のうちのいずれに基づいた動作であるかを検出する検出部１２と、検出した動作の動作情報が記憶された記憶部１１内の記憶領域１１ａを優先して診断する診断部１３と、を備える作業装置１０である。【選択図】図１
2019109841.tif 000002
【特許請求の範囲】
【請求項１】
自装置の動作部を動作させるための複数の動作情報を記憶する記憶部と、
現在実行中の動作が前記複数の動作情報のうちのいずれに基づいた動作であるかを検出する検出部と、
前記検出した動作の動作情報が記憶された前記記憶部内の記憶領域を優先して診断する診断部と、
を備える作業装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、作業装置に関するものであり、特に、自装置の動作情報に関するエラーを早期に検出することが可能な作業装置に関する。
【背景技術】
【０００２】
ＲＯＭ(Read Only Memory)等の記憶部に記憶された動作情報（制御コード）に基づいて動作するＲＯＭ診断装置が知られている。このようなＲＯＭ診断装置においては、ＲＯＭに記憶されたコードの内、ＯＳ(Operating System)等に関わるものを、それ以外よりも優先度を高めて診断する。
【０００３】
特許文献１には、ＲＯＭ診断を冗長化し、互いに相手を監視できるような構成とすることで、一方のＲＯＭ診断プログラムが故障しても他方のＲＯＭ診断プログラムがその故障を検出でき、ＲＯＭ診断の信頼性を向上させることが開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−０９１８３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＲＯＭ診断装置（作業装置）においては、ＯＳ等に関わる制御コードが記憶された領域が、優先して診断されるべきＲＯＭ領域とは限らない。特に、自立移動ロボット等のような複数の動作を実行する機能を有する作業装置においては、動作の実行状況に合わせて、より早期にエラーを検出するようにメモリ診断を行う必要がある。
【０００６】
また、ロボットのＲＯＭには、ロボットの動作を制御するための制御コードやパラメータが記憶されている。ロボットは、安全性を保障する機能の１つとして、ＲＯＭが故障して意図しない制御が行われないかをチェックするためのＲＯＭチェック機能を有する。ＲＯＭチェック機能として、例えばチェックサムやＣＲＣ(Cyclic Redundancy Check)チェック等が挙げられる。人と共生するヒューマノイド型ロボットは、人との距離が近いので、故障時に人にぶつからないようにするため、ロボットの故障をより早く検出する必要がある。しかしながら、ロボットは、複雑なタスクを実行するための制御コードの数が多く、ＲＯＭの全ての領域を高速でＲＯＭチェックし、早期にエラーを検出することは難しいという問題があった。
【０００７】
本発明は、このような問題を解決するためになされたものであり、自装置の動作情報に関するエラーを早期に検出することが可能な作業装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、
自装置の動作部を動作させるための複数の動作情報を記憶する記憶部と、
現在実行中の動作が前記複数の動作情報のうちのいずれに基づいた動作であるかを検出する検出部と、
前記検出した動作の動作情報が記憶された前記記憶部内の記憶領域を優先して診断する診断部と、
を備える作業装置である。
このような、作業装置によれば、現在実行中の動作の動作情報が記憶された記憶領域を優先して診断するので、自装置の動作情報に関するエラーを早期に検出することができる。
【発明の効果】
【０００９】
本発明によれば、自装置の動作情報に関するエラーを早期に検出することが可能な作業装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１に係る作業装置を例示するブロック図である。
【図２】実施の形態１に係る作業装置の状態とタスクとの関係を例示する状態遷移図である。
【図３】実施の形態１に係る作業装置のタスクと記憶部との関係を例示する図である。
【図４】実施の形態１に係るロボットを例示する模式図である。
【図５】実施の形態１に係るロボットの状態とタスクとの関係を例示する状態遷移図である。
【図６】実施の形態１に係るロボットのタスクと記憶部との関係を例示する図である。
【図７】実施の形態１に係るロボットのタスクと記憶部との関係を例示する図である。
【図８】実施の形態１に係るロボットのチェック処理を例示するフローチャートである。
【図９Ａ】実施の形態２に係るロボットのタスクと記憶部との関係を例示する図である。
【図９Ｂ】実施の形態２に係るロボットのタスクと記憶部との関係を例示する図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して本発明の実施形態について説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明を省略する。
【００１２】
［実施の形態１］
実施の形態１に係る作業装置の構成について説明する。
図１は、実施の形態１に係る作業装置を例示するブロック図である。
【００１３】
図１に示すように、実施の形態１に係る作業装置１０は、記憶部１１と検出部１２と診断部１３と動作部１４とを備える。作業装置１０は、作業装置１０の動作情報が記憶されている記憶部１１の記憶領域１１ａの診断を行うことで、作業装置１０の動作を診断する。
【００１４】
記憶部１１は、作業装置１０の動作部１４を動作させるための複数の動作情報を記憶する。動作情報は、作業装置１０が実行するタスクＴａに関する情報であり、タスクＴａを実行するための制御コードやパラメータである。
【００１５】
実施の形態１の説明においては、説明を簡単にするため、動作情報を制御コードとして説明する。
【００１６】
作業装置１０の１つの例は、ロボットである。動作部１４は、例えば、ロボットのハンド（腕）や車輪（足）等の部分であり、記憶部１１に記憶された動作情報（制御コード）に基づいて動作する。
【００１７】
検出部１２は、現在実行中の動作が複数の動作情報のうちのいずれに基づいた動作であるかを検出する。
【００１８】
診断部１３は、検出した動作の動作情報が記憶された記憶部１１内の記憶領域１１ａを特定する。また、診断部１３は、特定した記憶領域１１ａを優先して診断する。具体的には、診断部１３は、特定した記憶領域１１ａに記憶された動作情報に対して所定の演算を行い、該演算結果と、記憶部１１の記憶領域１１ｂに予め記憶された該動作情報に対応する正解データと、を比較することで、作業装置１０の動作を診断する。
【００１９】
実施の形態１に係る作業装置の動作について説明する。
図２は、実施の形態１に係る作業装置の状態とタスクとの関係を例示する状態遷移図である。
図３は、実施の形態１に係る作業装置のタスクと記憶部との関係を例示する図である。
【００２０】
図２に示すように、作業装置１０は、少なくとも１つ以上の状態Ｓｔを有し、各状態に応じたタスクＴａを少なくとも１つ以上有する。作業装置１０の状態Ｓｔは、各状態において実行すべきタスクＴａを有する。タスクを実行タスクと称することもある。
【００２１】
作業装置１０は、例えば、状態Ｓｔ１と状態Ｓｔ２と状態Ｓｔ３と状態Ｓｔ４とを有する。状態Ｓｔ１は、実行すべきタスクＴａとしてタスクＴａ１を有する。状態Ｓｔ２はタスクＴａ１とタスクＴａ２とを有し、状態Ｓｔ３はタスクＴａ１とタスクＴａ３とを有し、状態Ｓｔ４はタスクＴａ３を有する。
【００２２】
状態Ｓｔ１と状態Ｓｔ２とは、相互に状態Ｓｔを遷移することができる。状態Ｓｔ１と状態Ｓｔ３とは、相互に状態Ｓｔを遷移することができる。状態Ｓｔ１と状態Ｓｔ４とは、相互に状態Ｓｔを遷移することができる。状態Ｓｔ２と状態Ｓｔ３とは、相互に状態Ｓｔを遷移することができる。
【００２３】
一方、状態Ｓｔ２と状態Ｓｔ４とは、相互に状態Ｓｔを遷移することができない。状態Ｓｔ３と状態Ｓｔ４とは、相互に状態Ｓｔを遷移することができない。
【００２４】
図３に示すように、記憶部１１は、制御コード領域Ｃｄと正解データ領域Ｄｔとを有する。記憶部１１は、例えばＲＯＭである。制御コード領域Ｃｄは記憶部１１の記憶領域１１ａであり、正解データ領域Ｄｔは記憶部１１の記憶領域１１ｂである。
【００２５】
制御コード領域Ｃｄには、作業装置１０が実行するタスクＴａに関する情報であって、タスクＴａを実行するための制御コードが記憶される。
【００２６】
具体的には、タスクＴａ１を実行するための制御コードは制御コード領域Ｃｄ１に記憶され、タスクＴａ２を実行するための制御コードは制御コード領域Ｃｄ２に記憶される。タスクＴａ３を実行するための制御コードは制御コード領域Ｃｄ３に記憶され、タスクＴａ４を実行するための制御コードは制御コード領域Ｃｄ４に記憶される。
【００２７】
作業装置１０は、状態Ｓｔにおいて、制御コードを使用して該当するタスクＴａを実行する。
【００２８】
正解データ領域Ｄｔには、タスクＴａに対応する正解データが予め記憶される。すなわち、正解データ領域Ｄｔには、制御コードに対して所定の演算を行った結果が正解データとして予め記憶される。
【００２９】
具体的には、タスクＴａ１に対応する正解データは、正解データ領域Ｄｔ１に記憶される。タスクＴａ２に対応する正解データは、正解データ領域Ｄｔ２に記憶される。タスクＴａ３に対応する正解データは、正解データ領域Ｄｔ３に記憶される。タスクＴａ４に対応する正解データは、正解データ領域Ｄｔ４に記憶される。
【００３０】
尚、制御コード領域Ｃｄ１と制御コード領域Ｃｄ２と制御コード領域Ｃｄ３と制御コード領域Ｃｄ４とをまとめて、制御コード領域Ｃｄと称する。正解データ領域Ｄｔ１と正解データ領域Ｄｔ２と正解データ領域Ｄｔ３と正解データ領域Ｄｔ４とをまとめて、正解データ領域Ｄｔと称する。
【００３１】
作業装置１０の診断部１３は、制御コードに対して所定の演算を行い、対応する正解データと演算結果とを比較する。比較することを、チェックを行うと称することもある。作業装置１０は、正解データと演算結果とが一致した場合、タスクＴａが正常と判断し、一致しない場合、タスクＴａが異常と判断する。
【００３２】
作業装置１０は、作業装置１０の状態ＳｔとタスクＴａとの関係に基づいて、状態Ｓｔに対応するタスクＴａを実行するための制御コードが記憶された記憶領域のみをチェックする。
【００３３】
具体的には、図２に示すように、作業装置１０が状態Ｓｔ１の場合、状態Ｓｔ１に対応するタスクＴａ１を実行するための制御コードが記憶された制御コード領域Ｃｄ１についてチェックする。そして、状態Ｓｔ１から状態Ｓｔ２に変化した場合、チェック対象をタスクＴａ１を実行するための制御コードが記憶された制御コード領域Ｃｄ１とタスクＴａ２を実行するための制御コードが記憶された制御コード領域Ｃｄ２に変更する。
【００３４】
作業装置１０の動作の詳細について説明する。説明をより具体的にするため、作業装置１０の１つとして、物を掴む作業を行うロボット４０を例に挙げて説明する。
【００３５】
図４は、実施の形態１に係るロボットを例示する模式図である。
【００３６】
図４に示すように、ロボット４０は、車輪４１とハンド４２とを有する。車輪４１は、ロボット４０を移動させるためのものであり、ハンド４２は、物を把持するためのものである。ロボット４０は、物の近くまで移動し、物を掴み（把持し）、別の場所まで移動し、物を放すことができる。ロボット４０は、物を持ち運びすることができる。物は、例えばコップと卵である。
【００３７】
図５は、実施の形態１に係るロボットの状態とタスクとの関係を例示する状態遷移図である。
【００３８】
図５に示すように、ロボット４０は、例えば５つの状態Ｓｔを有し、各状態に応じたタスクＴａを有する。
【００３９】
ロボット４０は、待機状態である状態Ｓｔ１と移動状態である状態Ｓｔ２とコップを掴む状態である状態Ｓｔ３と卵を掴む状態である状態Ｓｔ４と掴んだ物を放す状態である状態Ｓｔ５とを有する。状態Ｓｔ１は、実行すべきタスクＴａとしてタスクＴａ１を有する。また、状態Ｓｔ２はタスクＴａ１とタスクＴａ２とタスクＴａ３とを有し、状態Ｓｔ３はタスクＴａ１とタスクＴａ２とタスクＴａ４とを有する。また、状態Ｓｔ４はタスクＴａ１とタスクＴａ２とタスクＴａ５とを有し、状態Ｓｔ５はタスクＴａ１とタスクＴａ２とタスクＴａ６とを有する。
【００４０】
状態Ｓｔ１から状態Ｓｔ２に遷移することができる。状態Ｓｔ２から状態Ｓｔ３、状態Ｓｔ４又は状態Ｓｔ５のいずれか１つに遷移することができる。状態Ｓｔ３、状態Ｓｔ４又は状態Ｓｔ５から状態Ｓｔ１に遷移することができる。
【００４１】
ロボット４０は、所定の周期で、状態Ｓｔが、状態Ｓｔ１から状態Ｓｔ５のうちのいずれかにいるかを取得し、取得した結果を、例えばＲＡＭ(Random Access Memory)に記憶する。
【００４２】
図６は、実施の形態１に係るロボットのタスクと記憶部との関係を例示する図である。
図７は、実施の形態１に係るロボットのタスクと記憶部との関係を例示する図である。
【００４３】
図６に示すように、ロボット４０のタスクＴａを実行するための制御コードを記憶部１１の制御コード領域Ｃｄに記憶する。また、タスクＴａに対応する正解データを記憶部１１の正解データ領域Ｄｔに記憶する。ここでは、正解データとして、例えばＣＲＣデータを記憶する。
【００４４】
図７に示すように、ロボット４０のタスクＴａ１は、ロボット４０を動作させるＯＳ処理である。タスクＴａ２は、ロボット４０を動作（移動）させるモータを制御させるモータ制御である。
【００４５】
タスクＴａ３は、移動先への車輪目標値算出である。タスクＴａ３は、例えばロボット４０の現在の位置から移動先の物（コップ又は卵）までの距離に基づいて、移動に必要な車輪４１の回転数を算出することである。
【００４６】
タスクＴａ４は、目標物であるコップを掴むためのハンド４２の起動を生成するコップ用ハンド軌道生成である。タスクＴａ５は、目標物である卵を掴むためのハンド４２の起動を生成する卵用ハンド軌道生成である。コップを掴むときのハンド４２の軌跡と卵を掴むときのハンド４２の軌跡とは異なり、それぞれ別々の軌跡（軌道）で物を掴む。タスクＴａ６は、掴んでいた目標物を放すためのハンド４２の起動を生成する放す用ハンド軌道生成である。
【００４７】
タスクＴａ１を実行するための制御コードは、記憶部１１の制御コード領域Ｃｄ１に記憶される。制御コード領域Ｃｄ１の開始アドレスは、０ｘ００００であり、終了アドレスは、０ｘ１２３４である。すなわち、タスクＴａ１を実行するための制御コードは、記憶部１１のアドレス０ｘ００００からアドレス０ｘ１２３４に記憶される。
【００４８】
タスクＴａ２を実行するための制御コードは、記憶部１１のアドレス０ｘ２０００からアドレス０ｘ３ＦＦＦに記憶される。タスクＴａ３を実行するための制御コードは、記憶部１１のアドレス０ｘ４０００からアドレス０ｘ４５６７に記憶される。
【００４９】
タスクＴａ４を実行するための制御コードは、記憶部１１のアドレス０ｘ５０００からアドレス０ｘ５Ｆ００に記憶される。タスクＴａ５を実行するための制御コードは、記憶部１１のアドレス０ｘ６０００からアドレス０ｘ６Ｆ００に記憶される。タスクＴａ６を実行するための制御コードは、記憶部１１のアドレス０ｘ７０００からアドレス０ｘ７Ｆ００に記憶される。
【００５０】
正解データ領域Ｄｔは、記憶部１１のアドレス０ｘＡ０００からアドレス０ｘＡＦＦＦまでである。正解データ領域Ｄｔには、タスクＴａを実行するための制御コードに対するＣＲＣデータが正解データとして記憶される。すなわち、制御コードに対してＣＲＣ演算を行った結果であるＣＲＣデータが正解データとして記憶される。
【００５１】
例えば、記憶部１１のアドレス０ｘＡ０００には、アドレス０ｘ００００から０ｘ１２３４までに記憶された制御コードに対してＣＲＣ演算を行った結果（ＣＲＣデータ）が正解データとして記憶される。
【００５２】
図８は、実施の形態１に係るロボットのチェック処理を例示するフローチャートである。
【００５３】
図８に示すように、ロボット４０は、ロボット４０の状態Ｓｔを取得する（ステップＳ１０１）。ロボット４０は、所定の周期で、状態Ｓｔが、状態Ｓｔ１から状態Ｓｔ５のうちのどれにいるかを取得する。ステップＳ１０１の状態は、図５に示す待機状態（状態Ｓｔ１）に相当する。
【００５４】
ステップＳ１０１において、ロボット４０は、ロボット４０の現在の状態を別の記憶部に記憶する。別の記憶部は、タスクＴａに関する情報と正解データとが記憶される記憶部１１とは別の記憶部であり、例えばＲＡＭである。また、ロボット４０は、ロボット４０の前回の状態も別の記憶部に記憶する。さらに、ロボット４０は、記憶領域の前回のチェックにおいて、チェックが中断されたときのアドレス（中断アドレス）も別の記憶部に記憶する。
【００５５】
ステップＳ１０１の後、ロボット４０は、ロボットの前回の状態と現在の状態とを比較し、ロボット４０の状態Ｓｔが前回から変化したか否かを検出する（ステップＳ１０２）。例えば、ロボット４０が目標物（コップ又は卵）に向って移動したか否かを検出する。ステップＳ１０２の状態は、図５に示す移動状態（状態Ｓｔ２）に相当する。
【００５６】
ロボット４０は、状態Ｓｔが前回から変化した場合（ステップＳ１０２：Ｙｅｓ）、変化後の状態Ｓｔ（新しい状態）に対するタスクＴａを実行するための制御コードが記憶された記憶領域のチェックを開始する（ステップＳ１０３）。
【００５７】
具体的には、変化後の状態Ｓｔに応じたタスクＴａに該当する記憶領域の開始アドレスからチェックを開始する。例えば、変化後の状態Ｓｔが“状態Ｓｔ２であって対応するタスクＴａ１とタスクＴａ２とタスクＴａ３とを有する場合、タスクＴａ１の開始アドレスである０ｘ００００からチェックを開始する。
【００５８】
ロボット４０は、状態Ｓｔに応じたタスクＴａを実行するための制御コードに対して所定の演算を行う。所定の演算は、例えばＣＲＣ演算である。
【００５９】
具体的には、ロボット４０は、タスクＴａを実行するための制御コードに対応するＣＲＣデータであって、記憶部１１の正解データ領域Ｄｔに予め記憶されたＣＲＣデータを取得する。一方、ロボット４０は、ＣＲＣ演算により得られたＣＲＣデータ（演算ＣＲＣデータと称する）と、正解データ領域Ｄｔから取得したＣＲＣデータ（取得ＣＲＣデータと称する）と、を比較する。ロボット４０は、取得ＣＲＣデータと演算ＣＲＣデータとが一致した場合、タスクＴａが正常と判断する。ロボット４０は、取得ＣＲＣデータと演算ＣＲＣデータとが一致しない場合、タスクＴａが異常と判断する。ロボット４０は、このようにしてタスクＴａを診断（チェック）する。
【００６０】
尚、チェックの方法は、ＣＲＣ演算を使用する方法に限定されない。チェックの方法は、チェックサム、パリティチェック、又は、２重化した制御コードを正解データとして使用してもよい。また、ロボットに要求される記憶部チェックの精度に応じて、適切なチェック方法を適宜選択するようにしてもよい。
【００６１】
ロボット４０は、前回のチェックにおいて状態Ｓｔが変化した場合、今までの記憶領域のチェックを中断して、新しい状態Ｓｔに対する記憶領域のチェックを行う。このとき、ロボット４０は、中断時の中断アドレスを別の記憶部（ＲＡＭ）に記憶する。
【００６２】
ロボット４０は、状態Ｓｔが前回から変化しない場合（ステップＳ１０２：Ｎｏ）、前回のチェックにおいてチェックが中断された中断アドレスからチェックを継続する（ステップＳ１０４）。
【００６３】
すなわち、ロボット４０は、別の記憶部（ＲＡＭ）に記憶された前回のチェックの中断時の中断アドレスからチェックの続きを開始する。例えば、状態Ｓｔが“状態Ｓｔ２であって対応するタスクＴａ１とタスクＴａ２とタスクＴａ３とを有する状態”から変化していない場合、ＲＡＭに記憶された中断アドレスからチェックを開始する。
【００６４】
そして、タスクＴａ１を実行するための制御コードが記憶された記憶領域の終了アドレスである０ｘ１２３４に到達したら、タスクＴａ２を実行するための制御コードが記憶された記憶領域のチェックを行う。タスクＴａ２を実行するための制御コードが記憶された記憶領域のチェックが終了したら、タスクＴａ３を実行するための制御コードが記憶された記憶領域のチェックを行う。タスクＴａ３を実行するための制御コードが記憶された記憶領域の終了アドレスである０ｘ４５６７に到達したら、タスクＴａ１の開始アドレスである０ｘ００００に戻り、そこから再度、チェックを行う。
【００６５】
ロボット４０は、ロボット４０の現在の状態と、チェックが中断されたときの中断アドレスを別の記憶部に記憶する（ステップＳ１０５）。また、ステップＳ１０５において、ロボット４０は、状態Ｓｔを、ロボット４０の現在の状態に更新する。すなわち、ロボット４０は、別の記憶部（ＲＡＭ）に記憶されたロボットの前回の状態を、ロボットの現在の状態に上書きする。
【００６６】
実施の形態１においては、現在実行中の動作が複数の動作情報のうちのいずれに基づいた動作であるかを検出し、検出した動作情報が記憶された記憶領域を優先して診断する。すなわち、現在の状態Ｓｔを取得し、状態Ｓｔに対するタスクＴａを実行するための制御コードが記憶された記憶領域のチェックを行う。これにより、現在実行中の動作に関する動作情報が記憶された記憶領域を優先してチェックするので、早期にエラーを検出することができる。
【００６７】
その結果、自装置の動作情報に関するエラーを早期に検出することが可能な作業装置を提供することができる。
【００６８】
また、実施の形態１は、作業装置（ロボット）の状態に応じて必要な記憶領域のみをチェックするので、記憶部の全領域をチェックする方法と比べて、チェック時間を短縮することができる。
【００６９】
また、実施の形態１は、状態が変化する度に、チェックすべき記憶領域を、変化後の状態に対応する記憶領域に変更するので、チェック速度を維持すると共に記憶部全体のチェックを行うことができる。実施の形態１は、重要度が低いタスクに対応する記憶領域もチェックするので、重要度に応じてチェックの精度を変更し高速化する方法と比べて、チェックの精度を高くすることができる。
【００７０】
［実施の形態２］
図９Ａは、実施の形態２に係るロボットのタスクと記憶部との関係を例示する図である。
図９Ｂは、実施の形態２に係るロボットのタスクと記憶部との関係を例示する図である。
【００７１】
実施の形態２は、実施の形態１と比べて、記憶部１１における制御コード領域Ｃｄと正解データ領域Ｄｔの配置が異なる。
【００７２】
図９Ａに示すように、正解データ領域Ｄｔを、制御コード領域Ｃｄと隣接して配置する。例えば、正解データ領域Ｄｔの開始アドレスを、制御コード領域Ｃｄの開始アドレスから０ｘ００Ｆ０だけオフセットさせた位置とする。すなわち、１つの制御コードの後ろに、該制御コードに対応する正解データを配置する。また、例えば、アドレスのＭＳＢ(Most Significant Bit)側に制御コード領域Ｃｄを配置し、アドレスのＬＳＢ(Least Significant Bit)側に正解データ領域Ｄｔを配置してもよい。
【００７３】
また、図９Ｂに示すように、正解データ領域Ｄｔを二重化する場合、第２の正解データ領域の開始アドレスを、制御コード領域Ｃｄの開始アドレスから０ｘ０６００だけオフセットさせた位置としてもよい。第１の正解データ領域は、実施の形態１と同じ位置なので省略している。
【００７４】
また、本発明は上記実施形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００７５】
１０…作業装置  １１…記憶部  １１ａ、１１ｂ…記憶領域  １２…検出部  １３…診断部  １４…動作部  ４０…ロボット  ４１…車輪  ４２…ハンド  Ｃｄ、Ｃｄ１、Ｃｄ２、Ｃｄ３、Ｃｄ４…制御コード領域  Ｄｔ、Ｄｔ１、Ｄｔ２、Ｄｔ３、Ｄｔ４…正解データ領域  Ｓｔ、Ｓｔ１、Ｓｔ２、Ｓｔ３、Ｓｔ４、Ｓｔ５…状態  Ｔａ、Ｔａ１、Ｔａ２、Ｔａ３、Ｔａ４、Ｔａ５、Ｔａ６…タスク
【図１】
2019109841.tif 000003
【図２】
2019109841.tif 000004
【図３】
2019109841.tif 000005
【図４】
2019109841.tif 000006
【図５】
2019109841.tif 000007
【図６】
2019109841.tif 000008
【図７】
2019109841.tif 000009
【図８】
2019109841.tif 000010
【図９Ａ】
2019109841.tif 000011
【図９Ｂ】
2019109841.tif 000012