JP2020175474A - Operation planning device and operation planning method - Google Patents

Operation planning device and operation planning method Download PDF

Info

Publication number
JP2020175474A
JP2020175474A JP2019079252A JP2019079252A JP2020175474A JP 2020175474 A JP2020175474 A JP 2020175474A JP 2019079252 A JP2019079252 A JP 2019079252A JP 2019079252 A JP2019079252 A JP 2019079252A JP 2020175474 A JP2020175474 A JP 2020175474A
Authority
JP
Japan
Prior art keywords
robot arm
end effector
trajectory
unit
time
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.)
Pending
Application number
JP2019079252A
Other languages
Japanese (ja)
Inventor
貴弘 茂木
Takahiro Mogi
貴弘 茂木
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.)
Azbil Corp
Original Assignee
Azbil 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 Azbil Corp filed Critical Azbil Corp
Priority to JP2019079252A priority Critical patent/JP2020175474A/en
Publication of JP2020175474A publication Critical patent/JP2020175474A/en
Pending legal-status Critical Current

Links

Images

Abstract

To allow time required in a robot to be grasped easier than before.SOLUTION: An operation planning device comprises: an input/output part 201 that receives operation time of a robot arm 101 or operation time of an end effector 102; a first converting part that coverts the operation time of the robot arm 101 received by the input/output part 201 to operation speed; a second converting part that coverts the operation time of the end effector 102 received by the input/output part 201 to operation speed; a locus generating part 205 that generates a first locus, as an operation locus for the robot arm 101 on the basis of the operation speed of the robot arm 101 converted by the first converting part; and a locus generating part 210 that generates a second locus, as an operation locus for the end effector 102 on the basis of the operation speed of the end effector 102 converted by the second converting part.SELECTED DRAWING: Figure 1

Description

この発明は、ロボットアームとエンドエフェクタの動作を計画する動作計画装置及び動作計画方法に関する。 The present invention relates to a motion planning device and a motion planning method for planning the motion of a robot arm and an end effector.

従来から、ロボットアームと、ロボットハンド等のエンドエフェクタとを備えたロボット(産業用ロボット)が、FA(Factory Automation)用途等で広く活用されている(例えば特許文献1参照)。
このようなロボットアーム又はエンドエフェクタの動作を、ロボットが備えるコントローラに対してユーザ(オペレータ)が指定する場合、動作指令生成装置(動作計画装置)を使用する(例えば特許文献2参照)。
Conventionally, a robot (industrial robot) provided with a robot arm and an end effector such as a robot hand has been widely used in FA (Factory Automation) applications and the like (see, for example, Patent Document 1).
When a user (operator) specifies the operation of such a robot arm or end effector with respect to a controller included in the robot, an operation command generator (motion planning device) is used (see, for example, Patent Document 2).

特許4228871号Patent No. 4228871 特開2018−69366号公報JP-A-2018-69366

特許文献2では、ロボットの動作を完了するまでの待機時間をユーザが把握可能な動作指令により、ロボットを制御することを目的としている。なお、待機時間とは、実質的に所要時間(ロボットの一連の総動作時間)に相当する。そして、特許文献2では、ロボットに行わせる作業の所要時間が長くなると、ロボットの動作が完了するまでユーザがどの程度待たなければならないのかの予測が困難となり、ユーザの行動計画に支障をきたすおそれがあると指摘している。このように、所要時間を把握し易くすることが重要な要求事項であり、常に改善が求められている。 Patent Document 2 aims to control a robot by an operation command that allows a user to grasp the waiting time until the operation of the robot is completed. The standby time substantially corresponds to the required time (a series of total operating times of the robot). Further, in Patent Document 2, if the time required for the work to be performed by the robot becomes long, it becomes difficult to predict how long the user must wait until the operation of the robot is completed, which may hinder the user's action plan. It points out that there is. In this way, it is an important requirement to make it easy to grasp the required time, and improvement is constantly required.

この発明は、上記のような課題を解決するためになされたもので、従来に対してロボットの所要時間を把握し易くなる動作計画装置を提供することを目的としている。 The present invention has been made to solve the above problems, and an object of the present invention is to provide an operation planning device that makes it easier to grasp the required time of a robot as compared with the conventional one.

この発明に係る動作計画装置は、ロボットアームの動作時間又はエンドエフェクタの動作時間を受付ける受付部と、受付部により受付けられたロボットアームの動作時間を動作速度に変換する第1変換部と、受付部により受付けられたエンドエフェクタの動作時間を動作速度に変換する第2変換部と、第1変換部により変換されたロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成部と、第2変換部により変換されたエンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成部とを備えたことを特徴とする。 The operation planning device according to the present invention includes a reception unit that receives the operation time of the robot arm or the operation time of the end effector, a first conversion unit that converts the operation time of the robot arm received by the reception unit into an operation speed, and a reception unit. Based on the operating speed of the robot arm converted by the first conversion unit and the second conversion unit that converts the operating time of the end effector received by the unit into the operating speed, the first trajectory that is the operating trajectory of the robot arm. A first orbit generation unit that generates a second orbit, which is an operation orbit of the end effector, is provided based on the operation speed of the end effector converted by the second conversion unit. It is characterized by that.

この発明によれば、上記のように構成したので、従来に対してロボットの所要時間を把握し易くなる。 According to the present invention, since it is configured as described above, it becomes easier to grasp the required time of the robot as compared with the conventional case.

実施の形態1に係る動作計画システムの構成例を示す図である。It is a figure which shows the configuration example of the operation planning system which concerns on Embodiment 1. FIG. 実施の形態1における画面生成部により生成されたビジュアルプログラミング画面の一例を示す図である。It is a figure which shows an example of the visual programming screen generated by the screen generation part in Embodiment 1. FIG. 図2に示すビジュアルプログラミング画面に対する動作オブジェクトの配置の一例を示す図である。It is a figure which shows an example of the arrangement of the motion object with respect to the visual programming screen shown in FIG. 実施の形態1における画面生成部により生成されたロボットアームに対する詳細動作設定画面の一例を示す図である。It is a figure which shows an example of the detailed operation setting screen for the robot arm generated by the screen generation part in Embodiment 1. FIG. 実施の形態1における画面生成部により生成された平行二指ハンドに対する詳細動作設定画面の一例を示す図である。It is a figure which shows an example of the detailed operation setting screen for the parallel two-finger hand generated by the screen generation part in Embodiment 1. FIG. 実施の形態1における画面生成部により生成されたバキュームに対する詳細動作設定画面の一例を示す図である。It is a figure which shows an example of the detailed operation setting screen for the vacuum generated by the screen generation part in Embodiment 1. FIG. 実施の形態1における画面生成部により生成されたビジュアルプログラミング画面に対する動作オブジェクトの位置編集の一例を示す図である。It is a figure which shows an example of the position editing of the motion object with respect to the visual programming screen generated by the screen generation part in Embodiment 1. FIG. 実施の形態1における画面生成部により生成されたビジュアルプログラミング画面に対する動作オブジェクトの長さ編集の一例を示す図である。It is a figure which shows an example of the length editing of the motion object with respect to the visual programming screen generated by the screen generation part in Embodiment 1. FIG. 実施の形態2に係る動作計画システムの構成例を示す図である。It is a figure which shows the configuration example of the operation planning system which concerns on Embodiment 2.

以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は実施の形態1に係る動作計画システムの構成例を示す図である。
動作計画システムは、図1に示すように、ロボット1、ロボットコントローラ2、描画コントローラ3、入力装置4及び表示装置5を備えている。ロボット1は、ロボットアーム101及びエンドエフェクタ102を備えている。また、ロボットコントローラ2及び描画コントローラ3は、動作計画装置を構成する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1.
FIG. 1 is a diagram showing a configuration example of an operation planning system according to the first embodiment.
As shown in FIG. 1, the motion planning system includes a robot 1, a robot controller 2, a drawing controller 3, an input device 4, and a display device 5. The robot 1 includes a robot arm 101 and an end effector 102. Further, the robot controller 2 and the drawing controller 3 constitute an operation planning device.

