JP7703904B2 - Servo system and processing method - Google Patents
Servo system and processing method Download PDFInfo
- Publication number
- JP7703904B2 JP7703904B2 JP2021091183A JP2021091183A JP7703904B2 JP 7703904 B2 JP7703904 B2 JP 7703904B2 JP 2021091183 A JP2021091183 A JP 2021091183A JP 2021091183 A JP2021091183 A JP 2021091183A JP 7703904 B2 JP7703904 B2 JP 7703904B2
- Authority
- JP
- Japan
- Prior art keywords
- posture
- robot
- trajectory
- servo
- candidates
- 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
- Numerical Control (AREA)
- Manipulator (AREA)
Description
本発明は、処理装置、サーボシステム、処理方法、およびプログラムに関する。 The present invention relates to a processing device, a servo system, a processing method, and a program.
センサが取得する視覚的情報(画像)に基づき、ロボットの動作を制御するビジュアルサーボと呼ばれる技術がある。ロボットは、例えば、ビジュアルサーボを実行することにより、エンドエフェクタが把持する把持物体を、対象物の上に置くなどの処理を実現する。 There is a technology called visual servoing that controls the movement of a robot based on visual information (images) acquired by a sensor. For example, by executing visual servoing, a robot can perform operations such as placing an object grasped by an end effector on a target object.
特許文献1では、ビジュアルサーボを行う場合におけるロボットの軌道を、カメラ(センサ)が取得した画像の特徴量などに基づき、算出する技術が記載されている。 Patent document 1 describes a technology that calculates the trajectory of a robot when performing visual servoing based on the features of an image captured by a camera (sensor).
一方で、ビジュアルサーボでは、センサが取得する画像において把持物体や対象物が見切れてしまうことや、互いに重なり合ってしまうことがある。この点、特許文献1では、3次元空間における移動禁止領域を避けたロボットの軌道を算出することを開示しているのみで、センサが取得する画像において把持物体や対象物が見切れてしまうことや、互いに重なり合ってしまうことを考慮していない。このため、従来では、センサが取得した画像に把持物体や対象物のごく一部しか含まれていないことがあり、ビジュアルサーボの精度または/および速度が低下するという課題があった。 On the other hand, in visual servoing, the grasped object or target object may be cut off or may overlap in the image acquired by the sensor. In this regard, Patent Document 1 only discloses calculating a robot trajectory that avoids prohibited movement areas in three-dimensional space, but does not take into consideration the grasped object or target object being cut off or overlapping in the image acquired by the sensor. For this reason, in the past, there were cases where only a small portion of the grasped object or target object was included in the image acquired by the sensor, resulting in a problem of reduced accuracy and/or speed of visual servoing.
そこで、本発明は、ビジュアルサーボの精度または速度を向上させる技術の提供を目的とする。 The present invention aims to provide a technique for improving the accuracy or speed of visual servoing.
上記目的を達成するために本発明は、以下の構成を採用する。 To achieve the above objective, the present invention adopts the following configuration.
すなわち、本発明の一側面に係る処理装置は、対象物を撮像して検出するセンサと、エンドエフェクタを備えるロボットとを有し、ビジュアルサーボを行うサーボシステムにおいて、前記サーボシステムに関する少なくとも1つの軌道であるサーボ軌道、および前記ビジュアルサーボの開始時点の前記ロボットのスタート姿勢を決定する処理装置であって、前記ロボットの初期姿勢の情報と、前記ビジュアルサーボの終了時点の前記ロボットの目標姿勢の情報とを取得する取得手段と、1)前記スタート姿勢の複数の候補を決定し、2)前記複数の候補のいずれか1つを経由して前記初期姿勢から前記目標姿勢に前記ロボットの姿勢が変化する際の前記エンドエフェクタの複数の軌道を生成する計画手段と、前記エンドエフェクタの複数の軌道のそれぞれに対応する前記サーボ軌道の複数の候補の中から、前記ビジュアルサーボの精度または速度に関する評価値の最も高い候補を前記サーボ軌道として決定し、当該サーボ軌道に対応するスタート姿勢の候補を前記スタート姿勢として決定する決定手段を有する。 That is, a processing device according to one aspect of the present invention is a processing device that, in a servo system that performs visual servoing, has a sensor that captures and detects an object and a robot equipped with an end effector, and determines a servo trajectory, which is at least one trajectory related to the servo system, and a starting posture of the robot at the start of the visual servoing, and has an acquisition means that acquires information on the initial posture of the robot and information on the target posture of the robot at the end of the visual servoing, a planning means that 1) determines multiple candidates for the start posture, and 2) generates multiple trajectories of the end effector when the posture of the robot changes from the initial posture to the target posture via one of the multiple candidates, and a determination means that determines, from the multiple candidates for the servo trajectory corresponding to each of the multiple trajectories of the end effector, the candidate with the highest evaluation value for the accuracy or speed of the visual servoing as the servo trajectory, and determines the candidate for the start posture corresponding to the servo trajectory as the start posture.
このような構成によれば、ビジュアルサーボの開始時におけるロボットのスタート姿勢を、ユーザが手動で設定することなく決定できる。つまり、ユーザのビジュアルサーボに
おける負担が軽減できる。さらに、複数のサーボ軌道の候補の中から評価値が最も高い制御軌道がサーボ軌道として選択される。このため、サーボ軌道を、ロボットが動きやすい軌道、または/および、対象物を把握しやすい位置にセンサが移動するような軌道に決定できる。このため、例えば、対象物に把持物体を接続する動作を行うビジュアルサーボが失敗する確率を低減できる。つまり、ビジュアルサーボの精度を向上することができる。そして、ビジュアルサーボに要する時間を低減できる。
According to such a configuration, the starting posture of the robot at the start of visual servoing can be determined without the user having to manually set it. In other words, the burden on the user in visual servoing can be reduced. Furthermore, the control trajectory with the highest evaluation value is selected as the servo trajectory from among multiple candidate servo trajectories. Therefore, the servo trajectory can be determined to be a trajectory along which the robot can easily move and/or a trajectory along which the sensor moves to a position where the target object can be easily grasped. Therefore, for example, the probability of failure of visual servoing, which performs an operation of connecting a grasped object to a target object, can be reduced. In other words, the accuracy of visual servoing can be improved. Furthermore, the time required for visual servoing can be reduced.
上記の処理装置において、前記計画手段は、前記初期姿勢と前記目標姿勢の間の姿勢の中から、前記スタート姿勢の複数の候補を決定してもよい。初期姿勢と目標姿勢の間の姿勢とは、例えば、初期姿勢から目標姿勢にロボットの姿勢が変化するように計画手段が所定のアルゴリズムに従ってロボットの姿勢の変化を生成した場合に、当該変化において経由することになる姿勢である。このような構成によれば、スタート姿勢を経由する初期姿勢から目標姿勢への変化をより効率的な変化に決定することができるので、ロボットがより効率的に実現しやすい軌道にサーボ軌道をすることができる。 In the above processing device, the planning means may determine a plurality of candidates for the start posture from among postures between the initial posture and the target posture. A posture between the initial posture and the target posture is, for example, a posture that will be passed through in the change when the planning means generates a change in the posture of the robot according to a predetermined algorithm so that the posture of the robot changes from the initial posture to the target posture. With this configuration, the change from the initial posture to the target posture that passes through the start posture can be determined to be a more efficient change, so that the servo trajectory can be set to a trajectory that is easier for the robot to achieve more efficiently.
上記の処理装置において、前記センサの軌道と、前記対象物の前記エンドエフェクタとの相対的な位置変化の軌道と、前記センサが撮像する撮像画像における前記対象物の軌道との少なくともいずれかを含んでいてもよい。 The processing device may include at least one of the trajectory of the sensor, the trajectory of the relative position change of the object with respect to the end effector, and the trajectory of the object in the captured image captured by the sensor.
上記の処理装置において、前記エンドエフェクタの複数の軌道のそれぞれに対応する前記サーボ軌道の複数の候補を生成し、前記サーボ軌道の複数の候補それぞれに従ったビジュアルサーボをシミュレーションするシミュレーション手段をさらに有し、前記シミュレーション手段は、シミュレーション結果に基づき、前記サーボシステムの軌道の複数の候補のそれぞれを補正し、前記決定手段は、補正された前記サーボ軌道の複数の候補の中から前記サーボ軌道を決定してもよい。このような構成によれば、ビジュアルサーボのシミュレーションの結果に基づきサーボ軌道を決定できるため、エンドエフェクタが現実的に移動することのできる軌道に対応するサーボ軌道を決定できる。つまり、エンドエフェクタに課せられる稼働制約を満たすようなサーボ軌道を決定できる。 The above processing device may further include a simulation means for generating a plurality of candidates for the servo trajectory corresponding to each of a plurality of trajectories of the end effector, and simulating visual servoing according to each of the plurality of candidates for the servo trajectory, and the simulation means may correct each of the plurality of candidates for the trajectory of the servo system based on the simulation result, and the determination means may determine the servo trajectory from among the plurality of corrected candidates for the servo trajectory. With this configuration, the servo trajectory can be determined based on the result of the visual servo simulation, so that it is possible to determine a servo trajectory corresponding to a trajectory along which the end effector can realistically move. In other words, it is possible to determine a servo trajectory that satisfies the operational constraints imposed on the end effector.
上記の処理装置において、前記サーボシステムは、第1のコントローラと第2のコントローラを有し、前記第1のコントローラは、前記エンドエフェクタの複数の軌道のそれぞれに対応する前記エンドエフェクタの位置姿勢を決定し、前記第2のコントローラは、前記第1のコントローラが決定した前記エンドエフェクタの位置姿勢を実現する前記ロボットの姿勢を制御し、前記シミュレーション手段は、前記第1のコントローラをエミュレートする第3のコントローラと、前記第2のコントローラをエミュレートする第4のコントローラを有し、前記3のコントローラおよび前記第4のコントローラを用いて、前記ビジュアルサーボをシミュレーションしてもよい。このような構成によれば、ロボットの姿勢を制御する第2のコントローラに応じたシミュレーションの結果に基づきサーボ軌道を決定できるため、ロボットが現実的に移動することのできる軌道に対応するサーボ軌道を決定できる。つまり、ロボットに課せられる稼働制約を満たすようなサーボ軌道を決定できる。 In the above processing device, the servo system has a first controller and a second controller, the first controller determines the position and orientation of the end effector corresponding to each of the multiple trajectories of the end effector, the second controller controls the posture of the robot to realize the position and orientation of the end effector determined by the first controller, and the simulation means has a third controller that emulates the first controller and a fourth controller that emulates the second controller, and the visual servo may be simulated using the third controller and the fourth controller. With this configuration, a servo trajectory can be determined based on the results of a simulation according to the second controller that controls the posture of the robot, so that a servo trajectory corresponding to a trajectory on which the robot can realistically move can be determined. In other words, a servo trajectory that satisfies the operating constraints imposed on the robot can be determined.
上記の処理装置において、前記サーボ軌道の複数の候補のそれぞれを評価する評価手段をさらに有していてもよい。 The processing device may further include an evaluation means for evaluating each of the multiple candidates for the servo trajectory.
上記の処理装置において、前記評価手段は、前記サーボ軌道の複数の候補のそれぞれに従って前記ビジュアルサーボを実行した場合における、前記ロボットの移動に関するタスクスコアと前記対象物の検出に関するセンシングスコアとに基づき、前記サーボ軌道の複数の候補のそれぞれの評価値を算出してもよい。このような構成によれば、ロボットが移動しやすく、かつ、対象物の全体を検出(撮像)できるサーボ軌道を決定できる。 In the above processing device, the evaluation means may calculate an evaluation value for each of the multiple candidates for the servo trajectory based on a task score for the movement of the robot and a sensing score for the detection of the target object when the visual servo is executed according to each of the multiple candidates for the servo trajectory. With this configuration, it is possible to determine a servo trajectory that allows the robot to move easily and detects (images) the entire target object.
上記の処理装置において、前記タスクスコアは、前記ロボットの移動に要する時間と、前記ビジュアルサーボの終了時点の前記ロボットの姿勢と前記目標姿勢との差分との少なくともいずれかに基づくスコアであってもよい。タスクスコアがロボットの移動に要する時間に基づくスコアであれば、より早くロボットが移動できるサーボ軌道を決定できる。タスクスコアがビジュアルサーボの終了時点のロボットの姿勢と目標姿勢との差分であれば、より目標姿勢の近くにロボットの姿勢を変化させることができるサーボ軌道を決定できる。 In the above processing device, the task score may be a score based on at least one of the time required for the robot to move and the difference between the robot's posture at the end of the visual servoing and the target posture. If the task score is based on the time required for the robot to move, a servo trajectory that allows the robot to move faster can be determined. If the task score is the difference between the robot's posture at the end of the visual servoing and the target posture, a servo trajectory that can change the robot's posture closer to the target posture can be determined.
上記の処理装置において、前記サーボシステムは、前記対象物を検出可能であり、前記センシングスコアは、ビジュアルサーボの実行中の、予想される無効な検出の総数と、前記サーボシステムが物体を検出可能な範囲である検出可能範囲と前記対象物との距離と、予想される検出誤差の総数との少なくともいずれかに基づくスコアであってもよい。このような構成によれば、対象物をより正確に検出(撮像)できるサーボ軌道を決定できる。 In the above processing device, the servo system may be capable of detecting the object, and the sensing score may be a score based on at least one of the total number of expected invalid detections during execution of visual servoing, the distance between the object and a detectable range in which the servo system can detect an object, and the total number of expected detection errors. With this configuration, it is possible to determine a servo trajectory that can detect (image) the object more accurately.
上記の処理装置において、前記予想される無効な検出の総数とは、前記センサが撮像を実行した回数のうち、前記センサの視野範囲または前記検出可能範囲に前記対象物の第1の割合以上が含まれないこと、前記センサが撮像する撮像画像において前記対象物の全体の第2の割合以上の領域に対して他の物体が重複していることとの少なくともいずれかが発生している数であってもよい。このような構成によれば、撮像画像などにおいて、センサから検出(撮像)できない場所に対象物が位置してしまうこと、または、対象物の前に所定の割合以上他の物体が重なってしまうこと(オクルージョンが発生してしまうこと)の発生回数を低減できるので、対象物のうちの検出できる範囲が狭くなってしまうことを抑制できる。 In the above processing device, the expected total number of invalid detections may be the number of times that the sensor performs imaging and at least one of the following occurs: the field of view or the detectable range of the sensor does not include a first percentage or more of the object, and another object overlaps an area of the object that is a second percentage or more of the entire area in the captured image captured by the sensor. With this configuration, it is possible to reduce the number of occurrences in which the object is located in a place that cannot be detected (captured) by the sensor in the captured image, or the object is overlapped by another object by a predetermined percentage or more (occlusion occurs), thereby preventing the range in which the object can be detected from becoming narrower.
上記の処理装置において、前記計画手段は、前記スタート姿勢の複数の候補を、所定の範囲内に位置する前記エンドエフェクタの複数の位置姿勢のそれぞれに対応する前記ロボットの複数の姿勢の中から決定してもよい。このような構成によれば、例えば、ユーザは、任意の大きさの所定の範囲(例えば、球状の範囲)を指定するだけで、処理装置がスタート姿勢を決定できる。このため。ユーザの処理負担が少なく、処理装置が適切なスタート姿勢を決定できる。 In the above processing device, the planning means may determine a plurality of candidates for the starting posture from a plurality of postures of the robot corresponding to a plurality of positions and postures of the end effector located within a predetermined range. With this configuration, for example, the user can simply specify a predetermined range of any size (e.g., a spherical range) and the processing device can determine the starting posture. This reduces the processing burden on the user and allows the processing device to determine an appropriate starting posture.
上記の処理装置において、前記計画手段は、前記センサが撮像する際に前記センサと前記対象物との間に他の物体が配置されていない前記センサの複数の位置姿勢であって、かつ、前記センサの視野範囲に前記対象物が含まれる前記センサの複数の位置姿勢のそれぞれに対応する前記ロボットの複数の姿勢の中から、前記スタート姿勢の複数の候補を選択してもよい。このような構成によれば、オクルージョンが発生せず、かつ、対象物の全体が撮像できるセンサの位置姿勢に対応するロボットの姿勢を、スタート姿勢として決定することができる。このため、ビジュアルサーボの開始時に、より正確に対象物を検出(撮像)できる位置姿勢にセンサを配置することができる。 In the above processing device, the planning means may select a plurality of candidates for the starting posture from a plurality of postures of the robot corresponding to a plurality of positions and postures of the sensor where no other object is placed between the sensor and the object when the sensor captures an image and where the object is included in the field of view of the sensor. With this configuration, it is possible to determine, as the starting posture, a posture of the robot corresponding to a position and posture of the sensor where no occlusion occurs and where the entire object can be captured. Therefore, at the start of visual servoing, the sensor can be placed in a position and posture where the object can be detected (captured) more accurately.
さらに、本発明は、上記処理装置と、前記エンドエフェクタを有するロボットと、前記対象物を撮像するセンサと、前記処理装置が決定した前記サーボ軌道に応じて前記ロボットを動作させるとともに、前記ロボットが前記スタート姿勢に変化すると前記ビジュアルサーボを開始させるコントローラと、を有することを特徴とするサーボシステムであってもよい。このような構成によれば、上記のように、処理装置が決定した適切なサーボ軌道に基づき、ロボットやセンサを用いてビジュアルサーボを実行することができる。 The present invention may also be a servo system comprising the above-mentioned processing device, a robot having the end effector, a sensor for capturing an image of the object, and a controller for operating the robot according to the servo trajectory determined by the processing device and for starting the visual servo when the robot changes to the starting posture. With this configuration, visual servoing can be performed using a robot and a sensor based on the appropriate servo trajectory determined by the processing device, as described above.
本発明は、上記手段の少なくとも一部を有する装置として捉えてもよいし、電子機器や制御システム、情報処理システム、情報処理装置、サーボ装置、システムとして捉えても
よい。また、本発明は、上記処理の少なくとも一部を含む制御方法、処理方法、サーボ方法、生成方法として捉えてもよい。また、本発明は、かかる方法を実現するためのプログラムやそのプログラムを非一時的に記録した記録媒体(記憶媒体)として捉えることもできる。なお、上記手段および処理の各々は可能な限り互いに組み合せて本発明を構成することができる。
The present invention may be understood as an apparatus having at least a part of the above means, or as an electronic device, a control system, an information processing system, an information processing device, a servo device, or a system. The present invention may also be understood as a control method, a processing method, a servo method, or a generating method including at least a part of the above processing. The present invention may also be understood as a program for implementing such a method, or a recording medium (storage medium) on which the program is non-temporarily recorded. Note that the above means and processing can be combined with each other as much as possible to constitute the present invention.
本発明によれば、ビジュアルサーボの精度または速度が向上する。 The present invention improves the accuracy or speed of visual servoing.
以下、本発明を実施するための実施形態について図面を用いて記載する。 Below, an embodiment of the present invention will be described with reference to the drawings.
<適用例>
以下では、ビジュアルサーボを実行するサーボシステム1において、ビジュアルサーボを実行する前に、ビジュアルサーボの実行開始時点でのロボット10のスタート姿勢および、ビジュアルサーボを実行する場合のサーボシステム1の適正軌道(サーボ軌道;センサ20や対象物2などの軌道)決定する技術を説明する。具体的には、サーボシステム1は、スタート姿勢の複数の候補を生成する。また、サーボシステム1は、スタート姿勢の複数の候補のいずれかを経由して初期姿勢から予め設定された目標姿勢(ビジュアルサーボの終了時点での目標となるロボット10の姿勢)に変化するようにロボット10を動かした場合の適正軌道の候補を生成する。そして、サーボシステム1は、複数の適正軌道の候補の中から、これらの適正軌道の評価値に基づき、1つの適正軌道を選択する。これにより、1つの適正軌道が選択されて、また、当該適正軌道に対応するスタート姿勢が選択される。ここで、評価値は、ビジュアルサーボの精度または速度に関する評価値である。そして、評価値は、ロボット10の動きに関するタスクスコア、および、対象物2の検出に関するセンシングスコアに基づく値である。
<Application Examples>
In the following, a technique for determining the starting posture of the
これによれば、ビジュアルサーボの開始時におけるロボット10のスタート姿勢を、ユーザが手動で設定することなく決定できる。つまり、ユーザのビジュアルサーボにおける負担が軽減できる。さらに、複数の適正軌道の候補の中から評価値が最も高い制御軌道が適正軌道として選択される。このため、適正軌道を、ロボット10が動きやすい軌道、または/および、対象物2を把握しやすい位置にセンサ20が移動するような軌道に決定できる。このため、例えば、対象物2に把持物体3を接続する動作を行うビジュアルサーボが失敗する確率を低減できる。つまり、ビジュアルサーボの精度を向上することができる。そして、ビジュアルサーボに要する時間を低減できる。
This allows the user to determine the starting posture of the
<実施形態1>
以下、実施形態1に係るサーボシステム1を説明する。サーボシステム1は、ビジュアルサーボ(視覚的情報に基づくロボット10の動作)を実行する。実施形態1では、サーボシステム1は、ロボット10が把持する把持物体3を対象物2(目標物;所定の物体)に接続するようにロボット10の姿勢を制御することを、把持物体3および対象物2を撮像しながら実行する。なお、以下で「軌道」とは、物体が移動する軌道を示す際の一筆の線分であってもよいし、当該一筆の線分上のうちの複数の位置と移動順序を示す情報であ
ってもよい。また、本実施形態では、或る物体の軌道とは、当該物体が移動する際の位置および姿勢を示す。
<Embodiment 1>
A servo system 1 according to the first embodiment will be described below. The servo system 1 executes visual servoing (operation of the
[サーボシステムの構成]
まず、図1の構成図を参照して、サーボシステム1の構成を説明する。サーボシステム1は、ロボット10、センサ20、制御装置30、処理装置40を有する。また、サーボシステム1は、対象物2および把持物体3を有していると捉えることもできるし、対象物2および把持物体3を有していないと捉えることもできる。
[Servo system configuration]
First, the configuration of a servo system 1 will be described with reference to the configuration diagram of Fig. 1. The servo system 1 has a
ロボット10は、自身の姿勢を変化させることによって、センサ20およびエンドエフェクタ11の位置姿勢を制御する。本実施形態では、ロボット10の姿勢とは、ロボット10のアームの関節の角度やエンドエフェクタ11の回転角度などを示すものである。このため、本実施形態では、ロボット10の姿勢と、エンドエフェクタ11の位置姿勢とは一対一で対応する。また、ロボット10の姿勢は、制御装置30によって制御される。ロボット10のアームの先端部分には、センサ20が設けられている。このため、ロボット10がセンサ20を有しているとみなしてもよい。なお、「位置姿勢」とは、本実施形態では、位置および姿勢であるが、技術的な矛盾が生じなければ、位置または姿勢であってもよい。また、「位置姿勢」は、或る物体の6次元情報(或る物体の3次元座標と、当該物体の3軸方向を表す情報)と捉えることもできる。
The
ロボット10は、エンドエフェクタ11(把持部)と土台12を有する。エンドエフェクタ11は、把持物体3を把持する。土台12は、ロボット10の1つの端部の位置を固定する。なお、以下では、ビジュアルサーボの実行開始の時点のロボット10の姿勢を「スタート姿勢」と呼ぶ。また、ユーザが指定する姿勢であって、ビジュアルサーボの目標となるロボット10の姿勢を「目標姿勢」と呼ぶ。この目標姿勢は、ユーザが任意に設定する姿勢であるため、把持物体3が対象物2に接続している姿勢でなくともよい。
The
センサ20は、対象物2や把持物体3を撮像して撮像画像を取得する。本実施形態では、センサ20と把持物体3との相対的な位置関係は、固定されている。このため、センサ20は、他の物体が把持物体3に重複しない限り、撮像可能な範囲である視野範囲(FOV;Field Of View)に把持物体3を含む。センサ20が撮像した撮像画像は、例えば、図2Aに示すように、対象物2および把持物体3を含む。
The
制御装置30は、センサ20から撮像画像を取得し、ロボット10の現在の姿勢の情報(モータの回転角の情報など)をロボット10から取得する。これにより、制御装置30は、撮像画像および撮像画像に対応するロボット10の姿勢に基づき、視野範囲のうち検出可能範囲60に配置された対象物2や把持物体3(これらの位置姿勢)を検出する。検出可能範囲60は、センサ20の視野範囲に依存するだけでなく、図2Bに示すように、センサ20からの距離にも依存する範囲である。制御装置30は、例えば、2つの異なる位置姿勢からセンサ20が撮像した撮像画像の差分と、その2つの異なる位置姿勢に対応するロボット10の姿勢に基づき、対象物2および把持物体3の位置姿勢を検出できる。また、制御装置30は、ロボット10の姿勢を制御して、エンドエフェクタ11およびセンサ20の位置姿勢を制御する。これにより、制御装置30は、撮像画像において把持物体3を所望の位置に移動させるようなロボット10の制御を行う(ビジュアルサーボを行う)。
The
処理装置40は、サーボシステム1がビジュアルサーボ(視覚的情報に基づくロボット10の動作)を実行する際における、ロボット10のスタート姿勢を決定する。また、処理装置40は、センサ20の軌道(センサ軌道)、対象物2のエンドエフェクタ11との相対的な位置変化を示す軌道(物体軌道)、および撮像画像における対象物2の視覚的特
徴の軌道(視覚的軌道)の1セットとするサーボシステム1の適正軌道(サーボ軌道)を決定する。ここで、対象物2の視覚的特徴とは、例えば、対象物2の1つの端、1つの隅、または中心位置である。サーボシステム1は、ロボット10のスタート姿勢からビジュアルサーボを開始して、適正軌道に従って、ロボット10を制御しながらビジュアルサーボを実行し続ける。
The
[制御装置および処理装置の構成]
以下では、図3を参照して、制御装置30および処理装置40の詳細な構成を説明する。制御装置30は、シミュレータ310とコントローラ320を有する。処理装置40は、入出力部410、計画部420、シミュレーション部430、評価部440を有する。
[Configuration of the control device and processing device]
3, detailed configurations of the
シミュレータ310は、センサ20から取得した撮像画像、およびロボット10の姿勢に基づき、対象物2および把持物体3(対象物2などの位置姿勢)を検出(推定)する。
The
コントローラ320は、エンドエフェクタ41の位置姿勢を制御するビジュアルコントローラと、ロボット10の位置姿勢を制御するロボットコントローラを含む。ビジュアルコントローラは、エンドエフェクタ11の軌道に対応するエンドエフェクタ11の姿勢位置を決定する。ロボットコントローラは、ビジュアルコントローラが決定したエンドエフェクタ11の姿勢位置の変化を実現するためのロボット10のモータ駆動のコマンドを出力する。
The
なお、コントローラ320は、処理装置40から取得する適正軌道に基づき、ロボット10の姿勢を制御するコマンドを生成(出力)する。そして、コントローラ320は、ロボット10の姿勢がスタート姿勢から変化している期間において、センサ20が撮像を行うようにセンサ20にコマンドを出力する。このような処理により、コントローラ320は、ロボット10を適正軌道に基づき動かしながら、ロボット10の姿勢がスタート姿勢に変化すると、ビジュアルサーボを実行することができる。
The
なお、対象物2が動く場合や、ユーザが設定した目標位置姿勢では対象物2と把持物体3とが接続できない場合(ビジュアルサーボとしての目標が達成できていない場合)には、ロボット10の動作を補正する必要がある。この場合には、コントローラ320は、対象物2の位置姿勢や、撮像画像における対象物2の位置などに基づき、ロボット10の動作を補正するように、ロボット10を制御するコマンドを生成してもよい。
If the
入出力部410は、ユーザ操作(ユーザ入力)を受け付ける(取得する)ユーザインターフェースである。ユーザは、入出力部410を介して、ロボット10の初期姿勢および目標姿勢を入力(設定)できる。また、ユーザは、入出力部410を介して、図2Cに示すような、ビジュアルサーボの実行を開始する際のエンドエフェクタ11の位置姿勢の候補の範囲である候補範囲50(3次元空間における所定の範囲)を入力(設定)できる。さらに、ユーザは、入出力部410を介して、コントローラ320および仮想コントローラ431のパラメータ、対象物2および把持物体3の3次元モデル、ロボット10の動作制約などの情報を入力できる。また、ユーザは、入出力部410を介して、ロボット10が侵入することを禁止されている領域(移動禁止領域)の情報を入力できる。なお、本実施形態では、候補範囲50は、球状の領域であるとするが、任意の形状の領域であってよい。また、計画部420が、ロボット10の初期姿勢に対応するエンドエフェクタ11の位置と、ロボット10の目標姿勢に対応するエンドエフェクタ11の位置の中心を、中心点とするような所定の半径の球を候補範囲として決定してもよい。
The input/
また、ユーザは、入出力部410を介して、対象物2が動くことが想定される場合(例えば、対象物2が一定の速度で回転するコンベア上に搭載されることが想定される場合)
には、対象物2の動き情報を入力することもできる。
In addition, the user may input, via the input/
It is also possible to input movement information of the
さらに、入出力部410は、処理装置40が決定した適正軌道(センサ軌道、物体軌道および視覚的軌道)の情報と、スタート姿勢の情報を制御装置30に出力する。
Furthermore, the input/
計画部420は、候補範囲50の内部にエンドエフェクタ11が位置するような、スタート姿勢の複数の候補を複数の候補姿勢として決定する。なお、計画部420は、例えば、センサ20が撮像する撮像画像において対象物2と把持物体3とが重なり合わない(センサ20と対象物2との間に他の物体が存在しない)ようなロボット10の姿勢を候補姿勢として決定してもよい。または、計画部420は、対象物2および把持物体3の一部が視野範囲または/および検出可能範囲60の外に位置しないように、候補姿勢を決定してもよい。つまり、計画部420は、センサ20の視野範囲に対象物2が含まれるセンサ20の複数の位置姿勢のそれぞれに対応するロボット10の複数の姿勢の中から、スタート姿勢の複数の候補を選択してもよい。
The
そして、計画部420は、複数の候補姿勢のいずれかを経由してロボット10の姿勢が初期姿勢から目標姿勢に変化する際のエンドエフェクタ11の複数の軌道(エフェクタ軌道)の候補を生成する。例えば、計画部420は、10個の候補姿勢を生成している場合には、ロボット10の姿勢が1つの候補姿勢を経由して初期姿勢から目標姿勢に変化する際のエンドエフェクタ11の軌道の候補を生成することを10回だけ繰り返す。なお、エフェクタ軌道の算出には、任意の経路計算アルゴリズムを用いることができる。
Then, the
シミュレーション部430は、複数のエフェクタ軌道の候補それぞれに対応する視覚的軌道の候補、物体軌道の候補およびセンサ軌道の候補(これら3種の軌道の候補を1つのセットとして「非制御軌道」と呼ぶ)を生成する。その後、シミュレーション部430は、それぞれの視覚的軌道の候補における複数の点を対象物2が通過するようなロボット10の動きを算出する(シミュレートする)。そして、シミュレーション部430は、シミュレーション結果に基づき、視覚的軌道の候補を補正する。例えば、シミュレーション部430は、ロボット10の動き制限により視覚的軌道の候補における複数の点を対象物2が通過することができない場合には、その複数の点の位置を補正する(位置ずらしをする)ことにより、視覚的軌道の候補を補正する。シミュレーション部430は、このような補正を、物体軌道の候補およびセンサ軌道の候補についても実行する。なお、以下では、補正された非制御軌道(視覚的軌道の候補、物体軌道の候補およびセンサ軌道の候補の1つのセット;適正軌道の候補)を「制御軌道」と呼ぶ。
The
また、シミュレーション部430は、仮想コントローラ431を有する。仮想コントローラ431は、コントローラ320と同一の処理を実現するソフトウェア(コントローラ320のエミュレータ)であり、コントローラ320と同一のパラメータが設定されている。このため、仮想コントローラ431は、コントローラ320のビジュアルコントローラをエミュレートする(模倣する)仮想ビジュアルコントローラと、コントローラ320のビジュアルコントローラをエミュレートする(模倣する)仮想ロボットコントローラを有する。仮想ビジュアルコントローラは、複数のエフェクタ軌道のそれぞれに対応するエンドエフェクタ41の姿勢位置の変化を決定する。仮想ロボットコントローラは、仮想ビジュアルコントローラが決定したエンドエフェクタ41の姿勢位置の変化を実現するためのロボット10の姿勢を制御する。
The
シミュレーション部430は、仮想ビジュアルコントローラおよび仮想ロボットコントローラを用いて、それぞれの視覚的軌道における複数の点を対象物2が通過するようなロボット10の動きをシミュレートする。このように仮想ビジュアルコントローラと仮想ロボットコントローラを用いることによれば、ロボット10が実現できないような動きを排
除できる。
The
評価部440は、シミュレーション部430が生成した複数の制御軌道のそれぞれを評価する。具体的には、評価部440は、複数の制御軌道のそれぞれについて、ロボット10の移動に関するタスクスコアと、対象物2の検出に関するセンシングスコアに基づく評価値を算出する。このため、評価値は、ビジュアルサーボの精度または速度に関する値である。例えば、評価値は、タスクスコアが小さいほど大きく、センシングスコアが小さいほど大きい。なお、タスクスコアは、ロボット10が移動しやすい制御軌道ほど低い値をとり、または、ロボット10の姿勢を目的姿勢のより近くまで変化させることができる制御軌道ほど低い値をとれば、任意のスコアであってよい。また、センシングスコアは、対象物2の検出精度(実際の対象物2と検出結果との合致度)が高くなるほど、低い値をとれば、任意のスコアであってよい。
The
タスクスコアは、例えば、シミュレートした場合のロボット10の最終的な姿勢と目標位置姿勢との誤差(最終姿勢誤差)と、制御軌道に従ってロボット10が移動する場合の総時間(移動総時間)との少なくともいずれかに基づく値である。タスクスコアは、例えば、最終姿勢誤差と移動総時間とを重み付きで加算した値、または最終姿勢誤差と移動総時間とを乗算した値などである。
The task score is, for example, a value based on at least one of the error (final posture error) between the final posture of the
センシングスコアは、例えば、ビジュアルサーボの実行中の、予想される無効な検出の総数(無効検出総数)と、検出可能範囲60と対象物2との距離(物体距離)と、予想される検出誤差の総数(検出誤差総数)との少なくともいずれかに基づく値である。なお、物体距離は、ビジュアルサーボの実行中の検出可能範囲60の中心もしくは外周部と対象物2の中心もしくは外周部との距離の平均値、最頻値、中央値、最小値、もしくは最大値などであり得る。センシングスコアは、例えば、無効検出総数と物体距離と検出誤差総数とを重み付きで加算した値、または無効検出総数と物体距離と検出誤差総数とを乗算した値などである。
The sensing score is, for example, a value based on at least one of the total number of expected invalid detections (total invalid detections), the distance between the
無効検出総数は、例えば、センサ20が撮像を実行した回数のうち、検出可能範囲60または視野範囲に対象物2が含まれないこと、センサ20と対象物2との間に他の物体が配置されていること(オクルージョンが発生していること)のいずれかが発生している数である。また、無効検出総数は、センサ20が撮像を実行した回数のうち、検出可能範囲60または視野範囲に対象物2の第1の割合以上が含まれないこと、センサ20が撮像する撮像画像において対象物2の全体の第2の割合以上の領域に対して他の物体が重複していることのいずれかが発生している数であってもよい。例えば、或る物体が対象物2に重複していなければ対象物2のうち2cm2が撮像画像に写っている場合に、撮影画像において2cm2の60%(第2の割合)である1.2cm2以上、或る物体が対象物2に重複していれば、無効検出が発生しているといえる。なお、無効検出総数の代わりに、対象物2の全体の領域に対する、検出可能範囲60または視野範囲に含まれる当該領域の割合の平均値の逆数を用いてもよい。
The total number of invalid detections is, for example, the number of times that the
また、検出誤差は、例えば、2つの時点の撮像画像に対応する視覚的特徴の分散に基づく値である。具体的には、検出誤差は、2つの撮像画像を対象物2の表面に投影(射影)した画像の視覚的特徴の位置の分散に基づく値である。なお、これに限られず、検出誤差は、センサ20の検出精度(実際の対象物と検出した対象物との合致度)が低いほど、高くなる値であれば任意のものであってよい。
The detection error is, for example, a value based on the variance of visual features corresponding to images captured at two points in time. Specifically, the detection error is a value based on the variance of the positions of visual features of images obtained by projecting (projecting) the two captured images onto the surface of the
また、制御装置30および処理装置40は、例えば、CPU(プロセッサ)、メモリ、ストレージなどを備えるコンピュータにより構成することができる。その場合、図3に示す構成は、ストレージに格納されたプログラムをメモリにロードし、CPUが当該プログ
ラムを実行することによって実現されるものである。かかるコンピュータは、パーソナルコンピュータ、サーバコンピュータ、タブレット端末、スマートフォンのような汎用的なコンピュータでもよいし、オンボードコンピュータのように組み込み型のコンピュータでもよい。あるいは、図3に示す構成の全部または一部を、ASICやFPGAなどで構成してもよい。あるいは、図3に示す構成の全部または一部を、クラウドコンピューティングや分散コンピューティングにより実現してもよい。
Further, the
[適正軌道の決定処理]
続いて、処理装置40が実行する適正軌道の決定処理(決定方法)について、図4のフローチャートを用いて説明する。
[Process for determining appropriate trajectory]
Next, the process (method) of determining the optimum trajectory executed by the
ステップS1001において、入出力部410は、ユーザ定義情報を取得する。ユーザ定義情報は、3次元モデル(ロボット10、センサ20、対象物2、把持物体3、その他の外部環境のモデル)の情報、コントローラ320(ビジュアルコントローラおよびロボットコントローラ)のパラメータの情報、候補範囲50の大きさや形状の情報を含む。また、ユーザ定義情報は、例えば、上述したタスクスコアおよびセンシングスコアの算出方法を示す情報、動作制約(ロボット10、センサ20、および、その他の外部環境の制限)の情報、初期姿勢およびエフェクタ軌道を生成する際のジェネレータ(ソフトウェア)の情報を含む。
In step S1001, the input/
ここで、ロボット10の動作制約とは、ロボット10の各関節の稼働可能角度、各関節の角度とエンドエフェクタ11との関係、各関節の変化速度や変化加速度、エンドエフェクタ11の移動可能範囲および、ロボット10のモータのトルクなどの条件である。センサ20の動作制約とは、センサ20の視野範囲(FOV)や、検出可能範囲60の条件である。
The operational constraints of the
ステップS1002において、計画部420は、スタート姿勢を生成する際のジェネレータを用いて、候補範囲50の内部にエンドエフェクタ11が位置するような、スタート姿勢の複数の候補を複数の候補姿勢として決定する。なお、計画部420は、さらに、ロボット10の初期姿勢と目標姿勢との間の姿勢の中から、候補範囲50の内部にエンドエフェクタ11が位置するような複数の候補姿勢を決定してもよい。また、計画部420は、例えば、3次元モデルの情報に基づき、センサ20が撮像する撮像画像において対象物2と把持物体3とが重なり合わないような(例えば、センサ20と対象物2との間に他の物体が配置されていないような)ロボット10の姿勢を候補姿勢として決定する。または、計画部420は、対象物2および把持物体3の全てが視野範囲や検出可能範囲60に位置するようなロボット10の姿勢を候補姿勢として決定する。さらに、計画部420は、動作制約の情報に基づき、ロボット10が変化することのできる姿勢に候補姿勢を限定することや、ロボット10が移動禁止領域に位置しない姿勢に候補姿勢を限定することを行ってもよい。
In step S1002, the
ステップS1003において、計画部420は、エフェクタ軌道を生成する際のジェネレータを用いて、複数のエフェクタ軌道の候補を生成する。ここで、複数のエフェクタ軌道の候補のそれぞれは、複数の候補姿勢のいずれかを経由する初期姿勢から目標姿勢までのロボット10の姿勢の変化に対応するように生成される。また、計画部420は、例えば、動作制約の情報に基づき、ロボット10が移動禁止領域に移動しないように、複数のエフェクタ軌道の候補を生成する。なお、計画部420は、複数の候補姿勢を生成する前に、初期姿勢から目標姿勢までのロボット10の姿勢の変化に対応する複数のエフェクト軌道を生成してもよい。そして、計画部420は、当該複数のエフェクト軌道それぞれのうち、候補範囲内部50の内部にエンドエフェクタ11が位置するようなロボット10の姿勢を複数のスタート姿勢の候補(複数の候補姿勢)として決定してもよい。
In step S1003, the
ステップS1004において、シミュレーション部430は、3次元モデルおよび制限条件の情報に基づき、複数のエフェクタ軌道のそれぞれに対応する複数の非制御軌道を生成する。そして、シミュレーション部430は、仮想コントローラ431を用いて、各非制御軌道のうち複数の点(複数の位置姿勢)をセンサ20や対象物2が通過するようなロボット10の動きをシミュレートする。
In step S1004, the
ステップS1005において、シミュレーション部430は、複数の制御軌道を生成する。具体的には、シミュレーション部430は、複数の非制御軌道それぞれについて、S1004においてシミュレートしたロボット10の動きに対応するように、当該非制御軌道をそれぞれ補正して、当該非制御軌道に対応する制御軌道(適正軌道の候補)を生成する。
In step S1005, the
ステップS1006において、評価部440は、複数の制御軌道のそれぞれを評価する。具体的には、評価部440は、複数の制御軌道それぞれに対して、上述したタスクスコアおよびセンシングスコアに基づく評価値を算出する。
In step S1006, the
ステップS1007において、計画部420は、複数の制御軌道のうちの最も評価値の高い1つを適正軌道として選択する。なお、例えば、計画部420は、タスクスコアが第1の閾値よりも小さく、かつ、センシングスコアが第2の閾値よりも小さい制御軌道の中で、最も評価値の高い1つを適正軌道として選択してもよい。これによれば、タスクスコアとセンシングスコアが所定値よりも小さいことが担保できる。また、計画部420は、適正軌道に対応する候補姿勢(適正軌道に従ってサーボシステム1を実行した場合における、ビジュアルサーボの開始時点でのロボット10の姿勢)をスタート姿勢として選択する。
In step S1007, the
このように、処理装置40は、適正軌道とスタート姿勢を生成(決定)する。これによれば、ビジュアルサーボの開始時におけるロボット10のスタート姿勢を、ユーザが手動で設定することなく決定できる。つまり、ユーザのビジュアルサーボにおける負担が軽減できる。そして、処理装置40は、オクルージョンが発生しない姿勢や、視野範囲や検出可能範囲60に対象物2が位置する姿勢を、スタート姿勢にすることができる。つまり、処理装置40は、ビジュアルサーボを行うにあたり好適なスタート姿勢を決定することができる。
In this way, the
さらに、処理装置40は、複数の制御軌道の中から評価値が最も高い制御軌道を適正軌道として選択する。そして、評価値は、ビジュアルサーボの精度または/および速度に関する値である。このため、適正軌道を、ロボット10が動きやすい軌道、または/および、対象物2を把握しやすい位置にセンサ20が移動するような軌道にできる。つまり、対象物2に把持物体3を接続する動作を行うビジュアルサーボが失敗する確率を低減できる(ビジュアルサーボの精度が向上する)。そして、ビジュアルサーボに要する時間を低減できる。
Furthermore, the
なお、上記では、サーボシステム1は、制御装置30において、2つの時点間の撮像画像に基づき、対象物2や把持物体3の位置姿勢を検出していたが、この限りではない。例えば、センサ20が3次元センサであり、センサ20自体が対象物2や把持物体3の位置姿勢を検出してもよい。
In the above description, the servo system 1 detects the position and orientation of the
また、本実施形態では、エフェクタ軌道やセンサ軌道などは、スタート姿勢を経由してロボット10の姿勢が初期姿勢から目標姿勢まで変化する際のエンドエフェクタ11やセンサ20の軌道であるとした。しかし、エフェクタ軌道やセンサ軌道などは、ロボット1
0の姿勢がスタート姿勢から目標姿勢まで変化する際のエンドエフェクタ11やセンサ20の軌道であってもよい。これは、ロボット10が初期姿勢からスタート姿勢に変化するまでの期間では、ビジュアルサーボが実行されないためである。
In this embodiment, the effector trajectory and the sensor trajectory are the trajectories of the
It may be the trajectory of the
また、適正軌道、制御軌道および非制御軌道において、センサ軌道の代わりに、当該センサ軌道に対応するエフェクタ軌道を用いてもよい。これは、本実施形態では、センサ20とエンドエフェクタ11との相対的な位置関係が固定されているためである。なお、センサ軌道の代わりに、ロボット10の姿勢変化を用いてもよい。
In addition, in the proper trajectory, the controlled trajectory, and the uncontrolled trajectory, the effector trajectory corresponding to the sensor trajectory may be used instead of the sensor trajectory. This is because in this embodiment, the relative positional relationship between the
さらに、対象物2がビジュアルサーボ中に動かない場合には、適正軌道、制御軌道および非制御軌道において、物体軌道は不要である。センサ軌道から、エンドエフェクタ11と対象物2との位置関係を算出可能であるためである。
Furthermore, if the
なお、撮像画像の2次元空間上において把持物体3を目的の位置姿勢に変化させるようなビジュアルサーボを行う場合には、適正軌道、制御軌道および非制御軌道において、上述のように視覚的軌道が必要である。一方で、3次元空間上において把持物体3を目的の位置姿勢に変化させるようなビジュアルサーボを行う場合には、適正軌道、制御軌道および非制御軌道において、視覚的軌道は必ずしも必要ではない。つまり、適正軌道(サーボ軌道)、制御軌道および非制御軌道は、サーボシステム1に関する少なくとも1つの構成(物体;部材)の軌道を含んでいれば、本実施形態と同様の効果を得る可能性がある。
When performing visual servoing to change the grasped
なお、実施形態に記載された事項のみによって特許請求の範囲の記載の解釈が限定されるものではない。特許請求の範囲の記載の解釈には、出願時の技術常識を考慮した、発明の課題が解決できることを当業者が認識できるように記載された範囲も含む。 Note that the interpretation of the claims is not limited solely to the matters described in the embodiments. The interpretation of the claims also includes the scope of the description that is sufficient to enable a person skilled in the art to recognize that the problem to be solved by the invention can be solved, taking into account the common general technical knowledge at the time of filing.
(付記1)
対象物(2)を撮像して検出するセンサ(20)と、エンドエフェクタ(11)を備えるロボット(10)とを有し、ビジュアルサーボを行うサーボシステム(1)において、
前記サーボシステム(1)に関する少なくとも1つの軌道であるサーボ軌道、および前記ビジュアルサーボの開始時点の前記ロボット(10)のスタート姿勢を決定する処理装置(40)であって、
前記ロボット(10)の初期姿勢の情報と、前記ビジュアルサーボの終了時点の前記ロボット(10)の目標姿勢の情報とを取得する取得手段(410)と、
1)前記スタート姿勢の複数の候補を決定し、2)前記複数の候補のいずれか1つを経由して前記初期姿勢から前記目標姿勢に前記ロボット(10)の姿勢が変化する際の前記エンドエフェクタ(11)の複数の軌道を生成する計画手段(420)と、
前記エンドエフェクタ(11)の複数の軌道のそれぞれに対応する前記サーボ軌道の複数の候補の中から、前記ビジュアルサーボの精度または速度に関する評価値の最も高い候補を前記サーボ軌道として決定し、当該サーボ軌道に対応するスタート姿勢の候補を前記スタート姿勢として決定する決定手段(420)と、
を有することを特徴とする処理装置(40)。
(Appendix 1)
A servo system (1) for performing visual servoing, comprising: a sensor (20) for capturing and detecting an object (2); and a robot (10) having an end effector (11),
a processing device (40) for determining at least one trajectory, a servo trajectory, for the servo system (1) and a starting posture of the robot (10) at the start of the visual servoing,
An acquisition means (410) for acquiring information on an initial posture of the robot (10) and information on a target posture of the robot (10) at the end of the visual servoing;
a planning means (420) for 1) determining a plurality of candidates for the start posture, and 2) generating a plurality of trajectories for the end effector (11) when the posture of the robot (10) changes from the initial posture to the target posture via any one of the plurality of candidates;
a determination means (420) for determining, as the servo trajectory, a candidate having the highest evaluation value regarding the accuracy or speed of the visual servo from among a plurality of candidates of the servo trajectory corresponding to each of a plurality of trajectories of the end effector (11), and determining, as the starting posture, a candidate of a starting posture corresponding to the servo trajectory;
A processing device (40) comprising:
(付記2)
対象物(2)を撮像して検出するセンサ(20)と、エンドエフェクタ(11)を備えるロボット(10)とを有し、ビジュアルサーボを行うサーボシステム(1)に関して、
前記サーボシステム(1)に関する少なくとも1つの軌道であるサーボ軌道、および前記ビジュアルサーボの開始時点の前記ロボット(10)のスタート姿勢を決定する処理方法であって、
前記ロボット(10)の初期姿勢の情報と、前記ビジュアルサーボの終了時点の前記ロボット(10)の目標姿勢の情報とを取得する取得ステップ(S1001)と、
1)前記スタート姿勢の複数の候補を決定し、2)前記複数の候補のいずれか1つを経由して前記初期姿勢から前記目標姿勢に前記ロボット(10)の姿勢が変化する際の前記エンドエフェクタ(11)の複数の軌道を生成する計画ステップ(S1002,S1003)と、
前記エンドエフェクタ(11)の複数の軌道のそれぞれに対応する前記サーボ軌道の複数の候補の中から、前記ビジュアルサーボの精度または速度に関する評価値の最も高い候補を前記サーボ軌道として決定し、当該サーボ軌道に対応するスタート姿勢の候補を前記スタート姿勢として決定する決定ステップ(S1007)と、
を有することを特徴とする処理方法。
(Appendix 2)
A servo system (1) that performs visual servoing and has a sensor (20) that captures and detects an object (2) and a robot (10) equipped with an end effector (11),
A processing method for determining at least one trajectory, a servo trajectory, for the servo system (1) and a starting posture of the robot (10) at the start of the visual servoing, comprising:
An acquisition step (S1001) of acquiring information on an initial posture of the robot (10) and information on a target posture of the robot (10) at the end of the visual servoing;
1) determining a plurality of candidates for the starting posture, and 2) generating a plurality of trajectories of the end effector (11) when the posture of the robot (10) changes from the initial posture to the target posture via any one of the plurality of candidates (S1002, S1003);
a determining step (S1007) of determining, as the servo trajectory, a candidate having the highest evaluation value regarding the accuracy or speed of the visual servo from among a plurality of candidates of the servo trajectory corresponding to each of a plurality of trajectories of the end effector (11), and determining, as the starting posture, a candidate of a starting posture corresponding to the servo trajectory;
A processing method comprising the steps of:
1:サーボシステム、2:対象物、3:把持物体、
10:ロボット、11:エンドエフェクタ、12:土台、
20:センサ、30:制御装置、40:処理装置、
310:シミュレータ、320:コントローラ、
410:入出力部、420:計画部、430:シミュレーション部、
431:仮想コントローラ、440:評価部
1: servo system, 2: object, 3: grasped object,
10: robot, 11: end effector, 12: base,
20: sensor, 30: control device, 40: processing device,
310: simulator, 320: controller,
410: Input/Output Unit, 420: Planning Unit, 430: Simulation Unit,
431: Virtual controller, 440: Evaluation unit
Claims (13)
前記ロボットが初期姿勢から目標姿勢に至るまでの軌道であるサーボ軌道、および前記サーボ軌道の途中の時点であって前記ロボットのビジュアルサーボを開始する時点での前記ロボットの姿勢であるスタート姿勢を決定する処理装置と、
前記ロボットのコントローラと、を備え、
前記処理装置は、
前記ロボットの前記初期姿勢の情報と前記目標姿勢の情報とを取得する取得手段と、
1)前記スタート姿勢の複数の候補を決定し、2)前記複数の候補のいずれか1つを経由して前記初期姿勢から前記目標姿勢に前記ロボットの姿勢が変化する際の前記エンドエフェクタの複数の軌道を生成する計画手段と、
前記エンドエフェクタの複数の軌道のそれぞれに対応する前記サーボ軌道の複数の候補の中から、前記ビジュアルサーボの精度または速度に関する評価値の最も高い候補を前記サーボ軌道として決定し、当該サーボ軌道に対応するスタート姿勢の候補を前記スタート姿勢として決定する決定手段と、を有し、
前記コントローラは、
前記処理装置によって決定された前記サーボ軌道にしたがって前記ロボットの姿勢を変化させる制御を行うものであって、
前記ロボットの姿勢が前記初期姿勢から前記スタート姿勢に変化するまでの期間は、前記ビジュアルサーボを実行せずに前記ロボットの姿勢を制御し、前記ロボットの姿勢が前記スタート姿勢になった時点で前記ビジュアルサーボを開始することを特徴とするサーボシステム。 A servo system that performs visual servoing and has a sensor that captures and detects an object and a robot equipped with an end effector,
a processing device that determines a servo trajectory, which is a trajectory of the robot from an initial posture to a target posture, and a start posture, which is a posture of the robot at a point in the middle of the servo trajectory at which visual servoing of the robot is started;
A controller for the robot,
The processing device includes:
an acquisition means for acquiring information on the initial posture and information on the target posture of the robot;
1) determining a plurality of candidates for the start posture, and 2) generating a plurality of trajectories of the end effector when the posture of the robot changes from the initial posture to the target posture via any one of the plurality of candidates;
a determination means for determining, as the servo trajectory, a candidate having the highest evaluation value regarding the accuracy or speed of the visual servo from among a plurality of candidates of the servo trajectory corresponding to each of a plurality of trajectories of the end effector, and determining, as the starting posture, a candidate of a starting posture corresponding to the servo trajectory,
The controller:
A control is performed to change the posture of the robot according to the servo trajectory determined by the processing device,
A servo system characterized by controlling the posture of the robot without executing the visual servo during a period until the posture of the robot changes from the initial posture to the start posture, and starting the visual servo when the posture of the robot becomes the start posture.
ことを特徴とする請求項1に記載のサーボシステム。 the planning means determines a plurality of candidates for the start posture from among postures between the initial posture and the target posture;
2. The servo system according to claim 1 .
的な位置変化の軌道と、前記センサが撮像する撮像画像における前記対象物の軌道との少なくともいずれかを含む、
ことを特徴とする請求項1または2に記載のサーボシステム。 The servo trajectory includes at least one of a trajectory of the sensor, a trajectory of a relative position change between the object and the end effector, and a trajectory of the object in an image captured by the sensor.
3. The servo system according to claim 1 or 2.
前記シミュレーション手段は、シミュレーション結果に基づき、前記サーボシステムの軌道の複数の候補のそれぞれを補正し、
前記決定手段は、補正された前記サーボ軌道の複数の候補の中から前記サーボ軌道を決定する、
ことを特徴とする請求項1から3のいずれか1項に記載のサーボシステム。 a simulation means for generating a plurality of candidates of the servo trajectory corresponding to each of a plurality of trajectories of the end effector, and simulating visual servoing according to each of the plurality of candidates of the servo trajectory;
The simulation means corrects each of a plurality of candidates for a trajectory of the servo system based on a simulation result;
The determining means determines the servo trajectory from among a plurality of candidates of the corrected servo trajectory.
4. The servo system according to claim 1, wherein the first and second electrodes are arranged in a first direction.
前記第1のコントローラは、前記エンドエフェクタの複数の軌道のそれぞれに対応する前記エンドエフェクタの位置姿勢を決定し、
前記第2のコントローラは、前記第1のコントローラが決定した前記エンドエフェクタの位置姿勢を実現する前記ロボットの姿勢を制御し、
前記シミュレーション手段は、前記第1のコントローラをエミュレートする第3のコントローラと、前記第2のコントローラをエミュレートする第4のコントローラとを有し、前記3のコントローラおよび前記第4のコントローラを用いて、前記ビジュアルサーボをシミュレーションする、
ことを特徴とする請求項4に記載のサーボシステム。 The controller includes a first controller and a second controller,
The first controller determines a position and orientation of the end effector corresponding to each of a plurality of trajectories of the end effector;
the second controller controls a posture of the robot to realize the position and posture of the end effector determined by the first controller;
the simulation means has a third controller that emulates the first controller and a fourth controller that emulates the second controller, and simulates the visual servo using the third controller and the fourth controller;
5. The servo system according to claim 4.
ことを特徴とする請求項1から5のいずれか1項に記載のサーボシステム。 and further comprising an evaluation means for evaluating each of the plurality of candidates for the servo trajectory.
6. The servo system according to claim 1, wherein the first and second electrodes are arranged in a first direction.
ことを特徴とする請求項6に記載のサーボシステム。 the evaluation means calculates an evaluation value for each of the plurality of candidates for the servo trajectory based on a task score related to the movement of the robot and a sensing score related to the detection of the object when the visual servoing is executed according to each of the plurality of candidates for the servo trajectory.
7. The servo system according to claim 6.
ことを特徴とする請求項7に記載のサーボシステム。 the task score is a score based on at least one of a time required for the robot to move and a difference between a posture of the robot at a time point when the visual servoing ends and the target posture;
8. The servo system according to claim 7.
前記センシングスコアは、ビジュアルサーボの実行中の、予想される無効な検出の総数と、前記サーボシステムが物体を検出可能な範囲である検出可能範囲と前記対象物との距離と、予想される検出誤差の総数との少なくともいずれかに基づくスコアである、
ことを特徴とする請求項7または8に記載のサーボシステム。 the servo system is capable of detecting the object;
The sensing score is based on at least one of a total number of expected invalid detections during execution of visual servoing, a detectable range in which the servo system can detect an object and a distance between the object and the detectable range, and a total number of expected detection errors.
9. The servo system according to claim 7 or 8.
ことを特徴とする請求項9に記載のサーボシステム。 The expected total number of invalid detections is the number of times that the sensor performs imaging, in which at least one of the following occurs: a first percentage or more of the object is not included in the field of view or the detectable range of the sensor; and another object overlaps an area of the object that is a second percentage or more of the entire area in the image captured by the sensor.
10. The servo system according to claim 9.
ことを特徴とする請求項1から10のいずれか1項に記載のサーボシステム。 the planning means determines a plurality of candidates for the start posture from a plurality of postures of the robot corresponding to a plurality of positions and postures of the end effector located within a predetermined range,
11. The servo system according to claim 1 .
ことを特徴とする請求項11に記載のサーボシステム。 the planning means selects a plurality of candidates for the start posture from a plurality of postures of the robot corresponding to a plurality of positions and postures of the sensor in which no other object is disposed between the sensor and the target object when the sensor captures an image and the target object is included in a field of view of the sensor;
12. The servo system according to claim 11.
前記ロボットが初期姿勢から目標姿勢に至るまでの軌道であるサーボ軌道、および前記サーボ軌道の途中の時点であって前記ロボットのビジュアルサーボを開始する時点での前記ロボットの姿勢であるスタート姿勢を決定する決定処理と、
決定された前記サーボ軌道にしたがって前記ロボットの姿勢を変化させる制御を行う制御処理と、を含む処理方法であって、
前記決定処理は、
前記ロボットの前記初期姿勢の情報と前記目標姿勢の情報とを取得する取得ステップと、
1)前記スタート姿勢の複数の候補を決定し、2)前記複数の候補のいずれか1つを経由して前記初期姿勢から前記目標姿勢に前記ロボットの姿勢が変化する際の前記エンドエフェクタの複数の軌道を生成する計画ステップと、
前記エンドエフェクタの複数の軌道のそれぞれに対応する前記サーボ軌道の複数の候補の中から、前記ビジュアルサーボの精度または速度に関する評価値の最も高い候補を前記サーボ軌道として決定し、当該サーボ軌道に対応するスタート姿勢の候補を前記スタート姿勢として決定する決定ステップと、を有し、
前記制御処理では、前記ロボットの姿勢が前記初期姿勢から前記スタート姿勢に変化するまでの期間は、前記ビジュアルサーボを実行せずに前記ロボットの姿勢を制御し、前記ロボットの姿勢が前記スタート姿勢になった時点で前記ビジュアルサーボを開始することを特徴とする処理方法。 A servo system that performs visual servoing and has a sensor that captures and detects an object and a robot equipped with an end effector,
A determination process for determining a servo trajectory, which is a trajectory of the robot from an initial posture to a target posture, and a start posture, which is a posture of the robot at a point in the middle of the servo trajectory and at a point when visual servoing of the robot is started;
and a control process for controlling the robot to change its posture in accordance with the determined servo trajectory,
The determination process includes:
an acquisition step of acquiring information on the initial posture and information on the target posture of the robot;
1) determining a plurality of candidates for the start posture; and 2) generating a plurality of trajectories of the end effector when the posture of the robot changes from the initial posture to the target posture via any one of the plurality of candidates.
a determining step of determining, as the servo trajectory, a candidate having the highest evaluation value regarding the accuracy or speed of the visual servo from among a plurality of candidates of the servo trajectory corresponding to each of a plurality of trajectories of the end effector, and determining, as the starting posture, a candidate of a starting posture corresponding to the servo trajectory,
The control process controls the robot's posture without executing visual servoing during the period until the robot's posture changes from the initial posture to the start posture, and starts the visual servoing when the robot's posture becomes the start posture.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021091183A JP7703904B2 (en) | 2021-05-31 | 2021-05-31 | Servo system and processing method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021091183A JP7703904B2 (en) | 2021-05-31 | 2021-05-31 | Servo system and processing method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022183723A JP2022183723A (en) | 2022-12-13 |
| JP7703904B2 true JP7703904B2 (en) | 2025-07-08 |
Family
ID=84437709
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021091183A Active JP7703904B2 (en) | 2021-05-31 | 2021-05-31 | Servo system and processing method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7703904B2 (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118177964B (en) * | 2024-03-27 | 2024-08-30 | 北京纳通医用机器人科技有限公司 | Force-position hybrid control method and device based on visual servo correction |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012125871A (en) | 2010-12-15 | 2012-07-05 | Mitsubishi Electric Corp | Robot control setting support device |
| JP2014035722A (en) | 2012-08-10 | 2014-02-24 | Omron Corp | Data display device, method, and program |
| US8774967B2 (en) | 2010-12-20 | 2014-07-08 | Kabushiki Kaisha Toshiba | Robot control apparatus |
| JP2021058990A (en) | 2019-10-09 | 2021-04-15 | キヤノン株式会社 | Image processing device, control method and program |
-
2021
- 2021-05-31 JP JP2021091183A patent/JP7703904B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2012125871A (en) | 2010-12-15 | 2012-07-05 | Mitsubishi Electric Corp | Robot control setting support device |
| US8774967B2 (en) | 2010-12-20 | 2014-07-08 | Kabushiki Kaisha Toshiba | Robot control apparatus |
| JP2014035722A (en) | 2012-08-10 | 2014-02-24 | Omron Corp | Data display device, method, and program |
| JP2021058990A (en) | 2019-10-09 | 2021-04-15 | キヤノン株式会社 | Image processing device, control method and program |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022183723A (en) | 2022-12-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI802820B (en) | Robot control device, and method and program for controlling the same | |
| Ekvall et al. | Learning and evaluation of the approach vector for automatic grasp generation and planning | |
| JP4153528B2 (en) | Apparatus, program, recording medium and method for robot simulation | |
| JP6931457B2 (en) | Motion generation method, motion generator, system and computer program | |
| EP2684651A2 (en) | Robot system, robot, robot control device, robot control method, and robot control program | |
| US20240351205A1 (en) | Command value generating device, method, and program | |
| CN113710432A (en) | Method for determining a trajectory of a robot | |
| US12030192B2 (en) | Motion model calculation device, control device, joint mechanism, and motion model calculation method | |
| JP2020082315A (en) | Image generating device, robot training system, image generating method, and image generating program | |
| Ehlers et al. | A human-robot interaction interface for mobile and stationary robots based on real-time 3D human body and hand-finger pose estimation | |
| CN119347753B (en) | Methods and apparatus for determining control strategy models, and methods and apparatus for controlling end effectors. | |
| JP7703904B2 (en) | Servo system and processing method | |
| CN115107020A (en) | Apparatus and method for training neural network for controlling robot | |
| JP2021010994A (en) | Sensor position / orientation calibration device and sensor position / orientation calibration method | |
| CN115082550A (en) | Apparatus and method for locating position of object from camera image of object | |
| CN118322214B (en) | A Method and Device for Robotic Arm Imitation Learning Based on Single-Teaching | |
| JP7735814B2 (en) | Method, system, and computer program for creating training data for use in machine learning models | |
| JP7806098B2 (en) | Robot arm control method, device, electronic device, and computer-readable storage medium | |
| CN116648190B (en) | Skeleton estimation device, skeleton estimation method and gymnastics scoring assistance system | |
| CN116061161B (en) | Camera control methods | |
| JP7845261B2 (en) | Rotation state derivation device and robot system | |
| JPWO2022149190A5 (en) | ||
| KR102907810B1 (en) | Method and system for motion generation and analyzing the users arm muscles via leap motion and its data driven representations | |
| EP4238714A1 (en) | Device and method for controlling a robot | |
| JP7388970B2 (en) | robot system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240319 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240930 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20241015 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20241216 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250304 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250507 |
|
| 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: 20250527 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20250609 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7703904 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |