IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ DMG森精機株式会社の特許一覧

特許7169474搬送装置、制御方法、および制御プログラム
<>
  • 特許-搬送装置、制御方法、および制御プログラム 図1
  • 特許-搬送装置、制御方法、および制御プログラム 図2
  • 特許-搬送装置、制御方法、および制御プログラム 図3
  • 特許-搬送装置、制御方法、および制御プログラム 図4
  • 特許-搬送装置、制御方法、および制御プログラム 図5
  • 特許-搬送装置、制御方法、および制御プログラム 図6
  • 特許-搬送装置、制御方法、および制御プログラム 図7
  • 特許-搬送装置、制御方法、および制御プログラム 図8
  • 特許-搬送装置、制御方法、および制御プログラム 図9
  • 特許-搬送装置、制御方法、および制御プログラム 図10
  • 特許-搬送装置、制御方法、および制御プログラム 図11
  • 特許-搬送装置、制御方法、および制御プログラム 図12
  • 特許-搬送装置、制御方法、および制御プログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-11-01
(45)【発行日】2022-11-10
(54)【発明の名称】搬送装置、制御方法、および制御プログラム
(51)【国際特許分類】
   B25J 19/04 20060101AFI20221102BHJP
   G05D 1/02 20200101ALI20221102BHJP
【FI】
B25J19/04
G05D1/02 K
【請求項の数】 8
(21)【出願番号】P 2022027646
(22)【出願日】2022-02-25
【審査請求日】2022-02-25
【早期審査対象出願】
(73)【特許権者】
【識別番号】000146847
【氏名又は名称】DMG森精機株式会社
(74)【代理人】
【識別番号】100185719
【弁理士】
【氏名又は名称】北原 悠樹
(74)【代理人】
【識別番号】100170748
【弁理士】
【氏名又は名称】稲垣 悟
(74)【代理人】
【識別番号】100150072
【弁理士】
【氏名又は名称】藤原 賢司
(72)【発明者】
【氏名】長末 秀樹
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2020-163518(JP,A)
【文献】特開平08-285526(JP,A)
【文献】特開平06-012112(JP,A)
【文献】特許第3030555(JP,B1)
【文献】特開2016-221622(JP,A)
【文献】特開平11-138473(JP,A)
【文献】特開2003-117867(JP,A)
【文献】特開2021-013983(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/06-19/04
G05D 1/02
(57)【特許請求の範囲】
【請求項1】
工作機械の外観を成すカバー上に設けられた位置認識用の物体を基準として搬送物を搬送することが可能な搬送装置であって、
走行可能に構成されている走行本体と、
前記搬送物を保持可能に構成されており、前記走行本体上に設けられている搬送ロボットと、
前記搬送ロボットに設けられているカメラと、
前記搬送装置を制御するための制御部とを備え、
前記制御部は、
前記物体が前記カメラの撮影視野に含まれる予め定められた位置に前記走行本体を移動させ、かつ、前記搬送ロボットを予め定められた第1姿勢にさせ、前記物体を写す時系列の第1画像を前記カメラから取得する処理と、
前記時系列の第1画像の差分画像に基づいて、前記物体の振動強度を認識する処理と、
前記振動強度が所定値を超えているか否かに応じた予め定められた処理とを実行する、搬送装置。
【請求項2】
記予め定められた処理は、
前記振動強度が前記所定値以下である場合に、前記時系列の第1画像のいずれかの画像内の前記物体の位置を基準として前記搬送ロボットに前記搬送物を搬送させる処理と、
前記振動強度が前記所定値を超えている場合に、前記時系列の第1画像とは別の画像であり前記物体を写す第2画像を前記カメラから取得する処理とを含む、請求項1に記載の搬送装置。
【請求項3】
記第2画像は、前記搬送ロボットが予め定められた第2姿勢に駆動された状態で撮影指示が出力されることにより前記カメラから取得され、
前記第2姿勢は、前記第1姿勢とは異なる、請求項2に記載の搬送装置。
【請求項4】
前記時系列の第1画像を前記カメラから取得する処理は、予め定められた第1周期で前記カメラに撮影指示を出力することで前時系列の第1画像を前記カメラから取得する処理を含み、
前記第2画像を前記カメラから取得する処理は、予め定められた第2周期で前記カメラに撮影指示を出力することで複数の前記第2画像を前記カメラから取得する処理を含み、
前記第2周期は、前記第1周期とは異なる、請求項2に記載の搬送装置。
【請求項5】
前記予め定められた処理は、前記振動強度が前記所定値を超えている場合に、前記工作機械が振動していることを示す警告を出力する処理を含む、請求項1または2に記載の搬送装置。
【請求項6】
前記時系列の第1画像を前記カメラから取得する処理は、前記工作機械がワークを加工している最中に実行される、請求項1~5のいずれか1項に記載の搬送装置。
【請求項7】
工作機械の外観を成すカバー上に設けられた位置認識用の物体を基準として搬送物を搬送することが可能な搬送装置の制御方法であって、
前記搬送装置は、
走行可能に構成されている走行本体と、
前記搬送物を保持可能に構成されており、前記走行本体上に設けられている搬送ロボットと、
前記搬送ロボットに設けられているカメラを備え、
前記制御方法は、
前記物体が前記カメラの撮影視野に含まれる予め定められた位置に前記走行本体を移動させ、かつ、前記搬送ロボットを予め定められた第1姿勢にさせ、前記物体を写す時系列の第1画像を前記カメラから取得するステップと、
前記時系列の第1画像の差分画像に基づいて、前記物体の振動強度を認識するステップと、
前記振動強度が所定値を超えているか否かに応じた予め定められた処理を実行するステップとを実行する、制御方法。
【請求項8】
工作機械の外観を成すカバー上に設けられた位置認識用の物体を基準として搬送物を搬送することが可能な搬送装置の制御プログラムであって、
前記物体は、工作機械の外観を成すカバー上に設けられており、
前記搬送装置は、
走行可能に構成されている走行本体と、
前記搬送物を保持可能に構成されており、前記走行本体上に設けられている搬送ロボットと、
前記搬送ロボットに設けられているカメラを備え、
前記制御プログラムは、前記搬送装置に、
前記物体が前記カメラの撮影視野に含まれる予め定められた位置に前記走行本体を移動させ、かつ、前記搬送ロボットを予め定められた第1姿勢にさせ、前記物体を写す時系列の第1画像を前記カメラから取得するステップと、
前記時系列の第1画像の差分画像に基づいて、前記物体の振動強度を認識するステップと、
前記振動強度が所定値を超えているか否かに応じた予め定められた処理を実行するステップとを実行させる、制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、搬送装置、制御方法、および制御プログラムに関する。
【背景技術】
【0002】
工場などの生産システムにおいて、無人化が望まれている。無人化を実現するために、搬送装置の開発が進められている。搬送装置は、加工前のワークや工具を工作機械に搬入したり、工作機械で加工が完了したワークや使用済の工具などを回収したりする。
【0003】
搬送装置が工作機械に対して正確に作業を行うためには、搬送装置は、自身の姿勢を定期的に補正する必要がある。当該補正技術に関し、特開2021-035708号公報(特許文献1)は、作業姿勢を補正することが可能なロボットを開示している。当該ロボットには、カメラが設けられている。当該ロボットは、カメラを用いて、工作機械の内部に設けられた姿勢補正用の識別図形を撮影し、当該カメラと当該識別図形との位置関係に基づいて、ロボットの作業姿勢を補正する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2021-035708号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
上記識別図形などの位置認識用の物体は、工作機械の動作の影響を受けて振動する。位置認識用の物体が振動している際に当該物体が撮影されると、搬送装置は、自身の作業姿勢を正確に補正することができない。したがって、位置認識用の物体の振動に対処するための技術が望まれている。なお、特許文献1は、識別図形の振動に関しては何ら開示していない。
【課題を解決するための手段】
【0006】
本開示の一例では、位置認識用の物体を基準として搬送物を搬送することが可能な搬送装置が提供される。上記物体は、工作機械の動作に起因して発生する振動の影響を受ける範囲内で、かつ上記工作機械の加工エリア外に設けられている。上記搬送装置は、カメラと、上記搬送装置を制御するための制御部とを備える。上記制御部は、上記物体が上記カメラの撮影視野に含まれている間に上記カメラに撮影指示を出力し、上記物体を写す第1画像を上記カメラから取得する処理と、上記第1画像に基づいて、上記物体の振動状態を認識する処理と、上記振動状態に応じた予め定められた処理とを実行する。
【0007】
本開示の一例では、上記搬送装置は、さらに、上記搬送物を保持可能に構成されている搬送ロボットを備える。上記予め定められた処理は、上記物体が振動していないことを上記振動状態が示す場合に、上記第1画像内の上記物体の位置を基準として上記搬送ロボットに上記搬送物を搬送させる処理と、上記物体が振動していることを上記振動状態が示す場合に、上記第1画像とは別の画像であり上記物体を写す第2画像を上記カメラから取得する処理とを含む。
【0008】
本開示の一例では、上記第1画像は、上記搬送ロボットが予め定められた第1姿勢に駆動された状態で撮影指示が上記カメラに出力されることにより取得される。上記第2画像は、上記搬送ロボットが予め定められた第2姿勢に駆動された状態で撮影指示が出力されることにより上記カメラから取得される。上記第2姿勢は、上記第1姿勢とは異なる。
【0009】
本開示の一例では、上記第1画像を上記カメラから取得する処理は、予め定められた第1周期で上記カメラに撮影指示を出力することで複数の上記第1画像を上記カメラから取得する処理を含む。上記第2画像を上記カメラから取得する処理は、予め定められた第2周期で上記カメラに撮影指示を出力することで複数の上記第2画像を上記カメラから取得する処理を含む。上記第2周期は、上記第1周期とは異なる。
【0010】
本開示の一例では、上記予め定められた処理は、上記物体が振動していることを上記振動状態が示す場合に、上記工作機械が振動していることを示す警告を出力する処理を含む。
【0011】
本開示の一例では、上記第1画像を上記カメラから取得する処理は、上記工作機械がワークを加工している最中に実行される。
【0012】
本開示の他の例では、位置認識用の物体を基準として搬送物を搬送することが可能な搬送装置の制御方法が提供される。上記物体は、工作機械の動作に起因して発生する振動の影響を受ける範囲内で、かつ上記工作機械の加工エリア外に設けられている。上記搬送装置は、カメラを備える。上記制御方法は、上記物体が上記カメラの撮影視野に含まれている間に上記カメラに撮影指示を出力し、上記物体を写す第1画像を上記カメラから取得するステップと、上記第1画像に基づいて、上記物体の振動状態を認識するステップと、上記振動状態に応じた予め定められた処理を実行するステップとを実行する。
【0013】
本開示の他の例では、位置認識用の物体を基準として搬送物を搬送することが可能な搬送装置の制御プログラムが提供される。上記物体は、工作機械の動作に起因して発生する振動の影響を受ける範囲内で、かつ上記工作機械の加工エリア外に設けられている。上記搬送装置は、カメラを備える。上記制御プログラムは、上記搬送装置に、上記物体が上記カメラの撮影視野に含まれている間に上記カメラに撮影指示を出力し、上記物体を写す第1画像を上記カメラから取得するステップと、上記第1画像に基づいて、上記物体の振動状態を認識するステップと、上記振動状態に応じた予め定められた処理を実行するステップとを実行させる。
【0014】
本発明の上記および他の目的、特徴、局面および利点は、添付の図面と関連して理解される本発明に関する次の詳細な説明から明らかとなるであろう。
【図面の簡単な説明】
【0015】
図1】搬送装置の外観を示す図である。
図2】搬送装置のカメラが位置認識用のタグを撮影している様子を示す図である。
図3】搬送装置のカメラが工作機械に付されているタグを撮影している様子を示す図である。
図4】搬送装置が工作機械からワークを搬出する様子を示す図である。
図5】走行本体の内部構造の概略を示す図である。
図6】搬送装置のハードウェア構成の一例を示す図である。
図7】搬送装置の機能構成の一例を示す図である。
図8】一例としての3次元マップを示す図である。
図9】タグの撮影態様を変えている様子の一例を示す図である。
図10】タグの撮影態様を変えている様子の他の例を示す図である。
図11】搬送ロボットの姿勢補正処理を概略的に示す図である。
図12】搬送装置の制御処理を示すフローチャートである。
図13】変形例に従う搬送装置を示す図である。
【発明を実施するための形態】
【0016】
以下、図面を参照しつつ、本発明に従う各実施の形態について説明する。以下の説明では、同一の部品および構成要素には同一の符号を付してある。それらの名称および機能も同じである。したがって、これらについての詳細な説明は繰り返さない。なお、以下で説明される各実施の形態および各変形例は、適宜選択的に組み合わされてもよい。
【0017】
<A.搬送装置100>
まず、図1を参照して、搬送装置100について説明する。図1は、搬送装置100の外観を示す図である。
【0018】
搬送装置100は、ワークや工具などの搬送物を、工作機械などの所定の場所に搬送する。また、搬送装置100は、工作機械などの所定の場所から搬送物を搬出する。
【0019】
図1に示されるように、搬送装置100は、車輪駆動の走行本体10と、搬送ロボット13とを含む。走行本体10は、カバー110を含む。
【0020】
カバー110の内部には、レーザセンサ105が設けられる。レーザセンサ105は、レーザ光を回転させながら照射し、当該レーザ光の反射光を受光するように構成される。これにより、レーザセンサ105は、周囲にある物体までの距離を測定する。搬送装置100は、レーザセンサ105の測定結果に基づいて、前進方向R、後進方向B、右折方向、および左折方向などの走行本体10の走行を制御する。
【0021】
搬送ロボット13は、たとえば、走行本体10上に設けられている。搬送ロボット13は、たとえば、アームロボットである。アームロボットとしての搬送ロボット13は、アームAR1~AR4と、エンドエフェクタ125とを含む。
【0022】
アームAR1の一端は、走行本体10に連結されている。アームAR1の他端は、アームAR2の一端と連結されている。アームAR2の他端は、アームAR3の一端と連結されている。アームAR3の他端は、アームAR4の一端と連結されている。アームAR4の他端には、エンドエフェクタ125が設けられている。エンドエフェクタ125は、ワークや工具を保持可能に構成される。
【0023】
アームAR2は、アームAR1との連結軸を回転中心としてモータによって回転可能に構成される。アームAR3は、アームAR2との連結軸を回転中心としてモータによって回転可能に構成される。アームAR4は、アームAR3との連結軸を回転中心としてモータによって回転可能に構成される。
【0024】
また、搬送ロボット13には、カメラ107が設けられている。図1の例では、カメラ107は、エンドエフェクタ125に設けられている。カメラ107は、CCD(Charge Coupled Device)カメラであってもよいし、赤外線カメラ(サーモグラフィ)であってもよいし、その他の種類のカメラであってもよい。
【0025】
なお、カメラ107は、必ずしも搬送ロボット13に設けられる必要はない。カメラ107は、たとえば、走行本体10のカバー110に設けられてもよい。
【0026】
また、走行本体10上には、搬送物の設置台109が設けられている。図1の例では、搬送物として、ワークWが示されている。搬送ロボット13は、設置台109上のワークWを把持し、指定された場所に当該ワークWを移動する。あるいは、搬送ロボット13は、指定された場所からワークWを取り出し、当該ワークWを設置台109に置く。
【0027】
なお、図1では、アームロボットとしての搬送ロボット13ついて説明を行ったが、搬送ロボット13は、アームロボットに限定されない。一例として、搬送ロボット13は、オートローダであってもよい。
【0028】
<B.タグTGを用いた姿勢補正処理>
次に、図2を参照して、位置認識用のタグTGを用いた姿勢補正処理について説明する。図2は、搬送装置100のカメラ107が位置認識用のタグTGを撮影している様子を示す図である。
【0029】
搬送装置100は、予め定められた場所において、搬送装置100内で認識している位置姿勢を正解値と比較し、当該比較結果に基づいて搬送装置100の位置姿勢を補正する。これにより、搬送装置100は、内部で認識している位置姿勢と実際の位置姿勢との誤差を無くす。
【0030】
本明細書でいう「位置姿勢」は、搬送装置100を構成する部品の位置と当該部品の角度との少なくとも一方で定義される。一例として、位置姿勢は、走行本体10の位置と、走行本体10の向きと、搬送ロボット13の各アームの角度と、搬送ロボット13のエンドエフェクタ125の位置との少なくとも1つで定義される。
【0031】
搬送装置100は、たとえば、自身の位置姿勢を補正するために、位置認識用のタグTGを用いる。タグTGは、たとえば、AprilTagなどのAR(Augmented Reality)マーカーである。タグTGには、2次元バーコードが付されている。2次元バーコード上には、白または黒で色塗られた正方形がマトリクス状に配置される。図2の例では、黒色の正方形に対してハッチングが付されている。
【0032】
搬送装置100は、作業開始前や作業中などの所定のタイミングにおいて、予め設定されている位置に移動するとともに、予め設定されている姿勢を搬送ロボット13に取らせる。その後、搬送装置100は、カメラ107にタグTGを撮影させ、画像内におけるタグTGの位置姿勢を認識する。
【0033】
次に、搬送装置100は、画像基準の座標系で示される当該特定した位置姿勢を、所定の座標変換式に基づいて、所定の座標系で示される位置姿勢に変換する。当該所定の座標系は、たとえば、タグTGを基準とするマーカー座標系であってもよいし、搬送ロボット13を基準とするロボット座標系であってもよいし、走行本体10を基準とするワールド座標系であってもよい。
【0034】
その後、搬送装置100は、当該所定の座標系で示される位置姿勢と、予め設定されている正解値との誤差を認識する。続いて、搬送装置100は、当該正解値を基点として予め設定されている目標位置を当該誤差で補正し、補正後の目標位置に向けて搬送ロボット13を駆動する。
【0035】
<C.振動認識処理の概要>
次に、図3および図4を参照して、タグTGの振動状態を認識する処理について説明する。図3は、搬送装置100のカメラ107が工作機械200に付されているタグTGを撮影している様子を示す図である。図4は、搬送装置100が工作機械200からワークWを搬出する様子を示す図である。
【0036】
工作機械200は、ワークを加工する機能を備えた種々の装置を包含する概念である。工作機械200は、横形のマシニングセンタであってもよいし、立形のマシニングセンタであってもよい。あるいは、工作機械200は、旋盤であってもよいし、付加加工機であってもよいし、その他の切削機械や研削機械であってもよい。
【0037】
工作機械200は、カバー230を含む。カバー230は、スプラッシュガードとも呼ばれ、工作機械200の外観を成すとともに、ワークWの加工エリアARを区画形成している。
【0038】
カバー230には、ドアDRが設けられている。ドアDRは、たとえば、スライド式のドアである。ドアDRは、モータなどの駆動源により開閉可能に構成されてもよいし、手動で開閉可能に構成されてもよい。
【0039】
工作機械200は、動作中に振動する。振動を伴う動作としては、たとえば、ワークWの加工、ドアDRの開閉動作、およびワークWの切り屑の搬送などが挙げられる。切り屑の搬送は、たとえば、工作機械200内に設けられている切り屑搬送装置(図示しない)によって行われる。
【0040】
タグTGは、加工エリアAR外に設けられる。一例として、タグTGは、工作機械200のカバー230に設けられる。タグTGが加工エリアAR外に設けられると、搬送装置100は、ワークWの加工中であってもタグTGを撮影することができる。これにより、搬送装置100は、ワークWの加工が終了する前に自身の位置姿勢を補正することができ、ワークWの加工が終了した直後にワークWの搬送処理を開始することができる。結果として、ワークWの搬送に要する時間が短縮される。
【0041】
一方で、タグTGは、工作機械200の動作に伴って振動する可能性がある。搬送装置100は、振動しているタグTGを撮影すると、自身の位置姿勢を正確に補正することができない。そこで、タグTGが工作機械200の動作に起因して発生する振動の影響を受ける範囲内で、かつ工作機械200外に設けられている場合、搬送装置100は、タグTGの振動状態を認識し、当該振動状態に応じた処理を実行する。
【0042】
より具体的には、搬送装置100は、タグTGがカメラ107の撮影視野CRに含まれている間にカメラ107に撮影指示を出力する。これにより、搬送装置100は、タグTGを写す画像(以下、「タグ画像」ともいう。)をカメラ107から取得する。次に、搬送装置100は、当該取得したタグ画像に基づいて、タグTGの振動状態を認識する。振動状態の認識方法については後述する。その後、搬送装置100は、タグTGの振動状態に応じた予め定められた処理を実行する。
【0043】
搬送装置100は、タグTGが振動していないと判断した場合には、振動認識処理に用いたタグ画像を位置姿勢のために用いる。すなわち、搬送装置100は、当該タグ画像内においてタグTGの位置を認識し、当該位置を基準として搬送ロボット13にワークWを搬送させる。図4の例では、搬送装置100は、工作機械200の加工エリアARから加工済みのワークWを搬出している。
【0044】
一方で、搬送装置100は、タグTGが振動していると判断した場合には、振動認識処理に用いたタグ画像とは別のタグ画像をカメラ107から取得する。そして、搬送装置100は、当該別のタグ画像に基づいて、タグTGの振動状態を再度認識する。
【0045】
搬送装置100は、タグTGの振動が収まるまでタグ画像の取得処理と、振動状態の認識処理とを繰り返し実行する。その後、搬送装置100は、タグTGの振動が収まった際に撮影されたタグ画像を用いて、自身の位置姿勢を補正する。
【0046】
このように、搬送装置100は、タグTGが振動している間に得られたタグ画像については破棄し、タグTGが振動していない間に得られたタグ画像を用いて自身の位置姿勢を補正する。これにより、搬送装置100は、ワークWの位置を正確に認識することができる。
【0047】
<D.走行本体10の構成>
次に、図5を参照して、図1に示され走行本体10について説明する。図5は、走行本体10の内部構造の概略を示す図である。
【0048】
図5に示されるように、走行本体10は、フレーム11と、前輪として機能する第1車輪部15と、後輪として機能する第2車輪部35とを備える。
【0049】
フレーム11は、必要な構造物を配設可能なように、平面から見て適宜切り欠いた空間を有するとともに、軽量化を図るために、内側が中空になった構造を有する。
【0050】
第1車輪部15および第2車輪部35は、前進方向Rまたは後進方向Bに沿って所定間隔を空けてフレーム11に接続されている。
【0051】
第1車輪部15は、搬送装置100の背面から見て左側に設けられた第1左側車輪部16と、搬送装置100の背面から見て右側に設けられた右側前輪部25とで構成される。
【0052】
第1左側車輪部16は、フレーム11の左側の側面に設けられた第1左側支持アーム17と、左側前輪19と、左側駆動輪21とを備える。左側前輪19および左側駆動輪21は、搬送装置100の走行方向と直交する水平な回転軸20,22を中心として回転可能に第1左側支持アーム17の両端部に支持されている。
【0053】
右側前輪部25は、フレーム11の右側の側面に設けられた第1右側支持アーム26と、右側前輪28と、右側駆動輪30とを備える。右側前輪28および右側駆動輪30は、搬送装置100の走行方向と直交する水平な回転軸29,31を中心として回転可能に第1右側支持アーム26の両端に支持されている。
【0054】
第1右側支持アーム26は、フレーム11の右側面に設けられた支持軸27によって支持され、搬送装置100の走行方向に沿った垂直平面内で揺動可能になっている。同様に、第1左側支持アーム17はフレーム11の左側面に設けられた支持軸18によって支持され、搬送装置100の走行方向に沿った垂直平面内で揺動可能になっている。
【0055】
なお、本例では、搬送装置100の走行方向に向かって左側前輪19および右側前輪28が従動輪となっており、左側駆動輪21および右側駆動輪30が駆動輪となっている。そして、左側駆動輪21には、第1左側支持アーム17に設けられた減速機24を介してモータ23が接続され、左側駆動輪21は、モータ23により駆動されて回転する。同様に、右側駆動輪30には、第1右側支持アーム26に設けられた減速機33を介してモータ32が接続され、右側駆動輪30は、モータ32により駆動されて回転する。
【0056】
第2車輪部35は、搬送装置100の走行方向に向かってフレーム11の後側に設けられた第2支持アーム36を備える。第2支持アーム36は、フレーム11の後側の側面に設けられた支持軸37によって支持され、搬送装置100の走行方向と直交する垂直平面内で揺動可能になっている。また、第2支持アーム36は、その両端部に、搬送装置100の走行方向と直交する水平な回転軸39,41を中心として回転可能に支持された左側後輪38および右側後輪40をそれぞれ備える。このように、第2車輪部35は、搬送装置100の走行方向と直交する平面内で揺動可能に構成される一対の車輪(左側後輪38および右側後輪40)を有する。なお、左側後輪38および右側後輪40は、従動輪となっている。
【0057】
左側前輪19、右側前輪28、左側後輪38、および右側後輪40は、同じ構成を有し、たとえば、オムニホイールから構成される。この場合、左側前輪19は、回転軸20を中心として回転することによりその回転方向に進むことができるとともに、回転軸20と回転方向と交差する水平方向にスライド可能に構成される。
【0058】
<E.搬送装置100のハードウェア構成>
次に、図6を参照して、搬送装置100のハードウェア構成について説明する。図6は、搬送装置100のハードウェア構成の一例を示す図である。
【0059】
搬送装置100は、制御回路101(制御部)と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、通信インターフェイス104と、レーザセンサ105と、モータ駆動装置106,108と、記憶装置120とを含む。これらのコンポーネントは、バスBSに接続される。
【0060】
制御回路101は、たとえば、少なくとも1つの集積回路によって構成される。集積回路は、たとえば、少なくとも1つのCPU(Central Processing Unit)、少なくとも1つのGPU(Graphics Processing Unit)、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはそれらの組み合わせなどによって構成され得る。一例として、制御回路101は、PLC(Programmable Logic Controller)である。
【0061】
制御回路101は、制御プログラム122やオペレーティングシステムなどの各種プログラムを実行することで搬送装置100の動作を制御する。制御回路101は、制御プログラム122の実行命令を受け付けたことに基づいて、記憶装置120またはROM102からRAM103に制御プログラム122を読み出す。RAM103は、ワーキングメモリとして機能し、制御プログラム122の実行に必要な各種データを一時的に格納する。
【0062】
通信インターフェイス104には、LAN(Local Area Network)やアンテナなどが接続される。搬送装置100は、通信インターフェイス104を介して外部機器との無線通信または有線通信を実現する。当該外部機器は、たとえば、サーバー(図示しない)、搬送装置100を操作するためのユーザ端末(図示しない)などを含む。当該ユーザ端末は、たとえば、タブレット端末やスマートフォンなどである。ユーザは、当該ユーザ端末を介して搬送装置100の走行を制御することができる。
【0063】
レーザセンサ105は、レーザ光を回転させながら照射し、当該レーザ光の反射光を受光するように構成される。これにより、レーザセンサ105は、周囲にある物体までの距離を角度別に表わした2次元距離データを出力する。
【0064】
より具体的には、レーザセンサ105は、照射部と、ミラーと、受光部とで構成される。当該照射部は、当該ミラーに向けてレーザ光を照射する。当該ミラーは、モータによって回転可能にされており、レーザ光を各方向に反射する。これにより、レーザセンサ105は、レーザ光を各方向に照射する。物体がレーザセンサ105の周囲にある場合には、レーザ光は、当該物体に反射され、レーザセンサ105に戻る。レーザセンサ105は、当該反射光を受光部で受ける。
【0065】
レーザセンサ105は、物体からの反射光を受けて、当該物体までの距離を算出する。一例として、レーザセンサ105は、レーザ光を照射してから、当該レーザ光の反射光を受光するまでの時間に基づいて、レーザセンサ105から物体までの距離を算出する。典型的には、レーザセンサ105は、光の速度に当該時間を掛けることで物体までの距離を算出する。レーザセンサ105は、当該距離をレーザ光の照射角度に対応付けることで、角度別に距離を表わした2次元距離データを出力する。
【0066】
好ましくは、レーザセンサ105は、レーザ光の照射面が水平面に対して傾くように走行本体10に設けられる。搬送装置100は、移動しながら周囲をスキャンすることで周囲の3次元形状を測定することができる。
【0067】
モータ駆動装置106は、制御回路101からの制御指令に従って、上述のモータ23,32(図5参照)の回転を制御する。当該制御指令は、たとえば、モータ23,32の正転指令、モータ23,32の逆転指令、モータ23,32の回転速度などを含む。モータ23,32には、たとえば、ステッピングモータまたはサーボモータなどが採用される。
【0068】
モータ駆動装置108は、制御回路101からの制御指令に従って、搬送ロボット13に設けられている各モータの回転を制御する。当該モータは、搬送ロボット13の各関節に設けられている。当該モータは、たとえば、サーボモータである。サーボモータの回転軸にはエンコーダが設けられている。当該エンコーダは、サーボモータの位置、サーボモータの回転速度、サーボモータの累積回転数などを、モータ駆動装置108にフィードバックする。モータ駆動装置108は、エンコーダの出力値に基づいて、搬送ロボット13の位置姿勢を制御する。
【0069】
記憶装置120は、たとえば、ハードディスクやフラッシュメモリなどの記憶媒体である。記憶装置120は、搬送装置100の走行を制御するための制御プログラム122、および、搬送装置100の走行経路を規定する3次元マップ124、搬送装置100の駆動に係る制御パラメータ126などを格納する。制御プログラム122、3次元マップ124、および制御パラメータ126の格納場所は、記憶装置120に限定されず、制御回路101の記憶領域(たとえば、キャッシュメモリなど)、ROM102、RAM103、外部機器(たとえば、サーバー)などに格納されていてもよい。
【0070】
また、制御プログラム122は、単体のプログラムとしてではなく、任意のプログラムの一部に組み込まれて提供されてもよい。この場合、搬送装置100は、任意のプログラムと協働して本実施の形態に従う各種処理を実現する。このような一部のモジュールを含まないプログラムであっても、本実施の形態に従う制御プログラム122の趣旨を逸脱するものではない。さらに、制御プログラム122によって提供される機能の一部または全部は、専用のハードウェアによって実現されてもよい。さらに、少なくとも1つのサーバーが制御プログラム122の処理の一部を実行する所謂クラウドサービスのような形態で搬送装置100が構成されてもよい。
【0071】
<F.搬送装置100の機能構成>
次に、図7図11を参照して、搬送装置100の機能構成について説明する。図7は、搬送装置100の機能構成の一例を示す図である。
【0072】
図7に示されるように、搬送装置100の制御回路101は、マップ生成部152と、走行制御部154と、振動判断部162と、実行部164とを含む。以下では、これらの機能について順に説明する。
【0073】
(F1.マップ生成部152)
まず、図7に示されるマップ生成部152の機能について説明する。
【0074】
マップ生成部152は、搬送装置100の駆動中にレーザセンサ105から順次取得される2次元距離データDに基づいて、搬送装置100の周囲の空間を表わす3次元マップ124を生成する。
【0075】
3次元マップ124は、たとえば、SLAM(Simultaneous Localization and Mapping)技術により生成される。3次元マップ124は、搬送装置100の位置を特定するために生成される情報であり、かつ、搬送装置100の走行場所における静止物の位置を示す情報である。当該静止物は、たとえば、壁、棚、工作機械などである。
【0076】
3次元マップ124は、たとえば、ユーザがユーザ端末を用いて搬送装置100を手動で操作することにより生成される。この場合、ユーザ操作に応じた操作信号が通信インターフェイス104を介して制御回路101に送信されることで、制御回路101は、操作信号に応じてモータ駆動装置106に指令を出力し、搬送装置100の走行を制御する。このとき、制御回路101は、レーザセンサ105から入力される2次元距離データDと、搬送装置100の位置とに基づいて、搬送装置100の周囲にある物体の位置を3次元マップ124にマッピングする。搬送装置100の位置は、たとえば、モータ駆動装置106の駆動情報に基づいて特定される。これにより、3次元マップ124において、物体の有無を示す情報が3次元の座標値(x,y,z)の各々に関連付けられる。また、3次元マップ124において、物体の種類が関連付けられてもよい。
【0077】
図8は、一例としての3次元マップ124を示す図である。説明の便宜のために、図8には、3次元マップ124が2次元のマップで示されている。
【0078】
3次元マップ124は、たとえば、工場内のマップを示す。一例として、3次元マップ124には、工作機械200A,200Bの位置と、障害物230A,230Bの位置と、搬送装置100の走行ルート240と、タグTGA,TGBの位置とが規定されている。
【0079】
搬送装置100は、たとえば、走行ルート240に従って位置PAと位置PBとの間の移動を繰り返すことによって、ワークの搬送作業を継続して行う。一例として、搬送装置100は、位置PAにおいて、工作機械200Aから搬送装置100へのワークの搬入作業を行い、位置PBにおいて、搬送装置100から工作機械200Bへのワークの搬出作業を行う。
【0080】
搬送装置100は、工作機械200Aでの作業開始前において、タグTGAを撮影可能な範囲内に移動する。その後、搬送装置100は、カメラ107を用いてタグTGAを撮影し、カメラ107から得られたタグ画像に基づいて、搬送装置100の位置姿勢を補正する。その後、搬送装置100は、工作機械200Aに対する作業を開始する。
【0081】
同様に、搬送装置100は、工作機械200Bでの作業開始前においては、タグTGBを撮影可能な範囲内に移動する。その後、搬送装置100は、カメラ107を用いてタグTGBを撮影し、カメラ107から得られたタグ画像に基づいて、搬送装置100の位置姿勢を補正する。その後、搬送装置100は、工作機械200Bに対する作業を開始する。
【0082】
なお、上述では、搬送装置100が位置PAおよび位置PBとの間でワークの搬送作業を行う例について説明を行ったが、搬送装置100が行う作業内容は、特に限定されない。一例として、搬送装置100は、ワークではなく工具を搬送してもよい。
【0083】
また、工作機械200Aに代わって、ワークの素材が格納されるストッカが設けられてもよい。同様に、工作機械200Bに代わって、ワークの素材が格納されるストッカが設けられてもよい。この場合、搬送装置100は、工作機械200A,200Bではなく、ストッカに対してワークの搬送作業を行う。タグTGA,TGBは、当該ストッカに設けられてもよいし、当該ストッカの近傍に設けられてもよい。
【0084】
(F2.走行制御部154)
次に、図7に示される走行制御部154の機能について説明する。走行制御部154は、搬送装置100の走行を制御するための機能モジュールである。
【0085】
走行制御部154は、レーザセンサ105から入力される2次元距離データDと、3次元マップ124とを比較することにより、搬送装置100の現在位置を特定する。制御回路101は、現在位置を特定することで、3次元マップ124上の予め定められた経路に沿って搬送装置100を走行させる。
【0086】
さらに、走行制御部154は、搬送装置100の駆動中にレーザセンサ105から順次取得される2次元距離データDに基づいて、搬送装置100の周囲にある障害物を検知し、当該障害物との衝突を避けるように搬送装置100の走行を制御する。当該障害物は、たとえば、人物や他の搬送装置100などの移動体と、壁や棚などの静止体とを含む。
【0087】
走行制御部154は、障害物が検知されていない間、3次元マップ124上の予め定められた経路を走行するように搬送装置100の走行を制御する。一方で、走行制御部154は、障害物が検知された場合には、当該障害物との衝突を避けるように搬送装置100の走行を制御する。
【0088】
一例として、障害物までの距離が所定距離以上である場合には、走行制御部154は、当該障害物を避けるように搬送装置100の走行を制御する。一方で、障害物までの距離が所定距離未満である場合には、走行制御部154は、搬送装置100の走行を停止する。
【0089】
(F3.振動判断部162)
次に、図9および図10を参照して、図7に示される振動判断部162の機能について説明する。
【0090】
振動判断部162は、タグTGが上述のカメラ107の撮影視野に含まれている間にカメラ107に撮影指示を出力する。一例として、振動判断部162は、搬送装置100が上述の3次元マップ124上の予め登録されている場所に到達し、かつ、搬送装置100が予め定められた姿勢に駆動されたことに基づいて、タグTGがカメラ107の撮影視野に含まれていると判断する。
【0091】
振動判断部162は、撮影指示をカメラ107に出力することで、タグTGを写すタグ画像をカメラ107から取得し、当該タグ画像に基づいて、タグTGの振動状態を認識する。一例として、当該振動状態は、タグTGが振動していることを示す「振動中」と、タグTGが振動していないことを示す「非振動中」とを含む。なお、振動状態の種類は、「振動中」と「非振動中」との2つに限定されない。一例として、振動状態の種類は、1つであってもよいし、タグTGの振動強度に応じて3つ以上に分類されてもよい。
【0092】
また、振動判断部162は、1つのタグ画像からタグTGの振動状態を判断してもよいし、複数のタグ画像からタグTGの振動状態を判断してもよい。
【0093】
ある局面において、振動判断部162は、1つのタグ画像からタグTGの振動状態を判断する。タグTGが振動している場合、タグ画像内のエッジ部分がぼやける。この点に着目して、振動判断部162は、タグ画像に対してエッジフィルタ(微分フィルタ)を適用し、当該タグ画像からエッジ画像を生成する。一例として、エッジ画像内の各画素は、タグ画像内の隣接する画素同士の画素値を差分した結果を表わす。振動判断部162は、エッジ画像内の各画素値を積算し、当該積算結果を振動強度として算出する。好ましくは、振動判断部162は、タグ部分以外のエッジ情報を除去し、タグ部分のエッジ情報のみを用いて振動強度を算出する。
【0094】
振動判断部162は、エッジ画像から算出された振動強度が所定値以下である場合、タグTGの振動状態が「非振動中」であると判断する。一方で、振動判断部162は、エッジ画像から算出された振動強度が所定値を超えている場合、タグTGの振動状態が「振動中」であると判断する。
【0095】
他の局面において、振動判断部162は、2つ以上のタグ画像からタグTGの振動状態を判断する。この場合、振動判断部162は、撮影タイミングが連続している時系列のタグ画像同士を差分することで、差分画像を生成する。タグTGが振動している場合、タグ画像内におけるタグの位置が変化するため、差分画像にはタグTGの変動が表わされる。振動判断部162は、差分画像内の各画素値を積算し、当該積算結果を振動強度として算出する。好ましくは、振動判断部162は、タグ部分以外の画像情報を除去し、タグ部分の画像情報のみを用いて振動強度を算出する。
【0096】
振動判断部162は、差分画像から算出された振動強度が所定値以下である場合、タグTGの振動状態が「非振動中」であると判断する。一方で、振動判断部162は、差分画像から算出された振動強度が所定値を超えている場合、タグTGの振動状態が「振動中」であると判断する。
【0097】
典型的には、振動判断部162は、タグTGの振動状態が「振動中」から「非振動中」となるまで、タグ画像の取得処理と、当該タグ画像を用いた振動判断処理とを繰り返し実行する。好ましくは、タグTGの撮影態様は、当該取得処理および当該振動判断処理が実行される度に変えられる。
【0098】
以下では、撮影態様の変更方法の一例について説明する。また、以下では、N回目(N:自然数)の振動判断時に用いられる1つ以上のタグ画像を画像IM1とも称し、N+1回目の振動判断時に用いられる1つ以上のタグ画像を画像IM2とも称する。
【0099】
図9は、タグTGの撮影態様を変えている様子の一例を示す図である。図9に示されるように、振動判断部162は、予め定められた第1姿勢になるように搬送ロボット13を駆動し、カメラ107に撮影指示を出力する。当該第1姿勢は、たとえば、搬送ロボット13の各アームの角度と、搬送ロボット13のエンドエフェクタ125の位置との少なくとも1つで表わされる。当該第1姿勢は、たとえば、上述の制御パラメータ126において予め定義されている。
【0100】
振動判断部162は、搬送ロボット13が上記第1姿勢に駆動された状態でカメラ107に撮影指示を出力することにより、タグTGを写す画像IM1を取得する。その後、振動判断部162は、取得した画像IM1を用いて、タグTGの振動状態を判断する。
【0101】
振動判断部162は、タグTGの振動状態が「非振動中」であると判断した場合、画像IM1を実行部164に出力する。一方で、振動判断部162は、タグTGの振動状態が「振動中」であると判断した場合、画像IM1を破棄する。その後、振動判断部162は、上記第1姿勢とは異なる予め定められた第2姿勢になるように搬送ロボット13を駆動し、カメラ107に撮影指示を出力する。
【0102】
これにより、カメラ107は、第1姿勢とは異なる第2姿勢でタグTGを撮影する。当該第2姿勢は、たとえば、搬送ロボット13の各アームの角度と、搬送ロボット13のエンドエフェクタ125の位置との少なくとも1つで表わされる。当該第2姿勢は、たとえば、上述の制御パラメータ126において予め定義されている。
【0103】
振動判断部162は、搬送ロボット13が上記第2姿勢に駆動された状態でカメラ107に撮影指示を出力することにより、異なる方向または異なる位置からタグTGを写す画像IM2を取得する。その後、振動判断部162は、取得した画像IM2を用いて、タグTGの振動状態を判断する。
【0104】
このように、図9の例では、画像IM1は、搬送ロボット13が予め定められた第1姿勢に駆動された状態で撮影指示がカメラ107に出力されることにより取得される。画像IM2は、搬送ロボット13が予め定められた第2姿勢に駆動された状態で撮影指示が出力される。これにより、振動判断部162は、様々な条件下で撮影されたタグ画像を用いて振動状態を認識できる。結果として、振動判断部162は、タグTGの振動状態をより正確に判断することができる。
【0105】
図10は、タグTGの撮影態様を変えている様子の他の例を示す図である。図10に示されるように、振動判断部162は、予め定められた周期ΔT1(第1周期)でカメラ107に撮影指示を出力する。周期ΔT1は、たとえば、上述の制御パラメータ126において予め定義されている。周期ΔT1は、たとえば、単位撮影当たりの時間間隔を示す。
【0106】
振動判断部162は、カメラ107に周期ΔT1でタグTGを撮影させることで、タグTGを写す複数の画像IM1を取得する。その後、振動判断部162は、取得した複数の画像IM1を用いて、タグTGの振動状態を判断する。
【0107】
振動判断部162は、タグTGの振動状態が「非振動中」であると判断した場合、画像IM1を実行部164に出力する。一方で、振動判断部162は、タグTGの振動状態が「振動中」であると判断した場合、複数の画像IM1を破棄する。また、振動判断部162は、周期ΔT1とは異なる予め定められた周期ΔT2(第2周期)でカメラ107に撮影指示を出力する。周期ΔT2は、単位撮影当たりの時間間隔を示す。周期ΔT2は、たとえば、上述の制御パラメータ126において予め定義されている。
【0108】
振動判断部162は、搬送ロボット13が周期ΔT2に駆動された状態でカメラ107に撮影指示を出力することにより、タグTGを写す複数の画像IM2を取得する。その後、振動判断部162は、取得した複数の画像IM2を用いて、タグTGの振動状態を判断する。
【0109】
このように、図10の例では、複数の画像IM1は、周期ΔT1でカメラ107に撮影指示を出力することで取得され、複数の画像IM2は、周期ΔT2でカメラ107に撮影指示を出力することで取得される。タグTGの振動周期がカメラ107の撮影周期と同じまたは当該振動周期のM倍(M:自然数)になった場合には、タグTGが振動していたとしても、タグ画像内におけるタグTGの位置が変化しない可能性がある。一方で、タグTGが振動している際に撮影周期が変えられると、タグ画像内におけるタグTGの位置がより確実に変化する。これにより、振動判断部162は、タグTGの振動状態をより正確に認識することができる。
【0110】
なお、カメラ107に対する撮影指示は、工作機械200がワークを加工している最中に出力される。異なる言い方をすれば、カメラ107に対する撮影指示は、工作機械200がワークを加工している最中であるか否かに関わらず出力される。これにより、搬送装置100は、ワークWの加工が終了する前に自身の位置姿勢を補正することができ、ワークの加工が終了した直後にワークの搬送処理を開始することができる。結果として、ワークの搬送に要する時間が短縮される。
【0111】
(F4.実行部164)
次に、図11を参照して、図7に示される実行部164の機能について説明する。
【0112】
実行部164は、振動判断部162によって判断された振動状態に応じた予め定められた処理を実行する。一例として、実行部164は、タグTGの振動状態が「振動中」であると判断されたタグ画像については破棄し、タグTGの振動状態が「非振動中」であると判断されたタグ画像を用いて搬送ロボット13の姿勢を補正する。
【0113】
図11は、搬送ロボット13の姿勢補正処理を概略的に示す図である。図11に示される画像IMAは、タグTGの振動状態が「非振動中」であると判断されたタグ画像である。実行部164は、画像IMAを用いて、搬送ロボット13の姿勢を補正する。
【0114】
より具体的には、実行部164は、ARToolKitやOpenCVなどの既存の画像処理ライブラリを用いて、画像IMA内におけるタグTGの位置姿勢を認識する。画像IMAからタグTGを検索する際の基準画像は、上述の記憶装置120などに予め格納されている。次に、実行部164は、所定の座標変換式に基づいて、画像IMA内におけるタグTGの位置姿勢を、実世界におけるタグTGの位置姿勢に変換する。当該所定の座標変換式は、カメラ107とタグTGとの位置関係に基づいて推定される。実行部164は、実世界におえるタグTGの位置姿勢と、予め設定されている目標値としての位置姿勢とを比較する。
【0115】
目標値としての位置姿勢は、搬送ロボット13に対するティーチング処理により予め記憶されている。当該ティーチング処理は、たとえば、搬送装置100を操作するためのユーザ端末を用いてユーザによって手動で設定される。
【0116】
実行部164は、認識したタグTGの位置姿勢が、当該目標値としての位置姿勢に一致するように、搬送装置100の位置姿勢を補正する。このように、実行部164は、非振動中に取得された画像IMAを用いることで、より正確に搬送装置100の位置姿勢を補正することができる。
【0117】
なお、上述では、タグTGの振動状態が「非振動中」であると判断された場合に実行される処理について説明を行ったが、実行部164は、タグTGの振動状態に応じて種々の処理を実行するように構成される。
【0118】
一例として、当該処理は、タグTGが振動していることをタグTGの振動状態が示す場合に、工作機械200が振動していることを示す警告(以下、「振動警告」ともいう。)を出力する処理を含む。
【0119】
振動警告の出力態様は、任意である。一例として、搬送装置100には光源が設けられており、実行部164は、当該光源を発光させることにより振動警告を出力する。他の例として、搬送装置100にはスピーカーが設けられており、実行部164は、当該スピーカーから音声を出力させることにより振動警告を出力する。さらに他の例として、搬送装置100にはディスプレイが設けられており、実行部164は、当該ディスプレイにメッセージを表示させることにより振動警告を出力する。さらに他の例として、実行部164は、工作機械200やサーバーなどの他の端末に通知を送信することにより振動警告を出力する。
【0120】
また、タグTGの振動状態が「振動中」である場合、びびり振動などの予期せぬ振動が工作機械200で発生している可能性がある。びびり振動とは、ワークの加工中に意図せずに発生する工具の振動である。この場合、実行部164は、振動警告を出力するとともに、工作機械200で加工されたワークを検品態様とみなす。実行部164は、当該検品対象のワークについては正常に加工されたワークの置き場とは異なる場所に搬送するように搬送装置100を駆動する。
【0121】
<G.フローチャート>
次に、図12を参照して、搬送装置100の制御フローについて説明する。図12は、搬送装置100の制御処理を示すフローチャートである。
【0122】
図12に示される処理は、搬送装置100の制御回路101が上述の制御プログラム122を実行することにより実現される。他の局面において、処理の一部または全部が、回路素子またはその他のハードウェアによって実行されてもよい。
【0123】
ステップS110において、制御回路101は、搬送物の搬送指令を受け付けたか否かを判断する。当該搬送指令は、たとえば、工作機械200への搬送物の搬入指令と、工作機械200からの搬送物の搬出指令とを含む。制御回路101は、搬送装置100の位置姿勢を補正する指令を受け付けたと判断した場合(ステップS110においてYES)、制御をステップS112に切り替える。そうでない場合には(ステップS110においてNO)、制御回路101は、ステップS110の処理を再び実行する。
【0124】
ステップS112において、制御回路101は、上述の走行制御部154として機能し、搬送装置100が予め設定されている位置に移動するように走行本体10を駆動する。当該予め設定されている位置は、たとえば、上述の3次元マップ124に規定されている。
【0125】
ステップS114において、制御回路101は、搬送装置100が予め設定されている位置に移動したことに基づいて、予め設定されている姿勢を搬送ロボット13に取らせる。当該予め設定されている姿勢は、たとえば、上述の制御パラメータ126に規定されている。当該姿勢は、たとえば、搬送ロボット13の各アームの角度で定義される。搬送ロボット13が予め設定されている姿勢を取ることで、タグTGは、カメラ107の撮影視野に含まれる。
【0126】
ステップS116において、制御回路101は、タグTGがカメラ107の撮影視野に含まれている間にカメラ107に撮影指示を出力し、カメラ107からタグ画像を取得する。
【0127】
ステップS120において、制御回路101は、上述の振動判断部162として機能し、ステップS116で取得したタグ画像に基づいて、タグTGの振動状態が非振動中であるか否かを判断する。振動状態の判断方法については上述の通りであるので、その説明については繰り返さない。制御回路101は、タグTGの振動状態が非振動中であると判断した場合(ステップS120においてYES)、制御をステップS122に切り替える。そうでない場合には(ステップS120においてNO)、制御回路101は、制御をステップS130に切り替える。
【0128】
ステップS122において、制御回路101は、上述の実行部164として機能し、タグ画像内におけるタグTGの位置姿勢を認識し、当該位置姿勢に基づいて、実世界におけるタグTGの位置姿勢を推定する。次に、制御回路101は、推定したタグTGの位置姿勢が、予め設定されている目標値に近付くように搬送装置100の位置姿勢を補正する。
【0129】
ステップS124において、制御回路101は、制御プログラム122に規定されている作業を開始する。当該作業の一例としては、搬送物を工作機械200に搬入する作業、および搬送物を工作機械200から搬出する作業などが挙げられる。
【0130】
ステップS130において、制御回路101は、上述の振動判断部162として機能し、タグTGの振動強度が所定閾値よりも低いか否かを判断する。振動強度の算出方法については上述の通りであるので、その説明については繰り返さない。制御回路101は、タグTGの振動強度が所定閾値よりも低いと判断した場合(ステップS130においてYES)、制御をステップS132に切り替える。そうでない場合には(ステップS130においてNO)、制御回路101は、制御をステップS134に切り替える。
【0131】
ステップS132において、制御回路101は、タグTGの撮影態様を変更する。撮影態様としては、たとえば、搬送ロボット13の姿勢、およびカメラ107の撮影周期などが挙げられる。制御回路101は、タグTGの撮影態様が変更された後、ステップS116の処理を再び実行する。
【0132】
ステップS134において、制御回路101は、上述の実行部164として機能し、工作機械200が振動していることを示す警告(すなわち、振動警告)を出力する。振動警告の出力態様については上述の通りであるので、その説明については繰り返さない。
【0133】
<H.変形例>
次に、図13を参照して、変形例に従う搬送装置100Aについて説明する。図13は、変形例に従う搬送装置100Aを示す図である。
【0134】
上述の図1に示される搬送装置100は、走行本体10を備えていた。これに対して、本変形例に従う搬送装置100Aは、走行本体10の代わりに支持体10Aを備える。搬送装置100のその他の構成は、上述の搬送装置100Aと同じであるので、以下ではその他の説明については繰り返さない。
【0135】
図13に示されるように、搬送装置100Aは、支持体10Aと、搬送ロボット13とを含む。
【0136】
支持体10Aは、地面に対して固定されている。すなわち、支持体10Aは、自走機能を有さず、不動である。
【0137】
本変形例においては、上述の工作機械200は、搬送ロボット13の作業範囲内に設置される。作業内容の一例として、搬送ロボット13は、トレイに置かれているワークを工作機械200に搬入する。作業内容の他の例として、搬送ロボット13は、搬送対象物を工作機械からトレイに搬出する。
【0138】
上述の振動判断部162の機能と上述の実行部164の機能とは、このような地面に固定されている搬送装置100Aに対しても実装され得る。
【0139】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内での全ての変更が含まれることが意図される。
【符号の説明】
【0140】
10 走行本体、10A 支持体、11 フレーム、13 搬送ロボット、15 第1車輪部、16 第1左側車輪部、17 第1左側支持アーム、18 支持軸、19 左側前輪、20 回転軸、21 左側駆動輪、22 回転軸、23 モータ、24 減速機、25 右側前輪部、26 第1右側支持アーム、27 支持軸、28 右側前輪、29 回転軸、30 右側駆動輪、31 回転軸、32 モータ、33 減速機、35 第2車輪部、36 第2支持アーム、37 支持軸、38 左側後輪、39 回転軸、40 右側後輪、41 回転軸、100 搬送装置、100A 搬送装置、101 制御回路、102 ROM、103 RAM、104 通信インターフェイス、105 レーザセンサ、106 モータ駆動装置、107 カメラ、108 モータ駆動装置、109 設置台、110 カバー、120 記憶装置、122 制御プログラム、124 3次元マップ、125 エンドエフェクタ、126 制御パラメータ、152 マップ生成部、154 走行制御部、162 振動判断部、164 実行部、200 工作機械、200A 工作機械、200B 工作機械、230 カバー、230A 障害物、230B 障害物、240 走行ルート。
【要約】
【課題】位置認識用の物体の振動に対処するための技術を提供する。
【解決手段】位置認識用の物体は、工作機械の動作に起因して発生する振動の影響を受ける範囲内で、かつ工作機械の加工エリア外に設けられている。当該物体を基準として搬送物を搬送することが可能な搬送装置は、カメラと、当該搬送装置を制御するための制御部とを備える。当該制御部は、物体がカメラの撮影視野に含まれている間にカメラに撮影指示を出力し、物体を写す第1画像をカメラから取得する処理と、第1画像に基づいて、物体の振動状態を認識する処理と、振動状態に応じた予め定められた処理とを実行する。
【選択図】図3
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13