ロボットアーム101は、ロボットコントローラ2による動作計画の対象となる部位である。ロボットアーム101は、例えば垂直多関節型アームである。 The robot arm 101 is a part to be targeted for motion planning by the robot controller 2. The robot arm 101 is, for example, a vertical articulated arm.

エンドエフェクタ102は、ロボットコントローラ2による動作計画の対象となる部位であり、ロボットアーム101の先端に取付けられる。エンドエフェクタ102は、例えば、処理対象物(不図示)を把持する平行二指ハンド等のロボットハンド、又は、処理対象物を吸引して保持するバキュームである。 The end effector 102 is a portion to be targeted for motion planning by the robot controller 2, and is attached to the tip of the robot arm 101. The end effector 102 is, for example, a robot hand such as a parallel two-finger hand that grips an object to be processed (not shown), or a vacuum that sucks and holds the object to be processed.

なお、ロボットアーム101及びエンドエフェクタ102は、実体として現実空間に存在するものでもよいし、ソフトウェアシミュレータとしてデジタル空間のみに存在するものでもよい。 The robot arm 101 and the end effector 102 may exist in the real space as an entity, or may exist only in the digital space as a software simulator.

ロボットコントローラ2は、ロボットアーム101とエンドエフェクタ102に対して動作計画を行い、ロボットアーム101及びエンドエフェクタ102の動作を2系統で制御する装置である。ロボットコントローラ2は、図1に示すように、入出力部(受付部)201、現在値取得部(第1現在値取得部)202、状態管理部(第1状態管理部)203、変換部204、軌道生成部(第1軌道生成部)205、制御部(第1制御部)206、現在値取得部(第2現在値取得部)207、状態管理部(第2状態管理部)208、変換部209、軌道生成部(第2軌道生成部)210、制御部(第2制御部)211及び動作時間算出部212を備えている。なお、ロボットコントローラ2は、システムLSI(Large Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。 The robot controller 2 is a device that plans operations for the robot arm 101 and the end effector 102, and controls the operations of the robot arm 101 and the end effector 102 in two systems. As shown in FIG. 1, the robot controller 2 includes an input / output unit (reception unit) 201, a current value acquisition unit (first current value acquisition unit) 202, a state management unit (first state management unit) 203, and a conversion unit 204. , Orbit generation unit (first orbit generation unit) 205, control unit (first control unit) 206, current value acquisition unit (second current value acquisition unit) 207, state management unit (second state management unit) 208, conversion A unit 209, an orbit generation unit (second orbit generation unit) 210, a control unit (second control unit) 211, and an operation time calculation unit 212 are provided. The robot controller 2 is realized by a processing circuit such as a system LSI (Large Scale Integration), a CPU (Central Processing Unit) that executes a program stored in a memory or the like, or the like.

入出力部201は、情報の入出力を行う。この入出力部201は、描画コントローラ3、状態管理部203、状態管理部208及び動作時間算出部212から情報を入力する。また、入出力部201は、描画コントローラ3、状態管理部203、変換部204、状態管理部208及び変換部209に対して情報を出力する。 The input / output unit 201 inputs / outputs information. The input / output unit 201 inputs information from the drawing controller 3, the state management unit 203, the state management unit 208, and the operation time calculation unit 212. Further, the input / output unit 201 outputs information to the drawing controller 3, the state management unit 203, the conversion unit 204, the state management unit 208, and the conversion unit 209.

現在値取得部202は、ロボットアーム101から第1現在値を取得する。第1現在値は、ロボットアーム101の現在の状態を示す値である。 The current value acquisition unit 202 acquires the first current value from the robot arm 101. The first current value is a value indicating the current state of the robot arm 101.

状態管理部203は、第1状態情報を管理する。第1状態情報は、入出力部201からのロボットアーム101の制約条件を示す情報と、現在値取得部202により取得された第1現在値を示す情報とを含む。ロボットアーム101の制約条件としては、例えば、ロボットアーム101の先端の速度上限及び加速度上限、ロボットアーム101が有する関節の角速度上限及び角加速度上限、並びに、ロボットアーム101の構造等が挙げられる。 The state management unit 203 manages the first state information. The first state information includes information indicating the constraint condition of the robot arm 101 from the input / output unit 201 and information indicating the first current value acquired by the current value acquisition unit 202. Examples of the constraint condition of the robot arm 101 include the upper limit of the speed and the upper limit of the acceleration of the tip of the robot arm 101, the upper limit of the angular velocity and the upper limit of the angular acceleration of the joints of the robot arm 101, and the structure of the robot arm 101.

変換部204は、入出力部201からの動作指示を示す情報に基づいて、ロボットアーム101の動作時間をロボットアーム101の動作速度に変換する。上記動作指示としては、例えば、ロボットアーム101の移動元、移動先、移動方法、移動速度制限比、動作時間及び動作開始タイミング等が挙げられる。なお、動作指示を示す情報のうちの動作時間以外の情報は、入出力部201から変換部204をそのまま通過して軌道生成部205に出力される。 The conversion unit 204 converts the operation time of the robot arm 101 into the operation speed of the robot arm 101 based on the information indicating the operation instruction from the input / output unit 201. Examples of the operation instruction include a movement source, a movement destination, a movement method, a movement speed limit ratio, an operation time, an operation start timing, and the like of the robot arm 101. Information other than the operation time among the information indicating the operation instruction passes through the conversion unit 204 as it is from the input / output unit 201 and is output to the trajectory generation unit 205.

軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、第1軌道を生成する。第1軌道は、ロボットアーム101の動作軌道である。上記動作指示としては、例えば、ロボットアーム101の移動元、移動先、移動方法、移動速度制限比、動作速度及び動作開始タイミング等が挙げられる。また、第1軌道は、制御周期毎の指令値の時系列なテーブルで表される。 The trajectory generation unit 205 generates a first trajectory based on the information indicating the operation instruction after the processing by the conversion unit 204 and the first state information managed by the state management unit 203. The first trajectory is the motion trajectory of the robot arm 101. Examples of the operation instruction include a movement source, a movement destination, a movement method, a movement speed limit ratio, an operation speed, an operation start timing, and the like of the robot arm 101. The first orbit is represented by a time-series table of command values for each control cycle.

なお、ロボットコントローラ2が実機(ロボット1)に接続されている場合には、軌道生成の始点は第1現在値となるため、軌道生成部205における軌道生成に第1現在値が必須である。
一方、ロボットコントローラ2が実機に接続されていない場合(シミュレータに接続されている場合)には、軌道生成の始点をユーザが任意に設定して動作計画を行う場合もあるため、軌道生成部205における軌道生成に第1現在値は必須ではない。
When the robot controller 2 is connected to the actual machine (robot 1), the starting point of the trajectory generation is the first current value, so that the first current value is indispensable for the trajectory generation in the trajectory generation unit 205.
On the other hand, when the robot controller 2 is not connected to the actual machine (when it is connected to the simulator), the user may arbitrarily set the start point of the trajectory generation and perform the motion planning. Therefore, the trajectory generation unit 205 The first current value is not indispensable for the orbit generation in.

制御部206は、現在値取得部202により取得された第1現在値及び軌道生成部205により生成された第1軌道に基づいて、ロボットアーム101を制御する。すなわち、制御部206は、第1軌道を制御周期毎に順番に読込み、ロボットアーム101に対して指令出力又は制御を行う。 The control unit 206 controls the robot arm 101 based on the first current value acquired by the current value acquisition unit 202 and the first trajectory generated by the trajectory generation unit 205. That is, the control unit 206 reads the first trajectory in order for each control cycle, and outputs a command or controls the robot arm 101.

現在値取得部207は、エンドエフェクタ102から第2現在値を取得する。第2現在値は、エンドエフェクタ102の現在の状態を示す値である。 The current value acquisition unit 207 acquires the second current value from the end effector 102. The second current value is a value indicating the current state of the end effector 102.

状態管理部208は、第2状態情報を管理する。第2状態情報は、入出力部201からのエンドエフェクタ102の制約条件を示す情報と、現在値取得部207により取得された第2現在値を示す情報とを含む。エンドエフェクタ102の制約条件としては、例えば、エンドエフェクタ102の速度上限及び加速度上限、並びに、エンドエフェクタ102の構造等が挙げられる。 The state management unit 208 manages the second state information. The second state information includes information indicating the constraint condition of the end effector 102 from the input / output unit 201 and information indicating the second current value acquired by the current value acquisition unit 207. Examples of the constraint condition of the end effector 102 include the upper limit of the speed and the upper limit of the acceleration of the end effector 102, the structure of the end effector 102, and the like.

変換部209は、入出力部201からの動作指示を示す情報に基づいて、エンドエフェクタ102の動作時間をエンドエフェクタ102の動作速度に変換する。エンドエフェクタ102がロボットハンドである場合には、上記動作指示としては、例えば、ロボットハンドの始点、終点、移動速度制限比、動作時間及び動作開始タイミング等が挙げられる。また、エンドエフェクタ102がバキュームである場合には、上記動作指示としては、オン継続時間、及び動作開始タイミング等が挙げられる。なお、動作指示を示す情報のうちの動作時間以外の情報は、入出力部201から変換部209をそのまま通過して軌道生成部210に出力される。 The conversion unit 209 converts the operation time of the end effector 102 into the operation speed of the end effector 102 based on the information indicating the operation instruction from the input / output unit 201. When the end effector 102 is a robot hand, the operation instructions include, for example, a start point, an end point, a movement speed limit ratio, an operation time, an operation start timing, and the like of the robot hand. When the end effector 102 is vacuum, the operation instruction includes an on duration, an operation start timing, and the like. Information other than the operation time among the information indicating the operation instruction passes through the conversion unit 209 as it is from the input / output unit 201 and is output to the trajectory generation unit 210.

軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、第2軌道を生成する。第2軌道は、エンドエフェクタ102の動作軌道である。エンドエフェクタ102がロボットハンドである場合には、上記動作指示としては、例えば、ロボットハンドの始点、終点、移動速度制限比、動作速度及び動作開始タイミング等が挙げられる。また、エンドエフェクタ102がバキュームである場合には、上記動作指示としては、オン継続時間、及び動作開始タイミング等が挙げられる。また、第2軌道は、制御周期毎の指令値の時系列なテーブルで表される。 The orbit generation unit 210 generates a second orbit based on the information indicating the operation instruction after the processing by the conversion unit 209 and the second state information managed by the state management unit 208. The second trajectory is the operating trajectory of the end effector 102. When the end effector 102 is a robot hand, the operation instructions include, for example, a start point, an end point, a movement speed limit ratio, an operation speed, an operation start timing, and the like of the robot hand. When the end effector 102 is vacuum, the operation instruction includes an on duration, an operation start timing, and the like. The second orbit is represented by a time-series table of command values for each control cycle.

なお、ロボットコントローラ2が実機(ロボット1)に接続されている場合には、軌道生成の始点は第2現在値となるため、軌道生成部210における軌道生成に第2現在値が必須である。
一方、ロボットコントローラ2が実機に接続されていない場合(シミュレータに接続されている場合)には、軌道生成の始点をユーザが任意に設定して動作計画を行う場合もあるため、軌道生成部210における軌道生成に第2現在値は必須ではない。
When the robot controller 2 is connected to the actual machine (robot 1), the starting point of the trajectory generation is the second current value, so that the second current value is indispensable for the trajectory generation in the trajectory generation unit 210.
On the other hand, when the robot controller 2 is not connected to the actual machine (when it is connected to the simulator), the user may arbitrarily set the start point of the trajectory generation and perform the motion planning. Therefore, the trajectory generation unit 210 The second current value is not indispensable for the orbit generation in.

制御部211は、現在値取得部207により取得された第2現在値及び軌道生成部210により生成された第2軌道に基づいて、エンドエフェクタ102を制御する。すなわち、制御部211は、第2軌道を制御周期毎に順番に読込み、エンドエフェクタ102に対して指令出力又は制御を行う。 The control unit 211 controls the end effector 102 based on the second current value acquired by the current value acquisition unit 207 and the second orbit generated by the orbit generation unit 210. That is, the control unit 211 reads the second trajectory in order for each control cycle, and outputs a command or controls the end effector 102.

動作時間算出部212は、軌道生成部205により生成された第1軌道の動作時間及び軌道生成部210により生成された第2軌道の動作時間を算出する。この際、動作時間算出部212は、軌道生成部205により生成された第1軌道のタイムステップ数を集計することで、ロボットアーム101の動作時間を算出する。また、動作時間算出部212は、軌道生成部210により生成された第2軌道のタイムステップ数を集計することで、エンドエフェクタ102の動作時間を算出する。 The operation time calculation unit 212 calculates the operation time of the first orbit generated by the orbit generation unit 205 and the operation time of the second orbit generated by the orbit generation unit 210. At this time, the operation time calculation unit 212 calculates the operation time of the robot arm 101 by totaling the number of time steps of the first trajectory generated by the trajectory generation unit 205. Further, the operation time calculation unit 212 calculates the operation time of the end effector 102 by totaling the number of time steps of the second orbit generated by the orbit generation unit 210.

描画コントローラ3は、ロボットコントローラ2での動作計画をビジュアルプログラミングで実現するための各種処理を行う。描画コントローラ3は、入出力部301及び画面生成部302を備えている。なお、描画コントローラ3は、システムLSI等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU等により実現される。 The drawing controller 3 performs various processes for realizing the operation plan of the robot controller 2 by visual programming. The drawing controller 3 includes an input / output unit 301 and a screen generation unit 302. The drawing controller 3 is realized by a processing circuit such as a system LSI, or a CPU or the like that executes a program stored in a memory or the like.

入出力部301は、情報の入出力を行う。この入出力部301は、入力装置4及び入出力部201から情報を入力する。また、入出力部301は、入出力部201及び画面生成部302に対して情報を出力する。 The input / output unit 301 inputs / outputs information. The input / output unit 301 inputs information from the input device 4 and the input / output unit 201. Further, the input / output unit 301 outputs information to the input / output unit 201 and the screen generation unit 302.

画面生成部302は、入出力部301からの情報に応じ、動作指示を設定するためのビジュアルプログラミングに関する画面を生成する。この画面生成部302により生成された画面は、表示装置5に表示される。 The screen generation unit 302 generates a screen related to visual programming for setting an operation instruction according to the information from the input / output unit 301. The screen generated by the screen generation unit 302 is displayed on the display device 5.

例えば、画面生成部302は、ビジュアルプログラミング画面を生成する。ビジュアルプログラミング画面は、ユーザが、ロボットアーム101又はエンドエフェクタ102の動作を設定するための画面である。また、画面生成部302は、詳細動作設定画面を生成する。詳細動作設定画面は、ユーザが、ビジュアルプログラミング画面で設定したロボットアーム101又はエンドエフェクタ102の動作に対する詳細情報の設定を行うための画面である。 For example, the screen generation unit 302 generates a visual programming screen. The visual programming screen is a screen for the user to set the operation of the robot arm 101 or the end effector 102. In addition, the screen generation unit 302 generates a detailed operation setting screen. The detailed operation setting screen is a screen for the user to set detailed information for the operation of the robot arm 101 or the end effector 102 set on the visual programming screen.

入力装置4は、ユーザがロボットアーム101及びエンドエフェクタ102の動作計画を行うためのデバイスであり、ユーザから情報の入力を受付けるデバイスである。入力装置4は、例えば、マウス、キーボード又はタッチパネル等である。 The input device 4 is a device for the user to plan the operation of the robot arm 101 and the end effector 102, and is a device that receives input of information from the user. The input device 4 is, for example, a mouse, a keyboard, a touch panel, or the like.

表示装置5は、ユーザがロボットアーム101及びエンドエフェクタ102の動作計画を行うためのデバイスであり、画面生成部302により生成された画面の表示等のように各種の表示を行う。表示装置5は、例えば、ディスプレイ又はタッチパネル等である。 The display device 5 is a device for the user to plan the operation of the robot arm 101 and the end effector 102, and performs various displays such as the display of the screen generated by the screen generation unit 302. The display device 5 is, for example, a display or a touch panel.

なお、図1に示す動作計画装置では、ユーザは、ビジュアルプログラミング方式で動作計画を行う。ビジュアルプログラミング方式は、テキストでプログラムを記述する方式ではなく、矩形又は円形等のオブジェクトを画面上に配置し、それらを矢印、線又は弧等で繋いだり、ブロック状のオブジェクトを組合わせたりすることで、視覚的にプログラムを記述する方式である。
図1に示す動作計画装置では、ビジュアルプログラミング方式を採用することで、動作の所要時間及び動作開始タイミングを容易に可視化でき、ユーザは、総動作時間が短くなるようなプログラムを記述し易くなる。
In the motion planning device shown in FIG. 1, the user performs motion planning by a visual programming method. The visual programming method is not a method of writing a program in text, but placing objects such as rectangles or circles on the screen, connecting them with arrows, lines or arcs, or combining block-shaped objects. This is a method of visually writing a program.
In the motion planning device shown in FIG. 1, by adopting the visual programming method, the required operation time and the operation start timing can be easily visualized, and the user can easily write a program that shortens the total operation time.

一般的に、ロボットアーム101とエンドエフェクタ102に対して動作計画を行う場合、ユーザは動作速度を設定する。一方、ロボットアーム101及びエンドエフェクタ102の動作は加減速を含むため、単純に速度と動作範囲だけで単一動作の所要時間が確定するわけではない。そのため、従来手法では、ユーザは動作計画を行った動作(実動作)の所要時間を把握することが難しい。ユーザが動作の所要時間を把握できなければ、ロボットアーム101とエンドエフェクタ102の動作開始タイミングを把握できず、総動作時間を把握するための支障要因になる。
そこで、実施の形態1に係る動作計画装置では、所要時間を把握し易くするために、ロボットアーム101とエンドエフェクタ102の動作の所要時間及び動作開始タイミングを可視化し、動作の所要時間と動作開始タイミングをユーザが指定(編集)可能とする。これにより、実施の形態1に係る動作計画装置では、ユーザが所要時間を把握し易くなる。
Generally, when planning an operation for the robot arm 101 and the end effector 102, the user sets the operation speed. On the other hand, since the operations of the robot arm 101 and the end effector 102 include acceleration / deceleration, the time required for a single operation is not determined simply by the speed and the operation range. Therefore, in the conventional method, it is difficult for the user to grasp the required time of the motion (actual motion) for which the motion plan is performed. If the user cannot grasp the required operation time, the operation start timing of the robot arm 101 and the end effector 102 cannot be grasped, which is a hindrance factor for grasping the total operation time.
Therefore, in the motion planning device according to the first embodiment, in order to make it easier to grasp the required time, the required time and the operation start timing of the operation of the robot arm 101 and the end effector 102 are visualized, and the required time and the operation start of the operation are visualized. The timing can be specified (edited) by the user. This makes it easier for the user to grasp the required time in the motion planning device according to the first embodiment.

なお以下では、ロボットアーム101とエンドエフェクタ102とを独立した2つのシーケンスで動作させることができる場合で説明を行う。この場合、1つのシーケンスでロボットアーム101とエンドエフェクタ102とを交互に動作させる場合よりも総動作時間を短縮できる。しかしながら、これに限らず、1つのシーケンスでロボットアーム101とエンドエフェクタ102とを交互に動作させる場合にも実施の形態1に係る動作計画装置を適用可能である。 In the following, a case where the robot arm 101 and the end effector 102 can be operated in two independent sequences will be described. In this case, the total operation time can be shortened as compared with the case where the robot arm 101 and the end effector 102 are operated alternately in one sequence. However, not limited to this, the motion planning device according to the first embodiment can be applied even when the robot arm 101 and the end effector 102 are alternately operated in one sequence.

次に、画面生成部302により生成されるビジュアルプログラミングに関する画面の一例について説明する。
画面生成部302は、まず、ユーザ操作に応じ、ビジュアルプログラミング画面を生成する。図2に、ビジュアルプログラミング画面の一例を示す。図2に示すビジュアルプログラミング画面には、制御タイムライン21及び制御タイムライン22が上下並列に表示されている。また、図2に示すビジュアルプログラミング画面には、左下に、動作オブジェクト23が表示されている。また、図2に示すビジュアルプログラミング画面には、右下に、設定完了ボタン24が表示されている。
Next, an example of a screen related to visual programming generated by the screen generation unit 302 will be described.
The screen generation unit 302 first generates a visual programming screen in response to a user operation. FIG. 2 shows an example of a visual programming screen. On the visual programming screen shown in FIG. 2, the control timeline 21 and the control timeline 22 are displayed vertically in parallel. Further, on the visual programming screen shown in FIG. 2, the motion object 23 is displayed at the lower left. Further, on the visual programming screen shown in FIG. 2, a setting completion button 24 is displayed at the lower right.

制御タイムライン21は、ロボットアーム101の動作オブジェクト23aを時系列に並べるための時間軸である。制御タイムライン21では、左端を制御開始時刻とし、任意のタイムスケールで表示される。 The control timeline 21 is a time axis for arranging the motion objects 23a of the robot arm 101 in chronological order. In the control timeline 21, the left end is set as the control start time, and the control timeline 21 is displayed on an arbitrary time scale.

制御タイムライン22は、エンドエフェクタ102の動作オブジェクト23bを時系列に並べるための時間軸である。制御タイムライン22では、左端を制御開始時刻とし、任意のタイムスケールで表示される。
なお、タイムスケールは、制御タイムライン21と制御タイムライン22とで連動しており、他方だけを変更することはできない。
The control timeline 22 is a time axis for arranging the motion objects 23b of the end effector 102 in chronological order. In the control timeline 22, the left end is set as the control start time, and the control timeline 22 is displayed on an arbitrary time scale.
The time scale is linked with the control timeline 21 and the control timeline 22, and it is not possible to change only the other.

動作オブジェクト23は、ロボットアーム101又はエンドエフェクタ102の一動作を表す矩形のオブジェクトである。動作オブジェクト23の左端の位置が動作の開始時刻を表し、右端の位置が動作の終了時刻を表し、動作オブジェクト23の長さが動作時間を表す。 The motion object 23 is a rectangular object representing one motion of the robot arm 101 or the end effector 102. The leftmost position of the operation object 23 represents the start time of the operation, the rightmost position represents the end time of the operation, and the length of the operation object 23 represents the operation time.

そして、ユーザは、ビジュアルプログラミング画面を用いてロボットアーム101及びエンドエフェクタ102の動作計画を行う。この動作計画は、動作オブジェクト23の配置、動作オブジェクト23が示す動作の詳細情報の設定、動作オブジェクト23の位置編集、及び、動作オブジェクト23の長さ編集という手順で実現される。 Then, the user plans the operation of the robot arm 101 and the end effector 102 using the visual programming screen. This motion plan is realized by a procedure of arranging the motion object 23, setting detailed information of the motion indicated by the motion object 23, editing the position of the motion object 23, and editing the length of the motion object 23.

まず、図2,3に示すように、ユーザは、所定の手続きにより、任意のタイムライン(制御タイムライン21又は制御タイムライン22)上に動作オブジェクト23を配置する。この際、ユーザは、例えば、マウスを用いて任意のタイムライン上に動作オブジェクト23をドラッグアンドドロップすることで、任意のタイムライン上に動作オブジェクト23を配置する。図3に示すビジュアルプログラミング画面では、制御タイムライン21上に動作オブジェクト23aが配置されている。なお図3において、符号25はカーソルを示している。 First, as shown in FIGS. 2 and 3, the user arranges the operation object 23 on an arbitrary timeline (control timeline 21 or control timeline 22) according to a predetermined procedure. At this time, the user arranges the motion object 23 on the arbitrary timeline by dragging and dropping the motion object 23 on the arbitrary timeline using, for example, the mouse. In the visual programming screen shown in FIG. 3, the motion object 23a is arranged on the control timeline 21. In FIG. 3, reference numeral 25 indicates a cursor.

次に、ユーザは、所定の手続きにより、配置した動作オブジェクト23が示す動作の詳細情報を設定する。この際、例えば、任意のタイムライン上に動作オブジェクト23が配置されることで、画面生成部302は、自動的に、当該動作オブジェクト23が示す動作の詳細情報を設定するための詳細動作設定画面を生成する。そして、ユーザは、マウスによる選択又はキーボードによる数値入力等によって、上記動作の詳細情報を設定する。
以下、ロボットアーム101及びエンドエフェクタ102の動作の詳細情報について説明する。
Next, the user sets detailed information of the operation indicated by the arranged operation object 23 by a predetermined procedure. At this time, for example, by arranging the operation object 23 on an arbitrary timeline, the screen generation unit 302 automatically sets the detailed operation setting screen for setting the detailed information of the operation indicated by the operation object 23. To generate. Then, the user sets detailed information of the above operation by selecting with a mouse, inputting a numerical value with a keyboard, or the like.
Hereinafter, detailed information on the operation of the robot arm 101 and the end effector 102 will be described.

まず、ロボットアーム101の動作の詳細情報について説明する。
例えばロボットアーム101が6つの関節から成る垂直多関節型アームである場合、ロボットアーム101の状態は各関節の角度により一意に決定される。この際、各関節の角度を表す座標系を関節座標系と呼ぶ。また、ロボットアーム101の状態は、ベース座標系又はワールド座標系等のように、様々な座標系で表現可能である。ベース座標系は、デカルト空間におけるロボットアーム101の先端の位置及び姿勢を表す座標系である。ワールド座標系は、デカルト空間における任意の座標系を基準とし、ロボットアーム101の先端の位置及び姿勢を表す座標系である。そして、ユーザは、これらの座標系のうちの任意の座標系を用い、ロボットアーム101の動作の始点となる状態と動作の終点となる状態とを、ロボットアーム101の動作の詳細情報として設定する。
First, detailed information on the operation of the robot arm 101 will be described.
For example, when the robot arm 101 is a vertical articulated arm composed of six joints, the state of the robot arm 101 is uniquely determined by the angle of each joint. At this time, the coordinate system representing the angle of each joint is called the joint coordinate system. Further, the state of the robot arm 101 can be expressed in various coordinate systems such as a base coordinate system or a world coordinate system. The base coordinate system is a coordinate system that represents the position and orientation of the tip of the robot arm 101 in the Cartesian space. The world coordinate system is a coordinate system that represents the position and orientation of the tip of the robot arm 101 with reference to an arbitrary coordinate system in Cartesian space. Then, the user uses an arbitrary coordinate system among these coordinate systems to set a state that is the start point of the operation of the robot arm 101 and a state that is the end point of the operation as detailed information of the operation of the robot arm 101. ..

また、ロボットアーム101の動作の場合、動作の始点となる状態から動作の終点となる状態までをどのように補間するのかを指定する必要がある。この補間方法としては、例えば、関節補間又は直線補間が挙げられる。関節補間は、関節座標系で始点と終点とを線形補間する方法である。直線補間は、デカルト空間で始点と終点とを線形補間する方法である。始点と終点が同じ且つ制約条件が同じ場合でも、関節補間と直線補間とでは各関節の動きが異なるため、動作時間は異なる。そのため、ロボットアーム101の動作の場合には、ユーザは、軌道の種類(補間方法の種類)を詳細情報として設定する。 Further, in the case of the operation of the robot arm 101, it is necessary to specify how to interpolate from the state of the start point of the operation to the state of the end point of the operation. Examples of this interpolation method include joint interpolation and linear interpolation. Joint interpolation is a method of linearly interpolating the start point and the end point in the joint coordinate system. Linear interpolation is a method of linear interpolation between a start point and an end point in Cartesian space. Even if the start point and end point are the same and the constraint conditions are the same, the movement time of each joint is different between the joint interpolation and the linear interpolation, so that the operation time is different. Therefore, in the case of the operation of the robot arm 101, the user sets the type of trajectory (type of interpolation method) as detailed information.

図4に、ロボットアーム101の動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。図4では、ロボットアーム101が6つの関節から成る垂直多関節型アームである場合を想定している。
図4に示すように、詳細動作設定画面には、ロボットアーム101の始点及び終点、並びに、軌道の種類を設定するための項目がそれぞれ設けられている。
FIG. 4 shows an example of a detailed operation setting screen (dialog) for setting detailed information on the operation of the robot arm 101. In FIG. 4, it is assumed that the robot arm 101 is a vertical articulated arm composed of six joints.
As shown in FIG. 4, the detailed operation setting screen is provided with items for setting the start point and end point of the robot arm 101 and the type of trajectory.

図4に示す詳細動作設定画面において、ユーザがロボットアーム101の始点と終点を設定する場合、ユーザは、まず、マウスを用いて座標系リストボックス41,42から任意の座標系を選択する。図4では、ユーザにより関節座標系が選択された場合を示している。 When the user sets the start point and the end point of the robot arm 101 on the detailed operation setting screen shown in FIG. 4, the user first selects an arbitrary coordinate system from the coordinate system list boxes 41 and 42 using a mouse. FIG. 4 shows a case where the joint coordinate system is selected by the user.

そして、ユーザにより座標系が選択されると、画面生成部302は、座標系リストボックス41,42の右横に、当該座標系に応じて必要な数のテキストボックス43,44を表示する。図4に示す詳細動作設定画面では、関節座標系が選択されているため、各関節の角度を入力可能な6つのテキストボックス43,44が表示される。
そして、ユーザは、マウスを用いてテキストボックス43,44をクリックし、キーボードで角度を数値で入力する。
Then, when the coordinate system is selected by the user, the screen generation unit 302 displays a required number of text boxes 43, 44 according to the coordinate system on the right side of the coordinate system list boxes 41, 42. In the detailed operation setting screen shown in FIG. 4, since the joint coordinate system is selected, six text boxes 43 and 44 in which the angle of each joint can be input are displayed.
Then, the user clicks the text boxes 43 and 44 with the mouse and inputs the angle numerically with the keyboard.

なお、ユーザによりベース座標系又はワールド座標系等のデカルト空間における座標系が選択された場合、画面生成部302は、ロボットアーム101の先端の位置(X座標、Y座標、Z座標)と姿勢(オイラー角:ロール、ピッチ、ヨー)を入力可能な6つのテキストボックス43,44を表示する。又は、ユーザによりベース座標系又はワールド座標系等のデカルト空間における座標系が選択された場合、画面生成部302は、ロボットアーム101の先端の位置(X座標、Y座標、Z座標)と姿勢(四元数:x,y,z,w)を入力可能な7つのテキストボックス43,44を表示する。 When the user selects a coordinate system in a Cartesian space such as a base coordinate system or a world coordinate system, the screen generator 302 uses the position (X coordinate, Y coordinate, Z coordinate) and posture (X coordinate) and posture (Z coordinate) of the tip of the robot arm 101. Display six text boxes 43,44 where you can enter Euler angles: roll, pitch, yaw). Alternatively, when the user selects a coordinate system in a quaternion such as a base coordinate system or a world coordinate system, the screen generator 302 uses the position (X coordinate, Y coordinate, Z coordinate) and posture (X coordinate) and posture (Z coordinate) of the tip of the robot arm 101. Display seven text boxes 43 and 44 in which quaternions: x, y, z, w) can be entered.

