JP7249221B2 - SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD - Google Patents
SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD Download PDFInfo
- Publication number
- JP7249221B2 JP7249221B2 JP2019127572A JP2019127572A JP7249221B2 JP 7249221 B2 JP7249221 B2 JP 7249221B2 JP 2019127572 A JP2019127572 A JP 2019127572A JP 2019127572 A JP2019127572 A JP 2019127572A JP 7249221 B2 JP7249221 B2 JP 7249221B2
- Authority
- JP
- Japan
- Prior art keywords
- sensor
- posture
- information
- sensor data
- moving body
- 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.)
- Active
Links
Images
Landscapes
- Manipulator (AREA)
Description
本発明は、センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法に関する。 The present invention relates to a sensor position/orientation calibration device and a sensor position/orientation calibration method.
近年、労働人口の減少によって、人作業の代替や自動化へのニーズが高まっている。これらのニーズに適合する機器として、ロボットなどの移動体と、それらの移動体に取り付けられたセンサ(例えば、カメラ)を組み合わせて様々なタスクに取り組む機器がある。ロボットを例にとると、物流倉庫にてピッキング作業を自動化する産業用ロボットアームが挙げられる。 In recent years, the declining working population has increased the need for substitution and automation of human work. Devices that meet these needs include mobiles, such as robots, combined with sensors (eg, cameras) attached to the mobiles to tackle various tasks. Taking a robot as an example, there is an industrial robot arm that automates picking work in distribution warehouses.
産業用ロボットアームでは、ロボットに取り付けられたセンサによってピッキング対象物の位置を認識し、認識した位置にロボットアームを移動させることで、ピッキング作業を実現している。このとき、ピッキング対象物の位置は、カメラで認識したカメラ座標系上の位置と、ロボットアームの移動先であるロボットアーム座標系上の位置との2つの表現が混在している。 An industrial robot arm recognizes the position of an object to be picked by a sensor attached to the robot, and moves the robot arm to the recognized position to perform a picking operation. At this time, the position of the object to be picked has two representations, the position recognized by the camera on the camera coordinate system and the position on the robot arm coordinate system to which the robot arm moves.
ロボットアームが正しくピッキング作業を実現するには、カメラ座標系とロボットアーム座標系の相対位置姿勢を表す変換パラメータ(以下、相対位置姿勢パラメータと称する)を用いて、双方の座標系における表現の位置に変換する必要がある。移動体とセンサの相対位置を推定する技術は、様々な分野で活用されている。例えば先に例を記載した、産業分野で活用されるピッキング用ロボットや、自動運転・運転者支援を目的にセンサを搭載した自動車などが挙げられる。 In order for the robot arm to correctly perform the picking operation, transformation parameters representing the relative position and orientation of the camera coordinate system and the robot arm coordinate system (hereafter referred to as relative position and orientation parameters) are used to convert the position of the expression in both coordinate systems. need to be converted to Techniques for estimating the relative position of a moving object and a sensor are used in various fields. For example, picking robots used in the industrial field and automobiles equipped with sensors for the purpose of automatic driving and driver support, which were mentioned earlier, can be mentioned.
相対位置を推定する一般的な手法としては、例えば、ロボットとセンサの設定データから算出する手法がある。あるいは、予め形状やアピアランス情報が既知な撮影対象物(例えばチェッカーパターンを印刷した板)を、ロボットアームに取り付けられたカメラで様々な姿勢で撮影し、撮影された複数の画像と、ロボットアームのモータの指令値などにより計算されたロボットの位置、姿勢から推定する方法がある。これらの相対位置を推定する手法をキャリブレーションと総称する。 As a general method of estimating the relative position, for example, there is a method of calculating from setting data of the robot and the sensor. Alternatively, an object whose shape and appearance information is known in advance (for example, a board printed with a checkered pattern) is photographed in various postures with a camera attached to a robot arm. There is a method of estimating from the position and posture of the robot calculated from the command value of the motor. Methods for estimating these relative positions are collectively called calibration.
従来のキャリブレーションでは、移動体の形状の歪みやたわみなどの影響により、移動体の位置、姿勢の算出精度が悪い場合には、キャリブレーションに失敗、もしくは相対位置姿勢パラメータの推定精度の低下を招くことがある。これらの精度低下を招く要因は検出することが困難なため、対策に多くの時間を要するという問題がある。
そこで、移動体の位置精度の低下に伴うキャリブレーション結果の精度低下を検知、修正する技術が求められる。
With conventional calibration, if the accuracy of calculating the position and orientation of the moving object is poor due to the effects of distortion and deflection of the shape of the moving object, the calibration may fail or the accuracy of estimating the relative position and orientation parameters may decline. I may invite Since it is difficult to detect the factors that lead to such deterioration in accuracy, there is a problem that countermeasures require a lot of time.
Therefore, there is a demand for a technique for detecting and correcting the deterioration in the accuracy of the calibration results due to the deterioration in the positional accuracy of the moving body.
特許文献1には、移動先である目標物の位置を検出するセンサと、ロボットアームの手先部の位置を検出するセンサを用いて、手先部と目標物との誤差を計測することで目標物へ手先部を移動させる技術が記載されている。
In
特許文献1に記載の技術では、ロボットアームと目標物の位置を検出するセンサを新たに導入する必要があり、構成が複雑化するという問題がある。また、特許文献1に記載の技術では、手先部と目標物の位置の誤差を計測しながら、ロボットの位置をフィードバック方式による制御で移動させるようにしているが、ロボットアームの位置、姿勢の設定精度が一様ではなく、動的に変化する場合に対応できないという問題がある。
このように、従来のキャリブレーションでは、キャリブレーション結果の精度が適切でない場合が多々あるが、精度の低下を検出することは困難であった。
The technique described in
As described above, in conventional calibration, there are many cases where the accuracy of calibration results is not appropriate, but it has been difficult to detect a decrease in accuracy.
本発明は、移動体の位置、姿勢の決定精度の低下を検出可能なセンサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法を提供することを目的とする。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a sensor position/orientation calibration device and a sensor position/orientation calibration method capable of detecting a decrease in accuracy in determining the position and orientation of a moving object.
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は、上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、センサの任意の点に設定された座標系を、移動体の座標系に変換するセンサ位置姿勢キャリブレーション装置であって、移動体とセンサの相対位置姿勢を取得する相対位置姿勢パラメータ取得部と、移動体の形状情報を取得する形状情報取得部と、パラメータ取得部と形状取得部が取得する情報に基づいて、センサで取得するデータを仮想的に再現した仮想センサデータを生成する仮想センサデータ生成部と、センサによって取得されたセンサデータを出力するセンシング部と、仮想センサデータとセンサデータを比較して差異の有無を判定するマッチング部と、マッチング部の出力を評価して、仮想センサデータとセンサデータの誤差量を算出するマッチング結果評価部と、を備える。
さらに、仮想センサデータ生成部は、形状情報と、移動体の姿勢を表現する姿勢情報に基づいて、仮想的な移動体の姿勢形状を表す移動体姿勢形状情報を生成する移動体姿勢形状シミュレート部と、移動体姿勢形状情報と相対位置姿勢パラメータを入力として、センサの視点に変換したセンサ視点形状情報を生成するセンサ視点生成部と、センサ視点形状情報とセンサに固有のパラメータを入力として、センサが取得するデータを仮想的に生成する生成部と、を有する。
そして、マッチング結果評価部は、姿勢情報の各値のうち少なくとも一つ以上のパラメータを変更して、複数の姿勢情報を作成して入力とすることで、複数の姿勢情報と誤差量の対応を記録し、姿勢情報と誤差量の対応に対して分析処理を行うようにした。
In order to solve the above problems, for example, the configurations described in the claims are adopted.
The present application includes a plurality of means for solving the above problems. To give one example, a sensor position/orientation calibration device that converts a coordinate system set at an arbitrary point of a sensor into a coordinate system of a moving body. a relative position/orientation parameter acquisition unit that acquires the relative position/orientation of the moving object and the sensor; a shape information acquisition unit that acquires shape information of the moving object; a virtual sensor data generation unit that generates virtual sensor data that virtually reproduces the data acquired by the sensor; a sensing unit that outputs the sensor data acquired by the sensor; and a comparison between the virtual sensor data and the sensor data. A matching unit that determines whether or not there is a difference, and a matching result evaluation unit that evaluates the output of the matching unit and calculates the amount of error between the virtual sensor data and the sensor data.
Further, the virtual sensor data generation unit generates moving body posture shape information representing the posture shape of a virtual moving body based on the shape information and the posture information representing the posture of the moving body. a sensor viewpoint generation unit that receives moving body posture shape information and relative position/posture parameters as input and generates sensor viewpoint shape information converted into a sensor viewpoint; and a sensor viewpoint shape information and sensor-specific parameters as inputs: and a generator that virtually generates data acquired by the sensor.
Then, the matching result evaluation unit changes at least one or more parameters among the respective values of the posture information to create a plurality of pieces of posture information and input them, thereby determining the correspondence between the plurality of pieces of posture information and the amount of error. It was recorded, and analysis processing was performed for the correspondence between the posture information and the amount of error.
本発明によれば、移動体の位置、姿勢の決定精度の低下を検出することが可能になる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
According to the present invention, it becomes possible to detect a decrease in the determination accuracy of the position and attitude of a moving object.
Problems, configurations, and effects other than those described above will be clarified by the following description of the embodiments.
<1.第1の実施の形態例>
以下、本発明の第1の実施の形態例を、図1~図11を参照して説明する。
[1-1.ロボットアームの構成]
まず、図1を参照して、本発明の第1の実施の形態例によるセンサ位置姿勢キャリブレーション装置1の適用例であるロボットアーム100の構成について説明する。本実施の形態例ではロボットアームに適用した例を説明するが、本実施の形態例のセンサ位置姿勢キャリブレーション装置1は、双腕ロボットや自動車など、位置姿勢情報を取得可能な移動体であれば、様々なものに適用が可能である。
<1. First Embodiment>
A first embodiment of the present invention will be described below with reference to FIGS. 1 to 11. FIG.
[1-1. Configuration of robot arm]
First, referring to FIG. 1, the configuration of a
ロボットアーム100は、ベース111、ジョイント112a,112b,112c、リンク113a,113b、アーム114、及びハンド115を備える。
ベース111には、ジョイント112aを介してリンク113aの一端が接続され、リンク113aの他端には、ジョイント112bを介してリンク113bの一端が接続される。また、リンク113bの他端には、ジョイント112cを介してアーム114の一端が接続され、アーム114の先端にはハンド115が取り付けられる。各ジョイント112a,112b,112cは、接続されたリンク113a,113bまたはアーム114の角度を自在に調整でき、先端のハンド115が可動範囲内の任意の位置に移動できる。
ハンド115は、エンドエフェクタと称され、物体を挟み込む機構を有する。但し、ハンド115として、図1に示すような物体を挟み込む機構とするのは一例であり、例えば吸盤状の部品を用いて空気圧によりものを吸着する機構でもよい。あるいは、ロボットアーム100として、エンドエフェクタを備えないものでもよい。
The
One end of a
The
ここで、アーム114には、画像を取得するセンサであるカメラ22が取り付けられ、カメラ22がハンド115の近傍を撮像して、センサ出力としてのカメラ画像を出力する。図1では、アーム114上のカメラ22とハンド115の周辺の範囲A1を、拡大範囲A2として詳細に示す。
図1の拡大範囲A2に示すように、ハンド115は、点115aを原点(ハンド座標系原点)としたハンド座標系115bを持つ。ハンド座標系115bは、x軸、y軸、z軸の3軸で示される。ロボットアーム100のハンド115が物体を掴む等の動作は、このハンド座標系115bを基準にして行われる。
Here, a
As shown in the enlarged range A2 in FIG. 1, the
一方、カメラ22は、点22aを原点(カメラ座標系原点)としたカメラ座標系(センサ座標系)22bを持つ。カメラ座標系22bも、x軸、y軸、z軸の3軸で示される。カメラ座標系22bのz軸は、カメラ22に装着されたレンズの光軸と一致させてある。
なお、図1ではハンド座標原点115aは、ハンド115の頂点に設定されているが、ロボットアーム100の移動に連動して動く点をハンド座標原点115aにとれば、ハンド座標系115bは任意に設定することができる。また、カメラ座標原点22aも、図1ではカメラ22の光学中心に設定した例を示しているが、カメラ22との相対位置姿勢が不変な点であれば、カメラ座標原点22aは任意に設定可能である。
On the other hand, the
In FIG. 1, the hand coordinate
カメラ座標系22bは、相対位置姿勢パラメータ情報2aによって、ハンド座標系115bに変換することができる。本実施の形態例のセンサ位置姿勢キャリブレーション装置1は、この相対位置姿勢パラメータ情報2aを持つ。
The camera coordinate
[1-2.センサ位置姿勢キャリブレーション装置の構成]
図2は、本発明の第1の実施の形態例のセンサ位置姿勢キャリブレーション装置1の構成例を示す。
センサ位置姿勢キャリブレーション装置1は、センサにより取得されるデータを仮想的に生成し、それを実際にセンサから取得されるデータと比較することで移動体の位置、姿勢の決定精度の低下を検出するものである。本実施の形態例では、後述する図3に示すロボットアーム100を移動体とし、そのロボットアーム100に取り付けたカメラ22をセンサとしている。
[1-2. Configuration of Sensor Position and Orientation Calibration Device]
FIG. 2 shows a configuration example of the sensor position/
The sensor position/
センサ位置姿勢キャリブレーション装置1は、相対位置姿勢パラメータ取得部2、形状情報取得部3、仮想センサデータ生成部4、センシング部5、及びマッチング部6を備える。
相対位置姿勢パラメータ取得部2は、ロボットアーム100の位置、姿勢を表現可能なハンド座標系115bと、カメラ22の位置、姿勢を表現可能なカメラ座標系22bの取得処理を行う(相対位置姿勢パラメータ取得処理)。この相対位置姿勢パラメータ取得処理で得られるパラメータが、図1に示す相対位置姿勢パラメータ情報2aである。
The sensor position/
The relative position/posture
形状情報取得部3は、3次元センサやカメラなどで計測した移動体の形状情報、アピアランス情報やCAD(Computer Aided Design)などの一般的な3次元モデル生成ツールで作成した移動体の形状情報を取得する(形状情報取得処理)。
仮想センサデータ生成部4は、ロボットアーム100とカメラ22の相対位置姿勢パラメータ情報2aと、ロボットアーム100の形状情報を受け取り、ロボットアーム100の位置姿勢情報を用いて、カメラ22の撮影画像を、ハンド座標系115bの画像に変換する。仮想センサデータ生成部4は、変換されたハンド座標系115bの画像を、仮想センサデータとして出力する(仮想センサデータ生成処理)。仮想センサデータ生成部4がカメラ22の撮影画像からハンド座標系115bの画像を生成する際には、例えば一般的な透視投影手法が利用される。
The shape
The virtual
センシング部5は、ロボットアーム100に取り付けられたカメラ22から、センサ出力である撮影画像を取得する(センシング処理)。
マッチング部6は、仮想センサデータ生成部4が生成する仮想センサデータと、センシング部5が出力する撮影画像を受け取り、両データの差異を評価する。
図2に示すセンサ位置姿勢キャリブレーション装置1は、コンピュータにより構成することができる。
The
The
The sensor position/
図3は、センサ位置姿勢キャリブレーション装置1をコンピュータで構成した場合のハードウェア構成例を示す。
図3に示すコンピュータ10は、バスにそれぞれ接続されたCPU(Central Processing Unit:中央処理装置)11、ROM(Read Only Memory)12、及びRAM(Random Access Memory)13を備える。さらに、コンピュータ10は、不揮発性ストレージ14、ネットワークインタフェース15、入力装置16、表示装置17、ロボットインタフェース18、及び画像インタフェース19を備える。
FIG. 3 shows a hardware configuration example when the sensor position/
A
CPU11は、センサ位置姿勢キャリブレーション装置1の処理を実行するソフトウェアのプログラムコードをROM12から読み出して実行する演算処理部である。
RAM13には、演算処理の途中に発生した変数やパラメータ等が一時的に書き込まれる。
The
The
不揮発性ストレージ14には、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)などの大容量情報記憶媒体が用いられる。不揮発性ストレージ14には、センサ位置姿勢キャリブレーション装置1が実行する機能についてのプログラムが記録される。
For the
ネットワークインタフェース15には、例えば、NIC(Network Interface Card)などが用いられる。ネットワークインタフェース15は、無線LAN(Local Area Network)などを介して外部と各種情報の送受信を行う。
For example, a NIC (Network Interface Card) or the like is used for the
入力装置16には、例えば、キーボード、マウスなどが用いられる。
表示装置17は、例えば、液晶ディスプレイモニタであり、この表示装置17によりコンピュータ10で実行される結果、つまりセンサ位置姿勢キャリブレーション装置1でのキャリブレーション結果が表示される。
A keyboard, a mouse, or the like is used as the
The
ロボットインタフェース18は、ロボットアーム100の制御装置(ロボットアーム制御装置21)から、ロボットアーム100の姿勢のデータを取得する。画像インタフェース19は、カメラ22が撮影した画像データを取得する。
The
なお、センサ位置姿勢キャリブレーション装置1を図3に示すコンピュータ10で構成するのは一例であり、コンピュータ以外のその他の演算処理装置で構成してもよい。例えば、センサ位置姿勢キャリブレーション装置1が行う機能の一部または全部を、FPGA(Field Programmable Gate Array)やASIC(Application Specific Integrated Circuit)などのハードウェアによって実現してもよい。
Note that the configuration of the sensor position/
[1-3.相対位置姿勢パラメータ]
次に、再び図1を参照して、相対位置姿勢パラメータ取得部2が取得する相対位置姿勢パラメータ情報2aについて説明する。
図1に示すロボットアーム100のジョイント112a,112b,112cは、サーボモータなどのアクチュエータを備える。ロボットアーム100のジョイント112a,112b,112cの制御値は、各ジョイント112a,112b,112cの回転角度などを表す。但し、制御値として回転角度を使用するのは一例であり、ジョイント112a,112b,112cの状態を表現可能なものであれば、他の形式の値を制御値としてもよい。
ロボットアーム100の姿勢は、全てのジョイント112a,112b,112cのアクチュエータの制御値の組み合わせによって決定される。
[1-3. Relative position posture parameter]
Next, with reference to FIG. 1 again, the relative position/
The
The posture of the
相対位置姿勢パラメータ情報2aは、ハンド座標系115bとカメラ座標系22bの相対的な位置姿勢を表すパラメータである。相対位置姿勢パラメータ情報2aの表現方法は一般的なアフィン変換や、各軸の回転角を表現するオイラー角、回転軸とその回転軸を中心とした回転角で表現されるクォータニオンなどであり、座標系の位置、姿勢を表現可能なものであればよい。
また、相対位置姿勢パラメータ情報2aは、例えばハンド座標系115bからカメラ座標系22bへの変換の方向を決定するパラメータ情報であるが、変換の方向は任意であり、逆にカメラ座標系22bからハンド座標系115bへの方向でもよい。
The relative position/
The relative position/
図4は、形状情報取得部3が取得する形状情報3aを説明する図である。
図4の例では、形状情報3aとして、4つの筐体構成要素3a-1~3a-4が登録されている。すなわち、ベース111で構成された筐体構成要素3a-1と、リンク113aとジョイント112aで構成された筐体構成要素3a-2と、リンク113bとジョイント112bで構成された筐体構成要素3a-3と、リンク113cとアーム114とハンド115で構成された筐体構成要素3a-4とを備える。これらの筐体構成要素3a-1~3a-4の組み合わせにより、ロボットアーム100全体の姿勢を表現することができる。
FIG. 4 is a diagram for explaining the
In the example of FIG. 4, four
本実施の形態例では、形状情報3aは、ロボットアーム100の3次元モデルであるが、形状情報3aは、ロボットアーム100の形状を表現可能な情報を含んでいればよい。また、形状情報3aは、ロボットアーム100についての色情報やテクスチャ情報を含んでもよい。
形状情報3aは、レーザセンサやステレオカメラなど、一般的な3次元センサ及び計測手法を用いて計測した3次元モデルや、CADなどの一般的な3次元モデル作成ツール、URDF(Unified Robot Description Format)などの記述フォーマットで作成したロボットアーム100の形状を表す3次元モデルである。
In this embodiment, the
The
[1-4.仮想センサデータ生成部の処理]
図5は、仮想センサデータ生成部4を示す。
仮想センサデータ生成部4は、ロボットアーム100とそれに取り付けられたカメラ22を仮想的に再現し、カメラ22から得られる撮影画像を生成する機能を持っている。
仮想センサデータ生成部4は、移動体姿勢形状シミュレート部4aを備える。移動体姿勢形状シミュレート部4aは、形状情報取得部3が取得する形状情報3aと、ロボットアーム100の姿勢情報4bを入力として、姿勢情報4bが示す姿勢を仮想的に再現した移動体姿勢形状情報4cを出力する。
[1-4. Processing of Virtual Sensor Data Generation Unit]
FIG. 5 shows the virtual
The virtual
The virtual sensor
また、仮想センサデータ生成部4は、センサ視点生成部4dを備える。センサ視点生成部4dは、相対位置姿勢パラメータ情報2aを入力として、移動体姿勢形状情報4cを回転、平行移動することで、仮想的に取り付けられたカメラ22の視点から観測したものに変換し、センサ視点形状情報4eを生成する。
さらに、仮想センサデータ生成部4は、生成部4gを備える。生成部4gは、センサパラメータ情報4fを入力として、センサ視点形状情報4eをカメラ22の画像面に投影することによって、仮想的に配置された画像を生成する。
The virtual
Furthermore, the virtual
以下、移動体姿勢形状シミュレート部4a、センサ視点生成部4d、及び生成部4gについてさらに詳細に説明する。
移動体姿勢形状シミュレート部4aに供給される姿勢情報4bは、ロボットアーム100の姿勢を決定するためのパラメータであって、ロボットアーム100のそれぞれの筐体構成要素3a-1~3a-4の任意の座標系における三次元位置座標である。
あるいは、姿勢情報4bは、ロボットアーム100のジョイント112a~112cが備えるアクチュエータの制御値でもよい。以下の説明では、姿勢情報4bで示される三次元位置座標を示す任意の座標系を、ロボット座標系と称する。このロボット座標系は、例えば図7に示すロボット座標系100aに相当する。
The moving body posture
The
Alternatively, the
[1-5.移動体姿勢形状シミュレート部の処理]
図6は、移動体姿勢形状シミュレート部4aの処理を示すフローチャートである。
まず、移動体姿勢形状シミュレート部4aは、任意の空間にロボット座標系を設定し(ステップS11)、形状情報3aを受け付ける(ステップS12)と共に、姿勢情報4bを受け付ける(ステップS13)。
[1-5. Processing of Moving Object Posture Shape Simulation Unit]
FIG. 6 is a flow chart showing the processing of the moving body
First, the moving object
そして、移動体姿勢形状シミュレート部4aは、形状情報3aに含まれる筐体構成要素を、姿勢情報4bが示すロボット座標系に配置する(ステップS14)。その後、移動体姿勢形状シミュレート部4aは、形状情報3aが含む筐体構成要素をすべて、もしくは形状情報3aのうち予め設定した必要な筐体構成要素を配置し終えたか否かを確認する(ステップS15)。このステップS15で、未配置の筐体構成要素があると判断された場合には(ステップS15のno)、移動体姿勢形状シミュレート部4aは、ステップS14の処理に戻る。そして、ステップS15で、全ての筐体構成要素を配置し終えたと判断した場合には(ステップS15のyes)、移動体姿勢形状シミュレート部4aは、移動体姿勢形状情報4cを得る。
Then, the moving body
次に、ステップS14で行われる、筐体構成要素を姿勢情報4bが示すロボット座標系に配置する処理の詳細を、図4及び図7を用いて説明する。
ステップS14では、移動体姿勢形状シミュレート部4aは、形状情報3aに登録されている筐体構成要素をロボット座標系に配置する。筐体構成要素を配置する場所は姿勢情報4bを参照して得る。図4の例では、形状情報3aとして筐体構成要素3a-1~3a-4の4つが登録されており、これらの組み合わせによってロボットアーム100の姿勢が表現可能となる。筐体構成要素3a-1~3a-4の構成数、及び構成の内容はロボットアーム100の形状を表現可能なものであればよく、必ずしも図4の例に限定されるものではない。
Next, the details of the process of arranging the housing constituent elements in the robot coordinate system indicated by the
In step S14, the mobile body
図7(a)は、筐体構成要素3a-1~3a-4の内の筐体構成要素3a-2の位置、姿勢を変更して得られる移動体姿勢形状情報4cを示している。
図7(a)は、筐体構成要素3a-1~3a-4の内の筐体構成要素3a-3と3a-4の位置、姿勢を変更して得られる移動体姿勢形状情報4cを示している。
FIG. 7(a) shows moving body
FIG. 7(a) shows moving body
図7の例では、姿勢情報4bは筐体構成要素3a-1~3a-4のうち、可動部である3つのジョイント112a~112cの回転角度θ1、θ2、θ3が設定されている。そして、ステップS14では、例えばアクチュエータの初期値が示す姿勢から各ジョイント112a~112cを姿勢情報4bに従って回転、移動することで、移動体姿勢形状シミュレート部4aは移動体姿勢形状情報4cを生成する。
In the example of FIG. 7, the
この姿勢情報4bは、ロボットアーム100のジョイント112a~112cが備えるアクチュエータの制御値でもよいが、その場合には、移動体姿勢形状シミュレート部4aは、各アクチュエータの制御地を変位量(例えば、回転角度)に変換するシミュレータを備える。そして、移動体姿勢形状シミュレート部4aは、このシミュレータを用いて移動体姿勢形状情報4cを作成してもよい。
あるいは、姿勢情報4bは、筐体構成要素3a-1~3a-4のロボット座標系における位置、姿勢を直接表現する情報として登録されていてもよい。
The
Alternatively, the
相対位置姿勢パラメータ情報2aと移動体姿勢形状情報4cが入力されるセンサ視点生成部4dは、観測した移動体姿勢形状情報4cがもつ3次元モデルを視点変換する。そして、カメラ座標系22bの視点から観測したものに変換してセンサ視点形状情報4eを出力する。
A sensor
[1-6.センサ視点生成部の処理]
図8は、センサ視点生成部4dの処理を示すフローチャートである。
まず、センサ視点生成部4dは、移動体姿勢形状情報4cを受付ける(ステップS21)と共に、相対位置姿勢パラメータ情報2aを受付ける(ステップS22)。そして、センサ視点生成部4dは、移動体姿勢形状情報4cにハンド座標系115bを設定する(ステップS23)。
[1-6. Processing of Sensor Viewpoint Generation Unit]
FIG. 8 is a flowchart showing the processing of the sensor
First, the sensor
その後、センサ視点生成部4dは、ハンド座標系115bからの相対位置として表現される相対位置姿勢パラメータ情報2aを用いて、カメラ座標系22bを設定する(ステップS24)。
そして、センサ視点生成部4dは、移動体姿勢形状情報4cを回転、平行移動して始点をカメラ座標原点22aと一致させ、センサ視点形状情報4eを取得する(ステップS25)。
After that, the sensor
Then, the sensor
次に、図8のフローチャートのステップS23、S24、S25での処理を詳しく説明する。
ステップS23では、ハンド座標原点115a及びハンド座標系115bを、移動体姿勢形状情報4c上に設定する。ロボットアーム100の移動と連動して動く点をハンド座標原点115aとしたハンド座標系115bは、ロボット座標系100aにおいてはロボットアーム100の姿勢によって位置が変動するものの、エンドエフェクタとの相対位置姿勢は不変であるため、移動体姿勢形状情報4c上に一意に設定することができる。
Next, the processing in steps S23, S24, and S25 in the flowchart of FIG. 8 will be described in detail.
In step S23, the hand coordinate
ステップS24では、移動体姿勢形状情報4c上にカメラ座標原点22a及びカメラ座標系22bを設定する。
相対位置姿勢パラメータ情報2aは、ハンド座標系115bとカメラ座標系22bの相対的な位置、姿勢を表すパラメータである。この相対位置姿勢パラメータ情報2aは、予め設定されたハンド座標系115bからの幾何的な位置姿勢は一意に求まるため、カメラ座標原点22a及びカメラ座標系22bを設定することができる。
In step S24, the camera coordinate
The relative position/
相対位置姿勢パラメータが表すハンド座標系115bとカメラ座標系22bの相対位置関係の表現の方向は、ハンド座標系115bからカメラ座標系22bの方向と、カメラ座標系22bからハンド座標系115bの方向の2通りが考えられる。いずれの方向であっても、カメラ座標原点22a及びカメラ座標系22bの位置、姿勢は同様であり一意に求まるため、相対位置姿勢パラメータ情報2aの表現の方向はいずれであってもよい。
The directions of expression of the relative positional relationship between the hand coordinate
図9は、ステップS25での処理を説明するための図である。
ステップS25では、移動体姿勢形状情報4cにカメラ座標系22bが設定されている。移動体姿勢形状情報4cは3次元モデルであるため、回転と平行移動の組み合わせによって、移動体姿勢形状情報4cを任意の視点から観測したモデルに容易に変換することができ、センサ視点形状情報を得ることができる。
FIG. 9 is a diagram for explaining the processing in step S25.
In step S25, the camera coordinate
図9は、図8のステップS24の右側に示す例のように設定されたカメラ座標系22bに視点を移動して得られるセンサ視点形状情報の例を示している。図8に示す例では、筐体構成要素3a-4はロボット座標系100aの原点方向を向く姿勢をとっており、カメラ座標系22bは筐体構成要素3a-4の上部に、筐体構成要素3a-4と同様の方向を向く姿勢で設定されている。
FIG. 9 shows an example of sensor viewpoint shape information obtained by moving the viewpoint to the camera coordinate
このとき、カメラ座標原点22aの位置でカメラ座標系22bが示す方向に視点変換することで得られるセンサ視点形状情報4eは、図9に示すように、筐体構成要素3a-1の上面と筐体構成要素3a-2の一部が観測される視点となる。図9に示す例ではカメラ座標系22bの軸について、ロボット座標系100aの原点の方向に向いている軸をZ軸として、Z軸が遠方方向となるようにセンサ視点形状情報4eを作成している。
但し、この図9に示すセンサ視点形状情報4eは一例であり、視点変換する際の方向は実際に取り付けられるカメラ22と同様であればよい。例えば一般的な光学カメラの場合、視点の方向は光軸方向となる。
At this time, the sensor viewpoint shape
However, the sensor viewpoint shape
[1-7.生成部が仮想センサデータを生成する処理]
図5に示す生成部4gは、センサ視点形状情報4eとセンサパラメータ情報4fを入力として、カメラ22が取得する画像を、仮想センサデータ4hとして生成する。仮想センサデータ4hは、ロボットアーム100が姿勢情報4bに従った姿勢をとったときに生成されるデータである。つまり、ロボットアーム100に相対位置姿勢パラメータ情報2aが表す位置に取り付けられたカメラ22が取得するセンサデータを仮想的に生成したものである。この仮想センサデータ4hは、入力された各情報についての理想的なセンサデータである。
[1-7. Processing in which the generation unit generates virtual sensor data]
A
図10は、生成部4gが仮想センサデータを生成する処理を説明する図である。
図10の例では、透視投影モデルを用いることで、図10(a)に示すカメラ座標系22bの3次元空間の被写体を、図10(b)に示す画像面4g-1に投影する。
この図10では、カメラ22の光学中心をカメラ座標原点22aとするカメラ座標系22bに対して、センサ視点形状情報4eが配置されている。カメラ22が取得する仮想センサデータ4hは、画像面4g-1にセンサ視点形状情報を投影することによって得られる。
カメラ22の透視投影モデルには、[数1]に示すパラメータを用いる。
FIG. 10 is a diagram for explaining a process of generating virtual sensor data by the
In the example of FIG. 10, the perspective projection model is used to project the subject in the three-dimensional space of the camera coordinate
In FIG. 10, the sensor viewpoint shape
For the perspective projection model of the
この[数1]に示すパラメータは、一般的にカメラ22の内部パラメータと称される。
この内部パラメータのうち、(fx,fy)は画素あたりの焦点距離を表しており、カメラ22の焦点距離をカメラ22の画素の縦、横の物理的な間隔で割った値である。
また、[数1]に示す内部パラメータのうち、(cu、cv)は、画像面4g-1内の仮想センサデータ座標系4iにおいて、カメラ22の光軸と画像面4g-1の交点、画像中心4jの座標を表す。
The parameters shown in [Equation 1] are generally called internal parameters of the
Among these internal parameters, (fx, fy) represents the focal length per pixel, which is the value obtained by dividing the focal length of the
Further, among the internal parameters shown in [Equation 1], (cu, cv) is the intersection of the optical axis of the
カメラ座標系22b上の点(x,y,z)を、画像面4g-1に投影する方法は、例えば[数2]式に示す計算によるものである。
The method of projecting the point (x, y, z) on the camera coordinate
図10に示す例では、仮想センサデータ4hはカメラ22が撮影する画像を先に述べた透視投影モデルによって、センサ視点形状情報の可能な限りすべての領域を画像面に投影して仮想的に生成したものである。あるいは、仮想センサデータ4hはセンサ視点形状情報4eの特定の一部領域のみを画像面4g-1に投影したものでもよく、画像面4g-1に投影するセンサ視点形状情報の領域はいずれでもよい。
あるいは、図11に示すように、仮想センサデータは、少なくとも1点の特定の点を画像面4g-1に投影した際の座標値もしくは座標値の集合でもよい。すなわち、図11(a)に示すカメラ座標系22bの3次元空間の被写体を、図11(b)に示すように、それぞれの点1~点nの座標位置の値の集合としてもよい。
In the example shown in FIG. 10, the
Alternatively, as shown in FIG. 11, the virtual sensor data may be coordinate values or a set of coordinate values when projecting at least one specific point onto the
なお、本実施の形態例では、センサがカメラ22である例を示しているが、センサは一般的なビジュアルセンサでもよい。仮想センサデータ4hはセンサの種類とそのセンサのセンサデータの出力形式にならって、例えば動画や3次元データなどに置き換えてもよい。
In this embodiment, the sensor is the
[1-8.センシング部の処理]
図2に示すセンシング部5は、実際にロボットアーム100に取り付けられたカメラ22からセンサデータを取得する。ロボットアーム100は、仮想センサデータ生成部4が入力として受け付ける姿勢情報4bが示す姿勢をとり、この状態で、センシング部5はカメラ22からセンサデータを取得する。
あるいは、センシング部5は、センサデータに対して各種演算処理を行う機能を有していて、センサデータから特定の領域や点、例えばマーカなどを検出し、その座標値もしくは座標値の集合を出力してもよい。センサとしては、カメラ22の他、一般的なビジュアルセンサを用いてもよい。また、センシング部5が取得するセンサデータは、例えば動画や3次元データでもよい。さらに、センシング部5が取得するセンサデータは、予め取得されたものでもよい。例えば、ハードディスクなどの記憶装置に保存されたものを取得してもよく、あるいは通信手法によって外部から取得したものでもよい。
[1-8. Processing of Sensing Section]
The
Alternatively, the
[1-9.マッチング部の処理]
図2に示すマッチング部6は、仮想センサデータ生成部4が生成した仮想センサデータ4hと、センシング部5が取得したセンサデータを比較して、差異の有無を判定する。
理想的なロボットアーム100及びカメラ22を含むロボットシステムにおいては、仮想センサデータ4hとセンサデータは完全に一致する。しかしながら、実際にはロボット筐体の歪みやたわみなどの容認により、ロボットアーム100の位置、姿勢の決定精度が低下し、仮想センサデータ4hとセンサデータは一致せず、差異が発生する。
[1-9. Processing of Matching Unit]
The
In a robot system including an
マッチングの方法としては仮想センサデータ4hとセンサデータの各画素の画素値が比較される。あるいは、SIFT(Scale-Invariant Feature Transform)やHOG(Histogram of Oriented Gradients)などの一般的な特徴量に変換することで得られる値を比較する方法でもよい。あるいは、仮想センサデータ4hとセンサデータ内の例えばリンク113aの縁に観測されるエッジ部など、特定の領域についてのみマッチングを実施してもよく、マッチング対象の領域は特に限定されない。また、マッチング部6は、予め差異の許容量である閾値を記憶しており、仮想センサデータ4hとセンサデータが完全に一致しない場合において、閾値に収まる差異量の場合は差異がないと判定してもよい。
As a matching method, the
マッチング部6でのマッチングの結果、仮想センサデータ4hとセンサデータに差異が発生する場合は、姿勢の決定精度の低下を検知することができる。検知した姿勢の決定精度の低下は、例えばロボットアーム制御装置21(図3)に通知する。あるいは、センサ位置姿勢キャリブレーション装置1が備える表示装置17(図3)に表示して告知する。
If a difference occurs between the
<2.第2の実施の形態例>
以下、本発明の第2の実施の形態例を、図12~図18を参照して説明する。
なお、本実施の形態例では、仮想センサデータ4hとセンサデータが特定の点の座標値である場合を例に説明する。
<2. Second Embodiment>
A second embodiment of the present invention will be described below with reference to FIGS. 12 to 18. FIG.
In this embodiment, a case where the
[2-1.センサ位置姿勢キャリブレーション装置の構成]
図12は、本発明の第2の実施の形態例のセンサ位置姿勢キャリブレーション装置1aの構成例を示す。
図12に示すセンサ位置姿勢キャリブレーション装置1aは、相対位置姿勢パラメータ取得部2、形状情報取得部3、仮想センサデータ生成部4、センシング部5、及びマッチング部6は、第1の実施の形態例(図2)で説明したセンサ位置姿勢キャリブレーション装置1と同じである。
[2-1. Configuration of Sensor Position and Orientation Calibration Device]
FIG. 12 shows a configuration example of a sensor position/
A sensor position/
第2の実施形態例が第1の実施形態例と異なる点は、第2の実施形態例のセンサ位置姿勢キャリブレーション装置1aがマッチング結果評価部7を備える点である。
図12に示す第2の実施形態例においても、第1の実施形態例と同様に、相対位置姿勢パラメータ取得部2、形状情報取得部3、仮想センサデータ生成部4、及びセンシング部5での処理により、仮想センサデータ4hとセンサデータが取得される。この仮想センサデータ4hとセンサデータはマッチング部6の処理を経てマッチング結果評価部7に送られ、マッチング結果評価部7は、マッチング部6の結果を受付け、仮想センサデータ4hとセンサデータに差異があると判定した場合は、誤差量を算出する。
The second embodiment differs from the first embodiment in that the sensor position/
In the second embodiment shown in FIG. 12 as well, similar to the first embodiment, the relative position/orientation
[2-2.マッチング結果評価部の処理]
図13は、マッチング結果評価部7の処理を示すフローチャートである。
マッチング結果評価部7は、マッチング部6の判定結果を受付け(ステップS31)、マッチング部6の判定の結果から仮想センサデータ4hとセンサデータの差異の有無を判定する(ステップS32)。
このステップS32で、仮想センサデータ4hとセンサデータに差異があると判定した場合(ステップS32のyes)、マッチング結果評価部7は、差異の量を示す誤差を最小化する姿勢を探索する(ステップS33)。そして、マッチング結果評価部7は、誤差を最小化する姿勢と、姿勢情報4bの位置、姿勢の誤差量を計算して記録する(ステップS34)。
[2-2. Processing of Matching Result Evaluation Unit]
FIG. 13 is a flow chart showing the processing of the matching
The matching
If it is determined in step S32 that there is a difference between the
また、ステップS32で、仮想センサデータ4hとセンサデータの差異がないと判定された場合(ステップS32のno)、マッチング結果評価部7は、誤差量がないことを表す誤差量を記録する(ステップS35)。
Further, in step S32, when it is determined that there is no difference between the
以下、図14~図16を参照して、ステップS33、S34、S35の処理について詳細に説明する。
図14は、ステップS33での処理を示す。
図14に示す例では、仮想センサデータ4hが筐体構成要素3b-1に記されたマーカを画像面4g-1に投影した際の座標値である。図14の例では、星印、四角の印、三角の印の3つのマーカを示す。それぞれのマーカは3次元座標上の座標が既知であり、例えばロボット座標系100aにおいて(x、y、z)座標として表現することが可能である。つまり、基準とする座標系は容易に変換することができる。本実施の形態例では、マーカを検出してその位置を用いる例を示すが、第1の実施の形態例と同様に、画像などのマッチングを行うようにしてもよい。
The processing of steps S33, S34, and S35 will be described in detail below with reference to FIGS. 14 to 16. FIG.
FIG. 14 shows the processing in step S33.
In the example shown in FIG. 14, the
図14に示す例では、マーカ7a-1、7a-2、7a-3の3つのマーカが設置されているが、マーカの形状や数についてはマーカが識別可能であればよい。また、図14に示す例では、3つのマーカがロボットアーム100の筐体に上に設置されているが、マーカの位置や数は図示のものに限定されない。
In the example shown in FIG. 14, three
画像面4g-1に投影される画像内のマーカ7a-1、7a-2、7a-3を検出する方法にはパターンマッチングなど様々な手法があるが、それ以外の手法を用いてもよい。
図14(b)に示す仮想センサデータ4h-1と、図14(c)に示すセンサデータ5a-1では、同じマーカの座標を示している。
There are various methods such as pattern matching for detecting the
The
すなわち、図14に示す例では、仮想センサデータ座標系4iにおけるマーカ7a-1の位置を示す図14(b)の(u41、v41)と、図14(c)の(u51、v51)とが対応する。また、マーカ7a-2の位置を示す図14(b)の(u42、v42)と、図14(c)の(u52、v52)とが対応する。さらに、マーカ7a-3の位置を示す図14(b)のマーカ7a-3の位置を示す(u43、v43)と、図14(c)の(u53、v53)とが対応する。
That is, in the example shown in FIG. 14, (u41, v41) in FIG. 14(b) indicating the position of the
図13のステップS32にて差異があると判定されたとき、マッチング結果評価部7は、マーカ7a-1、7a-2、7a-3のうち少なくとも1つの座標が一致しない、もしくは予め設定した閾値以上の差異が生じていると判断する。
仮想センサデータ4h-1とセンサデータ5a-1のいずれにおいても、仮想センサデータ座標系4iにおけるマーカ7a-1、7a-2、7a-3の位置は、先に説明した[数2]式によって求めることが可能であり、各マーカ位置の組み合わせはカメラ座標系22bの位置、姿勢によって一意に求まる。
When it is determined that there is a difference in step S32 of FIG. 13, the matching
In both the
ステップS33では、マッチング結果評価部7は、姿勢情報4bを変化させて仮想センサデータ4hとセンサデータ5a-1が一致する姿勢(姿勢情報4b’)を探索する。探索の方法は位置、姿勢を網羅的に変化させる探索方法でもよい。あるいは、仮想センサデータ4h-1とセンサデータ5a-1が一致するおおよその姿勢を予め算出して移動することを繰り返す勾配降下法などの探索法でもよい。
In step S33, the matching
姿勢情報4bを変化させて仮想センサデータ4h-1とセンサデータ5a-1が一致する姿勢を探索する際は、仮想センサデータ生成部4の入力を変化させることで仮想センサデータ4hを変化させることで姿勢を探索してもよく、あるいはロボットアーム100を動作させてセンサデータ5a-1を変化させることで探索してもよい。
When searching for an orientation in which the
例えば、マーカ7a-1、7a-2、7a-3を通過するような平面が、画像面4g-1と正対するように、マーカ7a-1、7a-2、7a-3とカメラ22が位置している際に、(u41、v41)と(u51、v51)、(u42、v42)と(u52、v52)、(u43、v43)と(u53、v53)の差異が、それぞれ(3、0)であるとき、ステップS33では仮想センサデータ4hもしくはセンサデータ5a-1を画像面4g-1において3ピクセル分、差異を打ち消す方向に平行移動する姿勢情報4bを取得すればよい。姿勢情報4bの移動には回転を含んでもよい。
For example, the
ステップS34では、マッチング結果評価部7は、姿勢情報4bと、ステップS33で求めた姿勢情報4b’(図16参照)の誤差量を計算し記録する。姿勢情報4b、4b’が位置、姿勢を表すパラメータの場合、パラメータの性質に従った差異の表現方法で誤差を記録する。例えば、姿勢情報4b、4b’が回転・移動行列である場合、姿勢情報4bから姿勢情報4b’へ、もしくは逆方向の変換行列である。あるいは、姿勢情報4b、4b’がアクチュエータの制御量などである場合は制御量の変異、例えば回転角度の変異を記録してもよい。
In step S34, the matching
ステップS35では、マッチング結果評価部7は、ステップS32にて仮想センサデータ4hとセンサデータ5a-1に差異がないと判定した場合に、姿勢情報4bと姿勢情報4b’が同値であることの表現を記録する。例えば、姿勢情報4b、4b’が回転・移動行列である場合、姿勢情報4b、4b’に差異がないと表す表現は単位行列である。あるいは、姿勢情報4b、4b’がアクチュエータの制御量などである場合は制御量の変異、例えば回転角度の変異を0と記録する。
In step S35, when the matching
図15は、マーカ7a-1が一つのみである場合を示す。この場合、ステップS33では、仮想センサデータ4h-1とセンサデータ5a-1が一致する姿勢情報4b’(図16参照)が複数存在するため、マッチング結果評価部7は、一意に決定することができない。ステップS33では、複数の姿勢情報4bを用いて複数の仮想センサデータ4h-1とセンサデータ5a-1を作成してもよい。
FIG. 15 shows the case where there is only one
[2-3.姿勢精度を評価する処理]
次に、図16を用いてロボットアーム100の姿勢精度を評価する方法を説明する。
図16に示す例では、ロボットアーム100はアクチュエータを備える3つのジョイント112a~112cを含み、姿勢情報は3つのジョイント112a~112cの回転角度である。但し、3つのジョイント112a~112cの回転角度とするのは一例であり、別の情報としてもよい。
[2-3. Processing for evaluating posture accuracy]
Next, a method for evaluating the posture accuracy of the
In the example shown in FIG. 16, the
まず、図16(a)に示すように、センサ位置姿勢キャリブレーション装置1aに任意の姿勢情報4bが入力される。
図16(b)の左側は、姿勢情報4bを入力した際の移動体姿勢形状情報4cを示す。センサ位置姿勢キャリブレーション装置1aは姿勢情報4bに対応する誤差量を記録する。
First, as shown in FIG. 16A,
The left side of FIG. 16(b) shows the moving body
次に、センサ位置姿勢キャリブレーション装置1aは、姿勢情報4bの内容のうち、角度θ1のみを変更した姿勢情報4b’を入力として、同様に誤差量を記録する。
図16(b)の右側は、姿勢情報4b’に対応する移動体姿勢形状情報4c‘を示す。
このとき、記録した2つの誤差量に差異があり、比較した際に後者の誤差量が大きくなる場合に、例えば角度θ1によって制御されるジョイント112aの姿勢精度が悪い、もしくはそれに接続されるリンクに歪みやたわみが発生していると判定してもよい。
Next, the sensor position/
The right side of FIG. 16(b) shows moving body
At this time, if there is a difference between the two recorded error amounts, and the latter error amount becomes large when compared, the posture accuracy of the joint 112a controlled by the angle θ1, for example, is poor, or the link connected to it is It may be determined that distortion or bending occurs.
本実施の形態例のセンサ位置姿勢キャリブレーション装置1aを用いて姿勢精度を評価する際に、変化させる姿勢情報4bは1つ以上でもよい。また、図13のフローチャートに示す手順を複数回実行して、複数パターンの姿勢情報4bと誤差量の関係を記録してもよい。
One or more pieces of
図17は、姿勢情報4bと誤差量の関係を記録した表の例を示す。姿勢情報4bと誤差量の関係から、重回帰分析やロジスティック回帰分析など一般的な解析手法によって誤差量を増加または減少サせる姿勢情報4bの要素、または姿勢情報4bの要素の組み合わせを求めることができる。
FIG. 17 shows an example of a table recording the relationship between the
あるいは、センサ位置姿勢キャリブレーション装置1aは、図18に示すような姿勢精度マップαを作成してもよい。
図18に示す例では、センサ位置姿勢キャリブレーション装置1aによってロボットアーム100の姿勢情報4bとその姿勢をとった際の誤差量が得られるため、例えば、誤差量の程度によって領域を設定し、可視化している。
すなわち、図18に示すように、ロボットアーム100のハンド115の可動範囲αを設定したとき、その可動範囲αの内の誤差がない範囲α1と、比較的小さな誤差が発生する範囲α2と、大きな誤差が発生する範囲α3とを、可視化して表示する。図18(a)は、ハンド115の可動範囲αを側面から見た図であり、図18(b)はハンド115の可動範囲αを上面から見た図である。
Alternatively, the sensor position/
In the example shown in FIG. 18, since the sensor position/
That is, as shown in FIG. 18, when the movable range α of the
この図18に示す可動範囲αを示す姿勢精度マップは、ディプレイなどの一般的な表示デバイスに表示可能な形式で出力してもよく、あるいは座標と誤差量との対応関係を表すデータの形式として出力してもよい。 The posture accuracy map showing the movable range α shown in FIG. 18 may be output in a format that can be displayed on a general display device such as a display, or in the form of data representing the correspondence between coordinates and error amounts. can be output as
以上説明したように、本実施の形態例によると、例えば図17に示す姿勢情報4bと誤差量の関係、あるいは図18に示す姿勢精度マップを参照することで、姿勢精度の悪い領域、あるいは位置を取得することができる。このため、センサ位置姿勢キャリブレーション装置1aの出力を取得することで、ロボットアーム100の制御装置では、姿勢精度が悪い領域を避ける制御や姿勢精度低下の少ない制御経路生成が可能となる。あるいは、ロボットアーム100の例えばハンド座標系の到達位置が同一であっても、姿勢情報4bの組み合わせが異なる場合に、最も精度がよい姿勢情報4bを選択することでロボットアーム100の姿勢精度が高い制御が可能になる。
As described above, according to this embodiment, for example, by referring to the relationship between the
<3.変形例>
なお、本発明は、上述した各実施の形態例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した各実施の形態例は、本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
<3. Variation>
It should be noted that the present invention is not limited to the above-described embodiments, and includes various modifications. For example, each of the embodiments described above has been described in detail in order to explain the present invention in an easy-to-understand manner, and is not necessarily limited to those having all the described configurations.
例えば、上述した各実施の形態例では、移動体をロボットアームとした例について説明したが、双腕ロボットや自動車など、位置姿勢情報を取得可能な対象であれば、様々な移動体に適用が可能である。
また、上述した各実施の形態例では、センサとしてカメラを適用した例について説明したが、3次元センサや赤外線センサ、サーモセンサなど、仮想センサデータ生成部にて出力データを仮想的に表現可能なセンサであれば、様々なセンサに適用が可能である。
For example, in each of the above-described embodiments, an example in which a robot arm is used as a moving object has been described. It is possible.
In addition, in each of the above-described embodiments, an example in which a camera is applied as a sensor has been described. It can be applied to various sensors as long as they are sensors.
また、図3、図5などのブロック図では、制御線や情報線は説明上必要と考えられるものだけを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。また、図6、図8などに示すフローチャートにおいて、処理結果に影響を及ぼさない範囲で、複数の処理を同時に実行したり、処理順序を変更してもよい。 In addition, in block diagrams such as FIGS. 3 and 5, only control lines and information lines that are considered necessary for explanation are shown, and not all control lines and information lines are necessarily shown on the product. . In practice, it may be considered that almost all configurations are interconnected. In addition, in the flowcharts shown in FIGS. 6 and 8, a plurality of processes may be executed simultaneously or the order of processes may be changed as long as the process results are not affected.
また、実施の形態例で説明したセンサ位置姿勢キャリブレーション装置1,1aは、図3で説明したように、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、光ディスク等の記録媒体に置くことができる。
Further, the sensor position/
1、1a…センサ位置姿勢キャリブレーション装置、2…相対位置姿勢パラメータ取得部、2a…相対位置姿勢パラメータ情報、3…形状情報取得部、3a…形状情報、4…仮想センサデータ生成部、4a…移動体姿勢形状シミュレート部、4b,4b′…姿勢情報、4c,4c′…移動体姿勢形状情報、4d…センサ視点生成部、4e…センサ視点形状情報、4f…センサパラメータ情報、4g…生成部、4h…仮想センサデータ、5…センシング部、6…マッチング部、7…マッチング結果評価部、10…コンピュータ、11…中央制御ユニット(CPU)、12…ROM、13…RAM、14…不揮発性ストレージ、15…ネットワークインタフェース、16…入力装置、17…表示装置、18…ロボットインタフェース、19…画像インタフェース、21…ロボットアーム制御装置、22…カメラ、22a…カメラ座標系原点、22b…カメラ座標系、100…ロボットアーム、111…ベース、112a,112b,112c…ジョイント、113a,113b…リンク、114…アーム、115…ハンド、115a…ハンド座標系原点、115b…ハンド座標系、α…可動範囲、α1…誤差なし範囲、α2…誤差中範囲、α3…誤差大範囲
1, 1a... sensor position/orientation calibration device, 2... relative position/orientation parameter acquisition unit, 2a... relative position/orientation parameter information, 3... shape information acquisition unit, 3a... shape information, 4... virtual sensor data generation unit, 4a... 4b, 4b'...
Claims (10)
前記移動体と前記センサの相対位置姿勢を取得する相対位置姿勢パラメータ取得部と、
前記移動体の形状情報を取得する形状情報取得部と、
前記パラメータ取得部と前記形状情報取得部が取得する情報に基づいて、前記センサで取得するデータを仮想的に再現した仮想センサデータを生成する仮想センサデータ生成部と、
前記センサによって取得されたセンサデータを出力するセンシング部と、
前記仮想センサデータと前記センサデータを比較して差異の有無を判定するマッチング部と、
前記マッチング部の出力を評価して、前記仮想センサデータと前記センサデータの誤差量を算出するマッチング結果評価部と、を備え、
前記仮想センサデータ生成部は、
前記形状情報と、前記移動体の姿勢を表現する姿勢情報に基づいて、仮想的な移動体の姿勢形状を表す移動体姿勢形状情報を生成する移動体姿勢形状シミュレート部と、
前記移動体姿勢形状情報と前記相対位置姿勢パラメータを入力として、前記センサの視点に変換したセンサ視点形状情報を生成するセンサ視点生成部と、
前記センサ視点形状情報と前記センサに固有のパラメータを入力として、前記センサが取得するデータを仮想的に生成する生成部と、を有し、
前記マッチング結果評価部は、前記姿勢情報の各値のうち少なくとも一つ以上のパラメータを変更して、複数の前記姿勢情報を作成して入力とすることで、前記複数の姿勢情報と前記誤差量の対応を記録し、前記姿勢情報と前記誤差量の対応に対して分析処理を行う
センサ位置姿勢キャリブレーション装置。 A sensor position/orientation calibration device for converting a coordinate system set at an arbitrary point of a sensor into a coordinate system of a moving body,
a relative position/posture parameter acquisition unit that acquires the relative position/posture of the moving object and the sensor;
a shape information acquisition unit that acquires shape information of the moving body;
a virtual sensor data generation unit that generates virtual sensor data that virtually reproduces the data acquired by the sensor based on the information acquired by the parameter acquisition unit and the shape information acquisition unit;
a sensing unit that outputs sensor data acquired by the sensor;
a matching unit that compares the virtual sensor data and the sensor data and determines whether there is a difference;
A matching result evaluation unit that evaluates the output of the matching unit and calculates an error amount between the virtual sensor data and the sensor data,
The virtual sensor data generator,
a moving body posture shape simulating unit that generates moving body posture shape information representing a posture shape of a virtual moving body based on the shape information and the posture information representing the posture of the moving body;
a sensor viewpoint generation unit that receives the moving body posture shape information and the relative position and posture parameters as inputs and generates sensor viewpoint shape information converted into the viewpoint of the sensor;
a generation unit that virtually generates data acquired by the sensor based on the sensor viewpoint shape information and the parameter specific to the sensor,
The matching result evaluation unit changes at least one or more parameters among the respective values of the posture information to create a plurality of the posture information and inputs the plurality of posture information and the error amount. and perform analysis processing on the correspondence between the posture information and the error amount.
Sensor position and orientation calibration device.
任意の座標系に筐体構成要素を前記姿勢情報が示す位置に配置すると共に、
前記姿勢情報が備える指令値を参照し、前記指令値によって実現する前記筐体構成要素の位置姿勢を回転と移動により仮想的に再現することで前記移動体姿勢形状情報を生成し、
制御値によって前記移動体が備えるアクチュエータの動作を仮想的に再現する
請求項1に記載のセンサ位置姿勢キャリブレーション装置。 The moving body posture shape simulating unit includes:
arranging a housing component at a position indicated by the posture information in an arbitrary coordinate system;
referring to a command value included in the posture information, and generating the moving body posture shape information by virtually reproducing the position and posture of the housing component realized by the command value through rotation and movement;
2. The sensor position/orientation calibration device according to claim 1, wherein the control values virtually reproduce the operation of an actuator provided in the moving body.
請求項1に記載のセンサ位置姿勢キャリブレーション装置。 2. The sensor viewpoint shape information according to claim 1 , wherein the sensor viewpoint shape information is generated by converting the moving body posture shape information into the viewpoint of the sensor by performing one or both of rotation and movement processing. sensor position and orientation calibration device.
仮想的に生成した前記センサが取得するデータは、前記移動体姿勢形状情報の特定の部分の位置情報を少なくとも一つ以上取得する
請求項1に記載のセンサ位置姿勢キャリブレーション装置。 The generating unit virtually generates data acquired by the sensor for only a partial area of the mobile body posture shape information,
2. The sensor position/orientation calibration device according to claim 1 , wherein the virtually generated data acquired by the sensor acquires at least one or more pieces of position information of a specific portion of the mobile body posture shape information.
差異が有ると判定する
請求項1に記載のセンサ位置姿勢キャリブレーション装置。 The matching unit compares part or all of the output of the sensing unit with the virtual sensor data, and if the difference between the compared determination results is greater than a preset threshold,
The sensor position/orientation calibration device according to claim 1, wherein it is determined that there is a difference.
請求項1に記載のセンサ位置姿勢キャリブレーション装置。 The sensor position/orientation calibration device according to claim 1 , wherein the matching result evaluation unit calculates the orientation information that minimizes or reduces the error amount when there is a difference between the virtual sensor data and the sensor data.
請求項1に記載のセンサ位置姿勢キャリブレーション装置。 2. The sensor position/orientation calibration according to claim 1 , wherein the matching result evaluation unit detects at least one or more markers and calculates an error amount from a difference in the positions of the markers in the virtual sensor data or the sensor data. Device.
請求項1に記載のセンサ位置姿勢キャリブレーション装置。 2. The sensor according to claim 1 , wherein the matching result evaluation unit acquires the posture accuracy of the moving body by inputting a plurality of pieces of the posture information and creating and evaluating a plurality of the virtual sensor data and the sensor data. Position and attitude calibration device.
前記姿勢情報と前記誤差量の対応を記録し、前記姿勢情報とそれに対応する誤差量の一覧を記録する
請求項1に記載のセンサ位置姿勢キャリブレーション装置。 The matching result evaluation unit has a function of creating and displaying a map showing correspondence between the posture information and the error amount,
2. The sensor position/orientation calibration device according to claim 1 , wherein correspondence between the orientation information and the error amount is recorded, and a list of the orientation information and the corresponding error amount is recorded.
前記移動体と前記センサの相対位置姿勢を取得する相対位置姿勢パラメータ取得処理と、
前記移動体の形状情報を取得する形状情報取得処理と、
前記パラメータ取得処理と前記形状情報取得処理によって取得する情報に基づいて、前記センサで取得するデータを仮想的に再現した仮想センサデータを生成する仮想センサデータ生成処理と、
前記センサによって取得されたセンサデータを出力するセンシング処理と、
前記仮想センサデータと前記センサデータを比較して差異の有無を判定するマッチング処理と、
前記マッチング処理の出力を評価して、前記仮想センサデータと前記センサデータの誤差量を算出するマッチング結果評価処理と、を含み、
さらに、前記仮想センサデータ生成処理は、
前記形状情報と、前記移動体の姿勢を表現する姿勢情報に基づいて、仮想的な移動体の姿勢形状を表す移動体姿勢形状情報を生成する移動体姿勢形状シミュレート処理と、
前記移動体姿勢形状情報と前記相対位置姿勢パラメータを入力として、前記センサの視点に変換したセンサ視点形状情報を生成するセンサ視点生成処理と、
前記センサ視点形状情報と前記センサに固有のパラメータを入力として、前記センサが取得するデータを仮想的に生成する生成処理と、を有し、
前記マッチング結果評価処理では、前記姿勢情報の各値のうち少なくとも一つ以上のパラメータを変更して、複数の前記姿勢情報を作成して入力とすることで、前記複数の姿勢情報と前記誤差量の対応を記録し、前記姿勢情報と前記誤差量の対応に対して分析処理を行う
センサ位置姿勢キャリブレーション方法。 A sensor position/orientation calibration method for converting a coordinate system set at an arbitrary point of a sensor into a coordinate system of a moving body,
a relative position/posture parameter acquisition process for acquiring the relative position/posture of the moving object and the sensor;
Shape information acquisition processing for acquiring shape information of the moving body;
A virtual sensor data generation process for generating virtual sensor data that virtually reproduces the data acquired by the sensor based on the information acquired by the parameter acquisition process and the shape information acquisition process;
A sensing process for outputting sensor data acquired by the sensor;
A matching process for comparing the virtual sensor data and the sensor data to determine whether there is a difference;
A matching result evaluation process that evaluates the output of the matching process and calculates an error amount between the virtual sensor data and the sensor data,
Furthermore, the virtual sensor data generation process includes:
moving body posture shape simulation processing for generating moving body posture shape information representing a posture shape of a virtual moving body based on the shape information and posture information representing the posture of the moving body;
a sensor viewpoint generation process for generating sensor viewpoint shape information converted to the viewpoint of the sensor, using the moving body posture shape information and the relative position and posture parameters as inputs;
a generation process of virtually generating data acquired by the sensor using the sensor viewpoint shape information and parameters unique to the sensor as inputs;
In the matching result evaluation process, by changing at least one or more parameters among the respective values of the posture information to create a plurality of the posture information and inputting them, the plurality of posture information and the error amount are generated. and perform analysis processing on the correspondence between the posture information and the error amount.
Sensor position and orientation calibration method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019127572A JP7249221B2 (en) | 2019-07-09 | 2019-07-09 | SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019127572A JP7249221B2 (en) | 2019-07-09 | 2019-07-09 | SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021010994A JP2021010994A (en) | 2021-02-04 |
JP7249221B2 true JP7249221B2 (en) | 2023-03-30 |
Family
ID=74227355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019127572A Active JP7249221B2 (en) | 2019-07-09 | 2019-07-09 | SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7249221B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11921492B2 (en) | 2021-03-30 | 2024-03-05 | Mitsubishi Electric Research Laboratories, Inc. | Transfer between tasks in different domains |
CN114199130B (en) * | 2021-12-13 | 2023-06-06 | 江西边际科技有限公司 | Optical information characteristic extraction equipment for inertial pose self-adjustment correction |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006110705A (en) | 2004-09-15 | 2006-04-27 | Yaskawa Electric Corp | Calibration method of robot |
JP2017170599A (en) | 2016-03-25 | 2017-09-28 | ファナック株式会社 | Positioning device using robot |
JP6301045B1 (en) | 2017-03-09 | 2018-03-28 | 三菱電機株式会社 | Robot control apparatus and calibration method |
JP2018051634A (en) | 2016-09-26 | 2018-04-05 | セイコーエプソン株式会社 | Robot control device, robot, robot system and posture specifying device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5297238A (en) * | 1991-08-30 | 1994-03-22 | Cimetrix Incorporated | Robot end-effector terminal control frame (TCF) calibration method and device |
-
2019
- 2019-07-09 JP JP2019127572A patent/JP7249221B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006110705A (en) | 2004-09-15 | 2006-04-27 | Yaskawa Electric Corp | Calibration method of robot |
JP2017170599A (en) | 2016-03-25 | 2017-09-28 | ファナック株式会社 | Positioning device using robot |
JP2018051634A (en) | 2016-09-26 | 2018-04-05 | セイコーエプソン株式会社 | Robot control device, robot, robot system and posture specifying device |
JP6301045B1 (en) | 2017-03-09 | 2018-03-28 | 三菱電機株式会社 | Robot control apparatus and calibration method |
Also Published As
Publication number | Publication date |
---|---|
JP2021010994A (en) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107871328B (en) | Machine vision system and calibration method implemented by machine vision system | |
JP6879464B2 (en) | Interference determination method, interference determination system and computer program | |
JP5949242B2 (en) | Robot system, robot, robot control apparatus, robot control method, and robot control program | |
CN106873550B (en) | Simulation device and simulation method | |
US9089971B2 (en) | Information processing apparatus, control method thereof and storage medium | |
CN104842352B (en) | Robot system using visual feedback | |
JP5977544B2 (en) | Information processing apparatus and information processing method | |
US9727053B2 (en) | Information processing apparatus, control method for information processing apparatus, and recording medium | |
JP6826069B2 (en) | Robot motion teaching device, robot system and robot control device | |
JP2013036987A (en) | Information processing device and information processing method | |
JP2017170571A (en) | Robot, robot control apparatus, and robot system | |
JP7180783B2 (en) | CALIBRATION METHOD FOR COMPUTER VISION SYSTEM AND 3D REFERENCE OBJECT USED FOR CALIBRATION METHOD | |
JP6885856B2 (en) | Robot system and calibration method | |
WO2019239848A1 (en) | Robot control system | |
JP7249221B2 (en) | SENSOR POSITION AND POSTURE CALIBRATION DEVICE AND SENSOR POSITION AND POSTURE CALIBRATION METHOD | |
WO2018043524A1 (en) | Robot system, robot system control device, and robot system control method | |
US12036663B2 (en) | Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system | |
WO2023013740A1 (en) | Robot control device, robot control system, and robot control method | |
CN115082550A (en) | Apparatus and method for locating position of object from camera image of object | |
JP2022163836A (en) | Method for displaying robot image, computer program, and method for displaying robot image | |
JP2023505322A (en) | Method and system for programming robots | |
US10379620B2 (en) | Finger model verification method and information processing apparatus | |
WO2024105847A1 (en) | Control device, three-dimensional position measuring system, and program | |
JP7483455B2 (en) | Image processing device, method and program for controlling the image processing device | |
WO2022249295A1 (en) | Robot simulation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221116 |
|
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: 20230307 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230317 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7249221 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |