Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7703904B2 - Servo system and processing method - Google Patents
[go: Go Back, main page]

JP7703904B2 - Servo system and processing method - Google Patents

Servo system and processing method Download PDF

Info

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
Application number
JP2021091183A
Other languages
Japanese (ja)
Other versions
JP2022183723A (en
Inventor
健忠 傅
豪 青木
昂宏 長谷川
成典 長江
健太郎 香西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Omron Corp filed Critical Omron Corp
Priority to JP2021091183A priority Critical patent/JP7703904B2/en
Publication of JP2022183723A publication Critical patent/JP2022183723A/en
Application granted granted Critical
Publication of JP7703904B2 publication Critical patent/JP7703904B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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).

米国特許第8774967号明細書U.S. Pat. No. 8,774,967

一方で、ビジュアルサーボでは、センサが取得する画像において把持物体や対象物が見切れてしまうことや、互いに重なり合ってしまうことがある。この点、特許文献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.

図1は、サーボシステムを表す外観図である。FIG. 1 is an external view showing a servo system. 図2Aは撮像画像を表す図であり、図2Bは検出可能範囲を説明する図であり、図2Cは候補範囲を説明する図である。FIG. 2A is a diagram illustrating a captured image, FIG. 2B is a diagram illustrating a detectable range, and FIG. 2C is a diagram illustrating a candidate range. 図3は、制御装置および処理装置の内部構成図である。FIG. 3 is a diagram showing the internal configuration of the control device and the processing device. 図4は、適正軌道の決定処理を示すフローチャートである。FIG. 4 is a flowchart showing the process of determining the optimum trajectory.

以下、本発明を実施するための実施形態について図面を用いて記載する。 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 robot 10 at the start of visual servoing and the proper trajectory (servo trajectory; trajectory of the sensor 20, the object 2, etc.) of the servo system 1 when visual servoing is performed will be described before visual servoing is performed in the servo system 1 that performs visual servoing. Specifically, the servo system 1 generates a plurality of candidates for the starting posture. The servo system 1 also generates candidates for the proper trajectory when the robot 10 is moved so as to change from the initial posture to a preset target posture (the posture of the robot 10 that is the target at the end of visual servoing) via one of the plurality of candidates for the starting posture. Then, the servo system 1 selects one proper trajectory from the plurality of candidates for the proper trajectory based on the evaluation values of these proper trajectories. As a result, one proper trajectory is selected, and the starting posture corresponding to the proper trajectory is selected. Here, the evaluation value is an evaluation value related to the accuracy or speed of the visual servoing. The evaluation value is a value based on the task score related to the movement of the robot 10 and the sensing score related to the detection of the object 2.

これによれば、ビジュアルサーボの開始時におけるロボット10のスタート姿勢を、ユーザが手動で設定することなく決定できる。つまり、ユーザのビジュアルサーボにおける負担が軽減できる。さらに、複数の適正軌道の候補の中から評価値が最も高い制御軌道が適正軌道として選択される。このため、適正軌道を、ロボット10が動きやすい軌道、または/および、対象物2を把握しやすい位置にセンサ20が移動するような軌道に決定できる。このため、例えば、対象物2に把持物体3を接続する動作を行うビジュアルサーボが失敗する確率を低減できる。つまり、ビジュアルサーボの精度を向上することができる。そして、ビジュアルサーボに要する時間を低減できる。 This allows the user to determine the starting posture of the robot 10 at the start of visual servoing without 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 appropriate trajectory from among multiple suitable trajectory candidates. Therefore, the appropriate trajectory can be determined to be a trajectory that is easy for the robot 10 to move, and/or a trajectory that moves the sensor 20 to a position where the target object 2 can be easily grasped. Therefore, for example, the probability of failure of visual servoing, which performs an operation to connect the grasped object 3 to the target object 2, can be reduced. In other words, the accuracy of visual servoing can be improved. And the time required for visual servoing can be reduced.

<実施形態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 robot 10 based on visual information). In the first embodiment, the servo system 1 controls the posture of the robot 10 so that the grasped object 3 grasped by the robot 10 is connected to an object 2 (target; a specified object) while capturing images of the grasped object 3 and the object 2. Note that the term "trajectory" in the following description may be a line segment showing the trajectory along which the object moves, or may be information showing multiple positions and the order of movement on the line segment. In the present embodiment, the trajectory of a certain object indicates the position and posture of the object when it moves.

[サーボシステムの構成]
まず、図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 robot 10, a sensor 20, a control device 30, and a processing device 40. The servo system 1 can be regarded as having an object 2 and a grasped object 3, or as not having the object 2 and the grasped object 3.