そして、ユーザが軌道の種類を設定する場合、ユーザは、マウスを用いて所望の軌道の種類のラジオボタン45,46を選択する。
そして、全項目の入力が完了した後、ユーザは設定完了ボタン47を選択する。これにより、ロボットアーム101の動作の詳細設定が完了する。
Then, when the user sets the type of orbit, the user selects the radio buttons 45 and 46 of the desired type of orbit using the mouse.
Then, after the input of all the items is completed, the user selects the setting completion button 47. This completes the detailed setting of the operation of the robot arm 101.

次に、エンドエフェクタ102の動作の詳細情報について説明する。
例えばエンドエフェクタ102が平行二指ハンドである場合、平行二指ハンドの状態は二指の距離又は開度により一意に決定される。そして、ユーザは、平行二指ハンドの動作の始点となる状態と動作の終点となる状態とを、二指の距離又は開度を用いて、平行二指ハンドの動作の詳細情報として設定する。
Next, detailed information on the operation of the end effector 102 will be described.
For example, when the end effector 102 is a parallel two-finger hand, the state of the parallel two-finger hand is uniquely determined by the distance or opening degree of the two fingers. Then, the user sets the state that becomes the start point of the operation of the parallel two-finger hand and the state that becomes the end point of the operation as detailed information of the operation of the parallel two-finger hand using the distance or opening degree of the two fingers.

