(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023003606
(43)【公開日】2023-01-17
(54)【発明の名称】自走式ロボット用プログラム
(51)【国際特許分類】
G05D 1/02 20200101AFI20230110BHJP
【FI】
G05D1/02 H
【審査請求】未請求
【請求項の数】2
【出願形態】OL
(21)【出願番号】P 2021104778
(22)【出願日】2021-06-24
(71)【出願人】
【識別番号】000191353
【氏名又は名称】新明工業株式会社
(74)【代理人】
【識別番号】110000394
【氏名又は名称】弁理士法人岡田国際特許事務所
(72)【発明者】
【氏名】吉塚 卓穂
(72)【発明者】
【氏名】鳥居 亮
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301BB11
5H301CC03
5H301CC06
5H301CC10
5H301GG06
5H301GG08
5H301LL06
5H301LL08
5H301LL11
5H301LL14
(57)【要約】
【課題】弁別困難な障害物を回避する機能を、自走式ロボットに実現させる。
【解決手段】自走式ロボット用プログラムによれば、自走式ロボットは、その進行方向を把握する機能を実現させる。また、自走式ロボットは、その走行ユニットの出力トルクを経時的に把握する機能を実現させる。また、自走式ロボットは、障害物の有無を弁別して把握する機能を実現させる。また、自走式ロボットは、上記出力トルクが大であるか否かを判定する機能を実現させる。また、自走式ロボットは、後述する第1の条件と第2の条件とがしきい値時間以上の時間継続して満たされている場合に、上記進行方向を180[°]回転した方向に再プログラミングする機能を実現させる。ここで、第1の条件は、把握される障害物が存在しないという条件である。また、第2の条件は、出力トルクが大である旨の判定結果が出されているという条件である。
【選択図】
図2
【特許請求の範囲】
【請求項1】
再プログラミング可能に設定された進行方向に向かっての走行を実現させる走行ユニットと、前記走行の進行方向にある障害物を感知するセンサーとを備えた自走式ロボットに適用される自走式ロボット用プログラムであって、
前記自走式ロボットに、
前記進行方向を把握する進行方向把握機能と、
前記走行ユニットの出力トルクを経時的に把握する出力トルク把握機能と、
前記障害物の有無を弁別して把握する障害物把握機能と、
前記出力トルク把握機能により把握される前記出力トルクが、所定の基準に照らして大であるか否かを判定する判定機能と、
前記障害物把握機能により把握される前記障害物が存在しないという第1の条件、および、
前記出力トルクが前記基準に照らして大である旨の判定結果が前記判定機能により出されているという第2の条件、
の両条件が、しきい値時間以上の時間継続して満たされている場合に、前記進行方向を当該進行方向に対して180[°]回転した方向に再プログラミングする第1の再プログラミング機能と、
を実現させる、自走式ロボット用プログラム。
【請求項2】
請求項1に記載された自走式ロボット用プログラムであって、
前記自走式ロボットに、
前記第1の再プログラミング機能が実現される際に、当該第1の再プログラミング機能によって再プログラミングされる直前の前記進行方向を旧進行方向として記憶する旧進行方向記憶機能と、
前記第1の再プログラミング機能によって再プログラミングされた前記進行方向に向けての、前記走行の進行量を把握する進行量把握機能と、
前記進行量が所定のしきい値量に照らして大となった場合に、前記進行方向を前記旧進行方向に対して180[°]よりも小さい角度だけ回転した方向に再プログラミングする第2の再プログラミング機能と、
を実現させる、自走式ロボット用プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、自走式ロボット用プログラムに関する。
【背景技術】
【0002】
従来、自ら走行経路の環境を把握しながら目的地に向かって走行する自走式ロボットが知られている。このような自走式ロボットにおいては、センサーにより障害物を感知し、その感知結果に基づいて走行の制御を行う自走式ロボット用プログラムを適用する技術が公知であった(例えば下記の特許文献1を参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記公知の技術では、センサーの分解能よりも粗いグリッドセルが複数集まった塊の形で障害物を抽出した障害物マップを作成し、この障害物マップを参照して自走式ロボットの走行を制御する。このため、上記公知の技術では、センサーによる弁別が困難な小さいサイズの障害物によって自走式ロボットの走行が阻害されることに対して対処することができなかった。
【0005】
本開示は、自走式ロボットの走行に際し、センサーによる弁別が困難な障害物に対処してこの障害物を回避する機能を、自走式ロボットに実現させることを可能とするものである。
【課題を解決するための手段】
【0006】
本開示における1つの特徴によると、走行ユニットと、センサーとを備えた自走式ロボットに適用される自走式ロボット用プログラムが適用される。ここで、走行ユニットは、再プログラミング可能に設定された進行方向に向かっての走行を実現させるものである。また、センサーは、上記走行の進行方向にある障害物を感知するものである。また、自走式ロボット用プログラムは、自走式ロボットに、後述する進行方向把握機能と、出力トルク把握機能と、障害物把握機能と、判定機能と、第1の再プログラミング機能と、を実現させる。ここで、進行方向把握機能は、上記進行方向を把握する機能である。また、出力トルク把握機能は、走行ユニットの出力トルクを経時的に把握する機能である。また、障害物把握機能は、上記障害物の有無を弁別して把握する機能である。また、判定機能は、出力トルク把握機能により把握される出力トルクが、所定の基準に照らして大であるか否かを判定する機能である。また、第1の再プログラミング機能は、後述する第1の条件、および、第2の条件、の両条件が、しきい値時間以上の時間継続して満たされている場合に、上記進行方向をこの進行方向に対して180[°]回転した方向に再プログラミングする機能である。ここで、第1の条件は、障害物把握機能により把握される上記障害物が存在しないという条件である。また、第2の条件は、上記出力トルクが上記基準に照らして大である旨の判定結果が判定機能により出されているという条件である。
【0007】
上記の自走式ロボット用プログラムによれば、自走式ロボットは、その走行の進行方向に弁別された障害物がないにもかかわらず走行ユニットの出力トルクが大である状態が継続している場合に、これをセンサーによる弁別が困難な障害物によるものとみなして引き下がる。これにより、センサーによる弁別が困難な障害物に対処してこの障害物を回避する機能を、自走式ロボットに実現させることができる。
【発明の効果】
【0008】
本開示によれば、センサーによる弁別が困難な障害物に対処してこの障害物を回避する機能を、自走式ロボットに実現させることができる。
【図面の簡単な説明】
【0009】
【
図1】本開示の一実施形態にかかる自走式ロボット用プログラムが適用される自走式ロボット10を表した正面図である。
【
図2】本開示の一実施形態にかかる自走式ロボット用プログラムにより実行される一連のステップを表したフローチャートである。
【発明を実施するための形態】
【0010】
上記の自走式ロボット用プログラムは、自走式ロボットに、後述する旧進行方向記憶機能と、進行量把握機能と、第2の再プログラミング機能と、を実現させるものであってもよい。ここで、旧進行方向記憶機能は、第1の再プログラミング機能が実現される際に、この第1の再プログラミング機能によって再プログラミングされる直前の進行方向を旧進行方向として記憶する機能である。また、進行量把握機能は、第1の再プログラミング機能によって再プログラミングされた進行方向に向けての、上記走行の進行量を把握する機能である。また、第2の再プログラミング機能は、進行量が所定のしきい値量に照らして大となった場合に、進行方向を旧進行方向に対して180[°]よりも小さい角度だけ回転した方向に再プログラミングする機能である。
【0011】
上記の自走式ロボット用プログラムによれば、自走式ロボットは、そのセンサーによる弁別が困難な障害物に対処するべく引き下がった後、旧進行方向とは異なる新たな進行方向を設定して、この進行方向に向かって走行を行う。これにより、自走式ロボットは、センサーによる弁別が困難な障害物に対処してこの障害物を回避する機能を実現させながら、この自走式ロボットにおける走行を継続させることができる。
【0012】
続いて、本開示の一実施形態にかかる自走式ロボット用プログラムが適用される自走式ロボット10の構成について、
図1を用いて説明する。この自走式ロボット10は、走行ユニット11を有し、この走行ユニット11により床90の上を自走する自走式ロボットである。本実施形態においては、自走式ロボット10は、その内部にバッテリー(図示省略)を備えて、このバッテリーが供給する電気エネルギーにより、自走式ロボット10が備える各構成を動作させる。また、床90は、その上に種々の大きさの障害物90Aが落ちている可能性のあるものである。
【0013】
走行ユニット11は、2つ1組の駆動輪11Aと、これら駆動輪11Aに1つずつ設けられたモーターアッセンブリ10Aと、1つのキャスター11Bと、を備えている。本実施形態においては、モーターアッセンブリ10Aは、その出力トルクが設定トルクよりも大とならないよう、トルク制限を行う駆動力源であり、正転および逆転のいずれもが可能に構成されている。また、モーターアッセンブリ10Aは、走行ユニット11の駆動輪11Aを、他の駆動輪11Aとは独立に駆動させることができるように構成されている。また、各モーターアッセンブリ10Aは、これらモーターアッセンブリ10Aの外部にあるストレージ12Cにアクセスして正転/逆転/回転停止の指令データを取得し、この指令データに従って駆動の正転/逆転/回転停止を切り替えるように構成されている。また、各モーターアッセンブリ10Aのうちの1つは、その出力トルクの瞬時値を経時的にストレージ12Cに出力するように構成されている。
【0014】
また、自走式ロボット10は、走行ユニット11による自走式ロボット10の自走を制御するコンピューターである制御装置12を備えている。この制御装置12には、ライダー12Aと、衝突センサー12Bと、ストレージ12Cと、時計12Dと、が付設されている。本実施形態においては、制御装置12は、キャスター11Bに対して駆動輪11Aの組が位置される側(
図1では紙面手前側)を「前」、その反対側(
図1では紙面奥側)を「後」と認識する。そして、制御装置12は、自走式ロボット10における走行を、その進行方向を前にした状態で各モーターアッセンブリ10Aを正転させるか、上記進行方向を後にした状態で各モーターアッセンブリ10Aを逆転させるか、のいずれかによって実現させる。ここで、上記進行方向は、制御装置12において再プログラミング可能に設定されるパラメーターである。
【0015】
ライダー12Aは、自走式ロボット10における前側(
図1では紙面手前側)の面に露出して設けられたセンサーである。このライダー12Aは、前方を含む所定角度範囲内のエリアに赤外線を照射しながら、このエリアから返ってくる赤外線を測定してこれを解析する。これにより、ライダー12Aは、上記エリアにおける障害物90Aの分布を感知する。本実施形態においては、ライダー12Aは、その感知結果を経時的に制御装置12に出力するように構成されている。これにより、ライダー12Aは、自走式ロボット10における走行が、その進行方向を前にした状態で実現されているときに、この走行の進行方向にある障害物を感知するセンサーとして機能する。
【0016】
衝突センサー12Bは、自走式ロボット10における走行ユニット11を前側から覆う板状のバンパーを感知要素として備えたセンサーである。ここで、
図1においては、衝突センサー12Bについて、そのバンパー以外の各構成の図示を省略している。
【0017】
衝突センサー12Bは、そのバンパーに衝突する障害物90Aの有無を感知する。本実施形態においては、衝突センサー12Bは、障害物90Aの有無の感知結果を経時的に制御装置12に出力するように構成されている。これにより、衝突センサー12Bは、自走式ロボット10における走行が、その進行方向を前にした状態で実現されているときに、この走行の進行方向にある障害物を感知するセンサーとして機能する。
【0018】
時計12Dは、現在時刻を示すデータを経時的に出力する装置である。本実施形態においては、時計12Dは、制御装置12に内蔵された状態に付設され、現在時刻を示すデータをコンピュータ読み取り可能な形式でストレージ12Cに出力する。
【0019】
ストレージ12Cは、種々のプログラムおよびデータがコンピュータ読み取り可能に記憶された記憶装置である。本実施形態においては、ストレージ12Cは、制御装置12に内蔵された状態に付設されている。
【0020】
ストレージ12Cには、複数のプログラムを互いに独立して動作させる機能を制御装置12に実現させるプログラムであるオペレーティングシステムが、コンピュータ読み取り可能に記憶されている。このオペレーティングシステムは、自走式ロボット10の電源スイッチ(図示省略)がオフの状態からオンの状態になると、制御装置12において自動的に実行される。そして、オペレーティングシステムは、ストレージ12Cにコンピュータ読み取り可能に記憶されたプログラムのうち、前もって設定された所定のプログラムを呼び出して実行する呼び出し処理を、制御装置12に実行させる。また、オペレーティングシステムは、自走式ロボット10の電源スイッチがオンの状態からオフの状態になると、自身を除いた、制御装置12にて実行されているすべてのプログラムを強制終了させる処理を、制御装置12に実行させる。そして、オペレーティングシステムは、自身の終了処理および制御装置12のシャットダウン処理を、制御装置12に実行させる。
【0021】
また、ストレージ12Cには、本開示の一実施形態にかかる自走式ロボット用プログラム(以下、「制御プログラム」とも称する。)が、コンピュータ読み取り可能に記憶されている。この制御プログラムは、オペレーティングシステムまたは後述する衝突回避プログラムの呼び出し処理によって制御装置12にて実行され、この制御装置12を、自走式ロボット10の自走を制御する制御手段として機能させる。
【0022】
また、ストレージ12Cには、衝突センサー12Bによって感知された、自走式ロボット10への障害物90Aの衝突に対応するための衝突対応プログラムが、コンピュータ読み取り可能に記憶されている。この衝突対応プログラムは、上記制御プログラムの呼び出し処理(
図2のステップS80を参照)によって制御装置12にて実行され、上記制御プログラムから自走式ロボット10の自走の制御を引き継ぐ。そして、衝突対応プログラムは、自走式ロボット10の走行のスピードを落として自走式ロボット10を静止させ、しかるのちに自身の終了処理および自走式ロボット10の電源スイッチをオフの状態にする処理を、制御装置12に実行させる。
【0023】
また、ストレージ12Cには、ライダー12Aによって感知された障害物90Aとの衝突を回避するための衝突回避プログラムが、コンピュータ読み取り可能に記憶されている。この衝突回避プログラムは、上記制御プログラムの呼び出し処理(
図2のステップS60を参照)によって制御装置12にて実行され、上記制御プログラムから自走式ロボット10の自走の制御を引き継ぐ。そして、衝突回避プログラムは、走行ユニット11の各駆動輪11Aの回転量を異ならせることによって自走式ロボット10の向きおよび走行の進行方向を変更し、もってライダー12Aによって感知された障害物90Aとの衝突を回避する処理を、制御装置12に実行させる。しかるのちに、衝突回避プログラムは、上記制御プログラムの呼び出し処理を行ってこの制御プログラムに自走式ロボット10の自走の制御を引き継がせ、自身を終了させる処理を、制御装置12に実行させる。
【0024】
また、ストレージ12Cには、自走式ロボット10の制御に必要となる種々のデータが、コンピュータ読み取りおよび書き換えのいずれもが可能な状態に記憶されている。この種々のデータには、各モーターアッセンブリ10Aの正転/逆転/回転停止を切り替えるための指令データが含まれている。また、上記種々のデータには、時計12Dから出力される、現在時刻を示すデータが含まれている。また、上記種々のデータには、各モーターアッセンブリ10Aのトルク制限における設定トルクのデータが含まれている。
【0025】
続いて、上記制御プログラムが、自走式ロボット10の制御装置12に実行させる一連の各ステップについて、
図2に示すフローチャートを用いて説明する。この一連の各ステップにおいて、制御装置12は、まず、
図2のステップS10を実行する。
【0026】
ステップS10において、制御装置12は、後述する各ステップを実行するために必要となる初期設定を行い、その処理をステップS20に進める。
【0027】
ここで、上記初期設定には、上記制御プログラムが上記衝突回避プログラムの呼び出し処理によって実行された場合における、自走式ロボット10の自走の制御を引き継ぐ処理が含まれる。また、上記初期設定には、自走式ロボット10における前を、この自走式ロボット10の走行における進行方向に設定する処理が含まれる。
【0028】
ステップS20において、制御装置12は、現時点で設定されている進行方向を前にした状態を実現させた上で各モーターアッセンブリ10Aを所定の回転角度だけ正転させ、もって自走式ロボット10の走行の実現を図る。そして、制御装置12は、その処理をステップS30に進める。本実施形態においては、ステップS20において、制御装置12は、ストレージ12Cに記憶された指令データの上書き処理によって各モーターアッセンブリ10Aの正転を図る。そして、制御装置12は、上記上書き処理によって実際に自走式ロボット10が走行したか否かによらず、その処理をステップS30に進める。
【0029】
ステップS30において、制御装置12は、ライダー12Aからの出力を取得し、この出力をストレージ12Cに記憶させた上で解析する。これにより、制御装置12は、ライダー12Aが感知している障害物90Aの分布と、これら障害物90Aのうち自走式ロボット10の走行の進行方向にある障害物90Aの有無と、をそれぞれ弁別して把握する。そして、制御装置12は、その処理をステップS40に進める。ここで、ステップS30において、自走式ロボット10の走行の進行方向にある障害物90Aの有無を把握する制御装置12の機能は、本開示における「障害物把握機能」に相当する。
【0030】
ステップS40において、制御装置12は、衝突センサー12Bからの出力を取得し、その取得結果に基づいて衝突センサー12Bが感知している障害物90Aの有無を弁別して把握する。そして、制御装置12は、その処理をステップS50に進める。ここで、ステップS40を実行する制御装置12の機能は、自走式ロボット10の走行の進行方向にある障害物90Aの有無を制御装置12が把握する機能ということができるものであり、本開示における「障害物把握機能」に相当する。
【0031】
ステップS50において、制御装置12は、直近に実行したステップS30の処理結果に基づき、ライダー12Aが自走式ロボット10の走行の進行方向にある障害物90Aを感知したか感知していないかを判定する。この判定の結果が「感知した」である場合、制御装置12は、その処理をステップS60に進める。上記判定の結果が「感知していない」である場合、制御装置12は、その処理をステップS70に進める。
【0032】
ステップS60において、制御装置12は、上述した衝突回避プログラムの呼び出し処理を行い、この衝突回避プログラムに自走式ロボット10の自走の制御を引き継がせる。そして、制御装置12は、制御プログラムの終了処理を実行する。
【0033】
ステップS70において、制御装置12は、直近に実行したステップS90の処理結果に基づき、衝突センサー12Bが自走式ロボット10の走行の進行方向にある障害物90Aを感知したか感知していないかを判定する。この判定の結果が「感知した」である場合、制御装置12は、その処理をステップS80に進める。上記判定の結果が「感知していない」である場合、制御装置12は、その処理をステップS90に進める。
【0034】
ステップS80において、制御装置12は、上述した衝突対応プログラムの呼び出し処理を行い、この衝突対応プログラムに自走式ロボット10の自走の制御を引き継がせる。そして、制御装置12は、制御プログラムの終了処理を実行する。
【0035】
ステップS90において、制御装置12は、各モーターアッセンブリ10Aのうちの1つが、現時点においてストレージ12Cに出力している出力トルクの瞬時値を取得する。そして、制御装置12は、その処理をステップS100に進める。
【0036】
ステップS100において、制御装置12は、直前に実行されたステップS90において取得された出力トルクの値が、ストレージ12Cに記憶された設定トルクのデータに基づいて設定される基準に照らして大であるか否かを判定する判定機能を実現させる。本実施形態においては、制御装置12は、ストレージ12Cに記憶された設定トルクの値そのものを基準とし、出力トルクの値が基準以上である場合に「大」、基準未満である場合に「小」の判定結果を出す。ここで、以下においては、出力トルクが上記基準に照らして大である旨の判定結果が判定機能により出されているという条件のことを、「第2の条件」とも称する。
【0037】
ステップS100において、「大」の判定結果が出された(本実施形態では出力トルクの値が設定トルクの値以上である)場合、制御装置12は、その処理をステップS120に進める。「小」の判定結果が出された(本実施形態では出力トルクの値が設定トルクの値未満である)場合、制御装置12は、その処理をステップS110に進める。
【0038】
ステップS110において、制御装置12は、基準時刻を未定義の状態にし、その処理をステップS20に進める。ここで、基準時刻は、第2の条件が満たされている状態が生起した時刻を示す変数である。
【0039】
ここで、ステップS20に処理を進めた制御装置12は、上記障害物把握機能により把握される障害物90Aが存在しないという条件(以下、「第1の条件」とも称する。)が満たされている限り、その処理をステップS100に進めるものである。したがって、制御装置12は、第1の条件が満たされ、かつ、第2の条件が満たされていない間、ステップS100の処理を繰り返し実行することとなる。これにより、自走式ロボット10の制御装置12においては、モーターアッセンブリ10Aの出力トルクを経時的に把握する出力トルク把握機能が実現される。なお、本実施形態においては、第1の条件は、「ライダー12Aまたは衝突センサー12Bのいずれもが、自走式ロボット10の走行の進行方向にある障害物90Aを感知していない」という条件に言いかえることができるものである。
【0040】
ステップS130において、制御装置12は、時計12Dが、現時点においてストレージ12Cに出力している現在時刻を示すデータを取得する。そして、制御装置12は、その処理をステップS140に進める。
【0041】
ステップS130において、制御装置12は、直前に実行されたステップS130において取得された現在時刻の、基準時刻からの経過時間に基づく条件判断を行い、この条件判断の判断結果によって以降の処理のパターンを分岐させる。すなわち、制御装置12は、上記経過時間がしきい値時間未満である場合、その処理をステップS20に進める。また、制御装置12は、上記経過時間がしきい値時間以上である場合、その処理をステップS150に進める。また、制御装置12は、基準時刻が未定義の状態で上記経過時間を導出することができない場合、その処理をステップS140に進める。なお、ステップS130の判定に用いられるしきい値時間は、上述したステップS10の初期設定にて設定される所定の時間量であり、本実施形態では例えば3[秒]として設定される。
【0042】
ステップS140において、制御装置12は、直近に実行されたステップS130において取得された現在時刻で(すなわち、値が現在時刻と等しくなるように)基準時刻を定義し、その処理をステップS20に進める。
【0043】
ステップS150において、制御装置12は、現時点で設定されている進行方向を旧進行方向としてストレージ12Cに記憶させる。そして、制御装置12は、その処理をステップS160に進める。
【0044】
ステップS160において、制御装置12は、現時点で設定されている進行方向を、この進行方向に対して180[°]回転した方向に再プログラミングする第1の再プログラミング機能を実現させる。そして、制御装置12は、その処理をステップS170に進める。
【0045】
ここで、上述したステップS150によれば、自走式ロボット10は、第1の再プログラミング機能が実現される際に、この第1の再プログラミング機能によって再プログラミングされる直前の進行方向を旧進行方向として記憶する。すなわち、自走式ロボット10の制御装置12が上述したステップS150の処理を実行する機能は、本開示における「旧進行方向記憶機能」に相当する。
【0046】
ステップS170において、制御装置12は、後述するステップS180からステップS190に至る一連の処理を繰り返し実行する。この一連の処理は、第1の再プログラミング機能の実現によって再プログラミングされた進行方向に向けての、自走式ロボット10の走行の進行量が、所定のしきい値量に照らして大となるまでの間繰り返し実行される。ここで、上記しきい値量は、上述したステップS10の初期設定にて、上述したしきい値時間とは別個に設定される所定の距離量であり、本実施形態では例えば10[cm]として設定される。なお、制御装置12は、自走式ロボット10の走行の進行量が上記しきい値量に照らして大となると、ステップS170の繰り返し処理をストップさせて、その処理をステップS200に進める。
【0047】
ステップS180において、制御装置12は、現時点で設定されている進行方向を後にした状態で各モーターアッセンブリ10Aを所定の回転角度だけ逆転させ、もって自走式ロボット10の走行の実現を図る。そして、制御装置12は、その処理をステップS190に進める。本実施形態においては、ステップS180において、制御装置12は、ストレージ12Cに記憶された指令データの上書き処理によって各モーターアッセンブリ10Aの逆転を図る。そして、制御装置12は、上記上書き処理によって実際に自走式ロボット10が走行したか否かによらず、その処理をステップS190に進める。
【0048】
ステップS190において、制御装置12は、第1の再プログラミング機能によって再プログラミングされた進行方向に向けての、自走式ロボット10の走行の進行量を把握する進行量把握機能を実現させる。この進行量把握機能により把握される進行量は、その値が上記しきい値量に照らして大となる場合に、ステップS170の繰り返し処理をストップさせるトリガーとなる。
【0049】
本実施形態においては、制御装置12は、ステップS190の処理を、以下の一連の処理として実行する。すなわち、制御装置12は、まず、直近に実行されたステップS30にてストレージ12Cに記憶されたライダー12Aからの出力を取得する。ついで、制御装置12は、取得した出力を解析し、直近にステップS30が実行された過去のタイミングにおいてライダー12Aが感知していた各障害物90Aと自走式ロボット10との相対的な位置関係を把握する。続いて、制御装置12は、現時点におけるライダー12Aからの出力を取得して解析し、もって現時点においてライダー12Aが感知している各障害物90Aと自走式ロボット10との相対的な位置関係を把握する。そして、制御装置12は、上記過去のタイミングと現時点との間における、各障害物90Aと自走式ロボット10との相対的な位置関係の相違から、自走式ロボット10の走行の進行量を距離量の形で導出して把握する。
【0050】
ステップS200において、制御装置12は、直近に実行されたステップS150にてストレージ12Cに記憶された旧進行方向を取得する。ついで、制御装置12は、現時点で設定されている進行方向を、取得した旧進行方向に対して180[°]よりも小さい角度(本実施形態では例えば45[°])だけ回転した方向に再プログラミングする。そして、制御装置12は、その処理をステップS20に進める。
【0051】
ここで、ステップS200の処理は、上述もしたように、自走式ロボット10の走行の進行量が上記しきい値量に照らして大となった場合に実行されるものである。すなわち、自走式ロボット10の制御装置12がステップS200の処理を実行する機能は、本開示における「第2の再プログラミング機能」に相当する。
【0052】
上述した制御プログラム(自走式ロボット用プログラム)によれば、自走式ロボット10は、その走行の進行方向に弁別された障害物90Aがないにもかかわらず走行ユニット11の出力トルクが大である状態が継続している場合に、これをライダー12Aおよび/または衝突センサー12Bによる弁別が困難な障害物90Aによるものとみなして引き下がる。これにより、ライダー12Aおよび/または衝突センサー12Bによる弁別が困難な障害物90Aに対処してこの障害物90Aを回避する機能を、自走式ロボット10に実現させることができる。
【0053】
また、上述した制御プログラム(自走式ロボット用プログラム)によれば、自走式ロボット10は、そのライダー12Aおよび/または衝突センサー12Bによる弁別が困難な障害物90Aに対処するべく引き下がった後、旧進行方向とは異なる新たな進行方向を設定して、この進行方向に向かって走行を行う。これにより、自走式ロボット10は、ライダー12Aおよび/または衝突センサー12Bによる弁別が困難な障害物90Aに対処してこの障害物90Aを回避する機能を実現させながら、この自走式ロボット10における走行を継続させることができる。
【0054】
本開示は、上述した一実施形態で説明した外観、構成に限定されず、本開示の要旨を変更しない範囲で種々の変更、追加、削除が可能である。例えば、以下のような各種の形態を実施することができる。
【0055】
(1)判定機能において、出力トルクの値が大であるか否かを判定するための基準は、モーターアッセンブリにおける設定トルクの値そのものである必要はない。すなわち、判定機能において、出力トルクの値が大であるか否かを判定するための基準は、例えば、所定値、または、モーターアッセンブリにおける設定トルクの値に1未満となる正の所定数をかけた値など、適宜に変更することができる。
【0056】
(2)自走式ロボットにおいて第2の再プログラミング機能の実現のトリガーとなる、自走式ロボットの走行の進行量は、各障害物と自走式ロボットとの相対的な位置関係の変化から導出される距離量に限定されない。すなわち、上記進行量は、例えば、自走式ロボットの走行においてモーターアッセンブリを所定の回転角度だけ回転させる処理を繰り返す際の、処理の繰り返し回数(すなわち無次元量)であってもよい。また、上記進行量は、例えば、第1の再プログラミング機能によって再プログラミングされた進行方向に向けて自走式ロボットが走行を開始したタイミングからの経過時間(すなわち時間量)であってもよい。
【0057】
(3)本開示にかかる自走式ロボット用プログラムは、障害物を感知するためのセンサーとしてライダーおよび衝突センサーを有する自走式ロボットに適用されるものに限定されない。すなわち、本開示にかかる自走式ロボット用プログラムは、例えばレーダー、超音波センサー、視覚センサー、またはサーマルカメラなど、自走式ロボットの走行の進行方向にある障害物を感知できる、適宜選択した種類のセンサーを有する自走式ロボットに適用することができる。
【0058】
(4)第1の再プログラミング機能の実現によって再プログラミングされた進行方向に向けての自走式ロボットの走行は、この進行方向を後にした状態で各モーターアッセンブリを逆転させることによって実現されるものに限定されない。すなわち、本開示にかかる自走式ロボット用プログラムは、第1の再プログラミング機能の実現によって進行方向が再プログラミングされた際に、この進行方向を前とするように自走式ロボットの向きを変更し、各モーターアッセンブリを正転させることで自走式ロボットを走行させるものとすることができる。この場合、自走式ロボットは、前方にある障害物を感知するセンサーを活かして、自身が通過した跡に新たに生じた障害物に対処することができる。
【0059】
(5)本開示にかかる自走式ロボット用プログラムは、走行を実現させる走行ユニットが駆動輪およびキャスターを備えている自走式ロボットに適用されるものに限定されない。すなわち、本開示にかかる自走式ロボット用プログラムは、適宜選択した種類のマニピュレーターによる走行を実現させる走行ユニットを備えた自走式ロボットに適用することができる。ここで、上記マニピュレーターの具体例としては、例えば摩擦駆動球、無限軌道、または走行脚などが挙げられる。
【符号の説明】
【0060】
10 自走式ロボット
10A モーターアッセンブリ
11 走行ユニット
11A 駆動輪
11B キャスター
12 制御装置
12A ライダー(センサー)
12B 衝突センサー(センサー)
12C ストレージ
12D 時計
90 床
90A 障害物