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

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

▶ オムロン株式会社の特許一覧

特許7435078回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット
<>
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図1
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図2
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図3
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図4
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図5
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図6
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図7
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図8
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図9
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図10
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図11
  • 特許-回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-13
(45)【発行日】2024-02-21
(54)【発明の名称】回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボット
(51)【国際特許分類】
   A63B 69/00 20060101AFI20240214BHJP
   A63B 69/38 20060101ALI20240214BHJP
【FI】
A63B69/00 506
A63B69/00 505Z
A63B69/38 Z
【請求項の数】 12
(21)【出願番号】P 2020044283
(22)【出願日】2020-03-13
(65)【公開番号】P2021142235
(43)【公開日】2021-09-24
【審査請求日】2023-01-11
(73)【特許権者】
【識別番号】000002945
【氏名又は名称】オムロン株式会社
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】佐々木 勇輝
(72)【発明者】
【氏名】中山 雅宗
(72)【発明者】
【氏名】浅井 恭平
(72)【発明者】
【氏名】八瀬 哲志
(72)【発明者】
【氏名】小泉 昌之
【審査官】井上 香緒梨
(56)【参考文献】
【文献】国際公開第2015/098420(WO,A1)
【文献】浅井恭平、外2名,ピン球の回転速度を考慮することで高精度な返球が可能な卓球ロボットシステムの開発,OMRON TECHNICS,Vol.51.016JP,2019年03月,p.1-6
【文献】磯村優樹、外3名,スピンをしながら飛翔する卓球ボールの空力モデルについて,第59回自動制御連合講演会,2016年11月10日,p.621-624
【文献】野崎崇史、外1名,野球ボールの軌道解析に基づく空気力モデルに関する実験的研究,シンポジウム:スポーツ・アンド・ヒューマン・ダイナミクス 2013 講演論文集,2013年11月01日,p.242
(58)【調査した分野】(Int.Cl.,DB名)
A63B69/00-69/40
G06T7/00-7/90
G06T1/00-1/60
(57)【特許請求の範囲】
【請求項1】
飛来するボールの実測位置及び実測速度を含む状態情報を取得する取得部と、
第1時点における前記ボールの前記実測位置及び前記実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、前記第1時点と異なる第2時点における前記ボールの予測位置及び予測速度を求める処理を複数の前記仮回転速度について行い、前記第2時点における前記予測位置と前記第2時点における前記実測位置との差が最も小さくなる前記仮回転速度又は前記差が最も小さくなる前記仮回転速度に対応する前記第2時点における予測回転速度を推定回転速度として算出する回転推定部と、
を備え
少なくとも前記第1時点における実測位置及び実測速度は、前記第1時点までの複数の時点において検出された前記ボールの実測位置及び実測速度に基づいて決定される、
回転推定装置。
【請求項2】
前記ボールが相手打撃具で打撃されることによって飛来する場合において、前記打撃に関係する相手打撃具の位置及び姿勢を検出する相手打撃具検出部を更に備え、
前記回転推定部は、前記相手打撃具の位置及び姿勢も用いて、前記ボールの前記第1時点における仮回転速度を設定する、
請求項1に記載の回転推定装置。
【請求項3】
前記回転推定部は、複数の互いに異なる前記第1時点を設定して複数の前記推定回転速度を求め、求めた複数の前記推定回転速度に基づいて単一の推定回転速度を求める、
請求項1又は請求項2に記載の回転推定装置。
【請求項4】
前記回転推定部は、さらに、前記第2時点における前記実測位置及び前記実測速度と前記第2時点における仮回転速度とに基づいて空力学モデルを解くことにより、前記第1時点及び前記第2時点と異なる第3時点における前記ボールの予測位置及び予測速度を求める処理を前記第2時点における複数の前記仮回転速度について行い、前記第3時点における前記予測位置と前記第3時点における前記実測位置との差が最も小さくなる前記第2時点における前記仮回転速度又は前記仮回転速度に対応する前記第3時点における予測回転速度を推定回転速度とするものであって、前記第2時点における複数の前記仮回転速度は、前記第2時点における前記推定回転速度の近傍の値から選ばれる、
請求項1又は2に記載の回転推定装置。
【請求項5】
前記取得部は、さらに、前記ボールの表面の模様の見かけの動きに基づいて算出された実測回転速度を取得し、
前記回転推定部は、前記複数の前記仮回転速度を前記実測回転速度の近傍の値から選ぶ、
請求項1~4の何れか1項に記載の回転推定装置。
【請求項6】
コンピュータが、
飛来するボールの実測位置及び実測速度を含む状態情報を取得し、
第1時点における前記ボールの前記実測位置及び前記実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、前記第1時点と異なる第2時点における前記ボールの予測位置及び予測速度を求める処理を複数の前記仮回転速度について行い、前記第2時点における前記予測位置と前記第2時点における前記実測位置との差が最も小さくなる前記仮回転速度又は前記差が最も小さくなる前記仮回転速度に対応する前記第2時点における予測回転速度を推定回転速度として算出する処理を実行する回転推定方法であって、
少なくとも前記第1時点における実測位置及び実測速度は、前記第1時点までの複数の時点において検出された前記ボールの実測位置及び実測速度に基づいて決定される、
回転推定方法
【請求項7】
コンピュータに、
飛来するボールの実測位置及び実測速度を含む状態情報を取得し、
第1時点における前記ボールの前記実測位置及び前記実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、前記第1時点と異なる第2時点における前記ボールの予測位置及び予測速度を求める処理を複数の前記仮回転速度について行い、前記第2時点における前記予測位置と前記第2時点における前記実測位置との差が最も小さくなる前記仮回転速度又は前記差が最も小さくなる前記仮回転速度に対応する前記第2時点における予測回転速度を推定回転速度として算出する処理を実行させるための回転推定プログラムであって、
少なくとも前記第1時点における実測位置及び実測速度は、前記第1時点までの複数の時点において検出された前記ボールの実測位置及び実測速度に基づいて決定される、
回転推定プログラム
【請求項8】
請求項1~の何れか1項に記載の回転推定装置と、
何れかの時点における前記実測位置、前記実測速度および前記推定回転速度に基づいて空力学モデルを解くことにより、前記何れかの時点以降についての前記ボールの軌跡を予測する軌跡予測部と、
を備えた軌跡予測装置。
【請求項9】
前記軌跡予測部は、さらに、前記ボールが着弾する場合はバウンドモデルを解くことにより、前記ボールが着弾した後の軌跡を予測する
請求項記載の軌跡予測装置。
【請求項10】
請求項記載の回転推定方法により、飛来するボールの実測位置及び実測速度を含む状態情報を取得して前記ボールの推定回転速度を算出し、
何れかの時点における前記実測位置、前記実測速度および前記推定回転速度に基づいて空力学モデルを解くことにより、前記何れかの時点以降についての前記ボールの軌跡を予測する、
処理を実行する軌跡予測方法。
【請求項11】
コンピュータに、
請求項記載の回転推定プログラムを実行させることにより、飛来するボールの実測位置及び実測速度を含む状態情報を取得して前記ボールの推定回転速度を算出し、
何れかの時点における前記実測位置、前記実測速度および前記推定回転速度に基づいて空力学モデルを解くことにより、前記何れかの時点以降についての前記ボールの軌跡を予測する、
処理を実行させるための軌跡予測プログラム。
【請求項12】
請求項又はに記載の軌跡予測装置と、
飛来するボールを打ち返す返球打撃具と、
前記返球打撃具を支持して運動させるための可動部と、
前記軌跡予測装置により予測された前記ボールの軌跡に基づいて、前記ボールを返球するよう前記可動部の運動を制御する制御装置と、
を備えた返球ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、回転推定装置、回転推定方法、回転推定プログラム、軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボットに関する。
【背景技術】
【0002】
非特許文献1には、卓球システムにおいて中速カメラを使用してボールの軌道を測定することにより、空力モデルを介して、空中におけるボールの回転速度と位置及び並進速度を推定する方法が開示されている。
【0003】
非特許文献2には、卓球の弾道のリバウンドと空力の影響を分析する方法が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【文献】Akira Nakashima, Takeshi Okamoto, Yoshikazu Hayakawa, 「An Online Estimation of Rotational Velocity of Flying Ball via Aerodynamics」、2014年8月、名古屋大学
【文献】Junko Nonomura, Akira Nakashima, Yoshikazu Hayakawa, 「Analysis of Effects of Rebounds and Aerodynamics for Trajectory of Table Tennis Ball」、2010年8月、名古屋大学
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記非特許文献1、2記載の技術では、高速カメラを用いたり、ボールに黒い点を打ったりすることによりボールの回転速度を直接計測しており、簡単な構成でボールの軌跡を精度良く予測するのは困難であった。
【0006】
本発明は、上記の点に鑑みてなされたものであり、特殊なボールを使わなくても簡単な構成で飛来するボールの回転速度を推定することができる回転推定装置、回転推定方法、回転推定プログラムを提供すると共に、回転が掛かったボールの軌跡を簡単な構成で精度良く予測することができる軌跡予測装置、軌跡予測方法、軌跡予測プログラム、及び返球ロボットを提供することを目的とする。
【課題を解決するための手段】
【0007】
開示の第1態様は、回転推定装置であって、飛来するボールの実測位置及び実測速度を含む状態情報を取得する取得部と、第1時点における前記ボールの前記実測位置及び前記実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、前記第1時点と異なる第2時点における前記ボールの予測位置及び予測速度を求める処理を複数の前記仮回転速度について行い、前記第2時点における前記予測位置と前記第2時点における前記実測位置との差が最も小さくなる前記仮回転速度又は前記差が最も小さくなる前記仮回転速度に対応する前記第2時点における予測回転速度を推定回転速度として算出する回転推定部と、を備える。
【0008】
上記第1態様において、前記ボールが相手打撃具で打撃されることによって飛来する場合において、前記打撃に関係する相手打撃具の位置及び姿勢を検出する相手打撃具検出部を更に備え、前記回転推定部は、前記相手打撃具の位置及び姿勢も用いて、前記ボールの前記第1時点における仮回転速度を設定するようにしてもよい。
【0009】
上記第1態様において、前記回転推定部は、複数の互いに異なる前記第1時点を設定して複数の前記推定回転速度を求め、求めた複数の前記推定回転速度に基づいて単一の推定回転速度を求めるようにしてもよい。
【0010】
上記第1態様において、前記回転推定部は、さらに、前記第2時点における前記実測位置及び前記実測速度と前記第2時点における仮回転速度とに基づいて空力学モデルを解くことにより、前記第1時点及び前記第2時点と異なる第3時点における前記ボールの予測位置及び予測速度を求める処理を前記第2時点における複数の前記仮回転速度について行い、前記第3時点における前記予測位置と前記第3時点における前記実測位置との差が最も小さくなる前記第2時点における前記仮回転速度又は前記仮回転速度に対応する前記第3時点における予測回転速度を推定回転速度とするものであって、前記第2時点における複数の前記仮回転速度は、前記第2時点における前記推定回転速度の近傍の値から選ばれるようにしてもよい。
【0011】
上記第1態様において、前記取得部は、さらに、前記ボールの表面の模様の見かけの動きに基づいて算出された実測回転速度を取得し、前記回転推定部は、前記複数の前記仮回転速度を前記実測回転速度の近傍の値から選ぶようにしてもよい。
【0012】
上記第1態様において、少なくとも前記第1時点における実測位置及び実測速度は、前記第1時点までの複数の時点において検出された前記ボールの実測位置及び実測速度に基づいて決定されるようにしてもよい。
【0013】
開示の第2態様は、回転推定方法であって、コンピュータが、飛来するボールの実測位置及び実測速度を含む状態情報を取得し、第1時点における前記ボールの前記実測位置及び前記実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、前記第1時点と異なる第2時点における前記ボールの予測位置及び予測速度を求める処理を複数の前記仮回転速度について行い、前記第2時点における前記予測位置と前記第2時点における前記実測位置との差が最も小さくなる前記仮回転速度又は前記差が最も小さくなる前記仮回転速度に対応する前記第2時点における予測回転速度を推定回転速度として算出する処理を実行する。
【0014】
開示の第3態様は、回転推定プログラムであって、コンピュータに、飛来するボールの実測位置及び実測速度を含む状態情報を取得し、第1時点における前記ボールの前記実測位置及び前記実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、前記第1時点と異なる第2時点における前記ボールの予測位置及び予測速度を求める処理を複数の前記仮回転速度について行い、前記第2時点における前記予測位置と前記第2時点における前記実測位置との差が最も小さくなる前記仮回転速度又は前記差が最も小さくなる前記仮回転速度に対応する前記第2時点における予測回転速度を推定回転速度として算出する処理を実行させるための回転推定プログラムである。
【0015】
開示の第4態様は、軌跡予測装置であって、第1態様に係る回転推定装置と、何れかの時点における前記実測位置、前記実測速度および前記推定回転速度に基づいて空力学モデルを解くことにより、前記何れかの時点以降についての前記ボールの軌跡を予測する軌跡予測部と、を備える。
【0016】
上記第4態様において、前記軌跡予測部は、さらに、前記ボールが着弾する場合はバウンドモデルを解くことにより、前記ボールが着弾した後の軌跡を予測するようにしてもよい。
【0017】
開示の第5態様は、軌跡予測方法であって、第2態様に係る回転推定方法により、飛来するボールの実測位置及び実測速度を含む状態情報を取得して前記ボールの推定回転速度を算出し、何れかの時点における前記実測位置、前記実測速度および前記推定回転速度に基づいて空力学モデルを解くことにより、前記何れかの時点以降についての前記ボールの軌跡を予測する。
【0018】
開示の第6態様は、軌跡予測プログラムであって、コンピュータに、第3態様に係る回転推定プログラムを実行させることにより、飛来するボールの実測位置及び実測速度を含む状態情報を取得して前記ボールの推定回転速度を算出し、何れかの時点における前記実測位置、前記実測速度および前記推定回転速度に基づいて空力学モデルを解くことにより、前記何れかの時点以降についての前記ボールの軌跡を予測する、処理を実行させるための軌跡予測プログラムである。
【0019】
開示の第7態様は、返球ロボットであって、第4態様に係る軌跡予測装置と、飛来するボールを打ち返す返球打撃具と、前記返球打撃具を支持して運動させるための可動部と、前記軌跡予測装置により予測された前記ボールの軌跡に基づいて、前記ボールを返球するよう前記可動部の運動を制御する制御装置と、を備える。
【発明の効果】
【0020】
本発明によれば、特殊なボールを使わなくても簡単な構成で飛来するボールの回転速度を推定することができると共に、回転が掛かったボールの軌跡を簡単な構成で精度良く予測することができる。
【図面の簡単な説明】
【0021】
図1】返球ロボットの外観図である。
図2】返球ロボットの機能ブロック図である。
図3】基準座標系及びボール座標系について説明するための図である。
図4】ボールの実測回転速度の算出について説明するための図である。
図5】ラケットの一例を示す平面図である。
図6】軌跡予測装置のハードウェア構成を示すブロック図である。
図7】軌跡予測処理の流れを示すフローチャートである。
図8】ボールの実測位置と予測位置の一例を示す図である。
図9】ボールに作用するDrag力、Magnus力等について説明するための図である。
図10】ボールの検出位置及び予測位置の一例を示す図である。
図11】ボールが卓球台にバウンドする直前及びバウンドした直後の速度及び加速度について説明するための図である。
図12】ラケットの速度及び角度について説明するための図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
【0023】
図1は、返球ロボット10の外観図を示した。また、図2には、返球ロボット10のブロック図を示した。返球ロボット10は、飛来するボールを返球打撃具で打ち返すロボットである。本実施形態では、返球ロボット10が、卓球ロボットである場合について説明する。すなわち、返球ロボット10は、図示しないユーザーが相手打撃具としてのラケットURKで打った卓球のボールBLが卓球台TBでバウンドして飛来するボールBLを、返球打撃具としてのラケットRKで打ち返す卓球ロボットである。
【0024】
図1、2に示すように、返球ロボット10は、センサ部20、軌跡予測装置30、ロボット40、及び制御装置50を備えている。
【0025】
センサ部20は、飛来するボールBLの実測位置、実測速度、及び実測回転速度を含む状態情報を検出する。本実施形態では、センサ部20は、図1、2に示すように、3個のカメラ22A、22B、22Cと、状態情報算出部24と、を含む。なお、本実施形態では、実測回転速度が一例として角速度(rad/s)である場合について説明する。
【0026】
カメラ22A、22Bは、卓球台TB上を行き来するボールBLを各々異なる角度から撮影可能な位置に設置されており、予め定めたフレームレートで撮影する。カメラ22A、22Bは、所謂ステレオカメラとして機能する。
【0027】
カメラ22Cは、図示しないユーザーが持つラケットを撮影可能な位置に設置されている。
【0028】
状態情報算出部24は、カメラ22A、22Bで撮影されたボールBLの撮影画像に基づいてボールBLの実測位置及び実測速度を算出する。すなわち、状態情報算出部24は、異なる角度から撮影された2つの撮影画像の各々に対して、例えば特徴抽出処理等の公知の画像処理を行うことによりボールBLの二次元位置を撮影画像毎に検出する。そして、2つの撮影画像におけるボールBLの二次元位置に基づいて、所謂ステレオ法によりボールBLの三次元位置である実測位置を算出する。また、状態情報算出部24は、最新のボールBLの三次元位置と、過去に算出したボールBLの三次元位置と、に基づいて、ボールBLの移動距離及び移動時間を算出し、算出した移動距離及び移動時間に基づいてボールBLの実測速度を算出する。ここで、ボールBLの実測速度はベクトル量であり、互いに直交するX軸、Y軸、及びZ軸の各軸方向の成分を有する。
【0029】
また、状態情報算出部24は、ボールBLの表面の模様の見かけの動きに基づいて実測回転速度(本実施形態では角速度)を算出する。例えば、状態情報算出部24は、ボールBLの撮影画像に基づいてボールBLの表面の模様を抽出する。そして、抽出した模様の見かけの動きとして例えば移動速度を算出し、算出した移動速度に基づいてボールBLの実測回転速度を算出する。抽出する模様は、ボールBLの一部に予め印刷されているロゴ等のマークでもよいし、抽出用としてボールBLに新たに付与したマークでもよい。また、ボールBLがテニスボールの場合は、ボールの継ぎ目を模様として抽出してもよい。
【0030】
以下、実測回転速度の算出について説明する。なお、図7を参照して後述するように実測回転速度を求めることは必須ではない。
【0031】
実測回転速度の算出は、ボールBLのマークの位置を検出した後に、(1)ボールBLの姿勢の推定、(2)実測回転速度の算出の順に行う。
【0032】
(1)ボールBLの姿勢の推定
【0033】
図3に示すように、卓球台TBを基準とした基準座標系CWに対し、各軸に平行で、且つ、原点がボールBLの中心となる座標系をボール座標系CBとして定義する。ボール座標系CBにおけるマークの位置がボールBLの姿勢を表す。
【0034】
カメラ22Cのカメラ座標系におけるボールBLの中心位置を

とし、マークの中心位置を

として、ボールBLの半径をrとすると、次式が成り立つ。
【0035】
・・・(1)
【0036】
カメラ22Cで撮影した撮影画像におけるボールBLのマークの座標を(u,v)とすると、カメラ22Cの性質から次の式が成り立つ。
【0037】
・・・(2)
【0038】
ここで、f、fはカメラ22Cの焦点距離である。また、c、cはカメラ22Cの光学中心である。また、sはスケールファクタであり任意の定数である。
【0039】
同様の関係は、ボールBLの中心位置の座標についても成り立つ。また、カメラ22A、22Bの撮影画像に基づいて算出した基準座標系CWにおけるボールBLの中心位置をP 、同じ基準座標系CWにおけるカメラ22Cの位置をP とすると、二つの距離Dは
【0040】

であり、次式が成り立つ。
【0041】
・・・(3)
【0042】
カメラ22Cのカメラ座標系と基準座標系CWとの関係は予めキャリブレーションしておくため、P は既知である。このため、上記(1)~(3)式からカメラ座標系におけるボールBLの中心位置P 、P を算出することができる。
【0043】
次に、次式によりカメラ座標系におけるボールBLの姿勢を表すマークの位置の座標POSEを算出する。
【0044】
・・・(4)
【0045】
次に、基準座標系CWにおけるボールBLの姿勢を表すマークの位置の座標POSEを次式により算出する。
【0046】
・・・(5)
【0047】
ここで、Rは、基準座標系CWに対するカメラの外部パラメータのうち回転行列に相当する。
【0048】
ボールBLのマークの位置の座標POSEがn点(3点以上)算出されることにより、ボールBLの回転速度ω[ω、ω、ω]の算出が可能となる。
【0049】
n点以上のマークの位置の座標POSEを平面にフィッティングし、その平面の法線ベクトルを回転軸k=[k、k、kとした回転角ψを算出する。
【0050】
図4は、N点のマークの位置の座標POSEを平面にフィッティングしたときの平面を真上から見下ろした図、すなわち平面を回転軸kに沿った方向に見た図である。図4の左側の図は、1回目に検出したマークの位置から2回目に検出したマークの位置までの回転角をθで表している。また、図4の中央の図は、1回目に検出したマークの位置から3回目に検出したマークの位置までの回転角をθで表している。また、図4の右側の図は、1回目に検出したマークの位置からn回目に検出したマークの位置までの回転角をθn-1で表している。
【0051】
そして、n点のマークの位置の座標POSEが集まった場合に、回転軸kを中心とした回転角φは、次式で算出できる。
【0052】
・・・(6)
【0053】
ここで、mは、マークが一周した回数、θn-1は1回目に検出したマークの位置からn回目に検出したマークの位置までの回転角である。Tは、カメラ22Cのフレームレート(msec)である。
【0054】
そして、実測回転速度ωは、次式により算出できる。
【0055】
・・・(7)
【0056】
軌跡予測装置30は、機能的には、図2に示すように、回転推定装置31及び軌跡予測部32を含む。
【0057】
回転推定装置31は、取得部33、回転推定部34、及び相手打撃具検出部としてのラケット検出部35を備える。
【0058】
取得部33は、センサ部20から、飛来するボールBLの実測位置、実測速度、及び実測回転速度を含む状態情報を取得する。
【0059】
回転推定部34は、第1時点におけるボールBLの実測位置及び実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、第1時点と異なる第2時点、例えば第1時点よりも後の第2時点におけるボールBLの予測位置及び予測速度を求める処理を複数の仮回転速度について行い、第2時点における予測位置と第2時点における実測位置との差が最も小さくなる仮回転速度又は差が最も小さくなる仮回転速度に対応する第2時点における予測回転速度を推定回転速度として算出する。なお、第1時点における実測速度は、第1時点における実測位置と第1時点よりも前の時点における実測位置との差に基づいて求めてもよい。
【0060】
ラケット検出部35は、ボールBLがラケットURKで打撃されることによって飛来する場合において、打撃に関係するラケットURKの位置及び姿勢を検出する。例えば図5に示すように、ラケットURKのラバーRB上に複数のマーカーMKを設ける。図5の例では、9個のマーカーMKが正九角形となるようにラバーRB上に設けられている。ラケット検出部35は、カメラ22Cで撮影された撮影画像を画像処理することにより、ラケットURKの位置を特定すると共に、9個のマーカーMKの位置を特定する。そして、各マーカーの位置関係に基づいてラケットURKの姿勢を特定する。なお、ラケットURKにマーカーMKを設けずに、ラケットURKの外形形状を検出することによりラケットURKの姿勢を特定するようにしてもよい。
【0061】
ラケットURKを位置及び姿勢を検出できた場合、回転推定部34は、ラケットURKの位置及び姿勢も用いて、ボールBLの第1時点における仮回転速度を設定する。
【0062】
なお、回転推定部34は、複数の互いに異なる第1時点を設定して複数の推定回転速度を求め、求めた複数の推定回転速度に基づいて単一の推定回転速度を求めるようにしてもよい。例えば、第1時点を変えて何回か推定回転速度を求め、複数の推定回転速度の平均値を推定回転速度としてもよい。この場合、それぞれの第1時点から第2時点までの時間の範囲は一部重複していてもよい。
【0063】
また、回転推定部34は、さらに、第2時点における実測位置及び実測速度と第2時点における仮回転速度とに基づいて空力学モデルを解くことにより、第1時点及び第2時点と異なる第3時点、例えば第2時点が第1時点よりも後である場合に第2時点よりも後の第3時点におけるボールBLの予測位置及び予測速度を求める処理を第2時点における複数の仮回転速度について行い、第3時点における予測位置と第3時点における実測位置との差が最も小さくなる第2時点における仮回転速度又は差が最も小さくなる第2時点における仮回転速度に対応する第3時点における予測回転速度を推定回転速度とするものであって、第2時点における複数の仮回転速度は、第2時点における推定回転速度の近傍の値から選ばれるようにしてもよい。
【0064】
また、回転推定部34は、複数の仮回転速度を実測回転速度の近傍の値から選ぶようにしてもよい。
【0065】
軌跡予測部32は、何れかの時点における実測位置、実測速度および推定回転速度に基づいて空力学モデルを解くことにより、何れかの時点以降についてのボールBLの軌跡を予測する。
【0066】
また、軌跡予測部32は、さらに、ボールBLが着弾する場合はバウンドモデルを解くことにより、ボールBLが着弾した後の軌跡を予測する。
【0067】
ロボット40は、ラケットRKを支持して運動させるための可動部41を備える。図1に示すように、可動部41は、本実施形態では一例として3本のロボットアーム41A、41B、41C、及びラケットRKの支持部42を含む。すなわち、ロボット40は、所謂パラレルリンクロボットであり、ロボットアーム41A、41B、41Cを並列に制御することにより、ロボットアーム41A、41B、41Cの先端の支持部42に支持されたラケットRKの挙動を制御するロボットである。支持部42は、ラケットRKの姿勢を変更するための駆動機構を備えている。なお、ロボット40は、パラレルリンクロボットに限られるものではなく、他のタイプのロボットであってもよい。
【0068】
制御装置50は、軌跡予測装置30により予測されたボールBLの軌跡に基づいて、ボールBLを返球するよう可動部41の運動を制御する。
【0069】
次に、軌跡予測装置30のハードウェア構成を示すブロック図である。
【0070】
図6に示すように、軌跡予測装置30は、CPU(Central Processing Unit)30A、ROM(Read Only Memory)30B、RAM(Random Access Memory)30C、ストレージ30D、入力部30E、モニタ30F、光ディスク駆動装置30G及び通信インタフェース30Hを有する。各構成は、バス30Iを介して相互に通信可能に接続されている。
【0071】
本実施形態では、ROM30B又はストレージ30Dには、軌跡予測プログラム(回転推定プログラムを含む)が格納されている。CPU30Aは、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU30Aは、ROM30B又はストレージ30Dからプログラムを読み出し、RAM30Cを作業領域としてプログラムを実行する。CPU30Aは、ROM30B又はストレージ30Dに記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
【0072】
ROM30Bは、各種プログラム及び各種データを格納する。RAM30Cは、作業領域として一時的にプログラム又はデータを記憶する。ストレージ30Dは、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
【0073】
入力部30Eは、キーボード30E1、及びマウス30E2等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ30Fは、例えば、液晶ディスプレイであり、ワークWの吸着の成否等の各種の情報を表示する。モニタ30Fは、タッチパネル方式を採用して、入力部30Eとして機能してもよい。光ディスク駆動装置30Gは、各種の記録媒体(CD-ROM又はブルーレイディスクなど)に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
【0074】
通信インタフェース30Hは、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
【0075】
図2に示した軌跡予測装置30の各機能構成は、CPU30AがROM30B又はストレージ30Dに記憶された打ち方決定プログラムを読み出し、RAM30Cに展開して実行することにより実現される。
【0076】
次に、軌跡予測装置30の作用について説明する。
【0077】
図7は、軌跡予測装置30による軌跡予測処理(回転推定処理を含む)の流れを示すフローチャートである。ユーザーが入力部30Eを操作して軌跡予測処理の実行を指示すると、CPU30AがROM30B又はストレージ30Dから軌跡予測プログラムを読み出して、RAM30Cに展開し実行することにより、軌跡予測処理が実行される。図7に示す軌跡予測処理は、処理の終了が指示されるまで繰り返し実行される。
【0078】
なお、図7に示す軌跡予測処理が実行されると、センサ部20では、カメラ22A、22B、22Cによる撮影を開始し、状態情報算出部24で算出したボールBLの実測位置、実測速度、及び実測回転速度を軌跡予測装置30に時系列で順次出力する。また、カメラ22Cの撮影画像はラケット検出部35にも時系列で順次出力される。
【0079】
ステップS100では、CPU30Aが、取得部33として、飛来するボールBLの実測位置及び実測速度を含む状態情報をセンサ部20から取得する。
【0080】
ステップS102では、CPU30Aが、回転推定部34として、取得した状態情報の取得数が予め定めた閾値以上か否かを判定する。ここで、閾値は、ボールの実測位置及び実測速度を二次関数で近似するのに必要な状態情報の数をいう。
【0081】
そして、取得した状態情報の取得数が予め定めた閾値以上であればステップS104へ移行し、閾値未満であればステップS106へ移行する。
【0082】
ステップS104では、CPU30Aが、回転推定部34として、ステップS100で取得した実測位置及び実測速度を補正する。具体的には、ステップS100で取得した時系列の実測位置を近似する二次関数を例えば最小二乗法により算出する。そして、算出した二次関数を用いて、ステップS100で取得した時系列の実測位置を補正する。すなわち、補正後の実測位置が二次関数を表す曲線上にプロットされるように実測位置を補正する。また、実測速度についても実測位置と同様に補正する。
【0083】
ステップS106では、CPU30Aが、回転推定部34として、ステップS100で取得した実測位置及び実測速度を補正する。具体的には、ステップS100で取得した時系列の実測位置を近似する一次関数を例えば最小二乗法により算出する。そして、算出した一次関数を用いて、ステップS100で取得した時系列の実測位置を補正する。すなわち、補正後の実測位置が一次関数を表す直線上にプロットされるように実測位置を補正する。また、実測速度についても実測位置と同様に補正する。
【0084】
ステップS108では、CPU30Aが、ラケット検出部35として、ボールBLがラケットURKで打撃されることによって飛来する場合において、打撃に関係するラケットURKの位置及び姿勢を検出する。例えば、カメラ22Cで順次撮影された撮影画像の各々に対してパターンマッチング等の公知の画像処理を施すことにより、ボールBLがラケットURKの打撃面内に存在する又はラケットURKの近傍に存在する撮影画像を複数特定する。すなわち、ボールBLをラケットURKで打撃する直前から打撃した直後までの間に撮影された撮影画像を複数特定する。そして、特定した撮影画像の各々について、撮影画像におけるラケットURKの位置からラケットURKの三次元位置を算出する。この算出は、例えば撮影画像の位置を三次元位置に変換する変換式を用いて算出できる。また、特定した撮影画像の各々について、ラケットURKに設けられたマーカーMKの位置に基づいて、ラケットURKの姿勢を算出する。ここで、ラケットURKの姿勢とは、後述する図12に示すラケットRKの姿勢を表す角度α、βと同じである。
【0085】
ステップS110では、CPU30Aが、ラケット検出部35として、ラケットURKを検出できたか否か、具体的には、カメラ22Cで撮影された撮影画像のうち複数の撮影画像からラケットURKの位置及び姿勢を検出できたか否かを判定する。そして、複数の撮影画像からラケットURKの位置及び姿勢を検出できた場合はステップS112へ移行し、検出できなかった場合はステップS114へ移行する。
【0086】
ステップS112では、CPU30Aが、回転推定部34として、ステップS110で検出した複数のラケットURKの位置及び姿勢に基づいて、ボールBLの回転方向を推定する。例えば、複数のラケットURKの位置からラケットURKの速度を算出すると共に、ラケットURKの姿勢の変化量、すなわち角度α及び角度βの変化量を算出する。そして、ラケットURKの速度及び姿勢の変化量からボールBLの回転方向を算出する算出式又はテーブルデータを用いて回転方向を算出する。
【0087】
本実施形態において、ラケット検出部35を設けないようにしてもよい。その場合には、ステップS108、S110、S112はスキップされる。
【0088】
ステップS114では、CPU30Aが、回転推定部34として、実測回転速度を取得できたか否かを判定する。すなわち、状態情報算出部24がカメラ22Cで撮影された撮影画像に基づいて上記(7)式により算出した実測回転速度ωをステップS100で取得できなかったか否かを判定する。実測回転速度を取得できない場合は、例えばボールBLに付されたマークがカメラ22Cから見えない位置にある場合である。
【0089】
そして、実測回転速度ωを取得できなかった場合はステップS116へ移行し、実測回転速度ωを取得できた場合は、実測回転速度ωを推定回転速度として、ステップS118へ移行する。
【0090】
本実施形態において、実測回転速度ωの取得を行わないようにしてもよい。その場合、ステップS114はスキップされ、常にステップ116が実行される。
【0091】
ステップS116では、ボールBLの回転速度を探索アルゴリズムにより推定する。回転速度の探索は、まず、図8に示すように、過去のN時点から現時点までに撮影したN点全ての計測点において、空力学モデルを用いて予測位置を算出する。すなわち、N時点から現在までN個の実測位置が得られている場合、N時点(第1時点)におけるボールBLの実測位置及び実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、N時点よりも後の(N-1)時点(第2時点)以降におけるボールBLの予測位置及び予測速度を求める。仮回転速度は、例えば予め定めた回転速度に設定する。
【0092】
次に、N時点より1つ後の(N-1)時点(第1時点)におけるボールBLの実測位置の実測位置及び実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、(N-1)時点よりも後の(N-2)時点(第2時点)以降におけるボールBLの予測位置及び予測速度を求める。以下、(N-3)時点から現時点まで上記と同様の処理を行う。ここでは、第2時点を第1時点よりも後の時点に設定し、第1時点における実測位置、実測速度、仮回転速度から第2時点における予測位置及び予測速度を求めたが、第2時点を第1時点よりも前の時点に設定し、第1時点における実測位置、実測速度、仮回転速度から第2時点における予測位置及び予測速度を求めてもよい。この場合の「予測」は、第1時点から見て過去についての算出値という意味である。
【0093】
空力学モデルは、次式により表される。そして、次式にボールBLの実測位置、実測速度、及び仮回転速度を入力し、時間発展させることにより予測位置が得られる。なお、第2時点を第1時点よりも前の時点に設定する場合は、時刻tは負の値となる。
【0094】

・・・(8)
【0095】
ここで、p(t)はボールBLの位置である。また、p(t)は実測位置p(t)を1回微分した実測速度である。また、p・・(t)はp(t)を2回微分した加速度である。また、ωは、ボールBLの仮回転速度である。また、gは重力加速度であり、9.8m/sである。また、SbはボールBLの断面積であり、ボールBLの半径をrとしてπrである。また、VbはボールBLの体積であり、(4/3)×πrである。また、mはボールBLの質量であり、一例として2.7×10-3kgである。また、ρは空気密度であり、一例として1.184kg/m(25℃)である。また、C(t)はDrag係数であり、一例として0.5である、C(t)はMagnus係数であり、一例として0.2である。
【0096】
図9には、Drag力、Magnus力、速度p(t)、及びボールBLの回転軸の関係を示した。
【0097】
ボールBLの予測位置を算出した後、次式により、ボールBLの実測位置と予測位置との誤差を評価するための評価値E(ω)を算出する。
【0098】
・・・(9)
【0099】
ここで、e(j=1、2、・・・、j-1)は、現時点から一点前までの計測点における実測位置と予測位置との誤差である。また、e’(j=1、2、・・・、N)は、(j-1)時点から現時点までのすべてのeの平均である。
【0100】
そして、仮回転速度ωの探索範囲を設定し、設定した探索範囲内の複数の仮回転速度ωの各々について上記(8)式により予測位置を算出し、算出した予測位置と実測位置との誤差に基づいて上記(9)式により評価値E(ω)を各々算出する。そして、評価値E(ω)が最も小さくなる仮回転速度ωを推定回転速度とする。なお、設定した探索範囲内の複数の仮回転速度ωの何れを用いた場合よりも評価値E(ω)が小さくなる仮回転速度を、補完的手法を用いて求め、これを推定回転速度としてもよい。
【0101】
また、評価値E(ω)が最も小さくなる仮回転速度(第1時点における仮回転速度)と第1時点における実測位置及び実測速度とに基づいて空力学モデルを解くことにより求めた第2時点における予測回転速度を推定回転速度としてもよい。
【0102】
なお、仮回転速度ωの探索範囲は、例えば予め定めた回転速度を中心として、中心の回転速度との差が予め定めた値以内となる範囲で設定する。また、探索範囲を設定せず、最初の回転速度を0に設定して徐々に回転速度を速くするようにしてもよい。
【0103】
本実施形態においては、ステップS114で実測回転速度を取得できたときは実測回転速度を推定回転速度として扱うことにしてステップS116の回転速度推定を行っていないが、ステップS114で実測回転速度を取得できたときにもステップS116の回転速度推定を行うようにしてもよい。この場合、仮回転速度ωの探索範囲を、実測回転速度を中心として、実測回転速度との差が予め定めた値以内となる範囲で設定してもよい。すなわち、複数の仮回転速度ωを実測回転速度の近傍の値から選ぶようにしてもよい。これにより、仮回転速度の探索範囲を絞ることができる。
【0104】
また、ステップS112でラケットURKの位置及び姿勢に基づいてボールBLの回転方向を推定した場合には、推定した回転方向も用いて仮回転速度ωの探索範囲を設定してもよい。
【0105】
また、第2時点(例えば(N-1)時点)における実測位置及び実測速度と第2時点(例えば(N-1)時点)における仮回転速度とに基づいて空力学モデルを解くことにより、第2時点(例えば(N-1)時点)よりも後の第3時点(例えば(N-2)時点)におけるボールBLの予測位置及び予測速度を求める処理を第2時点(例えば(N-1)時点)における複数の仮回転速度について行い、第3時点(例えば(N-2)時点)における予測位置と第3時点(例えば(N-2)時点)における実測位置との差が最も小さくなる第2時点(例えば(N-1)時点)における仮回転速度又は仮回転速度に対応する第3時点(N-2)時点における予測回転速度を推定回転速度とするものであって、第2時点(例えば(N-1)時点)における複数の仮回転速度は、第2時点(例えば(N-1)時点)における推定回転速度の近傍の値から選ばれるようにしてもよい。ここで、第1時点、第2時点、第3時点は時間経過の順に設定したが、逆の順序でもよく、それら以外の順序でもよい。
【0106】
また、少なくとも第1時点における実測位置及び実測速度は、状態情報算出部24又は回転推定部34が、第1時点までの複数の時点において検出されたボールの実測位置及び実測速度に基づいて決定するようにしてもよい。
【0107】
ステップS118では、CPU30Aが、回転推定部34として、現在までのボールBLの実測位置、実測速度、及び推定回転速度を例えば非線形カルマンフィルタを用いて補正する。なお、現在までのボールBLの実測位置、実測速度、及び推定回転速度に基づいて最小二乗法等を用いて関数近似することにより補正してもよい。
【0108】
ステップS120では、CPU30Aが、軌跡予測部32として、ステップS118で補正したボールBLの実測位置、実測速度、及び推定回転速度を含む状態情報に基づいて、ボールBLが卓球台TBでバウンドするまでの予測軌跡に関する軌跡情報を予測する。ここで、予測軌跡に関する軌跡情報とは、現在まで時系列で検出された状態情報から予測されるボールBLの位置、速度、及び回転速度を時系列で表した情報である。図10には、センサ部20で検出されたボールBLの検出位置(実測位置)及び軌跡予測部32で予測されたボールBLの予測位置の一例を示した。図10に示すように、本実施形態では、卓球台TBのZ座標は0とされている。このため、ボールBLが卓球台TBでバウンドするか否かは、ボールBLのX座標及びY座標が卓球台TBのX座標及びY座標の範囲内で、且つ、Z座標が0となるか否かで判定することができる。
【0109】
ボールBLの予測軌跡の軌跡情報は、具体的には、空力学モデルを表す上記(8)式にステップS118で補正したボールBLの実測速度及び推定回転速度を入力し、時間発展させることにより得られる。
【0110】
ステップS122では、CPU30Aが、軌跡予測部32として、ボールBLが卓球台TBでバウンドするか否かを判定する。具体的には、ボールBLの軌跡情報に基づいて、X座標及びY座標が卓球台TBのX座標及びY座標の範囲内で、且つ、Z座標が0となる場合はボールBLが卓球台TBでバウンドすると判定する。
【0111】
そして、ボールBLが卓球台TBでバウンドする場合はステップS124へ移行し、ボールBLが卓球台TBでバウンドしない場合は本ルーチンを終了する。
【0112】
ステップS124では、CPU30Aが、軌跡予測部32として、ステップ120で予測したボールBLの予測軌跡の軌跡情報に基づいて、ボールBLが卓球台TBでバウンドした直後の速度及び回転速度を予測する。具体的には、図11に示すように、ボールBLが卓球台TBでバウンドする直前の速度v、回転速度ωを次式で表されるテーブルバウンドモデルに入力して、ボールBLが卓球台TBでバウンドした直後の速度v及び回転速度ωを次式により算出する。
【0113】
・・・(10)
ただし、Avv、Avω、Aωv、Aωωは次式で表される。
【0114】
・・・(11)
・・・(12)
・・・(13)
・・・(14)
【0115】
ここで、αは卓球台TBとボールBLとの摩擦係数に依存するパラメータであり、予め設定される。また、ηは、卓球台TBとボールBLとの反発係数であり、予め設定される。
【0116】
また、次式で示すテーブルバウンドモデルを用いても良い。
【0117】
・・・(15)
・・・(16)
【0118】
ここで、βは、ボールBLが卓球台TBでバウンドする直前のボールBLと卓球台TBとが成す角度である。なお、上記で説明した以外のテーブルバウンドモデルを用いても良い。
【0119】
ステップS126では、CPU30Aが、軌跡予測部32として、ボールBLが卓球台TBにバウンドした後の予測軌跡の軌跡情報を算出する。すなわち、ステップS124で算出した、卓球台TBでバウンドした直後のボールBLの速度v及び回転速度ωを、エアロダイナミクスを表す上記(1)式に入力して時間発展させることにより、卓球台TBでバウンドした後のボールBLの予測軌跡の軌跡情報を算出する。そして、算出した軌跡情報を制御装置50へ出力する。
【0120】
制御装置50は、軌跡情報に基づいて、ボールBLを返球するよう可動部41の運動を制御する。具体的には、制御装置50は、軌跡情報に基づいて、ボールBLが目標到達位置に返球されるように、ラケットRKの位置、姿勢、及び速度を含む打ち方条件を決定し、可動部41を制御する。
【0121】
ボールBLを打ち返す時点のラケットRKの位置は、例えばボールBLが卓球台TBでバウンドした後の軌跡上で、ボールBLの高さが最高となる位置とする。また、ラケットRKでボールBLを返球可能な高さの範囲のうち最低となる位置としてもよいし、ボールBLのZ軸方向(高さ方向)の速度が最も遅い位置としてもよいし、ロボット40の可動域内で返球精度が一定値以上となる位置としてもよい。
【0122】
ラケットRKの姿勢は、図12に示す角度α、βによって定まる。図12は、ラケットRKがボールBLを打撃する直前及びボールBLを打撃した直後の様子の一例である。図12に示すように、角度αは、ラケットRKの面をz’軸-y’軸平面とした場合に、z’軸を回転軸としたラケットRKの回転角であり、角度βは、y’軸を回転軸とした回転角である。
【0123】
ラケットRKの姿勢及び速度は、ボールBLを打ち返した場合の軌跡情報から算出した予測到達位置と目標到達位置との誤差が許容範囲内となるように決定される。
【0124】
制御装置50は、決定したラケットRKの位置、速度、角度α、βでボールBLを打ち返すように可動部41を制御する。これにより、ボールBLが目標到達位置付近に打ち返される。
【0125】
このように、本実施形態では、第1時点におけるボールBLの実測位置及び実測速度と仮回転速度とに基づいて空力学モデルを解くことにより、第1時点よりも後の第2時点におけるボールBLの予測位置及び予測速度を求める処理を複数の仮回転速度について行い、第2時点における予測位置と第2時点における実測位置との差が最も小さくなる仮回転速度又は差が最も小さくなる仮回転速度に対応する第2時点における予測回転速度を推定回転速度として算出する。このため、特殊なボールを使わなくても簡単な構成で飛来するボールの回転速度を推定することができると共に、回転が掛かったボールの軌跡を簡単な構成で精度良く予測することができる
【0126】
なお、本実施形態では、状態情報算出部24がセンサ部20に設けられた構成について説明したが、状態情報算出部24が軌跡予測装置30に設けられていても良い。
【0127】
また、本実施形態では、制御装置50の制御対象であるロボット40が実機の場合について説明したが、制御装置50の制御対象が、シミュレーション上で動作するロボットであってもよい。
【0128】
また、本実施形態では、返球ロボット10が卓球ロボットである場合について説明したが、これに限られない。例えば、返球ロボット10は、テニスボールを打ち返すテニスロボット、野球のボールをバットで打ち返す野球ロボット等、ボールを扱うスポーツ又は遊びに適用可能である。野球ロボットの場合、例えばユーザーが投げたボールに対してどのような打ち方をすれば目標到達位置に打ち返すことができるかをアドバイスする用途に使用可能である。また、ラケット等の打撃具は、支持部42に支持される場合に限られない。例えば、ロボットアームの先端の形状が打撃具の形状をしていてもよい。また、相手方打撃具も本実施形態の卓球のラケットに限らず、テニスラケット、野球のバットなどであってもよい。
【0129】
また、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行した打ち方決定処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、打ち方決定処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
【0130】
また、上記各実施形態では、打ち方決定プログラムがストレージ30D又はROM30Bに予め記憶(インストール)されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disk Read Only Memory)、DVD-ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
【符号の説明】
【0131】
10 返球ロボット
20 センサ部
22A、22B、22C カメラ
24 状態情報算出部
30 軌跡予測装置
31 回転推定装置
32 軌跡予測部
33 取得部
34 回転推定部
35 ラケット検出部
40 ロボット
41 可動部
41A、41B、41C ロボットアーム
42 支持部
50 制御装置
RK、URK ラケット
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12