図5に、平行二指ハンドの動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。
図5に示すように、詳細動作設定画面には、平行二指ハンドの始点と終点を設定するための項目がそれぞれ設けられている。
FIG. 5 shows an example of a detailed operation setting screen (dialog) for setting detailed information on the operation of the parallel two-finger hand.
As shown in FIG. 5, the detailed operation setting screen is provided with items for setting the start point and the end point of the parallel two-finger hand, respectively.

図5に示す詳細動作設定画面において、ユーザが平行二指ハンドの始点と終点を設定する場合、ユーザは、マウスを用いてテキストボックス51,52をクリックし、キーボードで二指の距離又は開度を数値で入力する。
そして、全項目の入力が完了した後、ユーザは、設定完了ボタン53を選択する。これにより、平行二指ハンドの動作の詳細設定が完了する。
In the detailed operation setting screen shown in FIG. 5, when the user sets the start point and the end point of the parallel two-finger hand, the user clicks the text boxes 51 and 52 with the mouse, and the distance or opening of the two fingers with the keyboard. Enter a numerical value.
Then, after the input of all the items is completed, the user selects the setting completion button 53. This completes the detailed setting of the operation of the parallel two-finger hand.

また例えばエンドエフェクタ102がバキュームである場合、バキュームの状態はバキュームのオン及びオフにより一意に決定される。そして、ユーザは、バキュームの動作の始点となる状態と動作の終点となる状態とを、バキュームのオン継続時間を用いて、バキュームの動作の詳細情報として設定する。 Further, for example, when the end effector 102 is vacuum, the vacuum state is uniquely determined by turning the vacuum on and off. Then, the user sets the state that becomes the start point of the vacuum operation and the state that becomes the end point of the vacuum operation as detailed information of the vacuum operation by using the on duration of the vacuum.