ロボット10は、自身の姿勢を変化させることによって、センサ20およびエンドエフェクタ11の位置姿勢を制御する。本実施形態では、ロボット10の姿勢とは、ロボット10のアームの関節の角度やエンドエフェクタ11の回転角度などを示すものである。このため、本実施形態では、ロボット10の姿勢と、エンドエフェクタ11の位置姿勢とは一対一で対応する。また、ロボット10の姿勢は、制御装置30によって制御される。ロボット10のアームの先端部分には、センサ20が設けられている。このため、ロボット10がセンサ20を有しているとみなしてもよい。なお、「位置姿勢」とは、本実施形態では、位置および姿勢であるが、技術的な矛盾が生じなければ、位置または姿勢であってもよい。また、「位置姿勢」は、或る物体の6次元情報(或る物体の3次元座標と、当該物体の3軸方向を表す情報)と捉えることもできる。 The robot 10 controls the position and orientation of the sensor 20 and the end effector 11 by changing its own orientation. In this embodiment, the orientation of the robot 10 indicates the angle of the joint of the arm of the robot 10 and the rotation angle of the end effector 11. Therefore, in this embodiment, the orientation of the robot 10 and the position and orientation of the end effector 11 correspond one-to-one. The orientation of the robot 10 is controlled by the control device 30. The sensor 20 is provided at the tip of the arm of the robot 10. Therefore, the robot 10 may be considered to have the sensor 20. Note that, although the "position and orientation" refers to the position and orientation in this embodiment, it may be the position or the orientation as long as no technical contradiction occurs. Also, the "position and orientation" can be regarded as six-dimensional information of a certain object (information representing the three-dimensional coordinates of a certain object and the three axial directions of the object).

ロボット10は、エンドエフェクタ11(把持部)と土台12を有する。エンドエフェクタ11は、把持物体3を把持する。土台12は、ロボット10の1つの端部の位置を固定する。なお、以下では、ビジュアルサーボの実行開始の時点のロボット10の姿勢を「スタート姿勢」と呼ぶ。また、ユーザが指定する姿勢であって、ビジュアルサーボの目標となるロボット10の姿勢を「目標姿勢」と呼ぶ。この目標姿勢は、ユーザが任意に設定する姿勢であるため、把持物体3が対象物2に接続している姿勢でなくともよい。 The robot 10 has an end effector 11 (gripping part) and a base 12. The end effector 11 grasps the grasped object 3. The base 12 fixes the position of one end of the robot 10. In the following, the posture of the robot 10 at the start of visual servoing is called the "start posture". Also, the posture of the robot 10 specified by the user and which is the target of visual servoing is called the "target posture". This target posture is a posture arbitrarily set by the user, so it does not have to be a posture in which the grasped object 3 is connected to the target object 2.

センサ20は、対象物2や把持物体3を撮像して撮像画像を取得する。本実施形態では、センサ20と把持物体3との相対的な位置関係は、固定されている。このため、センサ20は、他の物体が把持物体3に重複しない限り、撮像可能な範囲である視野範囲(FOV;Field Of View)に把持物体3を含む。センサ20が撮像した撮像画像は、例えば、図2Aに示すように、対象物2および把持物体3を含む。 The sensor 20 captures an image of the target object 2 and the object to be grasped 3. In this embodiment, the relative positional relationship between the sensor 20 and the object to be grasped 3 is fixed. Therefore, the sensor 20 includes the object to be grasped 3 in its field of view (FOV; Field Of View), which is the range in which the sensor 20 can capture images, as long as no other object overlaps the object to be grasped 3. The image captured by the sensor 20 includes the target object 2 and the object to be grasped 3, for example, as shown in FIG. 2A.

制御装置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 control device 30 acquires the captured image from the sensor 20 and acquires information on the current posture of the robot 10 (such as information on the motor rotation angle) from the robot 10. As a result, the control device 30 detects the target object 2 and the grasped object 3 (their position and posture) located in the detectable range 60 of the visual field based on the captured image and the posture of the robot 10 corresponding to the captured image. The detectable range 60 is a range that depends not only on the visual field of the sensor 20 but also on the distance from the sensor 20 as shown in FIG. 2B. For example, the control device 30 can detect the position and posture of the target object 2 and the grasped object 3 based on the difference between the captured images captured by the sensor 20 from two different positions and postures and the posture of the robot 10 corresponding to the two different positions and postures. In addition, the control device 30 controls the posture of the robot 10 to control the positions and postures of the end effector 11 and the sensor 20. As a result, the control device 30 controls the robot 10 so as to move the grasped object 3 to a desired position in the captured image (performs visual servoing).

処理装置40は、サーボシステム1がビジュアルサーボ(視覚的情報に基づくロボット10の動作)を実行する際における、ロボット10のスタート姿勢を決定する。また、処理装置40は、センサ20の軌道(センサ軌道)、対象物2のエンドエフェクタ11との相対的な位置変化を示す軌道(物体軌道)、および撮像画像における対象物2の視覚的特
徴の軌道(視覚的軌道)の1セットとするサーボシステム1の適正軌道(サーボ軌道)を決定する。ここで、対象物2の視覚的特徴とは、例えば、対象物2の1つの端、1つの隅、または中心位置である。サーボシステム1は、ロボット10のスタート姿勢からビジュアルサーボを開始して、適正軌道に従って、ロボット10を制御しながらビジュアルサーボを実行し続ける。
The processing device 40 determines the starting posture of the robot 10 when the servo system 1 executes visual servoing (movement of the robot 10 based on visual information). The processing device 40 also determines a proper trajectory (servo trajectory) of the servo system 1, which is a set of the trajectory of the sensor 20 (sensor trajectory), a trajectory (object trajectory) indicating a relative position change between the object 2 and the end effector 11, and a trajectory (visual trajectory) of a visual feature of the object 2 in a captured image. Here, the visual feature of the object 2 is, for example, one edge, one corner, or the center position of the object 2. The servo system 1 starts visual servoing from the starting posture of the robot 10, and continues to execute visual servoing while controlling the robot 10 according to the proper trajectory.

[制御装置および処理装置の構成]
以下では、図3を参照して、制御装置30および処理装置40の詳細な構成を説明する。制御装置30は、シミュレータ310とコントローラ320を有する。処理装置40は、入出力部410、計画部420、シミュレーション部430、評価部440を有する。
[Configuration of the control device and processing device]
3, detailed configurations of the control device 30 and the processing device 40 will be described. The control device 30 has a simulator 310 and a controller 320. The processing device 40 has an input/output unit 410, a planning unit 420, a simulation unit 430, and an evaluation unit 440.

シミュレータ310は、センサ20から取得した撮像画像、およびロボット10の姿勢に基づき、対象物2および把持物体3(対象物2などの位置姿勢)を検出(推定)する。 The simulator 310 detects (estimates) the target object 2 and the grasped object 3 (the position and orientation of the target object 2, etc.) based on the captured image acquired from the sensor 20 and the orientation of the robot 10.

コントローラ320は、エンドエフェクタ41の位置姿勢を制御するビジュアルコントローラと、ロボット10の位置姿勢を制御するロボットコントローラを含む。ビジュアルコントローラは、エンドエフェクタ11の軌道に対応するエンドエフェクタ11の姿勢位置を決定する。ロボットコントローラは、ビジュアルコントローラが決定したエンドエフェクタ11の姿勢位置の変化を実現するためのロボット10のモータ駆動のコマンドを出力する。 The controller 320 includes a visual controller that controls the position and orientation of the end effector 41, and a robot controller that controls the position and orientation of the robot 10. The visual controller determines the orientation of the end effector 11 corresponding to the trajectory of the end effector 11. The robot controller outputs a command to drive the motor of the robot 10 in order to realize the change in the orientation of the end effector 11 determined by the visual controller.

なお、コントローラ320は、処理装置40から取得する適正軌道に基づき、ロボット10の姿勢を制御するコマンドを生成(出力)する。そして、コントローラ320は、ロボット10の姿勢がスタート姿勢から変化している期間において、センサ20が撮像を行うようにセンサ20にコマンドを出力する。このような処理により、コントローラ320は、ロボット10を適正軌道に基づき動かしながら、ロボット10の姿勢がスタート姿勢に変化すると、ビジュアルサーボを実行することができる。 The controller 320 generates (outputs) a command to control the posture of the robot 10 based on the appropriate trajectory acquired from the processing device 40. The controller 320 then outputs a command to the sensor 20 to cause the sensor 20 to capture images during the period in which the posture of the robot 10 is changing from the starting posture. Through this processing, the controller 320 can execute visual servoing when the posture of the robot 10 changes to the starting posture while moving the robot 10 based on the appropriate trajectory.

なお、対象物2が動く場合や、ユーザが設定した目標位置姿勢では対象物2と把持物体3とが接続できない場合(ビジュアルサーボとしての目標が達成できていない場合)には、ロボット10の動作を補正する必要がある。この場合には、コントローラ320は、対象物2の位置姿勢や、撮像画像における対象物2の位置などに基づき、ロボット10の動作を補正するように、ロボット10を制御するコマンドを生成してもよい。 If the target object 2 moves, or if the target object 2 and the grasped object 3 cannot be connected in the target position and orientation set by the user (if the visual servo goal is not achieved), the operation of the robot 10 needs to be corrected. In this case, the controller 320 may generate a command to control the robot 10 so as to correct the operation of the robot 10 based on the position and orientation of the target object 2, the position of the target object 2 in the captured image, etc.

入出力部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/output unit 410 is a user interface that accepts (acquires) user operations (user inputs). The user can input (set) the initial posture and target posture of the robot 10 via the input/output unit 410. The user can also input (set) a candidate range 50 (a predetermined range in a three-dimensional space) that is a range of candidates for the position and posture of the end effector 11 when starting the execution of visual servoing, as shown in FIG. 2C, via the input/output unit 410. Furthermore, the user can input information such as parameters of the controller 320 and the virtual controller 431, three-dimensional models of the target object 2 and the grasped object 3, and operation constraints of the robot 10 via the input/output unit 410. The user can also input information of an area (prohibited movement area) in which the robot 10 is prohibited from entering via the input/output unit 410. In this embodiment, the candidate range 50 is a spherical area, but may be an area of any shape. The planning unit 420 may also determine, as the candidate range, a sphere of a predetermined radius whose center point is the center between the position of the end effector 11 corresponding to the initial posture of the robot 10 and the position of the end effector 11 corresponding to the target posture of the robot 10.

また、ユーザは、入出力部410を介して、対象物2が動くことが想定される場合(例えば、対象物2が一定の速度で回転するコンベア上に搭載されることが想定される場合)
には、対象物2の動き情報を入力することもできる。
In addition, the user may input, via the input/output unit 410, information on the movement of the object 2 (for example, the object 2 is assumed to be placed on a conveyor rotating at a constant speed).
It is also possible to input movement information of the object 2 to the .

さらに、入出力部410は、処理装置40が決定した適正軌道(センサ軌道、物体軌道および視覚的軌道)の情報と、スタート姿勢の情報を制御装置30に出力する。 Furthermore, the input/output unit 410 outputs information on the appropriate trajectories (sensor trajectory, object trajectory, and visual trajectory) determined by the processing device 40 and information on the starting posture to the control device 30.

計画部420は、候補範囲50の内部にエンドエフェクタ11が位置するような、スタート姿勢の複数の候補を複数の候補姿勢として決定する。なお、計画部420は、例えば、センサ20が撮像する撮像画像において対象物2と把持物体3とが重なり合わない(センサ20と対象物2との間に他の物体が存在しない)ようなロボット10の姿勢を候補姿勢として決定してもよい。または、計画部420は、対象物2および把持物体3の一部が視野範囲または/および検出可能範囲60の外に位置しないように、候補姿勢を決定してもよい。つまり、計画部420は、センサ20の視野範囲に対象物2が含まれるセンサ20の複数の位置姿勢のそれぞれに対応するロボット10の複数の姿勢の中から、スタート姿勢の複数の候補を選択してもよい。 The planning unit 420 determines, as the multiple candidate postures, multiple candidates for the starting posture such that the end effector 11 is located within the candidate range 50. Note that the planning unit 420 may determine, as the candidate postures, postures of the robot 10 such that the target object 2 and the grasped object 3 do not overlap in the captured image captured by the sensor 20 (no other object exists between the sensor 20 and the target object 2). Alternatively, the planning unit 420 may determine the candidate postures such that a part of the target object 2 and the grasped object 3 is not located outside the field of view range or/and the detectable range 60. In other words, the planning unit 420 may select multiple candidates for the starting posture from multiple postures of the robot 10 corresponding to each of the multiple positions and postures of the sensor 20 in which the target object 2 is included in the field of view range of the sensor 20.

そして、計画部420は、複数の候補姿勢のいずれかを経由してロボット10の姿勢が初期姿勢から目標姿勢に変化する際のエンドエフェクタ11の複数の軌道(エフェクタ軌道)の候補を生成する。例えば、計画部420は、10個の候補姿勢を生成している場合には、ロボット10の姿勢が1つの候補姿勢を経由して初期姿勢から目標姿勢に変化する際のエンドエフェクタ11の軌道の候補を生成することを10回だけ繰り返す。なお、エフェクタ軌道の算出には、任意の経路計算アルゴリズムを用いることができる。 Then, the planning unit 420 generates multiple candidate trajectories (effector trajectories) of the end effector 11 when the posture of the robot 10 changes from the initial posture to the target posture via one of the multiple candidate postures. For example, if the planning unit 420 generates 10 candidate postures, it repeats the generation of candidate trajectories of the end effector 11 when the posture of the robot 10 changes from the initial posture to the target posture via one candidate posture 10 times. Note that any path calculation algorithm can be used to calculate the effector trajectory.

シミュレーション部430は、複数のエフェクタ軌道の候補それぞれに対応する視覚的軌道の候補、物体軌道の候補およびセンサ軌道の候補(これら3種の軌道の候補を1つのセットとして「非制御軌道」と呼ぶ)を生成する。その後、シミュレーション部430は、それぞれの視覚的軌道の候補における複数の点を対象物2が通過するようなロボット10の動きを算出する(シミュレートする)。そして、シミュレーション部430は、シミュレーション結果に基づき、視覚的軌道の候補を補正する。例えば、シミュレーション部430は、ロボット10の動き制限により視覚的軌道の候補における複数の点を対象物2が通過することができない場合には、その複数の点の位置を補正する(位置ずらしをする)ことにより、視覚的軌道の候補を補正する。シミュレーション部430は、このような補正を、物体軌道の候補およびセンサ軌道の候補についても実行する。なお、以下では、補正された非制御軌道(視覚的軌道の候補、物体軌道の候補およびセンサ軌道の候補の1つのセット;適正軌道の候補)を「制御軌道」と呼ぶ。 The simulation unit 430 generates visual trajectory candidates, object trajectory candidates, and sensor trajectory candidates (these three types of trajectory candidates are referred to as a set of "non-controlled trajectories") corresponding to each of the multiple effector trajectory candidates. The simulation unit 430 then calculates (simulates) the movement of the robot 10 such that the object 2 passes through multiple points in each visual trajectory candidate. The simulation unit 430 then corrects the visual trajectory candidates based on the simulation results. For example, when the object 2 cannot pass through multiple points in the visual trajectory candidate due to the movement restrictions of the robot 10, the simulation unit 430 corrects the visual trajectory candidate by correcting (shifting) the positions of the multiple points. The simulation unit 430 also performs such correction on the object trajectory candidates and the sensor trajectory candidates. In the following, the corrected non-controlled trajectory (one set of visual trajectory candidates, object trajectory candidates, and sensor trajectory candidates; proper trajectory candidates) is referred to as a "controlled trajectory".

また、シミュレーション部430は、仮想コントローラ431を有する。仮想コントローラ431は、コントローラ320と同一の処理を実現するソフトウェア(コントローラ320のエミュレータ)であり、コントローラ320と同一のパラメータが設定されている。このため、仮想コントローラ431は、コントローラ320のビジュアルコントローラをエミュレートする(模倣する)仮想ビジュアルコントローラと、コントローラ320のビジュアルコントローラをエミュレートする(模倣する)仮想ロボットコントローラを有する。仮想ビジュアルコントローラは、複数のエフェクタ軌道のそれぞれに対応するエンドエフェクタ41の姿勢位置の変化を決定する。仮想ロボットコントローラは、仮想ビジュアルコントローラが決定したエンドエフェクタ41の姿勢位置の変化を実現するためのロボット10の姿勢を制御する。 The simulation unit 430 also has a virtual controller 431. The virtual controller 431 is software (an emulator of the controller 320) that realizes the same processing as the controller 320, and is set with the same parameters as the controller 320. For this reason, the virtual controller 431 has a virtual visual controller that emulates (mimics) the visual controller of the controller 320, and a virtual robot controller that emulates (mimics) the visual controller of the controller 320. The virtual visual controller determines the change in the posture position of the end effector 41 corresponding to each of the multiple effector trajectories. The virtual robot controller controls the posture of the robot 10 to realize the change in the posture position of the end effector 41 determined by the virtual visual controller.

シミュレーション部430は、仮想ビジュアルコントローラおよび仮想ロボットコントローラを用いて、それぞれの視覚的軌道における複数の点を対象物2が通過するようなロボット10の動きをシミュレートする。このように仮想ビジュアルコントローラと仮想ロボットコントローラを用いることによれば、ロボット10が実現できないような動きを排
除できる。
The simulation unit 430 uses a virtual visual controller and a virtual robot controller to simulate the movement of the robot 10 such that the target object 2 passes through a plurality of points on each visual trajectory. By using the virtual visual controller and the virtual robot controller in this manner, movements that the robot 10 cannot realize can be eliminated.

評価部440は、シミュレーション部430が生成した複数の制御軌道のそれぞれを評価する。具体的には、評価部440は、複数の制御軌道のそれぞれについて、ロボット10の移動に関するタスクスコアと、対象物2の検出に関するセンシングスコアに基づく評価値を算出する。このため、評価値は、ビジュアルサーボの精度または速度に関する値である。例えば、評価値は、タスクスコアが小さいほど大きく、センシングスコアが小さいほど大きい。なお、タスクスコアは、ロボット10が移動しやすい制御軌道ほど低い値をとり、または、ロボット10の姿勢を目的姿勢のより近くまで変化させることができる制御軌道ほど低い値をとれば、任意のスコアであってよい。また、センシングスコアは、対象物2の検出精度(実際の対象物2と検出結果との合致度)が高くなるほど、低い値をとれば、任意のスコアであってよい。 The evaluation unit 440 evaluates each of the multiple control trajectories generated by the simulation unit 430. Specifically, the evaluation unit 440 calculates an evaluation value for each of the multiple control trajectories based on a task score related to the movement of the robot 10 and a sensing score related to the detection of the object 2. Therefore, the evaluation value is a value related to the accuracy or speed of visual servoing. For example, the evaluation value is larger as the task score is smaller, and the evaluation value is larger as the sensing score is smaller. Note that the task score may be any score as long as the control trajectory that makes it easier for the robot 10 to move is a lower value, or the control trajectory that can change the posture of the robot 10 closer to the target posture is a lower value. Also, the sensing score may be any score as long as the detection accuracy of the object 2 (the degree of match between the actual object 2 and the detection result) is higher.

タスクスコアは、例えば、シミュレートした場合のロボット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 robot 10 in a simulated case and the target position and posture, and the total time (total movement time) for the robot 10 to move according to the control trajectory. The task score is, for example, a weighted sum of the final posture error and the total movement time, or a multiplication of the final posture error and the total movement time.

センシングスコアは、例えば、ビジュアルサーボの実行中の、予想される無効な検出の総数(無効検出総数)と、検出可能範囲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 detectable range 60 and the object 2 (object distance), and the total number of expected detection errors (total detection errors) while visual servoing is being performed. The object distance can be the average, mode, median, minimum, or maximum value of the distance between the center or outer periphery of the detectable range 60 and the center or outer periphery of the object 2 while visual servoing is being performed. The sensing score is, for example, a value obtained by adding the total invalid detections, the object distance, and the total detection errors with a weight, or a value obtained by multiplying the total invalid detections, the object distance, and the total detection errors.

無効検出総数は、例えば、センサ20が撮像を実行した回数のうち、検出可能範囲60または視野範囲に対象物2が含まれないこと、センサ20と対象物2との間に他の物体が配置されていること(オクルージョンが発生していること)のいずれかが発生している数である。また、無効検出総数は、センサ20が撮像を実行した回数のうち、検出可能範囲60または視野範囲に対象物2の第1の割合以上が含まれないこと、センサ20が撮像する撮像画像において対象物2の全体の第2の割合以上の領域に対して他の物体が重複していることのいずれかが発生している数であってもよい。例えば、或る物体が対象物2に重複していなければ対象物2のうち2cmが撮像画像に写っている場合に、撮影画像において2cmの60%(第2の割合)である1.2cm以上、或る物体が対象物2に重複していれば、無効検出が発生しているといえる。なお、無効検出総数の代わりに、対象物2の全体の領域に対する、検出可能範囲60または視野範囲に含まれる当該領域の割合の平均値の逆数を用いてもよい。 The total number of invalid detections is, for example, the number of times that the sensor 20 has performed imaging, in which either the object 2 is not included in the detectable range 60 or the field of view range, or another object is placed between the sensor 20 and the object 2 (occlusion has occurred). The total number of invalid detections may also be the number of times that the sensor 20 has performed imaging, in which either the object 2 is not included in the detectable range 60 or the field of view range at a first ratio or more, or another object overlaps with an area of the object 2 that is a second ratio or more of the entire area of the object 2 in the captured image captured by the sensor 20. For example, in a case where 2 cm 2 of the object 2 is captured in the captured image if a certain object does not overlap with the object 2, if a certain object overlaps with the object 2 by 1.2 cm 2 or more, which is 60% (second ratio) of 2 cm 2 in the captured image, it can be said that an invalid detection has occurred. Note that, instead of the total number of invalid detections, the reciprocal of the average value of the ratio of the area included in the detectable range 60 or the field of view range to the entire area of the object 2 may be used.

また、検出誤差は、例えば、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 object 2. However, without being limited to this, the detection error may be any value that increases as the detection accuracy of the sensor 20 (degree of match between the actual object and the detected object) decreases.

また、制御装置30および処理装置40は、例えば、CPU(プロセッサ)、メモリ、ストレージなどを備えるコンピュータにより構成することができる。その場合、図3に示す構成は、ストレージに格納されたプログラムをメモリにロードし、CPUが当該プログ
ラムを実行することによって実現されるものである。かかるコンピュータは、パーソナルコンピュータ、サーバコンピュータ、タブレット端末、スマートフォンのような汎用的なコンピュータでもよいし、オンボードコンピュータのように組み込み型のコンピュータでもよい。あるいは、図3に示す構成の全部または一部を、ASICやFPGAなどで構成してもよい。あるいは、図3に示す構成の全部または一部を、クラウドコンピューティングや分散コンピューティングにより実現してもよい。
Further, the control device 30 and the processing device 40 can be configured by a computer including, for example, a CPU (processor), a memory, a storage, etc. In this case, the configuration shown in FIG. 3 is realized by loading a program stored in the storage into the memory and executing the program by the CPU. Such a computer may be a general-purpose computer such as a personal computer, a server computer, a tablet terminal, or a smartphone, or may be an embedded computer such as an on-board computer. Alternatively, all or a part of the configuration shown in FIG. 3 may be configured by an ASIC, an FPGA, or the like. Alternatively, all or a part of the configuration shown in FIG. 3 may be realized by cloud computing or distributed computing.

[適正軌道の決定処理]
続いて、処理装置40が実行する適正軌道の決定処理(決定方法)について、図4のフローチャートを用いて説明する。
[Process for determining appropriate trajectory]
Next, the process (method) of determining the optimum trajectory executed by the processing device 40 will be described with reference to the flowchart of FIG.

ステップS1001において、入出力部410は、ユーザ定義情報を取得する。ユーザ定義情報は、3次元モデル(ロボット10、センサ20、対象物2、把持物体3、その他の外部環境のモデル)の情報、コントローラ320(ビジュアルコントローラおよびロボットコントローラ)のパラメータの情報、候補範囲50の大きさや形状の情報を含む。また、ユーザ定義情報は、例えば、上述したタスクスコアおよびセンシングスコアの算出方法を示す情報、動作制約(ロボット10、センサ20、および、その他の外部環境の制限)の情報、初期姿勢およびエフェクタ軌道を生成する際のジェネレータ(ソフトウェア)の情報を含む。 In step S1001, the input/output unit 410 acquires user-defined information. The user-defined information includes information on the three-dimensional model (models of the robot 10, the sensor 20, the target object 2, the grasped object 3, and other external environment), information on the parameters of the controller 320 (visual controller and robot controller), and information on the size and shape of the candidate range 50. The user-defined information also includes, for example, information indicating the method of calculating the task score and sensing score described above, information on the motion constraints (restrictions on the robot 10, the sensor 20, and other external environment), and information on the generator (software) used when generating the initial posture and effector trajectory.

ここで、ロボット10の動作制約とは、ロボット10の各関節の稼働可能角度、各関節の角度とエンドエフェクタ11との関係、各関節の変化速度や変化加速度、エンドエフェクタ11の移動可能範囲および、ロボット10のモータのトルクなどの条件である。センサ20の動作制約とは、センサ20の視野範囲(FOV)や、検出可能範囲60の条件である。 The operational constraints of the robot 10 are conditions such as the operable angle of each joint of the robot 10, the relationship between the angle of each joint and the end effector 11, the speed and acceleration of change of each joint, the movable range of the end effector 11, and the torque of the motor of the robot 10. The operational constraints of the sensor 20 are the conditions of the field of view (FOV) of the sensor 20 and the detectable range 60.

ステップ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 planning unit 420 uses a generator for generating the starting posture to determine multiple candidates for the starting posture such that the end effector 11 is located within the candidate range 50 as multiple candidate postures. The planning unit 420 may further determine multiple candidate postures such that the end effector 11 is located within the candidate range 50 from among postures between the initial posture and the target posture of the robot 10. In addition, the planning unit 420 determines, for example, a posture of the robot 10 such that the target object 2 and the grasped object 3 do not overlap in the captured image captured by the sensor 20 (for example, such that no other object is placed between the sensor 20 and the target object 2) as a candidate posture based on information of a three-dimensional model. Alternatively, the planning unit 420 determines, as a candidate posture, a posture of the robot 10 such that all of the target object 2 and the grasped object 3 are located within the field of view or the detectable range 60. Furthermore, the planning unit 420 may limit the candidate postures to postures to which the robot 10 can change, or to postures to which the robot 10 is not positioned in a prohibited movement area, based on the information on the motion constraints.

ステップS1003において、計画部420は、エフェクタ軌道を生成する際のジェネレータを用いて、複数のエフェクタ軌道の候補を生成する。ここで、複数のエフェクタ軌道の候補のそれぞれは、複数の候補姿勢のいずれかを経由する初期姿勢から目標姿勢までのロボット10の姿勢の変化に対応するように生成される。また、計画部420は、例えば、動作制約の情報に基づき、ロボット10が移動禁止領域に移動しないように、複数のエフェクタ軌道の候補を生成する。なお、計画部420は、複数の候補姿勢を生成する前に、初期姿勢から目標姿勢までのロボット10の姿勢の変化に対応する複数のエフェクト軌道を生成してもよい。そして、計画部420は、当該複数のエフェクト軌道それぞれのうち、候補範囲内部50の内部にエンドエフェクタ11が位置するようなロボット10の姿勢を複数のスタート姿勢の候補(複数の候補姿勢)として決定してもよい。 In step S1003, the planning unit 420 generates multiple effector trajectory candidates using a generator used for generating the effector trajectory. Here, each of the multiple effector trajectory candidates is generated so as to correspond to the change in the posture of the robot 10 from the initial posture to the target posture via one of the multiple candidate postures. In addition, the planning unit 420 generates multiple effector trajectory candidates, for example, based on information on the motion constraints so that the robot 10 does not move to a prohibited movement area. Note that, before generating the multiple candidate postures, the planning unit 420 may generate multiple effect trajectories corresponding to the change in the posture of the robot 10 from the initial posture to the target posture. Then, the planning unit 420 may determine, as multiple candidate start postures (multiple candidate postures), postures of the robot 10 in which the end effector 11 is located inside the candidate range 50, from among the multiple effect trajectories.

ステップS1004において、シミュレーション部430は、3次元モデルおよび制限条件の情報に基づき、複数のエフェクタ軌道のそれぞれに対応する複数の非制御軌道を生成する。そして、シミュレーション部430は、仮想コントローラ431を用いて、各非制御軌道のうち複数の点(複数の位置姿勢)をセンサ20や対象物2が通過するようなロボット10の動きをシミュレートする。 In step S1004, the simulation unit 430 generates a plurality of uncontrolled trajectories corresponding to the plurality of effector trajectories, respectively, based on the information on the three-dimensional model and the limiting conditions. Then, the simulation unit 430 uses the virtual controller 431 to simulate the movement of the robot 10 in which the sensor 20 and the object 2 pass through a plurality of points (a plurality of positions and orientations) on each uncontrolled trajectory.

ステップS1005において、シミュレーション部430は、複数の制御軌道を生成する。具体的には、シミュレーション部430は、複数の非制御軌道それぞれについて、S1004においてシミュレートしたロボット10の動きに対応するように、当該非制御軌道をそれぞれ補正して、当該非制御軌道に対応する制御軌道(適正軌道の候補)を生成する。 In step S1005, the simulation unit 430 generates a plurality of control trajectories. Specifically, for each of the plurality of non-control trajectories, the simulation unit 430 corrects the non-control trajectory so as to correspond to the movement of the robot 10 simulated in S1004, and generates a control trajectory (a candidate for a suitable trajectory) corresponding to the non-control trajectory.

ステップS1006において、評価部440は、複数の制御軌道のそれぞれを評価する。具体的には、評価部440は、複数の制御軌道それぞれに対して、上述したタスクスコアおよびセンシングスコアに基づく評価値を算出する。 In step S1006, the evaluation unit 440 evaluates each of the multiple control trajectories. Specifically, the evaluation unit 440 calculates an evaluation value for each of the multiple control trajectories based on the task score and sensing score described above.

ステップS1007において、計画部420は、複数の制御軌道のうちの最も評価値の高い1つを適正軌道として選択する。なお、例えば、計画部420は、タスクスコアが第1の閾値よりも小さく、かつ、センシングスコアが第2の閾値よりも小さい制御軌道の中で、最も評価値の高い1つを適正軌道として選択してもよい。これによれば、タスクスコアとセンシングスコアが所定値よりも小さいことが担保できる。また、計画部420は、適正軌道に対応する候補姿勢(適正軌道に従ってサーボシステム1を実行した場合における、ビジュアルサーボの開始時点でのロボット10の姿勢)をスタート姿勢として選択する。 In step S1007, the planning unit 420 selects the one with the highest evaluation value from among the multiple control trajectories as the appropriate trajectory. For example, the planning unit 420 may select the one with the highest evaluation value from among the control trajectories whose task scores are smaller than a first threshold value and whose sensing scores are smaller than a second threshold value as the appropriate trajectory. This ensures that the task scores and sensing scores are smaller than predetermined values. The planning unit 420 also selects a candidate posture corresponding to the appropriate trajectory (the posture of the robot 10 at the start of visual servoing when the servo system 1 is executed according to the appropriate trajectory) as the starting posture.

このように、処理装置40は、適正軌道とスタート姿勢を生成(決定)する。これによれば、ビジュアルサーボの開始時におけるロボット10のスタート姿勢を、ユーザが手動で設定することなく決定できる。つまり、ユーザのビジュアルサーボにおける負担が軽減できる。そして、処理装置40は、オクルージョンが発生しない姿勢や、視野範囲や検出可能範囲60に対象物2が位置する姿勢を、スタート姿勢にすることができる。つまり、処理装置40は、ビジュアルサーボを行うにあたり好適なスタート姿勢を決定することができる。 In this way, the processing device 40 generates (determines) the appropriate trajectory and starting posture. This allows the user to determine the starting posture of the robot 10 at the start of visual servoing without having to set it manually. In other words, the burden on the user in visual servoing can be reduced. The processing device 40 can then set the starting posture to a posture in which no occlusion occurs or a posture in which the target object 2 is located within the field of view or detectable range 60. In other words, the processing device 40 can determine an optimal starting posture for performing visual servoing.

さらに、処理装置40は、複数の制御軌道の中から評価値が最も高い制御軌道を適正軌道として選択する。そして、評価値は、ビジュアルサーボの精度または/および速度に関する値である。このため、適正軌道を、ロボット10が動きやすい軌道、または/および、対象物2を把握しやすい位置にセンサ20が移動するような軌道にできる。つまり、対象物2に把持物体3を接続する動作を行うビジュアルサーボが失敗する確率を低減できる(ビジュアルサーボの精度が向上する)。そして、ビジュアルサーボに要する時間を低減できる。 Furthermore, the processing device 40 selects the control trajectory with the highest evaluation value from among the multiple control trajectories as the appropriate trajectory. The evaluation value is a value related to the accuracy and/or speed of visual servoing. Therefore, the appropriate trajectory can be a trajectory along which the robot 10 can easily move, and/or a trajectory along which the sensor 20 moves to a position that makes it easy to grasp the target object 2. In other words, the probability of failure of visual servoing, which performs the operation of connecting the grasped object 3 to the target object 2, can be reduced (the accuracy of visual servoing is improved). Furthermore, the time required for visual servoing can be reduced.

なお、上記では、サーボシステム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 target object 2 and the grasped object 3 in the control device 30 based on captured images between two points in time, but this is not limited to the above. For example, the sensor 20 may be a three-dimensional sensor, and the sensor 20 itself may detect the position and orientation of the target object 2 and the grasped object 3.

また、本実施形態では、エフェクタ軌道やセンサ軌道などは、スタート姿勢を経由してロボット10の姿勢が初期姿勢から目標姿勢まで変化する際のエンドエフェクタ11やセンサ20の軌道であるとした。しかし、エフェクタ軌道やセンサ軌道などは、ロボット1
0の姿勢がスタート姿勢から目標姿勢まで変化する際のエンドエフェクタ11やセンサ20の軌道であってもよい。これは、ロボット10が初期姿勢からスタート姿勢に変化するまでの期間では、ビジュアルサーボが実行されないためである。
In this embodiment, the effector trajectory and the sensor trajectory are the trajectories of the end effector 11 and the sensor 20 when the posture of the robot 10 changes from the initial posture to the target posture via the start posture.
It may be the trajectory of the end effector 11 or the sensor 20 when the posture of zero changes from the start posture to the target posture. This is because visual servoing is not executed during the period until the robot 10 changes from the initial posture to the start posture.

また、適正軌道、制御軌道および非制御軌道において、センサ軌道の代わりに、当該センサ軌道に対応するエフェクタ軌道を用いてもよい。これは、本実施形態では、センサ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 sensor 20 and the end effector 11 is fixed. Note that the change in posture of the robot 10 may be used instead of the sensor trajectory.

さらに、対象物2がビジュアルサーボ中に動かない場合には、適正軌道、制御軌道および非制御軌道において、物体軌道は不要である。センサ軌道から、エンドエフェクタ11と対象物2との位置関係を算出可能であるためである。 Furthermore, if the object 2 does not move during visual servoing, the object trajectory is not necessary for the proper trajectory, the controlled trajectory, and the uncontrolled trajectory. This is because the positional relationship between the end effector 11 and the object 2 can be calculated from the sensor trajectory.

なお、撮像画像の2次元空間上において把持物体3を目的の位置姿勢に変化させるようなビジュアルサーボを行う場合には、適正軌道、制御軌道および非制御軌道において、上述のように視覚的軌道が必要である。一方で、3次元空間上において把持物体3を目的の位置姿勢に変化させるようなビジュアルサーボを行う場合には、適正軌道、制御軌道および非制御軌道において、視覚的軌道は必ずしも必要ではない。つまり、適正軌道(サーボ軌道)、制御軌道および非制御軌道は、サーボシステム1に関する少なくとも1つの構成(物体;部材)の軌道を含んでいれば、本実施形態と同様の効果を得る可能性がある。 When performing visual servoing to change the grasped object 3 to a desired position and orientation in the two-dimensional space of the captured image, the visual trajectory is required for the proper trajectory, the controlled trajectory, and the non-controlled trajectory, as described above. On the other hand, when performing visual servoing to change the grasped object 3 to a desired position and orientation in three-dimensional space, the visual trajectory is not necessarily required for the proper trajectory, the controlled trajectory, and the non-controlled trajectory. In other words, as long as the proper trajectory (servo trajectory), the controlled trajectory, and the non-controlled trajectory include the trajectory of at least one component (object; member) related to the servo system 1, it is possible to obtain the same effect as in this embodiment.

なお、実施形態に記載された事項のみによって特許請求の範囲の記載の解釈が限定されるものではない。特許請求の範囲の記載の解釈には、出願時の技術常識を考慮した、発明の課題が解決できることを当業者が認識できるように記載された範囲も含む。 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のコントローラは、前記エンドエフェクタの複数の軌道のそれぞれに対応する前記エンドエフェクタの位置姿勢を決定し、
前記第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.
前記予想される無効な検出の総数とは、前記センサが撮像を実行した回数のうち、前記センサの視野範囲または前記検出可能範囲に前記対象物の第1の割合以上が含まれないこと、前記センサが撮像する撮像画像において前記対象物の全体の第2の割合以上の領域に対して他の物体が重複していることとの少なくともいずれかが発生している数である、
ことを特徴とする請求項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.
JP2021091183A 2021-05-31 2021-05-31 Servo system and processing method Active JP7703904B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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