JP2015060388A - 自律走行台車、予定走行経路データの加工方法、及びプログラム - Google Patents

自律走行台車、予定走行経路データの加工方法、及びプログラム Download PDF

Info

Publication number
JP2015060388A
JP2015060388A JP2013193322A JP2013193322A JP2015060388A JP 2015060388 A JP2015060388 A JP 2015060388A JP 2013193322 A JP2013193322 A JP 2013193322A JP 2013193322 A JP2013193322 A JP 2013193322A JP 2015060388 A JP2015060388 A JP 2015060388A
Authority
JP
Japan
Prior art keywords
subgoal
unit
travel route
planned
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013193322A
Other languages
English (en)
Other versions
JP6402436B2 (ja
Inventor
昌司 田中
Masashi Tanaka
昌司 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2013193322A priority Critical patent/JP6402436B2/ja
Publication of JP2015060388A publication Critical patent/JP2015060388A/ja
Application granted granted Critical
Publication of JP6402436B2 publication Critical patent/JP6402436B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

【課題】自律走行台車が、自律走行する際に、予定走行経路から外れて走行することを抑制する。【解決手段】自律走行台車100は、台車部1と、走行部2と、教示部71と、曲率算出部741と、サブゴール点処理部743と、を備える。走行部2は、台車部1に搭載される。そして、走行部2は、台車部1を走行させる。教示部71は、教示走行モードの実行時に、サブゴール点を取得する。そして、教示部71は、予定走行経路を表現する予定走行経路データを、サブゴール点の集合体として記憶する。曲率算出部741は、部分予定走行経路の、注目サブゴール点における曲率半径である注目曲率半径を算出する。サブゴール点処理部743は、注目曲率半径が第1の値以下の場合に、注目曲率半径が第1の値以上になるように、サブゴール点を移動させる処理を行う。【選択図】図9C

Description

本発明は、対向二輪差動型などの単純な構造を有する走行部を有した自律走行台車の制御に関する。
これまで、操作者により教示された走行経路を、自律的に再現して走行する走行台車及びロボットなどが知られている。例えば、特許文献1には、筐体に、床面上を移動させる走行駆動手段と、床面上における筐体の位置を検出する位置検出手段と、床面の清掃処理を行う清掃手段と、走行駆動手段及び清掃手段の操作の入力を受け付ける操作受付手段と、位置検出手段により検出される位置に基づく移動経路と該移動経路を該操作受付手段の受付内容に結びつけて記憶する記憶手段と、該記憶手段に記憶される記憶内容を読み出し該記憶内容に基づいて走行駆動手段及び清掃手段を作動させる制御手段とを設けてなる清掃ロボットが開示されている。
この清掃ロボットには、筐体の下面中央に、左右に一対それぞれ水平同軸上に走行のための駆動輪と、該駆動輪に直結されてこれを回転駆動する一対の走行モータとが、配置されている。そして、各走行モータは、左右の回転数を変えることにより清掃ロボットを左右に旋回させるようになっている。これにより、最小回転半径を小さくすることができ、清掃処理が効率的に行える。以後、このように、左右一対の駆動輪と、該駆動輪に直結されてこれを回転駆動する走行モータにより構成される走行手段を、対向二輪差動型の走行手段と呼ぶこともある。
特開平8−326025号公報
特許文献1に開示されている清掃ロボットが備える対向二輪差動型の走行手段(走行部)は、構造が単純である一方、次のような問題点がある。すなわち、対向二輪差動型の走行部では、真横方向への走行ができない。また、対向二輪差動型の走行部は、一対の駆動輪の幅などの設計上の制限、及び/又は、駆動輪と床面との滑りにより、急峻な曲がりを有する走行経路(曲率半径が過剰に小さい走行経路)を再現よく自律走行できないことがある。
さらに、上記の位置検出手段などにより清掃ロボットの位置を検出する場合、検出手段に用いるセンサーのノイズ、及び/又は、測定誤差などにより、記憶手段に記憶された記憶内容にノイズが含まれることがある。ノイズを含んだ記憶内容には、対向二輪差動型の走行手段を備えた清掃ロボットが走行できないような、急峻な曲がりを有する移動経路が含まれていることがある。
急峻な曲がりを含む移動経路を記憶した記憶内容に基づいて、対向二輪差動型の走行手段が制御された場合、清掃ロボットは、無駄な動きをするだけでなく、教示された本来の移動経路から徐々に外れて走行することがある。
本発明の課題は、自律走行台車が忠実に再現走行な予定走行経路データを作成することにより、自律走行台車が、自律走行する際に、予定走行経路から外れて走行することを抑制することにある。
以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
本発明の一見地に係る自律走行台車は、教示走行モードと再現走行モードを実行する自律走行台車である。教示走行モードとは、操作者の操作により走行開始位置から走行終了位置まで走行した際の走行経路である予定走行経路を教示する走行モードである。再現走行モードとは、教示された予定走行経路を再現しながら自律的に走行する走行モードである。
自律走行台車は、台車部と、走行部と、教示部と、曲率算出部と、サブゴール点処理部と、を備える。走行部は、台車部に搭載される。そして、走行部は、台車部を走行させる。教示部は、教示走行モードの実行時に、サブゴール点を取得する。ここで、サブゴール点とは、走行開始位置から走行終了位置までに台車部が通過した走行環境における位置に関する情報である。そして、教示部は、予定走行経路を表現する予定走行経路データを、サブゴール点の集合体として記憶する。曲率算出部は、部分予定走行経路の、注目サブゴール点における曲率半径である注目曲率半径を算出する。ここで、部分予定走行経路とは、予定走行経路データに含まれる1のサブゴール点を注目サブゴール点とし、注目サブゴール点と、注目サブゴール点から見て予定走行経路データの前後に存在する所定の数のサブゴール点と、により形成される走行経路のことを言う。サブゴール点処理部は、注目曲率半径が第1の値以下の場合に、注目曲率半径が第1の値以上になるように、サブゴール点を移動させる処理を行う。
この自律走行台車では、まず、教示走行モードを実行して、そのときに、教示部が、操作者の操作による自律走行台車の走行経路(予定走行経路)を予定走行経路データとして取得し記憶する。そして、曲率算出部が、取得した予定走行経路データに含まれる注目サブゴール点と、注目サブゴール点の前後に存在する所定の数のサブゴール点とにより形成される部分予定走行経路の、注目サブゴール点における曲率半径(注目曲率半径)を算出する。さらに、サブゴール点処理部が、注目曲率半径が第1の値以下である場合に、注目曲率半径が第1の値以上になるようにサブゴール点を移動させる。
教示走行モードを実行した直後に記憶された予定走行経路データに、ノイズや測定誤差により忠実に再現走行不能な走行経路が含まれている場合がある。しかし、この自律走行台車では、そのような場合でも、自律走行台車が忠実に再現走行可能な走行経路のみを含む予定走行経路データを作成できる。なぜなら、予定走行経路データ中に注目曲率半径が第1の値以下の部分予定走行経路が存在する場合、サブゴール点処理部が、注目曲率半径が第1の値以上になるようにサブゴール点を移動させるからである。その結果、自律走行台車は、再現走行モードの実行時に、予定走行経路から外れることなく、予定走行経路を忠実に再現走行できる。
部分予定走行経路は、注目サブゴール点と、注目サブゴール点の直前の第1サブゴール点と、注目サブゴール点の直後の第2サブゴール点と、含む3つのサブゴール点により形成されてもよい。
これにより、より簡単な計算で注目曲率半径を算出できる。そして、より簡単な計算によりサブゴール点を移動できる。その結果、曲率算出部及びサブゴール点処理部の処理速度が向上する。
また、第1サブゴール点と第2サブゴール点とを、注目サブゴール点の直前又は直後のサブゴール点とすることにより、サブゴール点処理部は、より少ない処理(注目サブゴール点を移動させる処理)回数にて注目曲率半径が第1の値となるように予定走行経路データを加工できる。
曲率算出部は、注目曲率半径として、部分予定走行経路を形成する3つのサブゴール点により形成される三角形の、注目サブゴール点における注目点角度を算出してもよい。また、この場合、サブゴール点処理部は、注目点角度が第1の角度以下であると判定した場合に、注目曲率半径が第1の値以下であると判断してもよい。
注目サブゴール点を含む3つのサブゴール点により形成される三角形における注目点角度は、注目曲率半径と対応している。そのため、簡単な計算により算出可能な注目点角度を、注目曲率半径の大小の判断に用いることができる。その結果、より簡単な計算により、注目曲率半径の大小を判断できる。その結果、曲率算出部及びサブゴール点処理部における処理速度が向上する。
曲率算出部は、注目曲率半径として、部分予定走行経路を近似又は表現する円である注目円の半径を算出してもよい。また、この場合、サブゴール点処理部は、注目円の半径が第1の値以下であると判定した場合に、注目曲率半径が第1の値以下であると判断してもよい。
部分予定走行経路を注目円で近似又は表現することにより、より簡単な計算方法により注目曲率半径を算出できる。
サブゴール点処理部は、注目サブゴール点を、部分予定走行経路を形成するサブゴール点により形成される多角形の重心に移動させることにより、部分予定走行経路の注目曲率半径を増加させてもよい。
これにより、より簡単な計算により、かつ、より計算回数を減少して、注目曲率半径が第1の値以上になるように、注目サブゴール点を移動できる。その結果、予定走行経路データに自律走行台車が走行可能な走行経路のみが含まれるよう、予定走行経路データの加工を行う時間と計算負荷を減少できる。
自律走行台車は、データ圧縮処理部をさらに備えていてもよい。データ圧縮処理部は、予定走行経路データに含まれるサブゴール点の数を減らして圧縮後予定走行経路データを作成する。
これにより、予定走行経路データのデータ数を減少できる。その結果、予定走行経路データの加工を行う時間と計算負荷を減少できる。また、予定走行経路データに含まれるノイズを取り除ける。
データ圧縮処理部は、連続する所定の数のサブゴール点の位置の平均値を算出し、平均値に対応する位置に圧縮後サブゴール点を設定する処理を行ってもよい。
これにより、より簡単に予定走行経路データを圧縮処理できる。その結果、データ圧縮処理部における処理速度を向上できる。
曲率算出部における処理、及び、サブゴール点処理部における処理は、圧縮後予定走行経路データに対して行われてもよい。
これにより、注目曲率半径の算出及びサブゴール点の移動のための処理を減少できる。
自律走行台車は、台車部の走行環境における位置を所定の制御周期毎に推定する位置推定部をさらに備えてもよい。
これにより、自律走行台車は、精度よく走行環境における自律走行台車の位置を推定できる。
本発明の他の見地に係る予定走行経路データの加工方法は、台車部と、走行部とを備え、教示走行モードと、再現走行モードとを実行する自律走行台車における、予定走行経路データの加工方法である。
予定走行データの加工方法は、以下のステップを含む。
◎教示走行モードの実行時に取得し記憶された予定走行経路データに含まれるサブゴール点のうち、1のサブゴール点を注目サブゴール点とし、注目サブゴール点と、注目サブゴール点から見て予定走行経路データの前後に存在する所定の数のサブゴール点と、により形成される部分予定走行経路の、注目サブゴール点における曲率半径である注目曲率半径を算出するステップ。
◎注目曲率半径が第1の値以下の場合に、注目曲率半径を第1の値以上となるように、サブゴール点を移動させる処理を行うステップ。
教示走行モードを実行した直後に記憶された予定走行経路データに、忠実に再現走行不能な走行経路が含まれている場合がある。しかし、この自律走行台車では、そのような場合でも、自律走行台車が忠実に再現走行可能な走行経路のみを含むように予定走行経路データを加工できる。なぜなら、予定走行経路データ中に注目曲率半径が第1の値以下の部分予定走行経路が存在する場合、注目曲率半径が第1の値以上になるようにサブゴール点が移動されるからである。その結果、自律走行台車は、再現走行モードの実行時に、予定走行経路からずれることなく、予定走行経路を忠実に再現走行できる。
予定走行経路データの加工方法は、予定走行経路データに含まれるサブゴール点の数を減らして圧縮後予定走行経路データを作成するステップをさらに含んでいてもよい。
これにより、予定走行経路データのデータ数を減少できる。その結果、予定走行経路データの加工を行う時間と計算負荷を減少できる。また、予定走行経路データに含まれるノイズを取り除ける。
本発明のさらに他の見地に係るプログラムは、上記の予定走行経路データの加工方法をコンピュータに実行させるためのプログラムである。
自律走行台車が忠実に再現走行な予定走行経路データを作成できる。その結果、自律走行台車が、自律走行する際に、予定走行経路から外れて走行することを抑制できる。
自律走行台車の全体構成を示す図 操作部の構成を示す図 制御部の全体構成を示す図 自律走行台車の姿勢の定義を示す図 予定走行経路処理部の基本的な構成を示す図 データ圧縮処理部を有する予定走行経路処理部の構成を示す図 注目点角度と注目曲率半径の大きさの関係を示す図 余弦定理による注目点角度の算出法を示す図 モータ駆動部の構成を示す図 予定走行経路データの基本動作を示すフローチャート 予定走行経路データの取得方法を示すフローチャート 予定走行経路データの加工方法を示すフローチャート 取得された予定走行経路データによる予定走行経路を示す図 圧縮処理前の予定走行経路データによる予定走行経路を示す図 圧縮後予定走行経路データによる予定走行経路を示す図 サブゴール点移動前の圧縮後予定走行経路データによる予定走行経路を示す図 サブゴール点移動後の圧縮後予定走行経路データによる予定走行経路を示す図 サブゴール点の移動を1回実行した後の圧縮後予定走行経路データによる予定走行経路を示す図 サブゴール点の移動を2回実行した後の圧縮後予定走行経路データによる予定走行経路を示す図 サブゴール点の移動を3回実行した後の圧縮後予定走行経路データによる予定走行経路を示す図 注目サブゴール点をそれ以外のサブゴール点を結ぶ直線に近づける、サブゴール点の移動方法を示す図。 サブゴール点をベジエ曲線上に設定することによる、サブゴール点の移動方法を示す図。
1.第1実施形態
(1)自律走行台車の全体構成
まず、本実施形態に係る自律走行台車の全体構成について、図1を用いて説明する。図1は、自律走行台車の全体構成を示す図である。本実施形態の自律走行台車100は、操作者の操作により、走行開始位置から走行終了位置までの所望の予定走行経路を教示する教示走行モードと、予定走行経路を再現しながら走行開始位置から走行終了位置まで自律的に走行する再現走行モードと、を実行する。
自律走行台車100は、台車部1と、走行部2と、検出部3と、操作部5と、制御部7と、を備える。台車部1は、自律走行台車100の本体を構成する。走行部2は、台車部1に搭載されている。走行部2は、台車部1を走行させる。検出部3は、制御部7(後述)に信号送受信可能に接続されている。そして、検出部3は、障害物及び走行経路にある壁などを検出し、障害物及び壁などの位置情報を制御部7に出力する。操作部5は、台車部1の上部後方側に取付部材9を介して固定されている。また、操作部5は、制御部7に信号送受信可能に接続されている。操作部5は、操作者が自律走行台車100に予定走行経路を教示するとき(教示走行モードの実行時)、操作者により操作される。これにより、自律走行台車100の走行モードが教示走行モードの実行時に、自律走行台車100は、操作者による操作部5の操作に基づいて制御される。また、操作部5は、自律走行台車100の各種設定を行う。
制御部7は、走行部2のモータ23a、23b(後述)に電気的に接続されている。また、制御部7には、検出部3が信号送受信可能に接続されている。制御部7は、教示走行モードの実行時には、操作者による操作部5の操作に基づいて、走行部2のモータ23a、23bを制御する。一方、予定走行経路を再現しながら自律的に走行する再現走行モードの実行時には、制御部7は、教示走行モードの実行時において教示された予定走行経路を表す予定走行経路データ(後述)に基づいて、走行部2のモータ23a、23bを制御する。
また、制御部7は、検出部3から得られる信号(後述)に基づいて、障害物及び壁などの位置情報を把握する。また、制御部7は、障害物及び壁などの位置情報に基づき、移動平面(走行環境)における自律走行台車100の位置を把握する。
なお、自律走行台車100の走行部2、検出部3、操作部5、及び制御部7の構成の詳細については、後述する。
自律走行台車100は、補助輪部8をさらに備える。補助輪部8は、2つの補助車輪8a、8bを有する。2つの補助車輪8aと8bは、それぞれが独立に回転可能なように台車部1の後方底部に取り付けられている。補助輪部8を備えることにより、自律走行台車100は安定に、かつ、スムーズに移動できる。
(2)走行部の構成
次に、走行部2の構成について図1を用いて詳細に説明する。走行部2は、2つの主輪21a、21bと、2つのモータ23a、23bと、を有する。主輪21a、21bは、台車部1の略中央部の底部に設置されている。
また、主輪21a、21bは、それぞれ、モータ23a、23bの出力回転軸に接続されている。これにより、主輪21aはモータ23aの回転に従って回転し、主輪21bはモータ23bの回転に従って回転する。すなわち、主輪21a及び主輪21bは、お互いに独立に回転可能となっている。そのため、主輪21aの回転速度と主輪21bの回転速度に差を持たせることにより、台車部1(自律走行台車100)の進行方向を変更できる。
モータ23a、23bは、制御部7に電気的に接続されている。モータ23a、23bはそれぞれ、制御部7のモータ駆動部75(図8)により、独立して制御可能となっている。従って、モータ23a、23bは、それぞれ独立に、任意の回転数を発生できる。その結果、主輪21a、21bは、それぞれ独立に、回転数の制御が可能である。
モータ23a、23bとしては、たとえば、サーボモータ及び/又はブラシレスモータなどの電動モータを用いることができる。
このように、独立に回転速度を制御可能な2つの主輪21a、21bを有する走行部2は、「対向二輪差動型の走行部」と呼ばれる。対向二輪差動型の走行部2の構造は、単純である。そして、後述するように、予定走行経路データ(後述)を、走行部2の走行性能に基づいて加工することにより、対向二輪差動型の走行部2であっても、教示された予定走行経路をより忠実に再現しつつ、台車部1(自律走行台車100)を走行できる。
(3)検出部の構成
次に、検出部3の構成について、図1を用いて説明する。検出部3は、自律走行台車100の走行経路周辺の障害物及び壁などを検出し、障害物及び壁などの位置情報を出力する。そのため、検出部3は、前方検出器31と、後方検出器33と、を有する。前方検出器31は、自律走行台車100の前方にある障害物及び壁などを検出する。後方検出器33は、自律走行台車100の後方にある障害物及び壁などを検出する。また、前方検出器31と後方検出器33は、自律走行台車100と障害物及び壁などとの間の距離及び、自律走行台車100から見た障害物及び壁などが存在する方向に関する情報などを含む信号を出力する。これにより、検出部3は、自律走行台車100から見た障害物及び壁などの相対的な位置情報を、制御部7に出力できる。
検出部3の前方検出器31及び後方検出器33としては、例えば、その検出範囲として180°以上のレーザレンジファインダ(Laser Range Finder、LRF)などを用いることができる。
(4)操作部の構成
次に、操作部5の構成について、図2を用いて説明する。図2は、操作部5の構成を示す図である。操作部5は、操作ハンドル51a、51bと、設定部53と、表示部55と、インターフェース57と、筐体59と、を備える。
操作ハンドル51a、51bは、それぞれ、筐体59の左右に回動可能に取り付けられている。また、操作ハンドル51a、51bは、インターフェース57と信号送受信可能に接続されている。これにより、操作ハンドル51a、51bの回動量(操作量)及び回動方向は、インターフェース57において電気信号に変換され、制御部7に入力される。そして、制御部7に入力された操作ハンドル51a、51bの回動量及び回動方向に基づき、走行部2のモータ23a、23bが制御される。
また、操作ハンドル51aを進行方向への走行速度を指示するための入力インターフェースとし、操作ハンドル51bを操舵角を指示するための入力インターフェースとしてもよい。
これにより、操作者は、教示走行モードの実行時に操作ハンドル51a、51bを操作することにより、自律走行台車100に所望の走行経路(予定走行経路)を走行させることができる。
また、操作者は、操作ハンドル51a、51bに適切な外力を加えることによっても、自律走行台車100を操作できる。このとき、例えば、自律走行台車100が前方方向に走行している場合において、操作ハンドル51aに自律走行台車100の進行方向とは逆方向の外力を加えることにより、自律走行台車100を進行方向に対して左方向に方向転換できる。
設定部53は、インターフェース57に接続されている。設定部53は、自律走行台車100の走行モードを、再現走行モード、又は、教示走行モードのいずれかに切り替える。そして、設定部53において設定された走行モードが、インターフェース57を介して、制御部7の切替部77(図3)に入力される。また、設定部53は、自律走行台車100のその他の各種設定を設定可能となっていてもよい。
設定部53は、例えば、自律走行台車100の走行モード及び各種設定などを行うためのスイッチ又は/及びキーボードなどにより構成できる。又は、設定部53は、タッチパネルとして構成され、表示部55と一体に形成されていてもよい。
表示部55は、インターフェース57に接続されている。表示部55は、インターフェース57を介して、制御部7から自律走行台車100の各種設定及び位置情報などの情報を、読み出して表示する。表示部55としては、液晶ディスプレイなどのディスプレイを用いることができる。また、上記のように、設定部53と表示部55とを一体に形成する場合は、表示部55(と設定部53)として、タッチパネル機能付きディスプレイを用いることができる。
インターフェース57は、制御部7に接続されている。インターフェース57は、操作ハンドル51a、51bの回動量、回動方向、及び設定部53のスイッチ及び/又はキー入力などを電気信号に変換し、制御部7へ出力する。また、インターフェース57は、操作者の指示などに応じて、制御部7から自律走行台車100に関する情報を読み出して、表示部55に表示する。
従って、インターフェース57としては、マイコンボードを用いることができる。マイコンボードは、例えば、操作ハンドル51a、51bの回動量、回転方向、及び設定部53における設定状態を電気信号に変換する信号変換器と、表示部55に情報を表示するための表示部駆動回路と、制御部7と信号を送受信するための通信インターフェースと、を備えている。
(5)制御部の構成
I.制御部の全体構成
次に、制御部7の全体構成について図3を用いて説明する。図3は、制御部7の全体構成を示す図である。
なお、制御部7は、CPU(Central Processing Unit)と、ハードディスク装置と、ROM(Read Only Memory)と、RAM(Random Access Memory)と、記憶媒体読み出し装置などにより構成される記憶装置と、信号変換を行うインターフェースなどと、を備えたマイコンシステムなどにより実現できる。また、以下に示す制御部7の各部の機能の一部又は全部は、プログラムとして実現されていてもよい。さらに、当該プログラムは、マイコンボードの記憶装置に記憶されていてもよい。又は、制御部7の各部の機能の一部又は全部は、カスタムICなどにより実現されていてもよい。
制御部7は、教示部71と、位置推定部72と、記憶部73と、予定走行経路処理部74と、モータ駆動部75と、障害物情報取得部76と、切替部77と、を有する。
教示部71は、教示走行モードの実行時に、操作者が操作部5を用いて自律走行台車100を操作することにより通過した位置に関する情報を所定の時間(教示データ取得時間)間隔にて取得する。そして、教示部71は、取得した位置に関する情報を、自律走行台車100が走行する移動平面を表現した座標系(以後、移動座標と呼ぶことにする)上の座標値に変換する。さらに、教示部71は、座標変換された位置に関する情報を記憶部73(後述)に記憶する。ここで、教示部71において、上記の移動座標上の座標値に変換された位置に関する情報のことを、「サブゴール点」と呼ぶことにする。
また、教示部71は、教示走行モードの実行時に、自律走行台車100の走行開始位置から、操作者が自律走行台車100の走行を停止させる(教示走行モードの終了、あるいは、走行終了位置に到達する)まで、サブゴール点の取得を継続する。この結果、教示部71は、走行開始位置から走行終了位置までに取得したサブゴール点の集合体を、記憶部73に記憶する。
このように、教示走行モードの実行時に、操作者の操作により自律走行台車100が通過した位置を座標値の集合体として取得し記憶することにより、操作者の操作により教示された自律走行台車100の走行経路(予定走行経路)を記憶部73に記憶できる。従って、教示部71が取得したサブゴール点の集合体を、予定走行経路データと呼ぶことにする。
なお、教示部71は、サブゴール点を取得するときに、当該サブゴール点における自律走行台車100の姿勢情報を取得し、記憶部73に記憶してもよい。この場合、予定走行経路データは、サブゴール点の集合体と、各サブゴール点に関連づけられた台車部1(自律走行台車100)の姿勢情報の集合体となる。
ここで、自律走行台車100の姿勢とは、例えば、図4に示すように、台車部1(自律走行台車100)の中心から台車部1の前方方向に伸びる基準軸と、移動座標のx軸とがなす角度θとして定義される。
さらに、サブゴール点を取得する際に、当該サブゴール点と、サブゴール点を取得した時間と、を関連付けて記憶部73に記憶してもよい。このとき、予定走行経路データは、サブゴール点を取得した時間の集合体と、当該時間に関連づけられたサブゴール点の集合体とにより構成される。
位置推定部72は、走行環境(移動平面上)における台車部1(自律走行台車100)の位置を所定の制御周期毎に推定する。位置推定部72は、例えば、SLAM(Simultaneous Localization And Mapping)法などを用いて、自律走行台車100の移動平面上における位置を推定できる。
位置推定部72は、検出部3において取得された自律走行台車100から見た障害物及び壁などの相対的な位置情報を、移動座標上の座標値へと変換する。そして、位置推定部72は、検出部3の前方検出器31及び後方検出器33が検出した障害物及び壁などの位置情報に基づいて、自律走行台車100の周囲の移動平面の地図情報(ローカルマップと呼ぶことにする)を作成する。また、位置推定部72は、移動平面の地図情報(環境地図と呼ぶことにする)を記憶部73に記憶している。そして、位置推定部72は、環境地図とローカルマップとを比較して、自律走行台車100が移動平面のどの位置に存在するかを推定する。
また、位置推定部72は、モータ23a、23bの回転数に基づいても、自律走行台車100の位置を推定できるようになっている。そのため、モータ23a、23bの出力回転軸には、それぞれ、軸の回転数を測定する装置が取り付けられている。本実施形態においては、モータ23a、23bの出力回転軸には、それぞれ、エンコーダ231a、231b(図8)が取り付けられている。このように、検出部3による位置推定と、モータ23a、23bの回転数に基づいた位置推定とを組み合わせることにより、互いの位置推定結果を相補できる。その結果、検出部3のみ、又は、モータ23a、23bの回転数のみに基づく位置推定よりも、さらに精度のよい位置の推定ができる。
記憶部73は、制御部7がマイコンシステムにより実現されている場合は、マイコンシステムの記憶装置(あるいは、記憶装置の記憶領域の一部)に対応するものである。記憶部73は、自律走行台車100の各種設定、予定走行経路データ、障害物及び壁などの位置情報、などの情報を記憶する。また、制御部7の各部の機能の一部又は全部がソフトウェアにより実現されているとき、記憶部73は、当該ソフトウェアを記憶してもよい。
予定走行経路処理部74は、自律走行台車100が再現走行モードの実行時に予定走行経路を忠実に再現して走行できるように、教示走行モードの実行時に作成された予定走行経路データを加工する。
教示走行モードの実行時に作成された予定走行経路データには、検出部3にて取得された位置情報と実際の位置情報との間の誤差及び、モータ23a、23bの回転数を測定する装置により測定されたモータの回転数と実際のモータの回転数との間の誤差などを含んだサブゴール点が記憶されることがよくある。これらの誤差を含んだサブゴール点により、教示走行モードの実行時に作成された予定走行経路データには、自律走行台車100が再現よく走行できない走行経路が含まれることがある。
従って、予定走行経路処理部74は、自律走行台車100が再現よく走行可能な走行経路のみを含んだ予定走行経路データを作成(あるいは、予定走行経路データの加工)する。これにより、自律走行台車100は、再現走行モードの実行時に、操作者により教示された予定走行経路を、予定走行経路からずれることなく忠実に再現走行できる。
なお、予定走行経路処理部74の詳細な構成及び動作については、後述する。
モータ駆動部75は、モータ23a、23bに接続されている。これにより、モータ駆動部75は、モータ23a、23bを制御できる。
モータ駆動部75は、操作部5と信号送受信可能に接続され、教示走行モードの実行時には、操作部5の操作ハンドル51a、51bの回動量及び/又は回動方向に基づき、モータ23a、23bを制御する。
一方、再現走行モードの実行時には、モータ駆動部75は、記憶部73に記憶された予定走行経路データに基づいて、モータ23a、23bの制御指令を作成する。そして、モータ駆動部75は、作成された制御指令に基づいて、モータ23a、23bを制御する。
なお、モータ駆動部75の詳細な構造及び動作については、後述する。
障害物情報取得部76は、検出部3の前方検出器31と後方検出器33とに信号送受信可能に接続されている。障害物情報取得部76は、前方検出器31と後方検出器33とから出力される信号に基づき、障害物及び壁などの位置情報を取得する。そして、障害物情報取得部76は、必要に応じて、障害物及び壁などの位置情報を記憶部73に記憶する。このとき、障害物情報取得部76は、位置推定部72に障害物及び壁などの位置情報を出力してもよい。そして、位置推定部72が、障害物及び壁などの位置情報を移動座標上の座標値に変換して、障害物及び壁などの位置情報を記憶部73に記憶してもよい。
切替部77は、操作部5の設定部53における走行モードの設定状態に基づいて、自律走行台車100の走行モードを、再現走行モード、又は、教示走行モードのいずれかに切り替えて設定する。そして、制御部7の各部は、必要に応じて、切替部77において設定された走行モードを参照可能となっている。
II.予定走行経路処理部の構成
次に、予定走行経路処理部74の構成について図5A及び図5Bを用いて説明する。図5Aは、予定走行経路処理部74の基本的な構成を示す図である。予定走行経路処理部74は、曲率算出部741と、サブゴール点処理部743と、を有する。
曲率算出部741は、予定走行経路データに含まれる複数のサブゴール点のうちの1のサブゴール点(注目サブゴール点)と、注目サブゴール点から見て予定走行経路データの前後に存在する所定の数のサブゴール点と、により形成される経路(部分予定走行経路と呼ぶ)の、注目サブゴール点における曲率半径(注目曲率半径)を算出する。
本実施形態において、曲率算出部741は、注目サブゴール点と、予定走行経路データにおける注目サブゴール点の直前のサブゴール点である第1サブゴール点と、予定走行経路データにおける注目サブゴール点の直後のサブゴール点である第2サブゴール点との、3つのサブゴール点を通る円、すなわち、部分予定走行経路を表現する円(注目円と呼ぶ)の半径を、注目サブゴール点における曲率半径(注目曲率半径)として算出する。
このように、部分予定走行経路が、注目サブゴール点と、第1サブゴール点と、第2サブゴール点の3つのサブゴール点により形成されることにより、曲率算出部741は、より簡単な計算で注目曲率半径を算出できる。また、サブゴール点処理部743(後述)は、より簡単な計算によりサブゴール点を移動できる。その結果、曲率算出部741及びサブゴール点処理部743の処理速度が向上する。
さらに、第1サブゴール点と第2サブゴール点とを、注目サブゴール点の直前又は直後のサブゴール点とすることにより、サブゴール点処理部743は、より少ない処理(注目サブゴール点を移動させる処理)回数にて注目曲率半径が第1の値となるように予定走行経路データを加工できる。
第1サブゴール点と第2サブゴール点が注目サブゴール点の直前又は直後でないサブゴール点であった場合、第1サブゴール点と第2サブゴール点よりも注目サブゴール点に近いサブゴール点が部分予定走行経路から外れた位置にあった場合、このようなサブゴール点については、サブゴール点の移動がなされない傾向にある(移動がなされても、その移動量が小さい)。
すなわち、第1サブゴール点と第2サブゴール点を、注目サブゴール点の直前又は直後でないサブゴール点とした場合、注目サブゴール点を移動させたとしても、予定走行経路中に注目曲率半径が第1の値以下の急峻な曲がりの走行経路が含まれてしまう確率がより高くなる。その結果、サブゴール点処理部743が、注目サブゴール点の移動を行う処理を、多数回実行してしまうことがある。
また、注目サブゴール点と、第1サブゴール点と、第2サブゴール点の3つのサブゴール点を通る注目円の半径を算出することにより、曲率算出部741は、より簡単に注目曲率半径を算出できる。
なお、注目サブゴール点と、第1サブゴール点と、第2サブゴール点と、を通る注目円の半径は、例えば、次のようにして算出できる。すなわち、移動座標上の座標(x,y)を通る円を表す式(x−a)+(y−b)=R(a:注目円の中心のx座標値、b:注目円の中心のy座標値、R:注目円の半径)のx及びyに、注目サブゴール点の移動座標上の座標値、第1サブゴール点の座標値、第2サブゴール点の座標値を代入して、変数がa、b、Rである3つの式を作成し、当該3つの式からなる連立方程式を解くことにより、注目円の半径R(すなわち、注目曲率半径)を算出できる。
または、注目サブゴール点と第1サブゴール点とを結ぶ線分の垂直二等分線と、注目サブゴール点と第2サブゴール点とを結ぶ線分の垂直二等分線との交点を算出(当該交点が、注目円の中心に対応する)し、当該交点と注目サブゴール点との距離を算出することによっても、注目円の半径Rを算出できる。
なお、上記に示すように、本実施形態において、曲率算出部741は、3つのサブゴール点を通る円(注目円と呼ぶ)の半径を、注目サブゴール点における曲率半径(注目曲率半径)として算出している。しかし、注目円を算出するための方法はこれに限られない。
例えば、部分予定走行経路を近似する円を注目円としてもよい。この場合、部分予定走行経路に含まれるサブゴール点数は3以上であってもよい。
この場合、曲率算出部741は、注目円を表す上記の式(x−a)+(y−b)=Rを部分予定走行経路にフィッティングさせる処理を行い、上記式中のa、b、及びRを算出する。部分予定走行経路はサブゴール点の座標値として表現されているので、注目円を部分予定走行経路にフィッティングさせる処理としては、例えば、最小二乗法などを用いることができる。
また、曲率算出部741は、注目曲率半径として、注目サブゴール点と、第1サブゴール点と、第2サブゴール点により形成される三角形の、注目サブゴール点における角度(注目点角度)を算出してもよい。なぜなら、注目点角度(ここでは、φと定義する)の大きさと、部分予定走行経路の注目サブゴール点における曲率(注目曲率半径の大きさ)とは対応しているからである。すなわち、図6に示すように、注目点角度φがφからφへと大きくなり、180°へと近づくにつれて、部分予定走行経路(図6中の太実線にて示した曲線)の注目サブゴール点における曲がりは緩やか(注目曲率半径は大きくなる)となる。なお、注目点角度φが180°(注目サブゴール点、第1サブゴール点、及び第2サブゴール点が直線上に並ぶ)となる場合、注目曲率半径は無限大となる。
このように、注目点角度φの大きさを算出することによっても、サブゴール点処理部743(後述)は、当該注目点角度φが第1の角度以下であるかどうかを判定することにより、注目サブゴール点における注目曲率半径が第1の値以下であるかどうかを判定できる。
なお、上記の注目サブゴール点における注目点角度φは、例えば、以下の式で表される余弦定理を用いて算出できる。以下の式において、注目点角度φは、図7に示した三角形における注目サブゴール点における角度、Cは注目サブゴール点に対向する辺の長さ、A及びBはその他の辺の長さである。
φ=cos−1((A+B−C)/(2A×B))
サブゴール点処理部743は、注目曲率半径が第1の値以下の場合に、注目曲率半径が第1の値よりも大きくなるように、サブゴール点を移動させる。
ここで、注目曲率半径の大小の判定の基準となる「第1の値」について説明する。サブゴール点処理部743において、「第1の値」は、走行部2を備える自律走行台車100がどの程度の曲率であれば忠実に自律走行できるかにより決定される。
従って、「第1の値」としては、例えば、自律走行台車100が忠実に自律走行可能な曲率の曲率半径のうち、最小の曲率半径(自律走行可能最小曲率半径と呼ぶことにする。)とすることが好ましい。
一方、「第1の値」を大きく設定しすぎると、自律走行台車100は、教示された予定走行経路を忠実に再現して自律走行できなくなることもある。なぜなら、「第1の値」を大きく設定しすぎると、自律走行台車100が十分通過可能であり本来通過しなくてはならないサブゴール点まで、サブゴール点処理部743が移動させてしまうためである。この場合、教示された本来の予定走行経路を走行可能であるにもかかわらず、自律走行台車100は、再現走行モードの実行時に、教示された予定走行経路とは異なる走行経路を自律走行してしまう。
本実施形態において、サブゴール点処理部743は、注目サブゴール点と、第1サブゴール点と、第2サブゴール点と、を通る注目円の半径が第1の値以下であるかどうか判定することにより、注目曲率半径が第1の値以下であるかどうかを判定する。ここでは、注目円の半径が、部分予定走行経路の注目サブゴール点における曲率半径(注目曲率半径)とほぼ対応しているとして、注目曲率半径の大小の判断が行われている。
なお、曲率算出部741が注目点角度を算出する場合は、上記したように、サブゴール点処理部743は、注目点角度φが第1の角度以下であるかどうかを判定することにより、注目曲率半径が第1の値以下であるかどうかを判定する。
なお、曲率算出部741は、部分予定走行経路の状態などに応じて、注目円の半径Rを算出するか、注目点角度φを算出するかを選択できてもよい。この場合、サブゴール点処理部743も、曲率算出部741がいずれの値を算出したかに応じて、注目曲率半径の大小の判定を行う際に用いる基準を、注目円の半径Rにするか注目点角度φにするかを選択できるようになっている。
また、本実施形態において、サブゴール点処理部743は、注目サブゴール点、第1サブゴール点、第2サブゴール点の3点により形成される三角形の重心位置に、新たな注目サブゴール点を設定することにより、注目曲率半径が第1の値よりも大きくなるように注目サブゴール点を移動させる。これにより、より簡単に注目曲率半径を大きくするようにサブゴール点を移動できる。
また、部分予定走行経路が3つでない複数のサブゴール点で構成される場合は、注目サブゴール点とその前後の所定の数のサブゴール点から形成される多角形の重心位置に、新たな注目サブゴール点を設定してもよい。
さらに、サブゴール点処理部743は、注目サブゴール点とその前後の所定の数のサブゴール点から形成される多角形の重心位置に新たな注目サブゴール点を設定する際に、各サブゴール点に異なる値の重み付けを行った上で、多角形の重心位置を算出してもよい。これにより、サブゴール点処理部743は、より簡単な計算により、より計算回数を減少して、注目曲率半径が第1の値以上になるように、注目サブゴール点を移動できる。その結果、サブゴール点処理部743による、予定走行経路データに自律走行台車100が走行可能な走行経路のみが含まれるように、予定走行経路データの加工を行う時間と計算負荷を減少できる。
また、図5Bに示すように、予定走行経路処理部74は、データ圧縮処理部745をさらに有していてもよい。データ圧縮処理部745は、教示走行モードの実行時に作成された予定走行経路データに含まれるサブゴール点の数を減らす圧縮処理を行う。これにより、後述するように、予定走行経路データに含まれるノイズ(すなわち、予定走行経路から外れたサブゴール点)をある程度取り除くことができる。
また、データ圧縮処理部745によるサブゴール点を減らす処理は、曲率算出部741による注目曲率半径(注目円の半径、又は、注目点角度φ)の算出処理、及び、サブゴール点処理部743における処理の前に行われる。これにより、注目曲率半径の算出及び、サブゴール点の移動のための処理の前に、サブゴール点を減少でき、予定走行経路データに含まれるノイズを取り除ける。その結果、注目曲率半径の算出及び、サブゴール点の移動のための処理を減少できる。
データ圧縮処理部745は、例えば、予定走行経路データに含まれる連続する所定の数のサブゴール点の位置の平均値を算出し、当該平均値に対応する位置に圧縮後サブゴール点を設定することにより、サブゴール点の数を減らした圧縮後予定走行経路データを作成する。これにより、より簡単に予定走行経路データを圧縮処理できる。その結果、データ圧縮処理部745における処理速度を向上できる。
III.モータ駆動部の構成
次に、モータ駆動部75の構成について、図8を用いて説明する。図8は、モータ駆動部75の構成を示す図である。
モータ駆動部75は、操作部5と、記憶部73と、切替部77と信号送受信可能に接続されている。また、モータ駆動部75は、モータ23a、23bと電気的に接続されている。さらに、モータ駆動部75は、モータ23a、23bのそれぞれに備えられたエンコーダ231a、231bと信号送受信可能に接続されている。
モータ駆動部75は、駆動切替部751と、再現走行指令部753と、モータ制御部755と、を有する。
駆動切替部751は、切替部77と信号送受信可能に接続されている。また、駆動切替部751は、3つの端子d、e、fを有している。駆動切替部751は、切替部77において教示走行モードが選択された場合、端子dと端子eとを接続する。また、駆動切替部751は、切替部77において再現走行モードが選択された場合、端子eと端子fとを接続する。
その結果、駆動切替部751は、教示走行モードの実行時には、操作部5の操作ハンドル51a、51bの回動量及び回動方向を、モータ制御部755(後述)へと入力する。一方、駆動切替部751は、再現走行モードの実行時には、再現走行指令部753(後述)により作成された再現走行指令(後述)をモータ制御部755へと入力する。
再現走行指令部753は、記憶部73と信号送受信可能に接続されている。また、再現走行指令部753は、駆動切替部751の端子fと接続されている。
再現走行指令部753は、再現走行モードの実行時に、記憶部73に記憶された予定走行経路データに基づいて、モータ制御部755(後述)によりモータ23a、23bを制御するための再現走行指令を作成する。そして、再現走行指令部753は、再現走行モードの実行時に、再現走行指令をモータ制御部755に出力する。
モータ制御部755は、モータ23a、23bと電気的に接続されている。また、モータ制御部755は、モータ23a、23bのそれぞれに備えられたエンコーダ231a、231bと信号送受信可能に接続されている。さらに、モータ制御部755は、駆動切替部751の端子eと接続されている。
モータ制御部755は、教示走行モードの実行時には、駆動切替部751を介して、操作部5の操作ハンドル51a、51bの回動量及び回動方向が入力され、当該回動量及び回動方向に基づいて、モータ23a、23bを独立に制御する。一方、再現走行モードの実行時には、モータ制御部755は、駆動切替部751を介して、予定走行経路データに基づいて作成された再現走行指令が入力され、再現走行指令に基づいて、モータ23a、23bを制御する。
また、モータ制御部755は、モータ23a、23bを制御する際に、エンコーダ231a、231bにより測定されたモータ23a、23bの回転数及び回転量などをモニターしている。そして、モータ制御部755は、モータ23a、23bの回転数及び回転量などをフィードバックして、モータ23a、23bを制御している(フィードバック制御)。
そのため、モータ制御部755としては、フィードバック制御理論を用いたモータ制御装置などを用いることができる。
(6)自律走行台車の基本動作
次に、本実施形態に係る自律走行台車の基本動作について、図9Aを用いて説明する。図9Aは、自律走行台車の基本動作を示すフローチャートである。ここでは、図5Bに示したように予定走行経路処理部74がデータ圧縮処理部745を備える自律走行台車100の予定走行経路データの作成動作を例にとって説明する。
予定走行経路データの作成を開始すると、教示部71が、自律走行台車100を操作者が操作することにより自律走行台車100が通過した予定走行経路の予定走行経路データを取得し、記憶部73に記憶する(ステップS1)。
予定走行経路データを取得し、記憶部73に記憶した後、予定走行経路処理部74が記憶部73から予定走行経路データを読み込む。そして、予定走行経路処理部74は、予定走行経路データに含まれる走行経路(部分予定走行経路)の注目曲率半径が第1の値より大きくなるように、予定走行経路データを加工する(ステップS2)。
なお、加工された予定走行経路データは、加工された後に記憶部73に記憶されてもよい。また、予定走行経路データを記憶部73に記憶したままの状態で、予定走行経路処理部74は予定走行経路データを加工してもよい。
また、上記のステップS2における予定走行経路データの加工は、自律走行台車100から分離した、予定走行経路処理部74と同等の機能を有する端末、例えば、予定走行経路処理部74と同等の機能を有するプログラムが実行される他のコンピュータ端末などにおいて実行されてもよい。
この場合、例えば、ステップS1において予定走行経路データを取得後、予定走行経路データを、記憶部73から、例えば、USB(Universal Serial Bus)接続可能な記憶デバイス(例えば、USBメモリー)などに転送し、転送した予定走行経路データを上記の他のコンピュータ端末などにさらに転送して、予定走行経路データの加工を実行する。そして、予定走行経路データの加工後、当該他のコンピュータ端末から、自律走行台車100の記憶部73に加工後の予定走行経路データを転送する。
これにより、自律走行台車100を動作させつつ、他のコンピュータ端末において予定走行経路データの加工を同時に行うといった、効率のよい自律走行台車100の運用が可能となる。
なお、ステップS1における予定走行経路データの取得方法、及び、ステップS2における予定走行経路データの加工方法については、後ほど説明する。
ステップS2における予定走行経路データの加工後、自律走行台車100を自律走行させたい場合は、設定部53などにより自律走行台車100の走行モードを再現走行モードに切り替える。そして、自律走行台車100を自律走行させる(ステップS3)。このとき、駆動切替部751は、端子eと端子fとを接続する。その結果、自律走行台車100は、加工された圧縮後予定走行経路データ(後述)に基づいて自律走行可能となる。
具体的には、まず、自律走行台車100のモータ駆動部75が、加工された圧縮後予定走行経路データに含まれる圧縮後サブゴール点(後述)を、予め決められたモータ23a、23bの制御周期毎に記憶部73から読み込む。
次に、再現走行指令部753が、読み込まれた圧縮後サブゴール点から、モータ23a、23bを制御するための制御指令(再現走行指令)を生成する。
そして、再現走行指令部753は、駆動切替部751を介して、生成した再現走行指令をモータ制御部755に送信する。この結果、モータ制御部755は、受信した再現走行指令に基づき、モータ23a、23bを制御する。
これにより、自律走行台車100は、注目曲率半径が第1の値以下の部分予定走行経路を含まない予定走行経路を忠実に再現しながら自律走行できる。
I.予定走行経路データの取得方法
まず、図9AのステップS1における、本実施形態に係る自律走行台車100における予定走行経路データの取得方法について、図9Bを用いて説明する。図9Bは、自律走行台車100における予定走行経路データの取得方法を示すフローチャートである。
まず、予定走行経路データを取得するために、自律走行台車100の走行モードを教示走行モードに設定する(ステップS11)。走行モードの教示走行モードへの切替は、例えば、操作者が操作部5の設定部53を操作することにより、実行される。
設定部53により走行モードが教示走行モードへ切り替えられると、走行モードが教示走行モードとなったことが制御部7の切替部77に通知される。そして、切替部77は、モータ駆動部75の駆動切替部751に対して、駆動切替部751の端子dと端子eとを接続するよう指令する。これにより、操作部5の操作ハンドル51a、51bの回動量及び回動方向に関する信号が、モータ制御部755に入力されるようになる。これにより、操作者は、操作ハンドル51a、51bの回動量及び回動方向などを調整することにより、自律走行台車100を手動操作できる。
走行モードを教示走行モードに設定したタイミングにおいて、教示部71は、教示データ取得時間を測定するためのタイマー(図示せず)を開始する。当該タイマーの機能は、制御部7を構成するコンピュータなどに備わった時計機能又はクロック発生装置などを用いて実現される。
走行モードを教示走行モードに設定後、操作者が自律走行台車100を手動により操作する。操作者による手動操作中に、教示部71は、あらかじめ決められた教示データ取得時間毎(所定の制御周期毎)にサブゴール点を取得し、記憶部73に記憶する(ステップS12)。サブゴール点を取得する際、教示部71は、位置推定部72に対して、現在の自律走行台車100の移動座標上の位置(サブゴール点の座標)を推定するよう指令する。そして、位置推定部72は、当該指令に対して、座標値により表現された位置(サブゴール点)を教示部71に出力する。そして、教示部71は、出力されたサブゴール点を記憶部73に記憶する。
サブゴール点を記憶部73に記憶する際、すでにサブゴール点が記憶部73に記憶されている場合には、教示部71は、記憶されているサブゴール点の末尾に、新たに取得したサブゴール点を追加する。このようにして、サブゴール点の集合体、すなわち、予定走行経路データが記憶部73に記憶される。
なお、特に予定走行経路データに対して圧縮処理を行う場合、教示データ取得時間は、再現走行モードの実行時に走行部2を制御する制御間隔の1/m(m:1より大きい整数)倍以下であることが好ましい。これにより、再現走行モードの実行時における操作部5の制御間隔の間に少なくともm個のサブゴール点が取得される。
そして、後述するように、少なくともm個のサブゴール点を平均し平均値を新たなサブゴール点とすることにより予定走行経路データの圧縮処理を行うことにより、予定走行経路データに含まれるノイズの量を低減できる。
なお、上記の教示データ取得時間は、走行部の制御間隔などを考慮して適切な時間が選択される。教示データ取得時間が長すぎる場合、予定走行経路データ中のサブゴール点密度(予定走行経路の単位長さあたりのサブゴール点数)が低くなる。その結果、圧縮後予定走行経路データ(後述)により表現される圧縮後予定走行経路が、本来の予定走行経路とは異なる形状となってしまう場合がある。すなわち、データ圧縮処理部745における圧縮処理により形成される圧縮後予定走行経路が、予定走行経路を再現できなくなる場合がある。
一方、教示データ取得時間が短すぎる場合、予定走行経路データ中のサブゴール点密度は大きくなるが、制御部7(特に、教示部71及び位置推定部72)の教示データの取得を行うための処理負荷が増加する。その結果、教示走行モードの実行時におけるモータ駆動部75によるモータ制御に遅れが生じるなどの影響が生じることがある。
また、教示データ取得時間を短くして高いサブゴール点密度の予定走行経路データを作成した場合、データ圧縮処理部745のデータ圧縮処理を多数回行う必要がある。それに加えて、圧縮後予定走行経路データに対する、注目曲率半径の算出及びサブゴール点の移動を行う処理も、多数回行う必要がある。その結果、予定走行経路データの加工処理に時間がかかる。
サブゴール点を取得後、教示部71は、次のサブゴール点の取得までの間に、操作者の手動操作による予定走行経路の教示が終了したかどうかを確認する(ステップS13)。ここで、予定走行経路の教示が終了したかどうかの判断は、例えば、予定走行経路の教示が終了したことを教示部71に通知するスイッチ(図示せず)を操作部5に設けて、操作者が当該スイッチを操作することにより、予定走行経路の教示が終了したことを通知してもよい。
または、操作ハンドル51a、51bの回動量が0(操作されていない)であることを一定時間検知したときに、予定走行経路の教示が終了したと、教示部71が判断してもよい。
その他、操作者が自律走行台車100の操作を終了したことを検出する他の手段により、予定走行経路の教示が終了したかどうかを判断できる。
操作者の手動操作による予定走行経路の教示が終了したと判断した場合(ステップS13において、「Yes」の場合)、教示部71は、教示走行モードの実行を停止し(ステップS14)、予定走行経路データの取得を終了する。
一方、操作者の手動操作による予定走行経路の教示が継続していると判断した場合(ステップS13において、「No」の場合)、ステップS12に戻り、サブゴール点の取得と記憶を継続する。これにより、教示部71は、予定走行経路の教示が継続している限り、サブゴール点の取得と記憶とを継続できる。すなわち、教示部71は、走行開始位置から走行終了位置まで走行した際の予定走行経路を、サブゴール点の集合体として取得できる。
本実施形態においては、上記の図9Bに示したフローチャートによる手順により、図10に示すような予定走行経路(予定走行経路データ)が、移動座標上の座標値の集合体として取得されたとする。
II.予定走行経路データの加工方法
次に、図9AのステップS2における、予定走行経路データの加工方法について、図9C、図10、図11A、図11B、図12A及び図12Bを用いて説明する。図9Cは、予定走行経路データの加工方法を示すフローチャートである。図11Aは、圧縮処理前の予定走行経路データによる予定走行経路を示す図である。図11Bは、圧縮後予定走行経路データによる予定走行経路を示す図である。図12Aは、サブゴール点移動前の圧縮後予定走行経路データによる予定走行経路を示す図である。図12Bは、サブゴール点移動後の圧縮後予定走行経路データによる予定走行経路を示す図である。
まず、データ圧縮処理部745が、得られた予定走行経路データに対して、圧縮処理を行い、圧縮後予定走行経路データを作成する(ステップS21)。具体的には、データ圧縮処理部745は、予定走行経路データの連続する所定の数(本実施形態では、mとする)のサブゴール点の平均値を算出する。そして、データ圧縮処理部745は、当該平均値を、圧縮後予定走行経路データのサブゴール点(圧縮後サブゴール点)として設定する。
これにより、図11Bに示された圧縮処理後の圧縮後予定走行経路データの圧縮後サブゴール点数は、図11Aに示された圧縮処理前の予定走行経路データのサブゴール点数の1/mに減少する。これにより、後述する注目曲率半径の算出及びサブゴール点の移動を行う処理数が減少する。
また、データ圧縮処理部745が予定走行経路データを圧縮処理することにより、図11Aの円11〜円13により囲まれた部分に存在する予定走行経路データのノイズ成分が、圧縮処理後の圧縮後予定走行経路データにおいて、ほとんどなくなっている。このように、データ圧縮処理部745が予定走行経路データに対して上記の圧縮処理を行うことにより、予定走行経路データに含まれるノイズ成分を減少できる。
予定走行経路データに対して圧縮処理を行い、圧縮後予定走行経路データを作成後、曲率算出部741が、圧縮後予定走行経路データに含まれる1つの圧縮後サブゴール点を注目サブゴール点として、注目曲率半径を算出する(ステップS22)。
具体的には、曲率算出部741は、圧縮後予定走行経路データのn番目(n:整数)の圧縮後サブゴール点を注目サブゴール点とし、直前の圧縮後サブゴール点であるn−1番目の圧縮後サブゴール点を第1サブゴール点とし、さらに、直後の圧縮後サブゴール点であるn+1番目の圧縮後サブゴール点を第2サブゴール点とし、これら3つのサブゴール点を通る円(注目円)の半径Rを注目曲率半径として算出する。
また、ステップS22において、曲率算出部741は、上記の余弦定理を用いた式などを用いて、注目サブゴール点、第1サブゴール点、及び第2サブゴール点により形成される三角形の、注目サブゴール点における角度(注目点角度φ)を算出してもよい。
さらに、曲率算出部741は、圧縮後予定走行経路データに、注目サブゴール点において算出された注目曲率半径(注目円の半径、又は/及び、注目点角度φ)を、当該注目サブゴール点に対応する圧縮後サブゴール点に関連づけて記憶しておいてもよい。これにより、後述するように、すべての圧縮後サブゴール点において、注目円の半径が第1の値より大きいか、又は/及び、注目点角度φが第1の角度より大きいかどうかを判断する際に、サブゴール点処理部743は圧縮後予定走行経路データを参照して当該判断処理を実行できる。
注目曲率半径を算出後、サブゴール点処理部743が、注目円の半径R(注目曲率半径)が第1の値以下であるかどうかを判定する(ステップS23)。サブゴール点処理部743が、注目円の半径Rが第1の値以下であると判断した場合(ステップS23において、「Yes」の場合)、ステップS24に進む。一方、サブゴール点処理部743が、注目円の半径が第1の値より大きいと判断した場合(ステップS23において、「No」の場合)、ステップS25に進む。
また、曲率算出部741が注目点角度φを算出する場合、ステップS23において、サブゴール点処理部743は、注目点角度φが第1の角度以下であるかどうかを判定する。この場合、注目点角度φが第1の角度以下であった場合に、ステップS24に進む。そして、注目点角度φが第1の角度より大きい場合に、ステップS25に進む。
ステップS24において、サブゴール点処理部743は、注目円の半径R(注目曲率半径)が第1の値よりも大きくなるように(又は、注目点角度φが第1の角度よりも大きくなるように)、注目サブゴール点を移動させる。
具体的には、サブゴール点処理部743は、第1サブゴール点、注目サブゴール点、第2サブゴール点により構成される三角形の重心の位置に、注目サブゴール点を新たに移動させる。今、第1サブゴール点の座標値を(xn−1,yn−1)、注目サブゴール点の座標値を(x,y)、第2サブゴール点の座標値を(xn+1,yn+1)とした場合、新たな注目サブゴール点の座標値は、((xn−1+x+xn+1)/3,(yn−1+y+yn+1)/3)となる。
上記のように、サブゴール点処理部743が注目サブゴール点の位置を移動させた後、ステップS25に進む。
ステップS25において、サブゴール点処理部743は、圧縮後予定走行経路データ中の全ての圧縮後サブゴール点を注目サブゴール点とし、全ての圧縮後サブゴール点において、注目円の半径(注目曲率半径)が第1の値以下であるか(又は、注目点角度φが第1の角度以下であるか)どうかの判断を行ったかどうかを判定する。
具体的には、例えば、圧縮後予定走行経路データが制御部7を構成するコンピュータにおいて扱える電子データであった場合、サブゴール点処理部743は、ステップS23又はステップS24における処理の後に、圧縮後予定走行経路データの「End of file」の識別子を検出したかどうかにより、全ての圧縮後サブゴール点において注目曲率半径の大小の判断を実行したかどうかを判定できる。
全ての圧縮後サブゴール点において注目曲率半径の大小の判断を実行していないと判断した場合(ステップS25において、「No」の場合)、ステップS22に戻り、次の注目サブゴール点において、注目曲率半径の算出と、必要に応じて、圧縮後サブゴール点の移動を実行する。
具体的には、圧縮後予定走行経路データのn+1番目の圧縮後サブゴール点を注目サブゴール点とし、n番目の圧縮後サブゴール点を第1サブゴール点とし、n+2番目の圧縮後サブゴール点を第2サブゴール点として、上記ステップS22〜ステップS24までの処理を行う。そして、上記ステップS22〜ステップS24までの処理を、圧縮後予定走行経路データの全ての圧縮後サブゴール点に対して実行する。
なお、圧縮後予定走行経路データの1番目の圧縮後サブゴール点、及び、最後の圧縮後サブゴール点に対しては、上記S22〜ステップS24までの処理は行わない。なぜなら、1番目の圧縮後サブゴール点においては第1サブゴール点を設定できず、最後の圧縮後サブゴール点においては第2サブゴール点を設定できないからである。
一方、サブゴール点処理部743が、全ての圧縮後サブゴール点において注目曲率半径の大小の判断を実行したと判断した場合(ステップS25において、「Yes」の場合)、ステップS26に進む。
このように、圧縮後予定走行経路データの全ての圧縮後サブゴール点に対して、注目曲率半径の大小の判断と、必要に応じて注目サブゴール点の移動させる処理を行った後の圧縮後予定走行経路データを図12Bに示す。図12Aに示した、上記注目サブゴール点を移動させる処理を行う前の圧縮後予定走行経路データと比較して、特に、円14及び円15にて示した「曲がりのきつい」(曲率半径の小さい)部分予定走行経路が、図12Bに示す圧縮後予定走行経路データにおいてはより緩やかな曲がりを有した部分予定走行経路に変化していることが分かる。
ステップS26において、サブゴール点処理部743は、上記ステップS22〜ステップS25までの処理を行った後の圧縮後予定走行経路データに、注目円の半径(注目曲率半径)が第1の値以下(又は、注目点角度φが第1の角度以下)の部分予定走行経路が存在するかどうか判断する。ステップS22〜ステップS25までの処理を行った後の圧縮後予定走行経路データに、注目曲率半径が第1の値以下である部分予定走行経路が存在しないと判断された場合(ステップS26において、「No」の場合)、予定走行経路データの加工処理を終了する。
一方、ステップS22〜ステップS25までの処理を行った後の圧縮後予定走行経路データに、注目曲率半径が第1の値以下である部分予定走行経路が存在すると判断された場合(ステップS26において、「Yes」の場合)、ステップS22に戻り、圧縮後予定走行経路データに対して、上記ステップS22〜ステップS25の処理を再び実行する。そして、注目曲率半径が第1の値以下である部分予定走行経路が、圧縮後予定走行経路データに存在しなくなるまで、上記ステップS22〜ステップS25を繰り返す。
図13A〜図13Cに、注目サブゴール点を移動した回数毎の圧縮後予定走行経路データの変遷を示す。図13Aは、サブゴール点の移動を1回実行した後の圧縮後予定走行経路データによる予定走行経路を示す図である。図13Bは、サブゴール点の移動を2回実行した後の圧縮後予定走行経路データによる予定走行経路を示す図である。図13Cは、サブゴール点の移動を3回実行した後の圧縮後予定走行経路データによる予定走行経路を示す図である。上記ステップS22〜ステップS25を繰り返す回数(注目サブゴール点を移動させる回数)が1回から3回まで増加するに従い、特に、図13A〜図13Cの円16及び長方形17にて囲まれた走行経路の曲がりが緩やかになっている(すなわち、曲率半径が大きくなっている)ことが分かる。
また、図11A〜図13Cに示すように、上記の予定走行経路データの加工を行っても、予定走行経路の走行開始位置(図11A〜図13Cにおいては、移動座標上の原点Oに存在)と、予定走行経路の走行終了位置(図11A〜図13Cにおいては、予定走行経路の終端のうち、原点Oに存在しない方の終端に対応)とを結ぶ直線のような予定走行経路は形成されていない。すなわち、上記の予定走行経路データの加工方法において、例えば、走行開始位置から走行終了位置へ最短で到達する走行経路のように、本来教示された予定走行経路とは異なる走行経路は形成されない。
従って、上記の予定走行経路データの加工方法を用いることにより、予定走行経路データ中に曲率半径が第1の値以下となる部分予定走行経路を含むことなく、自律走行台車100が教示された予定走行経路を忠実に自律的に走行可能な予定走行経路データを作成できる。
(7)実施形態の効果
以下に、本実施形態の効果について述べる。
自律走行台車100(自律走行台車の一例)は、台車部1(台車部の一例)と、走行部2(走行部の一例)と、教示部71(教示部の一例)と、曲率算出部741(曲率算出部の一例)と、サブゴール点処理部743(サブゴール点処理部の一例)と、を備える。走行部2は、台車部1に搭載される。そして、走行部2は、台車部1を走行させる。教示部71は、教示走行モード(教示走行モードの一例)の実行時に、サブゴール点(サブゴール点の一例)を取得する。そして、教示部71は、予定走行経路(予定走行経路の一例)を表現する予定走行経路データ(予定走行経路データの一例)を、サブゴール点の集合体として記憶する。曲率算出部741は、部分予定走行経路(部分予定走行経路の一例)の、注目サブゴール点(注目サブゴール点の一例)における曲率半径である注目曲率半径(注目曲率半径)を算出する。サブゴール点処理部743は、注目曲率半径が第1の値(第1の値の一例)以下の場合に、注目曲率半径が第1の値以上になるように、サブゴール点を移動させる処理を行う。
自律走行台車100では、まず、教示走行モードを実行して、操作者(操作者の一例)の操作による自律走行台車100の走行経路(予定走行経路)を、予定走行経路データとして取得し記憶する。そして、自律走行台車100は、取得した予定走行経路データに含まれる注目サブゴール点と、注目サブゴール点の前後に存在する所定の数のサブゴール点とにより形成される部分予定走行経路の、注目サブゴール点における曲率半径(注目曲率半径)を算出する。さらに、自律走行台車100は、注目曲率半径が第1の値以下である場合に、注目曲率半径が第1の値以上になるようにサブゴール点を移動させる。
これにより、自律走行台車100は、教示走行モードを実行した直後に記憶された予定走行経路データに、忠実に再現走行不能な走行経路が含まれている場合でも、予定走行経路データに自律走行台車100が忠実に再現走行可能な走行経路のみを含むような、予定走行経路データを作成できる。なぜなら、予定走行経路データ中に注目曲率半径が第1の値以下の部分予定走行経路が存在する場合、サブゴール点処理部743が、注目曲率半径が第1の値以上になるようにサブゴール点を移動させるからである。その結果、自律走行台車100は、再現走行モードの実行時に、予定走行経路から外れることなく、予定走行経路を忠実に再現走行できる。
本実施形態では、部分予定走行経路は、注目サブゴール点と、注目サブゴール点の直前の第1サブゴール点と、注目サブゴール点の直後の第2サブゴール点と、含む3つのサブゴール点により形成されている。これにより、より簡単な計算で注目曲率半径を算出できる。そして、より簡単な計算によりサブゴール点を移動できる。その結果、曲率算出部741及びサブゴール点処理部743の処理速度が向上する。
また、第1サブゴール点と第2サブゴール点とを、注目サブゴール点の直前又は直後のサブゴール点とすることにより、サブゴール点処理部743は、より少ない処理(注目サブゴール点を移動させる処理)回数にて注目曲率半径が第1の値となるように予定走行経路データを加工できる。
また、曲率算出部741は、部分予定走行経路を形成する3つのサブゴール点により形成される三角形の、注目サブゴール点における注目点角度φ(注目点角度の一例)を算出している。この場合、サブゴール点処理部743は、注目点角度φが第1の角度(第1の角度の一例)以下であると判定した場合に、注目曲率半径が第1の値以下であると判断している。
注目サブゴール点を含む3つのサブゴール点により形成される三角形における注目点角度φは、注目曲率半径と対応している。そのため、簡単な計算により算出可能な注目点角度φを、注目曲率半径の大小の判断に用いることができる。その結果、より簡単な計算により、注目曲率半径の大小を判断できる。その結果、曲率算出部741及びサブゴール点処理部743における処理速度が向上する。
曲率算出部741は、部分予定走行経路を近似又は表現する円である注目円(注目円の一例)の半径を算出している。また、この場合、サブゴール点処理部743は、注目円の半径が第1の値以下であると判定した場合に、注目曲率半径が第1の値以下であると判断している。部分予定走行経路を注目円で近似又は表現することにより、より簡単な計算方法により注目曲率半径を算出できる。
サブゴール点処理部743は、注目サブゴール点を、部分予定走行経路を形成するサブゴール点により形成される多角形の重心に移動させることにより、部分予定走行経路の注目曲率半径を増加させている。
これにより、より簡単な計算により、かつ、より計算回数を減少して、注目曲率半径が第1の値以上になるように、注目サブゴール点を移動できる。その結果、予定走行経路データに自律走行台車100が走行可能な走行経路のみが含まれるよう、予定走行経路データの加工を行う時間と計算負荷を減少できる。
自律走行台車100は、データ圧縮処理部745(データ圧縮処理部の一例)をさらに備えている。データ圧縮処理部745は、予定走行経路データに含まれるサブゴール点の数を減らして圧縮後予定走行経路データ(圧縮後予定走行経路データの一例)を作成する。
これにより、予定走行経路データに含まれるノイズを取り除ける。
データ圧縮処理部745は、連続する所定の数のサブゴール点の位置の平均値を算出し、平均値に対応する位置に圧縮後サブゴール点(圧縮後サブゴール点の一例)を設定する処理を行っている。
これにより、より簡単に予定走行経路データを圧縮処理できる。その結果、データ圧縮処理部745における処理速度を向上できる。
曲率算出部741における処理、及び、サブゴール点処理部743における処理は、圧縮後予定走行経路データに対して行わる。
これにより、注目曲率半径の算出及び、サブゴール点の移動のための処理を減少できる。
自律走行台車100は、台車部1の走行環境における位置を所定の制御周期毎に推定する位置推定部72(位置推定部の一例)をさらに備えている。
これにより、自律走行台車100は、精度よく走行環境における自律走行台車100の位置を推定できる。
(8)他の実施形態
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
(A)予定走行経路データの加工方法についての他の実施形態
上記の第1実施形態において、予定走行経路に第1の値以下の曲率半径を有するサブ走行予定経路が含まれないよう予定走行経路データの加工するとき、3つのサブゴール点により形成される三角形の重心位置に注目サブゴール点を移動させる方法により、予定走行経路データの加工を行っていた。しかし、予定走行経路データの加工方法は、上記の第1実施形態において説明した方法に限られない。例えば、以下に示すような方法を採用できる。
(a)予定走行経路に第1の値以下の曲率半径を有するサブ走行予定経路が含まれないよう予定走行経路データの加工する方法として、3つのサブゴール点により形成されるサブ走行予定経路の、注目サブゴール点以外の2点(すなわち、サブ走行予定経路の始点と終点)を結ぶ直線と注目サブゴール点との距離を短縮するよう、注目サブゴール点を移動してもよい。
具体的には、図14に示すように、例えば、3つのサブゴール点D、E、F(Eを注目サブゴール点とする)のうちの点Dと点Fを通る直線への注目サブゴール点Eからの垂線を定義する。そして、注目サブゴール点Eと比較して、当該垂線上の点Dと点Fを通る直線により近い位置に、新たな注目サブゴール点E’を設定(注目サブゴール点を移動)する。
この場合、例えば、注目サブゴール点Eと、上記垂線と点Dと点Fを通る直線との交点Gとの中点に、新たな注目サブゴール点E’を設定してもよい。これにより、比較的簡単な計算により、新たな注目サブゴール点E’を算出できる。
(b)予定走行経路に第1の値以下の曲率半径を有するサブ走行予定経路が含まれないよう予定走行経路データの加工する他の方法として、複数のサブゴール点を制御点とするベジエ曲線上に、新たなサブゴール点を設定する方法を用いてもよい。
具体的には、図15に示すように、まず、4つのサブゴール点H、I、J、Kにおいて、点Hと点Iを結ぶ線分HI、点Iと点Jを結ぶ線分IJ、点Jと点Kを結ぶ線分JKを定義する。そして、線分HI、線分IJ、及び線分JKをt:1−t(0<t<1)に分割する点をそれぞれ、点H’、点I’、点J’とする。さらに、点H’と点I’を結ぶ線分をt:1−tに分割する点を点H’’、点I’と点J’を結ぶ線分をt:1−tに分割する点を点I’’とする。そして、さらに点H’’と点I’’を結ぶ線分をt:1−tに分割する点を点H’’’とする。
このとき、tの値を0から1まで連続的に変化させると、点H’’’はベジエ曲線を軌跡として描画する。従って、点H’’’において、tを0、t、t、1(0<t<t<1)と離散的に変化させることにより、当該ベジエ曲線上に新たな4つのサブゴール点を設定できる。なお、t=0の時は、点H’’’は点Hと一致し、t=1の時は、点H’’’は点Kと一致する。
ベジエ曲線上に新たなサブゴール点を設定する場合、部分予定走行経路を形成するサブゴール点数は3に限られない。また、一度に複数のサブゴール点を移動できる。その結果、サブゴール点を移動させるための計算量を減少できる。
本発明は、対向二輪差動型などの単純な構造を有する走行部を有した自律走行台車の制御に広く適用できる。
100 自律走行台車
1 台車部
2 走行部
21a、21b 主輪
23a、23b モータ
231a、231b エンコーダ
3 検出部
31 前方検出器
33 後方検出器
5 操作部
51a、51b 操作ハンドル
53 設定部
55 表示部
57 インターフェース
59 筐体
7 制御部
71 教示部
72 位置推定部
73 記憶部
74 予定走行経路処理部
741 曲率算出部
743 サブゴール点処理部
745 データ圧縮処理部
75 モータ駆動部
751 駆動切替部
753 再現走行指令部
755 モータ制御部
76 障害物情報取得部
77 切替部
8 補助輪部
8a、8b 補助車輪
9 取付部材
11〜16 円
17 長方形
A、B、C 辺
D、F サブゴール点
E 注目サブゴール点
E’ 新たな注目サブゴール点
G 交点
H、I、J、K サブゴール点
H’、I’、J’ 点
H’’、I’’ 点
H’’’ 点(新たなサブゴール点)
R 注目円の半径
d、e、f 端子
θ 角度
φ、φ、φ、φ 注目点角度

Claims (12)

  1. 操作者の操作により走行開始位置から走行終了位置まで走行した際の走行経路である予定走行経路を教示する教示走行モードと、前記予定走行経路を再現しながら自律的に走行する再現走行モードと、を実行する自律走行台車であって、
    台車部と、
    前記台車部に搭載され、前記台車部を走行させる走行部と、
    前記教示走行モードの実行時に、前記走行開始位置から前記走行終了位置までに前記台車部が通過した走行環境における位置に関する情報であるサブゴール点を取得し、前記予定走行経路を表現する予定走行経路データを前記サブゴール点の集合体として記憶する教示部と、
    前記予定走行経路データに含まれる1の前記サブゴール点を注目サブゴール点とし、前記注目サブゴール点と、前記注目サブゴール点から見て前記予定走行経路データの前後に存在する所定の数の前記サブゴール点と、により形成される部分予定走行経路の、前記注目サブゴール点における曲率半径である注目曲率半径を算出する曲率算出部と、
    前記注目曲率半径が第1の値以下の場合に、前記注目曲率半径が前記第1の値より大きくなるように、前記サブゴール点を移動させる処理を行うサブゴール点処理部と、
    を備える自律走行台車。
  2. 前記部分予定走行経路は、前記注目サブゴール点と、前記注目サブゴール点の直前の第1サブゴール点と、前記注目サブゴール点の直後の第2サブゴール点と、含む3つの前記サブゴール点により形成される、請求項1に記載の自律走行台車。
  3. 前記曲率算出部は、前記注目曲率半径として、前記部分予定走行経路を形成する3つの前記サブゴール点により形成される三角形の、前記注目サブゴール点における注目点角度を算出し、
    前記サブゴール点処理部は、前記注目点角度が第1の角度以下であると判定した場合に、前記注目曲率半径が前記第1の値以下であると判断する、請求項2に記載の自律走行台車。
  4. 前記曲率算出部は、前記注目曲率半径として、前記部分予定走行経路を近似又は表現する円である注目円の半径を算出し、
    前記サブゴール点処理部は、前記注目円の半径が前記第1の値以下であると判定した場合に、前記注目曲率半径が前記第1の値以下であると判断する、請求項1〜3のいずれかに記載の自律走行台車。
  5. 前記サブゴール点処理部は、前記注目サブゴール点を、前記部分予定走行経路を形成する前記サブゴール点により形成される多角形の重心に移動させることにより、前記部分予定走行経路の前記注目曲率半径を増加させる、請求項1〜4のいずれかに記載の自律走行台車。
  6. 前記予定走行経路データに含まれる前記サブゴール点の数を減らして圧縮後予定走行経路データを作成するデータ圧縮処理部をさらに備える、請求項1〜5のいずれかに記載の自律走行台車。
  7. 前記データ圧縮処理部は、連続する所定の数の前記サブゴール点の位置の平均値を算出し、前記平均値に対応する位置に圧縮後サブゴール点を設定する処理を行う、請求項6に記載の自律走行台車。
  8. 前記曲率算出部における処理、及び、前記サブゴール点処理部における処理は、前記圧縮後予定走行経路データに対して行われる、請求項6又は7に記載の自律走行台車。
  9. 前記台車部の走行環境における位置を所定の制御周期毎に推定する位置推定部をさらに備える、請求項1〜8のいずれかに記載の自律走行台車。
  10. 台車部と、前記台車部に搭載され前記台車部を走行させる走行部とを備え、操作者の操作により走行開始位置から走行終了位置まで走行した際の走行経路である予定走行経路を教示する教示走行モードと、前記予定走行経路を再現しながら自律的に走行する再現走行モードと、を実行する自律走行台車において、前記予定走行経路を表す予定走行経路データを加工する方法であって、
    前記教示走行モードの実行時に取得し記憶された前記予定走行経路データに含まれる、前記走行開始位置から前記走行終了位置までに前記台車部が通過した走行環境における位置に関する情報であるサブゴール点のうち、1の前記サブゴール点を注目サブゴール点とし、前記注目サブゴール点と、前記注目サブゴール点から見て前記予定走行経路データの前後に存在する所定の数の前記サブゴール点と、により形成される部分予定走行経路の、前記注目サブゴール点における曲率半径である注目曲率半径を算出するステップと、
    前記注目曲率半径が第1の値以下の場合に、前記注目曲率半径が第1の値より大きくなるように、前記サブゴール点を移動させる処理を行うステップと、
    を含む予定走行経路データの加工方法。
  11. 前記予定走行経路データに含まれる前記サブゴール点の数を減らして圧縮後予定走行経路データを作成するステップをさらに含む、請求項10に記載の予定走行経路データの加工方法。
  12. 請求項10又は11に記載の予定走行経路データの作成方法をコンピュータに実行させるためのプログラム。
JP2013193322A 2013-09-18 2013-09-18 自律走行台車、予定走行経路データの加工方法、及びプログラム Active JP6402436B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013193322A JP6402436B2 (ja) 2013-09-18 2013-09-18 自律走行台車、予定走行経路データの加工方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013193322A JP6402436B2 (ja) 2013-09-18 2013-09-18 自律走行台車、予定走行経路データの加工方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2015060388A true JP2015060388A (ja) 2015-03-30
JP6402436B2 JP6402436B2 (ja) 2018-10-10

Family

ID=52817864

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013193322A Active JP6402436B2 (ja) 2013-09-18 2013-09-18 自律走行台車、予定走行経路データの加工方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6402436B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017134805A1 (ja) * 2016-02-05 2017-08-10 株式会社日立産機システム 位置検出装置、制御装置及び移動体
JP2018112917A (ja) * 2017-01-12 2018-07-19 国立大学法人豊橋技術科学大学 自律走行作業装置およびデータ管理方法
WO2019058700A1 (ja) * 2017-09-25 2019-03-28 ソニー株式会社 制御装置、制御方法及びプログラム
WO2021065241A1 (ja) * 2019-09-30 2021-04-08 日本電産株式会社 経路生成装置
WO2023286838A1 (ja) 2021-07-15 2023-01-19 住友重機械工業株式会社 自律走行台車及び自律走行台車の組立方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61278912A (ja) * 1985-06-03 1986-12-09 Komatsu Ltd 地点追従方式による無人移動機械の誘導方法
JPH08326025A (ja) * 1995-05-31 1996-12-10 Tokico Ltd 清掃ロボット
JPH11296229A (ja) * 1998-02-13 1999-10-29 Komatsu Ltd 車両の誘導装置
JP2010092279A (ja) * 2008-10-08 2010-04-22 Murata Machinery Ltd 自律移動体及び自律移動体の移動制御方法
JP2011150540A (ja) * 2010-01-21 2011-08-04 Ihi Aerospace Co Ltd 経路生成装置と方法および経路生成装置を備える移動装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61278912A (ja) * 1985-06-03 1986-12-09 Komatsu Ltd 地点追従方式による無人移動機械の誘導方法
JPH08326025A (ja) * 1995-05-31 1996-12-10 Tokico Ltd 清掃ロボット
JPH11296229A (ja) * 1998-02-13 1999-10-29 Komatsu Ltd 車両の誘導装置
JP2010092279A (ja) * 2008-10-08 2010-04-22 Murata Machinery Ltd 自律移動体及び自律移動体の移動制御方法
JP2011150540A (ja) * 2010-01-21 2011-08-04 Ihi Aerospace Co Ltd 経路生成装置と方法および経路生成装置を備える移動装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017134805A1 (ja) * 2016-02-05 2017-08-10 株式会社日立産機システム 位置検出装置、制御装置及び移動体
CN108475060A (zh) * 2016-02-05 2018-08-31 株式会社日立产机系统 位置检测装置、控制装置和移动体
JP2018112917A (ja) * 2017-01-12 2018-07-19 国立大学法人豊橋技術科学大学 自律走行作業装置およびデータ管理方法
WO2019058700A1 (ja) * 2017-09-25 2019-03-28 ソニー株式会社 制御装置、制御方法及びプログラム
WO2021065241A1 (ja) * 2019-09-30 2021-04-08 日本電産株式会社 経路生成装置
CN114450648A (zh) * 2019-09-30 2022-05-06 日本电产株式会社 路径生成装置
WO2023286838A1 (ja) 2021-07-15 2023-01-19 住友重機械工業株式会社 自律走行台車及び自律走行台車の組立方法

Also Published As

Publication number Publication date
JP6402436B2 (ja) 2018-10-10

Similar Documents

Publication Publication Date Title
JP6263970B2 (ja) 自律走行台車、及び、予定走行経路データのデータ構造
JP6340824B2 (ja) 自律走行台車
JP6340812B2 (ja) 自律走行台車
JP6402436B2 (ja) 自律走行台車、予定走行経路データの加工方法、及びプログラム
CN110260867B (zh) 一种机器人导航中位姿确定、纠正的方法、设备及装置
US9969086B1 (en) Achieving a target gait in a legged robot based on steering commands
WO2018043128A1 (ja) 自律走行装置
US20160287044A1 (en) Autonomously traveling floor washer, cleaning schedule data structure, storage medium, method for creating cleaning schedule, and program
JP2017211825A (ja) 自己位置推定装置、及び、自己位置推定方法
JP6617482B2 (ja) 自律走行車システム
JP4518033B2 (ja) 経路作成方法、移動体および移動体制御システム
JP6135289B2 (ja) 自律移動体の移動制御装置、自律移動体、及び自律移動体の制御方法
JP2009053926A (ja) 経路計画装置及び経路計画方法
JP4467533B2 (ja) 折線追従移動ロボットおよび折線追従移動ロボットの制御方法
JP6540917B1 (ja) 自走装置、自走装置の走行制御方法及び走行制御プログラム
JP6171541B2 (ja) 自律移動体の移動制御装置、自律移動体、及び自律移動体の制御方法
JP2020024618A (ja) 移動経路取得方法、及び、移動経路取得装置
Kumagai et al. Achievement of recognition guided teleoperation driving system for humanoid robots with vehicle path estimation
WO2016072186A1 (ja) 位置検出装置、制御方法及び自動走行車
JP6801243B2 (ja) 移動目標決定装置、及び、移動目標決定方法
Mariappan et al. A navigation methodology of an holonomic mobile robot using optical tracking device (OTD)
Wan Zakaria et al. Motion Planning of Differential Drive Mobile Robot Using Circular Arc.
CN212460047U (zh) 一种基于激光雷达的室内导航控制系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180116

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180718

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180719

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180814

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180827

R150 Certificate of patent or registration of utility model

Ref document number: 6402436

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250