図6に、バキュームの動作の詳細情報を設定するための詳細動作設定画面(ダイアログ)の一例を示す。
図6に示すように、詳細動作設定画面には、バキュームのオン継続時間を設定するための項目が設けられている。
FIG. 6 shows an example of a detailed operation setting screen (dialog) for setting detailed information of the vacuum operation.
As shown in FIG. 6, the detailed operation setting screen is provided with an item for setting the on duration of the vacuum.

図6に示す詳細動作設定画面において、ユーザがバキュームのオン継続時間を設定する場合、ユーザは、マウスを用いてテキストボックス61をクリックし、キーボードでバキュームのオン継続時間を数値で入力する。
そして、上記項目の入力が完了した後、ユーザは、設定完了ボタン62を選択する。これにより、バキュームの動作の詳細設定が完了する。
When the user sets the vacuum on duration on the detailed operation setting screen shown in FIG. 6, the user clicks the text box 61 with the mouse and inputs the vacuum on duration numerically with the keyboard.
Then, after the input of the above items is completed, the user selects the setting completion button 62. This completes the detailed settings for vacuum operation.

ユーザにより詳細情報が設定されると、軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、動作時間がデフォルト値の場合での第1軌道を生成する。同様に、軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、動作時間がデフォルト値の場合での第2軌道を生成する。また、画面生成部302は、ビジュアルプログラム画面に表示されている該当する動作オブジェクト23の長さ(動作時間)をデフォルト値に変化させる。 When the detailed information is set by the user, the trajectory generation unit 205 defaults the operation time based on the information indicating the operation instruction after the processing by the conversion unit 204 and the first state information managed by the state management unit 203. Generate a first orbit in the case of values. Similarly, the trajectory generation unit 210 has a second operation time when the operation time is a default value, based on the information indicating the operation instruction after the processing by the conversion unit 209 and the second state information managed by the state management unit 208. Generate an orbit. Further, the screen generation unit 302 changes the length (operation time) of the corresponding operation object 23 displayed on the visual program screen to a default value.

例えば、ロボットアーム101の動作オブジェクト23の長さのデフォルト値は、制約条件下で軌道生成を行った際の動作時間に対応する。この際の制約条件は、例えば、ロボットアーム101の先端の速度上限又は加速度上限、或いは、ロボットアーム101が有する関節の角速度上限又は角加速度上限である。また、ロボットアーム101の動作時間は動作時間算出部212により算出される。 For example, the default value of the length of the motion object 23 of the robot arm 101 corresponds to the motion time when the trajectory is generated under the constraint condition. The constraint condition at this time is, for example, the upper limit of the speed or the upper limit of the acceleration of the tip of the robot arm 101, or the upper limit of the angular velocity or the upper limit of the angular acceleration of the joint of the robot arm 101. Further, the operation time of the robot arm 101 is calculated by the operation time calculation unit 212.

また例えば、平行二指ハンドの動作オブジェクト23の長さのデフォルト値は、制約条件下で軌道生成を行った際の動作時間に対応する。この際の制約条件は、ロボットハンドの速度上限又は加速度上限である。また、平行二指ハンドの動作時間は動作時間算出部212により算出される。 Further, for example, the default value of the length of the motion object 23 of the parallel two-finger hand corresponds to the motion time when the trajectory is generated under the constraint condition. The constraint condition at this time is the upper limit of the speed or the upper limit of the acceleration of the robot hand. Further, the operation time of the parallel two-finger hand is calculated by the operation time calculation unit 212.

また例えば、バキュームの動作オブジェクト23の長さのデフォルト値は、既定の固定値とする。 Further, for example, the default value of the length of the vacuum operation object 23 is a default fixed value.

次に、図7に示すように、ユーザは、所定の手続きにより、任意のタイムライン上の任意の動作オブジェクト23を左右にずらし、動作開始タイミングを編集する。この際、ユーザは、例えば、マウスを用いて、任意の動作オブジェクト23をクリックし、その状態のまま左右に移動させて所望の位置で離すことで、動作オブジェクト23を左右にずらす。又は、ユーザは、例えば、専用のダイアログを呼び出し、キーボードにより数値を入力することで、動作オブジェクト23を左右にずらしてもよい。 Next, as shown in FIG. 7, the user shifts an arbitrary operation object 23 on an arbitrary timeline to the left or right according to a predetermined procedure, and edits the operation start timing. At this time, for example, the user clicks on an arbitrary motion object 23 using a mouse, moves it left and right in that state, and releases it at a desired position to shift the motion object 23 left and right. Alternatively, the user may shift the motion object 23 to the left or right by calling a dedicated dialog and inputting a numerical value with the keyboard, for example.

次に、図8に示すように、ユーザは、所定の手続きにより、任意のタイムライン上の任意の動作オブジェクト23の長さを編集し、動作時間を編集する。この際、ユーザは、例えば、マウスを用いて、任意の動作オブジェクト23の端部(右端又は左端)にカーソル25を合わせ、カーソル25が両矢印26に変化した後にクリックし、その状態のまま左右に移動させて所望の位置で離すことで、動作オブジェクト23の長さを編集する。又は、ユーザは、例えば、専用のダイアログを呼び出し、キーボードにより数値を入力することで、動作オブジェクト23の長さを編集してもよい。
但し、動作オブジェクト23の長さのデフォルト値は、動作を上限値で実行した際の時間に相当する。そのため、動作オブジェクト23の長さは、デフォルト値よりも短くすることはできない。
Next, as shown in FIG. 8, the user edits the length of an arbitrary operation object 23 on an arbitrary timeline and edits the operation time according to a predetermined procedure. At this time, the user, for example, uses a mouse to move the cursor 25 to the end (right end or left end) of an arbitrary motion object 23, clicks after the cursor 25 changes to a double-headed arrow 26, and left and right in that state. The length of the motion object 23 is edited by moving it to and releasing it at a desired position. Alternatively, the user may edit the length of the motion object 23, for example, by calling a dedicated dialog and inputting a numerical value using the keyboard.
However, the default value of the length of the operation object 23 corresponds to the time when the operation is executed at the upper limit value. Therefore, the length of the motion object 23 cannot be shorter than the default value.

既存のロボットアーム101の軌道生成ロジックでは、最大角速度、最大角加速度及びロボットアーム101の先端の速度の制約に加えて、ユーザが設定した速度制限比を制約として軌道を生成している。エンドエフェクタ102の軌道生成ロジックも同様である。軌道生成ロジックについては、非特許文献「ロボティクス」John J. Craig著(共立出版)に記載されているほか、オープンソースのソフトウェアフレームワーク「MoveIt!」が提供され広く利用されているため、説明は省略する。 In the trajectory generation logic of the existing robot arm 101, in addition to the restrictions of the maximum angular velocity, the maximum angular acceleration, and the speed of the tip of the robot arm 101, the trajectory is generated with the speed limit ratio set by the user as a constraint. The same applies to the trajectory generation logic of the end effector 102. The orbit generation logic is described in the non-patent document "Robotics" by John J. Craig (Kyoritsu Shuppan), and the open source software framework "MoveIt!" Is provided and widely used. Omit.

それに対し、実施の形態1に係る動作計画装置では、ユーザが、速度制限比ではなく動作時間を設定又は編集可能とする。ユーザが編集した動作時間であるtは、デフォルトの動作時間であるt以上のため、動作時間比であるt/tは1.0以上となる。すなわち、動作時間比の逆数が速度制限比であり、速度制限比は1.0以下の値をとる。よって、例えば動作時間がt=tの場合は速度制限比を1.0として軌道生成することに相当する。また、例えば動作時間がt=2.0×tの場合は速度制限比を0.5として軌道生成することに相当する。 On the other hand, in the motion planning device according to the first embodiment, the user can set or edit the motion time instead of the speed limit ratio. Since t, which is the operating time edited by the user, is t d or more, which is the default operating time, t / t d, which is the operating time ratio, is 1.0 or more. That is, the reciprocal of the operating time ratio is the speed limit ratio, and the speed limit ratio takes a value of 1.0 or less. Therefore, for example, when the operating time is t = t d , it corresponds to the orbit generation with the speed limit ratio set to 1.0. Further, for example, when the operation time is t = 2.0 × t d , it corresponds to the orbit generation with the speed limit ratio set to 0.5.

また、変換部204及び変換部209は、ユーザが設定した時間であるtをデフォルトの動作時間であるtdで正規化し逆数をとることで速度制限比を求める役割をもつ。変換部204及び変換部209を用いることで、実施の形態1に係る動作計画装置は、既存の軌道生成ロジックを変更することなく軌道を生成できる。 Further, the conversion unit 204 and the conversion unit 209 have a role of obtaining the speed limit ratio by normalizing t, which is the time set by the user, with t d , which is the default operating time, and taking the reciprocal. By using the conversion unit 204 and the conversion unit 209, the motion planning device according to the first embodiment can generate a trajectory without changing the existing trajectory generation logic.

その後、ユーザは、設定完了ボタン24を選択する。これにより、ロボットアーム101及びエンドエフェクタ102の動作計画が完了する。すなわち、軌道生成部205は、変換部204による処理後の動作指示を示す情報及び状態管理部203により管理されている第1状態情報に基づいて、ユーザにより編集された動作開始タイミング及び動作時間での第1軌道を生成する。同様に、軌道生成部210は、変換部209による処理後の動作指示を示す情報及び状態管理部208により管理されている第2状態情報に基づいて、ユーザにより編集された動作開始タイミング及び動作時間での第2軌道を生成する。 After that, the user selects the setting completion button 24. As a result, the operation planning of the robot arm 101 and the end effector 102 is completed. That is, the trajectory generation unit 205 has an operation start timing and an operation time edited by the user based on the information indicating the operation instruction after the processing by the conversion unit 204 and the first state information managed by the state management unit 203. Generates the first orbit of. Similarly, the trajectory generation unit 210 has an operation start timing and an operation time edited by the user based on the information indicating the operation instruction after the processing by the conversion unit 209 and the second state information managed by the state management unit 208. Generates a second orbit at.

なお、図1に示す動作計画装置では、ユーザがビジュアルプログラミング方式で動作計画を実施可能に構成された場合を示した。しかしながら、これに限らず、動作計画装置は、ユーザがテキスト方式で動作計画を実施可能に構成されていてもよい。 In the motion planning device shown in FIG. 1, a case is shown in which a user can execute a motion plan by a visual programming method. However, the present invention is not limited to this, and the motion planning device may be configured so that the user can execute the motion planning in a text method.

また上記では、エンドエフェクタ102としてロボットハンド又はバキュームを用いた場合を示した。しかしながら、これに限らず、エンドエフェクタ102として例えば電動ドリルを用いてもよい。この場合、例えば、動作計画装置により、ロボットアーム101を下方に下げながら電動ドリルを回すような動作計画を行うことも可能であり、ロボット1はネジ締めを容易に実施可能となる。 Further, in the above, the case where the robot hand or the vacuum is used as the end effector 102 is shown. However, the present invention is not limited to this, and an electric drill may be used as the end effector 102, for example. In this case, for example, the motion planning device can be used to perform a motion plan such as turning the electric drill while lowering the robot arm 101 downward, and the robot 1 can easily tighten the screws.

以上のように、この実施の形態1によれば、動作計画装置は、ロボットアーム101の動作時間又はエンドエフェクタ102の動作時間を受付ける入出力部201と、入出力部201により受付けられたロボットアーム101の動作時間を動作速度に変換する変換部204と、入出力部201により受付けられたエンドエフェクタ102の動作時間を動作速度に変換する変換部209と、変換部204により変換されたロボットアーム101の動作速度に基づいて、当該ロボットアーム101の動作軌道である第1軌道を生成する軌道生成部205と、変換部209により変換されたエンドエフェクタ102の動作速度に基づいて、当該エンドエフェクタ102の動作軌道である第2軌道を生成する軌道生成部210とを備えた。これにより、実施の形態1に係る動作計画装置は、従来に対してロボット1の所要時間を把握し易くなる。 As described above, according to the first embodiment, the operation planning device includes the input / output unit 201 that receives the operation time of the robot arm 101 or the operation time of the end effector 102, and the robot arm that is received by the input / output unit 201. A conversion unit 204 that converts the operation time of 101 into an operation speed, a conversion unit 209 that converts the operation time of the end effector 102 received by the input / output unit 201 into an operation speed, and a robot arm 101 converted by the conversion unit 204. Based on the operating speed of the orbit generating unit 205 that generates the first orbit, which is the operating orbit of the robot arm 101, and the end effector 102 converted by the conversion unit 209, the end effector 102 It is provided with an orbit generating unit 210 that generates a second orbit which is an operating orbit. As a result, the motion planning device according to the first embodiment can easily grasp the required time of the robot 1 as compared with the conventional case.

実施の形態2.
実施の形態1に係る動作計画装置では、ロボットコントローラ2を単一とし、入出力部201及び動作時間算出部212をロボットアーム101とエンドエフェクタ102とで共通とした場合を示した。しかしながら、これに限らず、ロボットアーム101とエンドエフェクタ102の制御は別系統であるため、例えば図9に示すように、ロボットアーム101用のロボットコントローラ2aとエンドエフェクタ102用のロボットコントローラ2bを用い、ロボットアーム101とエンドエフェクタ102とで独立させた入出力部201a,201b及び動作時間算出部212a,212bを用いてもよい。
Embodiment 2.
In the motion planning device according to the first embodiment, the case where the robot controller 2 is unified and the input / output unit 201 and the operation time calculation unit 212 are shared by the robot arm 101 and the end effector 102 is shown. However, not limited to this, since the control of the robot arm 101 and the end effector 102 is a separate system, for example, as shown in FIG. 9, the robot controller 2a for the robot arm 101 and the robot controller 2b for the end effector 102 are used. , The input / output units 201a, 201b and the operation time calculation units 212a, 212b, which are independent of the robot arm 101 and the end effector 102, may be used.

なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。 In the present invention, within the scope of the invention, it is possible to freely combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. is there.

1 ロボット
2,2a,2b ロボットコントローラ
3 描画コントローラ
4 入力装置
5 表示装置
101 ロボットアーム
102 エンドエフェクタ
201,201a,201b 入出力部(受付部)
202 現在値取得部(第1現在値取得部)
203 状態管理部(第1状態管理部)
204 変換部
205 軌道生成部(第1軌道生成部)
206 制御部(第1制御部)
207 現在値取得部(第2現在値取得部)
208 状態管理部(第2状態管理部)
209 変換部
210 軌道生成部(第2軌道生成部)
211 制御部(第2制御部)
212,212a,212b 動作時間算出部
301 入出力部
302 画面生成部
1 Robot 2, 2a, 2b Robot controller 3 Drawing controller 4 Input device 5 Display device 101 Robot arm 102 End effector 201, 201a, 201b Input / output unit (reception unit)
202 Current value acquisition unit (1st current value acquisition unit)
203 State management department (1st state management department)
204 Conversion unit 205 Orbit generation unit (first orbit generation unit)
206 Control unit (1st control unit)
207 Current value acquisition unit (second current value acquisition unit)
208 State Management Department (Second State Management Department)
209 Conversion unit 210 Orbit generation unit (second orbit generation unit)
211 Control unit (second control unit)
212, 212a, 212b Operating time calculation unit 301 Input / output unit 302 Screen generation unit

Claims (6)

ロボットアームの動作時間又はエンドエフェクタの動作時間を受付ける受付部と、
前記受付部により受付けられた前記ロボットアームの動作時間を動作速度に変換する第1変換部と、
前記受付部により受付けられた前記エンドエフェクタの動作時間を動作速度に変換する第2変換部と、
前記第1変換部により変換された前記ロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成部と、
前記第2変換部により変換された前記エンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成部と
を備えた動作計画装置。
A reception unit that receives the operating time of the robot arm or the operating time of the end effector,
A first conversion unit that converts the operation time of the robot arm received by the reception unit into an operation speed, and
A second conversion unit that converts the operation time of the end effector received by the reception unit into an operation speed, and
A first trajectory generating unit that generates a first trajectory, which is an operating trajectory of the robot arm, based on the operating speed of the robot arm converted by the first conversion unit.
An operation planning device including a second trajectory generation unit that generates a second trajectory, which is an operation trajectory of the end effector, based on the operation speed of the end effector converted by the second conversion unit.
前記第1軌道生成部は、動作指示及び前記ロボットアームの制約条件に基づいて、第1軌道を生成し、
前記第2軌道生成部は、動作指示及び前記エンドエフェクタの制約条件に基づいて、第2軌道を生成する
ことを特徴とする請求項1記載の動作計画装置。
The first trajectory generating unit generates a first trajectory based on the operation instruction and the constraint conditions of the robot arm.
The operation planning apparatus according to claim 1, wherein the second orbit generation unit generates a second orbit based on an operation instruction and a constraint condition of the end effector.
動作指示には、動作開始タイミングが含まれる
ことを特徴とする請求項2記載の動作計画装置。
The operation planning apparatus according to claim 2, wherein the operation instruction includes an operation start timing.
動作指示を設定するためのビジュアルプログラミングに関する画面を生成する画面生成部を備えた
ことを特徴とする請求項2又は請求項3記載の動作計画装置。
The operation planning apparatus according to claim 2 or 3, further comprising a screen generation unit that generates a screen related to visual programming for setting an operation instruction.
前記エンドエフェクタは、処理対象物を把持するロボットハンドである
ことを特徴とする請求項1から請求項4のうちの何れか1項記載の動作計画装置。
The operation planning device according to any one of claims 1 to 4, wherein the end effector is a robot hand that grips an object to be processed.
ロボットアームの動作時間又はエンドエフェクタの動作時間を受付ける受付ステップと、
前記受付ステップにおいて受付けた前記ロボットアームの動作時間を動作速度に変換する第1変換ステップと、
前記受付ステップにおいて受付けた前記エンドエフェクタの動作時間を動作速度に変換する第2変換ステップと、
前記第1変換ステップにおいて変換した前記ロボットアームの動作速度に基づいて、当該ロボットアームの動作軌道である第1軌道を生成する第1軌道生成ステップと、
前記第2変換ステップにおいて変換した前記エンドエフェクタの動作速度に基づいて、当該エンドエフェクタの動作軌道である第2軌道を生成する第2軌道生成ステップと
を有する動作計画方法。
A reception step that accepts the operating time of the robot arm or the operating time of the end effector,
The first conversion step of converting the operation time of the robot arm received in the reception step into an operation speed, and
A second conversion step of converting the operation time of the end effector received in the reception step into an operation speed, and
A first trajectory generation step that generates a first trajectory, which is an operation trajectory of the robot arm, based on the operating speed of the robot arm converted in the first conversion step.
An operation planning method including a second trajectory generation step for generating a second trajectory, which is an operation trajectory of the end effector, based on the operation speed of the end effector converted in the second conversion step.
JP2019079252A 2019-04-18 2019-04-18 Operation planning device and operation planning method Pending JP2020175474A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019079252A JP2020175474A (en) 2019-04-18 2019-04-18 Operation planning device and operation planning method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019079252A JP2020175474A (en) 2019-04-18 2019-04-18 Operation planning device and operation planning method

Publications (1)

Publication Number Publication Date
JP2020175474A true JP2020175474A (en) 2020-10-29

Family

ID=72935588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019079252A Pending JP2020175474A (en) 2019-04-18 2019-04-18 Operation planning device and operation planning method

Country Status (1)

Country Link
JP (1) JP2020175474A (en)

Similar Documents

Publication Publication Date Title
JP6343353B2 (en) Robot motion program generation method and robot motion program generation device
Mateo et al. Hammer: An Android based application for end-user industrial robot programming
JP5911933B2 (en) Robot system for setting the robot motion monitoring area
JP2019084664A (en) Programming assist device, robot system, and program generating method
JP2006289531A (en) Movement control device for teaching robot position, teaching device of robot position, movement control method for teaching robot position, teaching method for robot position, and movement control program for teaching robot position
CN109551485B (en) Motion control method, device and system and storage medium
JP2010137298A (en) Method of preparing working program for double arm robot
US20170197308A1 (en) Teaching data generating device and teaching data-generating method for work robot
KR101876845B1 (en) Robot control apparatus
US10507585B2 (en) Robot system that displays speed
JP2009190113A (en) Robot simulation device
CN109807896B (en) Motion control method and system, control device, and storage medium
CN110000753B (en) User interaction method, control device and storage medium
CN109807898B (en) Motion control method, control device, and storage medium
JPS6179589A (en) Operating device for robot
JPH10124130A (en) Assembling device
JP2019171498A (en) Robot program execution device, robot program execution method and program
JP2020175474A (en) Operation planning device and operation planning method
JP2020175473A (en) Operation planning device and operation planning method
Mousavi Mohammadi et al. A real-time impedance-based singularity and joint-limits avoidance approach for manual guidance of industrial robots
JPH06134684A (en) Teaching method of robot track
CN110198812B (en) Method and device for selecting an initial point for industrial robot commissioning
WO2020059342A1 (en) Robot simulator
JP2010179388A (en) Robot teaching system
WO2023144892A1 (en) Control device