JP2022114299A - Control program for controlling robot, robot control method, and robot control device - Google Patents

Control program for controlling robot, robot control method, and robot control device Download PDF

Info

Publication number
JP2022114299A
JP2022114299A JP2021010545A JP2021010545A JP2022114299A JP 2022114299 A JP2022114299 A JP 2022114299A JP 2021010545 A JP2021010545 A JP 2021010545A JP 2021010545 A JP2021010545 A JP 2021010545A JP 2022114299 A JP2022114299 A JP 2022114299A
Authority
JP
Japan
Prior art keywords
robot arm
robot
control program
distance
operating speed
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
JP2021010545A
Other languages
Japanese (ja)
Inventor
賢昭 萩尾
Yoshiaki Hagio
佳紀 長島
Yoshinori Nagashima
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2021010545A priority Critical patent/JP2022114299A/en
Publication of JP2022114299A publication Critical patent/JP2022114299A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Manipulator (AREA)

Abstract

To provide a technique which can reduce the possibility that a robot arm interferes with an object.SOLUTION: A computer program causes a processor to execute: (a) processing for acquiring object information that indicates three-dimensional position and posture of an object; (b) processing for operating a robot arm at a set operation speed that has been previously set while calculating a distance between the robot arm and the object by use of the object information; and (c) processing for decreasing an actual operation speed of the robot arm below the set operation speed in the case that the distance between the robot arm and the object becomes a preset first specified value or less in an operation that the robot arm approaches the object.SELECTED DRAWING: Figure 7

Description

本開示は、ロボットを制御する制御プログラム、ロボットの制御方法、及び、ロボットの制御装置に関する。 The present disclosure relates to a control program for controlling a robot, a robot control method, and a robot control device.

特許文献1には、ロボットの3次元モデルと、周辺機器やワークの3次元モデルを組み合わせてロボット動作のシミュレーションを行なうシミュレーション装置が開示されている。このシミュレーション装置を用いて、ロボットの動作を教示することができる。 Patent Literature 1 discloses a simulation apparatus that combines a three-dimensional model of a robot and three-dimensional models of peripheral devices and workpieces to simulate the motion of the robot. This simulation device can be used to teach the motion of the robot.

特開2003-150220号公報Japanese Patent Application Laid-Open No. 2003-150220

しかしながら、周辺機器などの物体は、3次元モデルと実際の物体で寸法が異なる場合がある。従来技術では、シミュレーションを利用して教示処理を行った後に、実機のロボットで動作を確認しようとすると、ロボットアームが物体と干渉する可能性があるという問題があった。 However, objects such as peripherals may have different dimensions between the three-dimensional model and the actual object. In the conventional technology, there is a problem that the robot arm may interfere with an object when trying to check the operation with an actual robot after teaching processing is performed using simulation.

本開示の第1の形態によれば、ロボットを制御する制御プログラムが提供される。この制御プログラムは、(a)対象物の3次元の位置および姿勢を示す対象物情報を取得する処理と、(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる処理と、(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた第1所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる処理と、を前記ロボットの制御装置に実行させる。 A first aspect of the present disclosure provides a control program for controlling a robot. This control program includes (a) a process of acquiring object information indicating the three-dimensional position and orientation of an object; (c) a process of moving the robot arm at a preset movement speed while calculating the distance; and lowering the actual operating speed of the robot arm below the set operating speed when the actual operating speed of the robot arm is lower than the set first predetermined value.

本開示の第2の形態によれば、ロボットの制御方法が提供される。この制御方法は、(a)対象物の3次元の位置および姿勢を示す対象物情報を取得する工程と、(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる工程と、(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる工程と、を含む。 According to a second aspect of the present disclosure, a robot control method is provided. This control method comprises the steps of: (a) acquiring object information indicating the three-dimensional position and orientation of an object; (c) moving the robot arm at a preset movement speed while calculating the distance; lowering the actual operating speed of the robot arm below the set operating speed when the actual operating speed of the robot arm is less than or equal to the predetermined value.

本開示の第3の形態によれば、ロボットの制御装置が提供される。この制御装置は、対象物の3次元の位置および姿勢を示す対象物情報を記憶する記憶部と、制御部と、を備える。前記制御部は、(a)前記対象物情報を前記記憶部から取得する処理と、(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる処理と、(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる処理と、を実行する。 According to a third aspect of the present disclosure, a robot control device is provided. This control device includes a storage unit that stores object information indicating the three-dimensional position and orientation of an object, and a control unit. The control unit performs (a) a process of acquiring the object information from the storage unit, and (b) using the object information to calculate the distance between the robot arm of the robot and the object, (c) a process of operating the robot arm at a preset set motion speed; and a process of lowering the actual operating speed of the robot arm below the set operating speed when the robot arm is set.

実施形態におけるロボットシステムの説明図。Explanatory drawing of the robot system in embodiment. 情報処理装置の機能ブロック図。FIG. 2 is a functional block diagram of an information processing device; 教示処理の手順を示すフローチャート。4 is a flowchart showing the procedure of teaching processing; 教示処理用の操作画面の一例を示す説明図。FIG. 4 is an explanatory diagram showing an example of an operation screen for teaching processing; 実機機確認モードの実行手順を示すフローチャート。4 is a flowchart showing the execution procedure of a real machine confirmation mode; 実機機確認モードの実行時における操作画面を示す説明図。FIG. 4 is an explanatory diagram showing an operation screen when executing the actual machine confirmation mode; 実機確認モードにおいて動作速度を低下させる例を示す説明図。FIG. 11 is an explanatory diagram showing an example of reducing the operating speed in the actual device confirmation mode; 実機確認モードにおいて動作速度を低下させる他の例を示す説明図。FIG. 11 is an explanatory diagram showing another example of reducing the operating speed in the actual device confirmation mode; 実機確認モードにおいて動作速度を低下させる他の例を示す説明図。FIG. 11 is an explanatory diagram showing another example of reducing the operating speed in the actual device confirmation mode; 実機確認モードにおいて動作速度を低下させる他の例を示す説明図。FIG. 11 is an explanatory diagram showing another example of reducing the operating speed in the actual device confirmation mode;

図1は、実施形態におけるロボットシステムを示す説明図である。このロボットシステムは、ロボット100と、ロボット100を制御する制御装置200と、情報処理装置300と、ティーチングペンダント400とを備える。情報処理装置300は、例えばパーソナルコンピューターである。図1には、3次元空間の直交座標系を規定する3つの軸X,Y,Zが描かれている。X軸とY軸は水平方向の軸であり、Z軸は鉛直方向の軸である。この例では、XYZ座標系は、ロボット100に予め設定された基準点を原点とするロボット座標系である。 FIG. 1 is an explanatory diagram showing a robot system according to an embodiment. This robot system includes a robot 100 , a control device 200 that controls the robot 100 , an information processing device 300 and a teaching pendant 400 . The information processing device 300 is, for example, a personal computer. FIG. 1 depicts three axes X, Y, Z that define an orthogonal coordinate system in three-dimensional space. The X and Y axes are horizontal axes and the Z axis is vertical. In this example, the XYZ coordinate system is a robot coordinate system whose origin is a reference point preset in the robot 100 .

ロボット100は、基台110と、ロボットアーム120と、を備えている。ロボットアーム120は、6つの関節J1~J6で順次接続されている。これらの関節J1~J6のうち、3つの関節J1,J4,J6はねじり関節であり、他の3つの関節J2,J3,J5は曲げ関節である。本実施形態では6軸ロボットを例示しているが、1つ以上の関節を有する任意のロボットアーム機構を有するロボットを用いることが可能である。また、本実施形態のロボット100は、垂直多関節ロボットであるが、水平多関節ロボットを使用してもよい。ロボット100には、非常停止ボタン140が設けられている。 The robot 100 has a base 110 and a robot arm 120 . The robot arm 120 is sequentially connected by six joints J1 to J6. Among these joints J1 to J6, three joints J1, J4 and J6 are torsion joints, and the other three joints J2, J3 and J5 are bending joints. Although a six-axis robot is illustrated in this embodiment, any robot arm mechanism having one or more joints can be used. Moreover, although the robot 100 of this embodiment is a vertical articulated robot, a horizontal articulated robot may be used. The robot 100 is provided with an emergency stop button 140 .

ロボットアーム120の先端部の近傍には、TCP(Tool Center Point)が設定されている。TCPは、任意の位置に設定することが可能である。ロボット100の制御は、このTCPの位置と姿勢を制御することを意味する。 A TCP (Tool Center Point) is set near the tip of the robot arm 120 . TCP can be set at any position. Controlling the robot 100 means controlling the position and orientation of this TCP.

ロボットアーム120の先端部には、カメラ130が装着されている。このカメラ130は、作業領域を撮影して、作業領域内の物体OB1~OB4やワークを認識するために使用される。なお、カメラ130をロボットアーム120に設置する代わりに、ロボット100の近傍に存在する架台や天井に設置してもよい。また、カメラ130を省略してもよい。一般に、ロボットの作業のために画像を撮影するカメラを含む処理システムは、「ロボットビジョン」と呼ばれている。 A camera 130 is attached to the tip of the robot arm 120 . This camera 130 is used for photographing the work area and recognizing the objects OB1 to OB4 and works in the work area. Note that instead of installing the camera 130 on the robot arm 120 , the camera 130 may be installed on a pedestal or ceiling near the robot 100 . Also, the camera 130 may be omitted. Generally, a processing system that includes a camera that captures images for robot work is referred to as "robot vision."

4つの物体OB1~OB4のうちの3つの物体OB1~OB3は、ロボット100の作業領域に配置された棚や、架台、周辺機器などの物体である。これらの物体OB1~OB3は、種類及び寸法が互いに異なる。なお、第2の物体OB2は、配線や配管などのフレキシブルなケーブルCLを有している。第4の物体OB4は、第1の物体OB1が複数個積み重ねられた物体である。第1の物体OB1は、例えば積み上げ可能に設計された箱体である。なお、ロボット100の作業環境に配置される物体は、ロボット100の作業対象物であるワークを含んでいても良い。物体OB1~OB4は、本開示における「対象物」に相当する。 Three objects OB1 to OB3 out of the four objects OB1 to OB4 are objects such as shelves, pedestals, and peripheral devices placed in the work area of the robot 100. FIG. These objects OB1-OB3 differ from each other in type and size. The second object OB2 has flexible cables CL such as wiring and piping. A fourth object OB4 is an object obtained by stacking a plurality of first objects OB1. The first object OB1 is, for example, a box designed to be stacked. Objects placed in the working environment of the robot 100 may include a work, which is an object to be worked on by the robot 100 . Objects OB1 to OB4 correspond to "objects" in the present disclosure.

ロボット100のための教示処理は、情報処理装置300又はティーチングペンダント400を用いて行われる。以下に説明する実施形態では、情報処理装置300を用いて教示処理を実行するが、ティーチングペンダント400を用いても良い。なお、ティーチングペンダント400は、その操作画面において、ロボット100の3次元画像を表示できる機能を有することが好ましい。 A teaching process for the robot 100 is performed using the information processing device 300 or the teaching pendant 400 . In the embodiment described below, the information processing device 300 is used to execute the teaching process, but the teaching pendant 400 may be used. Teaching pendant 400 preferably has a function of displaying a three-dimensional image of robot 100 on its operation screen.

図2は、情報処理装置300の機能を示すブロック図である。情報処理装置300は、プロセッサー310と、メモリー320と、インターフェイス回路330と、インターフェイス回路330に接続された入力デバイス340及び表示部350と、を有している。インターフェイス回路330には、更に、制御装置200が接続されている。但し、情報処理装置300は、制御装置200に接続されていなくてもよい。 FIG. 2 is a block diagram showing functions of the information processing apparatus 300. As shown in FIG. The information processing apparatus 300 has a processor 310 , a memory 320 , an interface circuit 330 , an input device 340 and a display section 350 connected to the interface circuit 330 . The interface circuit 330 is also connected to the controller 200 . However, the information processing device 300 does not have to be connected to the control device 200 .

プロセッサー310は、ロボット100の教示処理を実行する教示処理部312、及び、教示処理で作成された動作プログラムを実機確認モードで実行する確認モード実行部314として機能する。教示処理部312と確認モード実行部314の機能は、メモリー320に格納された教示処理プログラムTPと確認モード実行プログラムVPをプロセッサー310が実行することによってそれぞれ実現される。但し、教示処理部312と確認モード実行部314の機能の一部又は全部をハードウェア回路で実現してもよい。プロセッサー310は、本開示の「制御部」に相当する。また、確認モード実行プログラムVPは本開示の「制御プログラム」に相当する。 The processor 310 functions as a teaching processing unit 312 that executes teaching processing for the robot 100, and a confirmation mode execution unit 314 that executes an operation program created in the teaching processing in a real machine confirmation mode. The functions of the teaching processing unit 312 and the confirmation mode execution unit 314 are realized by the processor 310 executing the teaching processing program TP and the confirmation mode execution program VP stored in the memory 320, respectively. However, some or all of the functions of the teaching processing unit 312 and the confirmation mode execution unit 314 may be realized by hardware circuits. Processor 310 corresponds to the “controller” of the present disclosure. Also, the confirmation mode execution program VP corresponds to the "control program" of the present disclosure.

メモリー320には、教示処理プログラムTPと確認モード実行プログラムVPの他に、ロボット属性データRDと、物体属性データODと、対象物情報WDと、動作プログラムRPが格納される。ロボット属性データRDは、ロボットアーム120の構成や可動範囲などの各種のロボット特性を含んでいる。物体属性データODは、物体OB1~OB3の種類や形状などの属性を含んでいる。本実施形態において、物体属性データODは、物体OB1~OB3の3次元形状を表す3次元CAD(Computer Aided Design)データを含んでいる。対象物情報WDは、ロボット100の作業領域に配置された物体OB1~OB4の位置と姿勢を示すデータである。動作プログラムRPは、ロボット100を動作させる複数の動作命令で構成されている。対象物情報WDと動作プログラムRPは、後述する教示処理で作成される。 The memory 320 stores robot attribute data RD, object attribute data OD, target object information WD, and operation program RP in addition to the teaching process program TP and confirmation mode execution program VP. The robot attribute data RD includes various robot characteristics such as the configuration and movable range of the robot arm 120 . The object attribute data OD includes attributes such as types and shapes of the objects OB1 to OB3. In this embodiment, the object attribute data OD includes three-dimensional CAD (Computer Aided Design) data representing the three-dimensional shapes of the objects OB1 to OB3. The object information WD is data indicating the positions and orientations of the objects OB1 to OB4 arranged in the work area of the robot 100. FIG. The motion program RP is composed of a plurality of motion instructions for operating the robot 100 . The object information WD and the motion program RP are created by a teaching process which will be described later.

図3は、一実施形態における教示処理の手順を示すフローチャートである。ステップS110では、ユーザーが教示処理プログラムTPを起動する。本開示において、ユーザーを、作業者又は教示者とも呼ぶ。ステップS120では、ユーザーが、教示対象とするロボットのロボットタイプと、編集対象とする動作プログラムのプログラム名を指定する。ステップS130では、指定されたタイプのロボットの3次元画像を含む操作画面が表示部350に表示される。 FIG. 3 is a flow chart showing the procedure of the teaching process in one embodiment. At step S110, the user starts the teaching process program TP. In this disclosure, users are also referred to as workers or tutors. In step S120, the user designates the robot type of the robot to be taught and the program name of the motion program to be edited. In step S130, the display unit 350 displays an operation screen including a three-dimensional image of the designated type of robot.

図4は、操作画面を含む教示処理ウィンドウW10の一例を示す説明図である。教示処理ウィンドウW10は、ロボットタイプを選択するためのロボット選択フィールドRFと、動作プログラムのプログラム名を指定するためのプログラム選択フィールドPFと、確認モード実行ボタンEBと、確認モード停止ボタンSBと、ロボット表示ウィンドウW11と、ジョグ操作ウィンドウW12と、物体選択画面W13とを含んでいる。これらのうち、ロボット表示ウィンドウW11とジョグ操作ウィンドウW12と物体選択画面W13が、操作画面に相当する。 FIG. 4 is an explanatory diagram showing an example of a teaching process window W10 including an operation screen. The teaching process window W10 includes a robot selection field RF for selecting the robot type, a program selection field PF for designating the program name of the operation program, a confirmation mode execution button EB, a confirmation mode stop button SB, a robot It includes a display window W11, a jog operation window W12, and an object selection screen W13. Among these, the robot display window W11, the jog operation window W12, and the object selection screen W13 correspond to the operation screen.

ロボット表示ウィンドウW11は、ロボット100のシミュレーション画像を表示する画面である。シミュレーション画像としては、3次元画像と2次元画像のいずれかを選択的に表示可能である。ロボット100の3次元画像を表示した状態において、ユーザーは、ロボット表示ウィンドウW11内でマウスを操作することによって、視点の方向や、画像の表示倍率を任意に変更することが可能である。図4の例では、実機のロボット100の作業領域に存在する物体OB1~OB4のシミュレーション画像もロボット表示ウィンドウW11内に配置されている。 The robot display window W11 is a screen that displays a simulation image of the robot 100. FIG. Either a three-dimensional image or a two-dimensional image can be selectively displayed as the simulation image. With the three-dimensional image of the robot 100 displayed, the user can arbitrarily change the direction of the viewpoint and the display magnification of the image by operating the mouse within the robot display window W11. In the example of FIG. 4, simulation images of objects OB1 to OB4 existing in the work area of the actual robot 100 are also arranged in the robot display window W11.

ジョグ操作ウィンドウW12は、ユーザーがジョグ操作を入力するための画面である。ジョグ操作ウィンドウW12は、座標系を選択する座標系選択フィールドCFと、選択された座標系に応じた6つの座標値を指定する座標値フィールドVF1と、編集対象の教示点を指定する教示点フィールドTFと、教示点設定ボタンB1と、終了ボタンB2とを含んでいる。座標値フィールドVF1の右側には、座標値を増減するための増減ボタンCB1が配置されている。教示点フィールドTFの右側には、教示点の番号を増減するための増減ボタンCB2が配置されている。 The jog operation window W12 is a screen for the user to input a jog operation. The jog operation window W12 includes a coordinate system selection field CF for selecting a coordinate system, a coordinate value field VF1 for designating six coordinate values corresponding to the selected coordinate system, and a teaching point field for designating a teaching point to be edited. It includes a TF, a teaching point setting button B1, and an end button B2. An increase/decrease button CB1 for increasing/decreasing the coordinate value is arranged on the right side of the coordinate value field VF1. An increase/decrease button CB2 for increasing/decreasing the teaching point number is arranged on the right side of the teaching point field TF.

座標系選択フィールドCFは、ロボット座標系とツール座標系と関節座標系のうちから任意の1つを選択するためのフィールドである。図4の例では、座標系選択フィールドCFは、プルダウンメニューとして構成されている。ロボット座標系とツール座標系は直交座標系である。直交座標系においてジョグ操作を行うと、逆運動学によって関節座標値が計算されるので、特異姿勢が問題となる。一方、関節座標系では、逆運動学による計算が不要なので、特異姿勢は問題とならない。なお、特異姿勢は、任意の2つのねじり関節の軸線同士の角度が0度になる状態であり、関節座標系で座標値を表示すれば、特異姿勢に近いか否かを判断するのが容易であるという利点がある。 The coordinate system selection field CF is a field for selecting any one of the robot coordinate system, tool coordinate system, and joint coordinate system. In the example of FIG. 4, the coordinate system selection field CF is configured as a pull-down menu. The robot coordinate system and tool coordinate system are Cartesian coordinate systems. When jogging in a Cartesian coordinate system, the singular pose becomes a problem because the joint coordinate values are calculated by inverse kinematics. On the other hand, the joint coordinate system does not require inverse kinematics calculations, so singular poses are not a problem. In addition, a singular posture is a state in which the angle between the axes of any two torsion joints is 0 degrees, and if the coordinate values are displayed in the joint coordinate system, it is easy to judge whether or not the posture is close to the singular posture. has the advantage of being

物体選択画面W13は、物体OB1~OB3を選択して、ロボット表示ウィンドウW11内に配置するために使用される。物体選択画面W13は、ロボット100の作業領域に配置可能な物体OB1~OB3のアイコンが表示されている。ユーザーは、このアイコンをダブルクリックしたり、あるいはドラッグアンドドロップしたりすることによって、好みの物体をロボット表示ウィンドウW11内に配置することが可能である。ロボット表示ウィンドウW11内に配置された物体は、ロボット表示ウィンドウW11内でドラッグすることによってその空間的な位置を変更することができる。物体選択画面W13内には、更に、選択した物体の位置と姿勢を設定するための座標値フィールドVF3と、座標値を増減するための増減ボタンCB3とが配置されている。なお、ロボット表示ウィンドウW11内には、同じ物体を複数個配置することも可能である。 The object selection screen W13 is used to select objects OB1 to OB3 and place them in the robot display window W11. The object selection screen W13 displays icons of objects OB1 to OB3 that can be arranged in the work area of the robot 100. FIG. The user can place a desired object in the robot display window W11 by double-clicking or dragging and dropping this icon. An object placed within the robot display window W11 can change its spatial position by dragging within the robot display window W11. The object selection screen W13 further includes a coordinate value field VF3 for setting the position and orientation of the selected object, and an increase/decrease button CB3 for increasing/decreasing the coordinate value. It is also possible to arrange a plurality of the same objects in the robot display window W11.

図3のステップS140では、ユーザーによって、ロボット100の作業領域に物体が配置され、また、その3次元の位置と姿勢が設定される。このステップS140の処理は、図4の物体選択画面W13を用いて物体を選択し、ロボット表示ウィンドウW11内に物体OB1~OB4を配置する処理である。こうしてロボット表示ウィンドウW11内に配置された物体OB1~OB4の3次元の位置と姿勢は、対象物情報WDとしてメモリー320に保存される。対象物情報WDは、物体OB1~OB4の3次元形状を表すデータも含んでいることが好ましい。 In step S140 of FIG. 3, the user places an object in the work area of the robot 100 and sets its three-dimensional position and orientation. The process of step S140 is a process of selecting an object using the object selection screen W13 of FIG. 4 and arranging the objects OB1 to OB4 in the robot display window W11. The three-dimensional positions and postures of the objects OB1 to OB4 arranged in the robot display window W11 are stored in the memory 320 as object information WD. The object information WD preferably also includes data representing the three-dimensional shapes of the objects OB1 to OB4.

ステップS150では、ユーザーによって教示点が選択される。教示点の選択は、教示点フィールドTFの値を設定することによって行われる。ステップS160では、ジョグ操作ウィンドウW12におけるユーザーのジョグ操作に応じてロボット100の姿勢が変更される。ステップS170では、教示点の設定が行われる。教示点の設定は、ユーザーが教示点設定ボタンB1を押すことによって実行される。設定された教示点の座標値は、動作プログラムRP内に登録される。ステップS180では、ユーザーによって、教示処理が完了したか否かが判断される。教示処理が完了していなければ、ステップS150に戻り、上述したステップS150~S180が繰り返される。一方、教示処理が完了していれば、ユーザーが終了ボタンB2を押すことによって、図3の処理を終了する。 In step S150, a teaching point is selected by the user. Selection of the teach point is done by setting the value of the teach point field TF. In step S160, the posture of the robot 100 is changed according to the user's jog operation in the jog operation window W12. In step S170, teaching points are set. The teaching point is set by the user pressing the teaching point setting button B1. The coordinate values of the set teaching points are registered in the operation program RP. In step S180, the user determines whether or not the teaching process has been completed. If the teaching process has not been completed, the process returns to step S150, and steps S150 to S180 described above are repeated. On the other hand, if the teaching process has been completed, the user presses the end button B2 to end the process of FIG.

図5は、実機確認モードの実行手順を示すフローチャートである。実機確認モードは、動作プログラムRPに従って実機のロボット100を試験的に動作させる処理である。 FIG. 5 is a flow chart showing the execution procedure of the actual machine confirmation mode. The real machine confirmation mode is a process of experimentally operating the real robot 100 according to the operation program RP.

ステップS210では、確認モード実行部314が、ユーザーによる実機確認モードの開始指示を受けて、動作プログラムRPと対象物情報WDをメモリー320から取得する。実機確認モードの開始指示は、ユーザーが図4に示した確認モード実行ボタンEBを押すことによって入力される。ステップS220では、確認モード実行部314が、実機確認モードの実行を開始する。実機確認モードの開始直後の時点では、ロボットアーム120は、動作プログラムRPで設定された設定動作速度に従って動作する。 In step S<b>210 , the confirmation mode execution unit 314 acquires the operation program RP and the object information WD from the memory 320 in response to the user's instruction to start the actual machine confirmation mode. An instruction to start the actual machine confirmation mode is input by the user pressing the confirmation mode execution button EB shown in FIG. In step S220, the confirmation mode execution unit 314 starts executing the actual machine confirmation mode. Immediately after starting the actual machine confirmation mode, the robot arm 120 operates according to the set operation speed set by the operation program RP.

ステップS230では、確認モード実行部314が、実機確認モードの実行回数が0か否かを判定する。「実機確認モードの実行回数」とは、動作プログラムRPの作成又は編集が行われた後に、その動作プログラムRPを実機確認モードで実行する回数である。動作プログラムRPの作成又は編集が行われた後に、その動作プログラムRPを実機確認モードで最初に実行するときには、実機確認モードの実行回数はゼロであり、その後、実機確認モードが終了するたびに実行回数がカウントアップされる。但し、動作プログラムRP内の命令や教示点が編集された場合には、実行回数はゼロにリセットされる。実機確認モードの実行回数が0である場合には、ロボットアーム120の動作速度の低下を伴うステップS240~S280の処理が実行される。一方、実機確認モードの実行回数が0でなく、1以上である場合には、ステップS240~S280がスキップされ、動作プログラムRPで設定された設定動作速度に従ってロボット100の動作が実行される。なお、ステップS230を省略してもよいが、ステップS230の処理を行えば、実機確認モードに過度の時間を要することを防止できる。 In step S230, the confirmation mode execution unit 314 determines whether or not the number of executions of the actual machine confirmation mode is zero. The “number of executions in the actual machine confirmation mode” is the number of times the operation program RP is executed in the actual machine confirmation mode after the operation program RP is created or edited. After the operation program RP is created or edited, when the operation program RP is first executed in the actual machine confirmation mode, the number of executions of the actual machine confirmation mode is zero, and after that, every time the actual machine confirmation mode ends, the execution count is zero. The number of times is counted up. However, the number of times of execution is reset to zero when the command or teaching point in the motion program RP is edited. When the execution count of the actual device confirmation mode is 0, the processing of steps S240 to S280 accompanied by a reduction in the operating speed of the robot arm 120 is executed. On the other hand, if the number of executions of the actual machine confirmation mode is not 0 but is 1 or more, steps S240 to S280 are skipped, and the robot 100 is operated according to the set operation speed set by the operation program RP. Although step S230 may be omitted, performing the processing of step S230 can prevent the actual device confirmation mode from taking an excessive amount of time.

ステップS240~S290の処理は、一定の周期で繰り返し実行される。ステップS240では、確認モード実行部314が、ロボットアーム120と物体OB1~OB4の間の距離を算出する。ステップS240の処理は、動作プログラムRPで設定されているロボットアーム120の位置及び姿勢と、対象物情報WDで設定されている物体OB1~OB4の位置及び姿勢を用いて実行される。 The processing of steps S240 to S290 is repeatedly executed at regular intervals. In step S240, confirmation mode execution unit 314 calculates the distances between robot arm 120 and objects OB1 to OB4. The processing of step S240 is executed using the position and orientation of the robot arm 120 set in the motion program RP and the positions and orientations of the objects OB1 to OB4 set in the object information WD.

ステップS240で算出される「距離」は、ロボットアーム120に設定された特定の基準点と物体OB1~OB4との間の最短距離を意味する。ロボットアーム120の基準点としては、図1に示したTCPを使用することが可能である。また、ロボットアーム120の基準点として、図1に示した第5関節J5の近傍に設定された基準点PJ5を使用してもよい。第5関節J5の近傍は、ロボットアーム120の中で動きが比較的大きいので、物体OB1~OB4と干渉する可能性が高い。そこで、この基準点PJ5と物体OB1~OB4との間の最短距離を使用すれば、ロボットアーム120が物体OB1~OB4と干渉する可能性を更に低減できる。なお、ロボットアーム120の複数の基準点と物体OB1~OB4との間の最短距離を、ステップS240で算出される「距離」としてもよい。 The "distance" calculated in step S240 means the shortest distance between a specific reference point set on robot arm 120 and objects OB1-OB4. As a reference point for the robot arm 120, the TCP shown in FIG. 1 can be used. Also, as the reference point of the robot arm 120, the reference point PJ5 set near the fifth joint J5 shown in FIG. 1 may be used. The vicinity of the fifth joint J5 has a relatively large movement in the robot arm 120, so there is a high possibility of interference with the objects OB1 to OB4. Therefore, by using the shortest distance between the reference point PJ5 and the objects OB1-OB4, the possibility of the robot arm 120 interfering with the objects OB1-OB4 can be further reduced. Note that the shortest distances between the plurality of reference points on robot arm 120 and objects OB1 to OB4 may be used as the "distances" calculated in step S240.

ステップS250では、確認モード実行部314が、ステップS240で算出した距離が、前回のステップS240で算出された距離から減少しているか否かを判定する。距離が減少している場合にはステップS260に進み、距離が減少していない場合にはステップS290に進む。すなわち、すなわち、距離が前回と等しいか、又は、距離が前回よりも増大している場合には、ロボットアーム120の実動作速度を、予め設定された設定動作速度よりも低下させる処理を行わず、設定動作速度と等しい値とする。 In step S250, confirmation mode execution unit 314 determines whether or not the distance calculated in step S240 has decreased from the previous distance calculated in step S240. If the distance has decreased, the process proceeds to step S260, and if the distance has not decreased, the process proceeds to step S290. That is, when the distance is equal to the previous time or the distance is longer than the previous time, the process of lowering the actual operating speed of the robot arm 120 below the preset operating speed is not performed. , equal to the set operating speed.

ステップS260では、確認モード実行部314が、ステップS240で算出した距離が、予め設定された所定値以下か否かを判定する。距離が所定値以下である場合にはステップS270に進み、距離が所定値以下でない場合にはステップS290に進む。 In step S260, confirmation mode execution unit 314 determines whether or not the distance calculated in step S240 is equal to or less than a preset predetermined value. If the distance is less than or equal to the predetermined value, the process proceeds to step S270, and if the distance is not less than or equal to the predetermined value, the process proceeds to step S290.

距離の所定値は、物体の種類に応じて変更することが好ましい。例えば、フレキシブルなケーブルCLを有する物体OB2については、距離の所定値を他の物体よりも大きくすることが好ましい。こうすれば、フレキシブルなケーブルCLのように思わぬ干渉が発生し易い物体についても、実機確認モードにおいてロボットアーム120と物体が干渉する可能性を低減できる。 The predetermined value of the distance is preferably changed according to the type of object. For example, for an object OB2 having a flexible cable CL, it is preferable that the predetermined value of the distance is larger than for other objects. This reduces the possibility of interference between the robot arm 120 and the object in the real machine confirmation mode, even for an object such as the flexible cable CL that is likely to cause unexpected interference.

また、物体OB4のように単一の物体OB1が複数積み上げられている物体の場合には、その積み上げ数に応じて距離の所定値を変更することが好ましい。具体的には、積み上げ数に応じて距離の所定値を増加させることが好ましい。こうすれば、物体が数多く積みあがって公差が大きくなっている場合でも、積み上げ後の物体とロボットアーム120とが干渉する可能性を低減できる。 Also, in the case of an object such as the object OB4 in which a plurality of single objects OB1 are stacked, it is preferable to change the predetermined value of the distance according to the number of the stacked objects. Specifically, it is preferable to increase the predetermined value of the distance according to the number of piles. In this way, even when a large number of objects are piled up and the tolerance is large, the possibility of interference between the piled objects and the robot arm 120 can be reduced.

ステップS270では、確認モード実行部314が、ステップS240で算出した距離に応じて、ロボットアーム120の実動作速度を、設定動作速度よりも低い値に決定する。「設定動作速度」は、動作プログラムRPで設定されている動作速度を意味する。距離と実動作速度との関係は、予め決定されて確認モード実行プログラムVPに登録されている。なお、実動作速度を直接決定する代わりに、動作速度の速度比率を決定し、その速度比率を設定動作速度に乗ずることによって実動作速度を決定するようにしてもよい。「動作速度の速度比率」は、実動作速度を設定動作速度で除算した値である。この場合には、距離と速度比率との関係が、予め決定されて確認モード実行プログラムVPに登録される。 In step S270, the confirmation mode execution unit 314 determines the actual operating speed of the robot arm 120 to be lower than the set operating speed according to the distance calculated in step S240. "Set operation speed" means the operation speed set by the operation program RP. The relationship between the distance and the actual operating speed is determined in advance and registered in the confirmation mode execution program VP. Instead of directly determining the actual operating speed, the speed ratio of the operating speeds may be determined, and the actual operating speed may be determined by multiplying the set operating speed by the speed ratio. The "speed ratio of operating speeds" is a value obtained by dividing the actual operating speed by the set operating speed. In this case, the relationship between the distance and the speed ratio is determined in advance and registered in the confirmation mode execution program VP.

ステップS280では、確認モード実行部314が、ステップS270で決定された実動作速度に従って、ロボットアーム120の制御を実行する。ステップS290では、実機確認モードが終了したか否かが判断され、終了していない場合には、上述したステップS240に戻ってステップS240~S290が再度実行される。なお、実機確認モードは、ユーザーが図4に示した停止ボタンSBを押すことによって、任意のタイミングで終了することができる。また、ロボット100に設けられた非常停止ボタン140がユーザーによって押されたときにも、実機確認モードが終了する。 In step S280, confirmation mode execution section 314 executes control of robot arm 120 according to the actual operating speed determined in step S270. In step S290, it is determined whether or not the actual machine confirmation mode has ended. If not, the process returns to step S240 and steps S240 to S290 are executed again. It should be noted that the actual machine confirmation mode can be ended at any timing by the user pressing the stop button SB shown in FIG. Also, when the emergency stop button 140 provided on the robot 100 is pushed by the user, the actual machine confirmation mode is terminated.

図6は、実機機確認モードの実行時における操作画面を示す説明図である。前述した図4との違いは、ロボット表示ウィンドウW11内に、ロボットアーム120と物体OB1~OB4との間の最短距離を表示する距離表示フィールドDFと、最短距離に応じた長さを表示する距離バーDBとが追加されている点だけであり、他は図4と同じである。距離表示フィールドDFは、ロボットアーム120と物体OB1~OB4との間の最短距離に応じたカウントダウン情報の一種である。なお、カウントダウン情報として、距離に応じた音声を出力して、ユーザーに報知するようにしてもよい。距離表示フィールドDFや距離バーDBは省略してもよいが、これらを表示するようにすれば、後どれくらいで干渉するかをユーザーが視認できるという利点がある。 FIG. 6 is an explanatory diagram showing an operation screen when the actual machine confirmation mode is executed. The difference from FIG. 4 described above is that the robot display window W11 includes a distance display field DF that displays the shortest distance between the robot arm 120 and the objects OB1 to OB4, and a distance display field that displays the length corresponding to the shortest distance. It is the same as FIG. 4 except that a bar DB is added. The distance display field DF is a kind of countdown information according to the shortest distances between the robot arm 120 and the objects OB1 to OB4. Note that the countdown information may be notified to the user by outputting a sound corresponding to the distance. Although the distance display field DF and the distance bar DB may be omitted, if they are displayed, there is an advantage that the user can visually recognize how long it will take to interfere.

図7は、実機確認モードにおいて動作速度を低下させる例を示す説明図である。図7の上部のグラフにおいて、横軸は時間であり、縦軸は動作速度である。実線は設定動作速度Vsetの変化を示し、破線は実機確認モードにおける実動作速度Vcの変化を示す。設定動作速度Vsetの変化は、TCPが時刻t1において第1教示点P1を出発し、一定の加速度で加速した後に等速で移動し、時刻t3において減速開始位置RPoで減速を開始し、一定の減速度で減速しながら時刻t4で第2教示点P2に到達することを示している。以下では、設定動作速度Vsetの変化における減速開始位置RPoを「当初減速開始位置RPo」と呼ぶ。 FIG. 7 is an explanatory diagram showing an example of reducing the operating speed in the actual machine confirmation mode. In the upper graph of FIG. 7, the horizontal axis is time and the vertical axis is operation speed. A solid line indicates a change in the set operating speed Vset, and a dashed line indicates a change in the actual operating speed Vc in the actual machine confirmation mode. The change in the set operating speed Vset is such that the TCP starts from the first teaching point P1 at time t1, accelerates at a constant acceleration and then moves at a constant speed, starts decelerating at the deceleration start position RPo at time t3, and reaches a constant speed Vset. It shows that the second teaching point P2 is reached at time t4 while decelerating. Hereinafter, the deceleration start position RPo when the set operating speed Vset changes is referred to as the "initial deceleration start position RPo".

実機確認モードにおける実動作速度Vcの変化は、等速で移動するところまでは設定動作速度Vsetの変化と同じだが、時刻t2において減速開始位置RP1から減速を開始し、一定の減速度で減速しながら時刻t5で第2教示点P2に到達することを示している。減速開始位置RP1以降の位置では、ロボットアーム120と物体との距離ΔDが予め設定された所定値Dth1以下である。従って、減速開始位置RP1以降の位置では、上述した図5のステップS240~S280の処理によって、実動作速度Vcが設定動作速度Vsetよりも低い値に設定される。なお、実動作速度Vcの変化のグラフには、当初減速開始位置RPoに達する時点も参考のために示されている。 The change in the actual operating speed Vc in the actual machine confirmation mode is the same as the change in the set operating speed Vset up to the point where the robot moves at a constant speed. while reaching the second taught point P2 at time t5. At positions after the deceleration start position RP1, the distance ΔD between the robot arm 120 and the object is equal to or less than a predetermined value Dth1. Accordingly, at positions after the deceleration start position RP1, the actual operating speed Vc is set to a value lower than the set operating speed Vset by the processing of steps S240 to S280 in FIG. For reference, the graph of the change in the actual operating speed Vc also shows the point in time when the initial deceleration start position RPo is reached.

図7の下部のグラフは、実機確認モードにおいて、実動作速度Vcに従ってロボットアーム120が動作するときの動作速度の速度比率Rvを示しており、横軸は位置である。速度比率Rvは、実動作速度Vcを設定動作速度Vsetで除した値である。なお、横軸はリニアスケールではないが、このグラフによって、位置に応じて速度比率Rvがどのように変化するかを理解できる。すなわち、減速開始位置RP1に至るまでは速度比率Rvは1に等しく、実動作速度Vcは設定動作速度Vsetと同じである。実動作速度Vcの減速開始位置RP1から当初減速開始位置RPoまでの範囲では、速度比率Rvは直線的に低下する。また、当初減速開始位置RPoから第2教示点P2までの範囲では、速度比率Rvは一定である。 The graph at the bottom of FIG. 7 shows the speed ratio Rv of the operating speed when the robot arm 120 operates according to the actual operating speed Vc in the actual device confirmation mode, and the horizontal axis indicates the position. The speed ratio Rv is a value obtained by dividing the actual operating speed Vc by the set operating speed Vset. Although the horizontal axis is not a linear scale, this graph allows us to understand how the speed ratio Rv changes according to the position. That is, the speed ratio Rv is equal to 1 until reaching the deceleration start position RP1, and the actual operating speed Vc is the same as the set operating speed Vset. In the range from the deceleration start position RP1 of the actual operating speed Vc to the initial deceleration start position RPo, the speed ratio Rv decreases linearly. Further, the speed ratio Rv is constant in the range from the initial deceleration start position RPo to the second teaching point P2.

図7に示したように、実機確認モードでは、ロボットアーム120が物体に近づく動作において、ロボットアーム120と物体との距離ΔDが所定値Dth1以下となる場合にその実動作速度Vcを設定動作速度Vsetよりも低下させるので、ロボットアーム120が物体と干渉しそうになった場合には、ユーザーがロボットアーム120の動作を停止させることができる。従って、ロボットアーム120が物体と干渉する可能性を低減できる。また、図7の例では、距離ΔDが小さいほど速度比率Rvを小さくしているので、物体に近づくほどロボットアーム120が減速し、両者が干渉する前にロボットを停止させ易いという利点がある。 As shown in FIG. 7, in the actual machine confirmation mode, when the robot arm 120 approaches an object and the distance ΔD between the robot arm 120 and the object is equal to or less than a predetermined value Dth1, the actual operation speed Vc is set to the set operation speed Vset. , so that the user can stop the movement of the robot arm 120 when the robot arm 120 is about to interfere with an object. Therefore, the possibility of robot arm 120 interfering with an object can be reduced. In addition, in the example of FIG. 7, since the speed ratio Rv is decreased as the distance ΔD is smaller, the robot arm 120 decelerates as it approaches the object, and there is an advantage that the robot can be easily stopped before they interfere with each other.

図8は、実機確認モードにおいて動作速度を低下させる他の例を示す説明図である。前述した図7との違いは、時刻t2と時刻t3の間の時刻t2aにおいて第2減速開始位置RP2aに達した以降に、速度比率Rvの傾きをより大きくすることによって、ロボットアーム120の実動作速度Vcをより急速に低下させている点である。第2教示点P2には、時刻t5aで到達している。第2減速開始位置RP2aは、ロボットアーム120と物体との距離ΔDが第2所定値Dth2aに達する位置である。この第2所定値Dth2aは、第1所定値Dth1よりも小さな値に予め設定される。このように、距離ΔDが小さいほど速度比率Rvの傾きを大きくするようにしてもよい。こうすれば、物体に近づくにつれて実動作速度Vcがより早く低下するので、ロボットアーム120と物体との干渉の可能性をより低下することができる。 FIG. 8 is an explanatory diagram showing another example of lowering the operating speed in the actual machine confirmation mode. The difference from FIG. 7 described above is that after the second deceleration start position RP2a is reached at time t2a between time t2 and time t3, the slope of the speed ratio Rv is further increased so that the actual operation of the robot arm 120 is The point is that the speed Vc is reduced more rapidly. The second teaching point P2 is reached at time t5a. The second deceleration start position RP2a is a position where the distance ΔD between the robot arm 120 and the object reaches the second predetermined value Dth2a. This second predetermined value Dth2a is preset to a value smaller than the first predetermined value Dth1. In this manner, the slope of the speed ratio Rv may be increased as the distance ΔD decreases. By doing so, the actual movement speed Vc decreases more quickly as the robot approaches the object, so that the possibility of interference between the robot arm 120 and the object can be further reduced.

図9は、実機確認モードにおいて動作速度を低下させる他の例を示す説明図である。前述した図7との違いは、(a)時刻t2において減速開始位置RP1に達した以降に、実動作速度Vcを予め定められた速度V1まで低下させた後に、この速度V1に従って等速でロボットアーム120を動作させる点と、(b)時刻t4bにおいて第2減速開始位置RP2bに達した以降に、実動作速度Vcを一定の減速度で低下させている点、の2点である。第2教示点P2には、時刻t5bで到達している。なお、図9では、速度比率Rvの図示を省略している。第2減速開始位置RP2bは、ロボットアーム120と物体との距離ΔDが第2所定値Dth2bに達する位置である。この第2所定値Dth2bは、第1所定値Dth1よりも小さな値に予め設定される。このように、実動作速度Vcの低下後に、等速でロボットアーム120を物体に近づけて、両者の距離ΔDが第2所定値Dth2b以下となる場合に実動作速度Vcを更に低下させるようにしてもよい。こうすれば、実動作速度Vcの低下後に等速で動くので、ロボットアーム120と物体が干渉するおそれをユーザーが判断し易く、また、干渉する前にロボットを停止させ易いという利点がある。 FIG. 9 is an explanatory diagram showing another example of lowering the operating speed in the actual machine confirmation mode. The difference from FIG. 7 described above is that (a) after reaching the deceleration start position RP1 at time t2, the actual operating speed Vc is reduced to a predetermined speed V1, and then the robot moves at a constant speed according to this speed V1. and (b) after reaching the second deceleration start position RP2b at time t4b, the actual operating speed Vc is reduced at a constant deceleration. The second teaching point P2 is reached at time t5b. Note that illustration of the speed ratio Rv is omitted in FIG. The second deceleration start position RP2b is a position where the distance ΔD between the robot arm 120 and the object reaches the second predetermined value Dth2b. This second predetermined value Dth2b is preset to a value smaller than the first predetermined value Dth1. In this way, after the actual operating speed Vc is lowered, the robot arm 120 is brought closer to the object at a constant speed, and when the distance ΔD between the two becomes equal to or smaller than the second predetermined value Dth2b, the actual operating speed Vc is further lowered. good too. In this way, since the robot arm 120 moves at a constant speed after the actual movement speed Vc is lowered, there is an advantage that the user can easily determine the possibility of interference between the robot arm 120 and the object, and can easily stop the robot before interference occurs.

図10は、実機確認モードにおいて動作速度を低下させる他の例を示す説明図である。前述した図7との違いは、時刻t2において減速開始位置RP1に達した以降に、ロボットアーム120を断続的に動作させている点である。すなわち、実動作速度Vcの変化は、動作と停止を間欠的に繰り返す台形波状の形状となる。台形波の台形の高さは、ロボットアーム120と物体との間の距離が小さくなるに従って徐々に低下している。この例では、間欠的に停止期間が設けられているが、停止期間を設けなくても良い。第2教示点P2には、時刻t5cで到達している。図10の例においても、図7の例と同様に、ロボットアーム120が物体に近づく動作において、ロボットアーム120と物体との距離ΔDが所定値Dth1以下となる場合にその実動作速度Vcを設定動作速度Vsetよりも低下させるので、ロボットアーム120が物体と干渉する可能性を低減できる。 FIG. 10 is an explanatory diagram showing another example of lowering the operating speed in the actual machine confirmation mode. The difference from FIG. 7 described above is that the robot arm 120 is intermittently operated after reaching the deceleration start position RP1 at time t2. That is, the change in the actual operating speed Vc has a trapezoidal waveform that intermittently repeats operation and stop. The height of the trapezoid of the trapezoidal wave gradually decreases as the distance between the robot arm 120 and the object decreases. In this example, the stop period is provided intermittently, but the stop period may not be provided. The second teaching point P2 is reached at time t5c. In the example of FIG. 10, similarly to the example of FIG. 7, when the robot arm 120 approaches the object, the actual operation speed Vc is set when the distance ΔD between the robot arm 120 and the object is less than or equal to the predetermined value Dth1. Since the speed is lower than the speed Vset, the possibility of robot arm 120 interfering with an object can be reduced.

以上のように、上記実施形態では、ロボットアーム120が物体に近づくときにその実動作速度Vcを設定動作速度Vsetよりも低下させるので、ロボットアーム120が物体と干渉する可能性を低減できる。 As described above, in the above embodiment, when the robot arm 120 approaches an object, the actual movement speed Vc is made lower than the set movement speed Vset, so the possibility of the robot arm 120 interfering with the object can be reduced.

・他の実施形態:
本開示は、上述した実施形態に限られるものではなく、その趣旨を逸脱しない範囲において種々の形態で実現することができる。例えば、本開示は、以下の形態(aspect)によっても実現可能である。以下に記載した各形態中の技術的特徴に対応する上記実施形態中の技術的特徴は、本開示の課題の一部又は全部を解決するために、あるいは、本開示の効果の一部又は全部を達成するために、適宜、差し替えや、組み合わせを行うことが可能である。また、その技術的特徴が本明細書中に必須なものとして説明されていなければ、適宜、削除することが可能である。
・Other embodiments:
The present disclosure is not limited to the embodiments described above, and can be implemented in various forms without departing from the scope of the present disclosure. For example, the present disclosure can also be implemented in the following aspects. The technical features in the above embodiments corresponding to the technical features in each form described below are used to solve some or all of the problems of the present disclosure, or to achieve some or all of the effects of the present disclosure. In order to achieve the above, it is possible to appropriately replace or combine them. Also, if the technical features are not described as essential in this specification, they can be deleted as appropriate.

(1)本開示の第1の形態によれば、ロボットを制御する制御プログラムが提供される。この制御プログラムは、(a)対象物の3次元の位置および姿勢を示す対象物情報を取得する処理と、(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる処理と、(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた第1所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる処理と、を前記ロボットの制御装置に実行させる。
この制御プログラムによれば、ロボットアームが対象物に近づくときにその実動作速度を設定動作速度よりも低下させるので、ロボットアームが対象物と干渉する可能性を低減できる。
(1) A first aspect of the present disclosure provides a control program for controlling a robot. This control program includes (a) a process of acquiring object information indicating the three-dimensional position and orientation of an object; (c) a process of moving the robot arm at a preset movement speed while calculating the distance; and lowering the actual operating speed of the robot arm below the set operating speed when the actual operating speed of the robot arm is lower than the set first predetermined value.
According to this control program, when the robot arm approaches the object, the actual movement speed is reduced below the set movement speed, so the possibility of the robot arm interfering with the object can be reduced.

(2)上記制御プログラムにおいて、前記処理(c)は、前記ロボットアームを試験的に動作させる実機確認モードで実行する指示をユーザーから受けて、前記ロボットアームを動作させるときの処理であるものとしてもよい。
この制御プログラムによれば、実機確認モードでロボットを動作させるときに、ロボットアームが対象物と干渉する可能性を低減できる。
(2) In the above control program, the process (c) is a process for operating the robot arm upon receiving an instruction from the user to execute the robot arm in an actual device confirmation mode for experimental operation. good too.
According to this control program, it is possible to reduce the possibility of the robot arm interfering with the object when the robot is operated in the actual machine confirmation mode.

(3)上記制御プログラムにおいて、前記処理(c)は、前記実機確認モードの実行回数がゼロのときにのみ実行されるものとしてもよい。
この制御プログラムによれば、実機確認モードの実行回数がゼロのときにのみ実動作速度を低下させるので、実機確認モードに過度の時間を要することを防止できる。
(3) In the above control program, the process (c) may be executed only when the execution count of the actual machine confirmation mode is zero.
According to this control program, since the actual operation speed is reduced only when the number of executions of the actual machine confirmation mode is zero, it is possible to prevent the actual machine confirmation mode from taking an excessive amount of time.

(4)上記制御プログラムにおいて、前記処理(c)は、前記距離が小さいほど前記設定動作速度に対する前記実動作速度の比率を小さくする処理を含むものとしてもよい。
この制御プログラムによれば、対象物に近づくほどロボットアームが減速するので、両者が干渉する前にロボットを停止させ易い。
(4) In the above control program, the processing (c) may include processing for decreasing the ratio of the actual operating speed to the set operating speed as the distance decreases.
According to this control program, since the robot arm decelerates as it approaches the object, it is easy to stop the robot before they interfere with each other.

(5)上記制御プログラムにおいて、前記処理(c)は、前記実動作速度の低下後に、等速で前記ロボットアームを前記対象物に近づける処理と、前記ロボットアームと前記対象物との距離が前記第1所定値よりも小さな第2所定値以下となる場合に、前記実動作速度を更に低下させる処理と、を含むものとしてもよい。
この制御プログラムによれば、実動作速度の低下後に等速で動くので、ロボットアームと対象物が干渉するおそれをユーザーが判断し易く、また、干渉する前にロボットを停止させ易い。
(5) In the above control program, the processing (c) includes processing for bringing the robot arm closer to the object at a constant speed after the actual operation speed is decreased, and and a process of further reducing the actual operating speed when it becomes equal to or less than a second predetermined value smaller than the first predetermined value.
According to this control program, since the robot arm moves at a constant speed after the actual operation speed is lowered, the user can easily determine the possibility of interference between the robot arm and the object, and can easily stop the robot before interference occurs.

(6)上記制御プログラムは、更に、前記ロボットアームと前記対象物との距離に応じた長さのバーを表示部に表示する処理、を前記制御装置に実行させるものとしてもよい。
この制御プログラムによれば、後どれくらいで干渉するかをユーザーが視認できる。
(6) The control program may further cause the control device to display a bar having a length corresponding to the distance between the robot arm and the object on the display unit.
According to this control program, the user can visually confirm how soon the interference will occur.

(7)上記制御プログラムは、更に、前記ロボットアームと前記対象物との距離に応じたカウントダウン情報をユーザーに報知する処理、を前記制御装置に実行させるものとしてもよい。
この制御プログラムによれば、後どれくらいで干渉するかをユーザーに報知できる。
(7) The control program may further cause the control device to execute a process of notifying the user of countdown information according to the distance between the robot arm and the object.
According to this control program, it is possible to inform the user how soon the interference will occur.

(8)上記制御プログラムにおいて、前記対象物の種類に応じて前記第1所定値を変更するものとしてもよい。
この制御プログラムによれば、配線などのように思わぬ干渉が発生し易い対象物でも、干渉する可能性を低減できる。
(8) In the above control program, the first predetermined value may be changed according to the type of the object.
According to this control program, it is possible to reduce the possibility of interference even with an object such as wiring that is likely to cause unexpected interference.

(9)上記制御プログラムにおいて、前記対象物が複数積み上げられている場合に、前記対象物の積み上げ数に応じて前記第1所定値を変更するものとしてもよい。
この制御プログラムによれば、対象物が数多く積みあがって公差が大きくなっている場合でも、その対象物と干渉する可能性を低減できる。
(9) In the above control program, when a plurality of objects are piled up, the first predetermined value may be changed according to the number of piled objects.
According to this control program, even when a large number of objects are piled up and the tolerance is large, the possibility of interference with the objects can be reduced.

(10)本開示の第2の形態によれば、ロボットの制御方法が提供される。この制御方法は、(a)対象物の3次元の位置および姿勢を示す対象物情報を取得する工程と、(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる工程と、(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる工程と、を含む。
この制御方法によれば、ロボットアームが対象物に近づくときにその実動作速度を設定動作速度よりも低下させるので、ロボットアームが対象物と干渉する可能性を低減できる。
(10) According to a second aspect of the present disclosure, a robot control method is provided. This control method comprises the steps of: (a) acquiring object information indicating the three-dimensional position and orientation of an object; (c) moving the robot arm at a preset movement speed while calculating the distance; lowering the actual operating speed of the robot arm below the set operating speed when the actual operating speed of the robot arm is less than or equal to the predetermined value.
According to this control method, when the robot arm approaches the object, the actual movement speed is reduced below the set movement speed, thereby reducing the possibility that the robot arm will interfere with the object.

(11)本開示の第3の形態によれば、ロボットの制御装置が提供される。この制御装置は、対象物の3次元の位置および姿勢を示す対象物情報を記憶する記憶部と、制御部と、を備える。前記制御部は、(a)前記対象物情報を前記記憶部から取得する処理と、(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる処理と、(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる処理と、を実行する。
この制御装置によれば、ロボットアームが対象物に近づくときにその実動作速度を設定動作速度よりも低下させるので、ロボットアームが対象物と干渉する可能性を低減できる。
(11) According to a third aspect of the present disclosure, a robot control device is provided. This control device includes a storage unit that stores object information indicating the three-dimensional position and orientation of an object, and a control unit. The control unit performs (a) a process of acquiring the object information from the storage unit, and (b) using the object information to calculate the distance between the robot arm of the robot and the object, (c) a process of operating the robot arm at a preset set motion speed; and a process of lowering the actual operating speed of the robot arm below the set operating speed when the robot arm is set.
According to this control device, when the robot arm approaches the object, the actual movement speed is reduced below the set movement speed, so that the possibility of the robot arm interfering with the object can be reduced.

本開示は、上記以外の種々の形態で実現することも可能である。例えば、ロボットとロボット制御装置とを備えたロボットシステム、ロボット制御装置の機能を実現するためのコンピュータープログラム、そのコンピュータープログラムを記録した一時的でない記録媒体(non-transitory storage medium)等の形態で実現することができる。 The present disclosure can also be implemented in various forms other than those described above. For example, a robot system comprising a robot and a robot control device, a computer program for realizing the functions of the robot control device, a non-transitory storage medium on which the computer program is recorded, etc. can do.

100…ロボット、110…基台、120…ロボットアーム、130…カメラ、140…非常停止ボタン、200…制御装置、300…情報処理装置、310…プロセッサー、312…教示処理部、314…確認モード実行部、320…メモリー、330…インターフェイス回路、340…入力デバイス、350…表示部、400…ティーチングペンダント DESCRIPTION OF SYMBOLS 100... Robot, 110... Base, 120... Robot arm, 130... Camera, 140... Emergency stop button, 200... Control device, 300... Information processing device, 310... Processor, 312... Teaching processing part, 314... Confirmation mode execution Part 320... Memory 330... Interface circuit 340... Input device 350... Display unit 400... Teaching pendant

Claims (11)

ロボットを制御する制御プログラムであって、
(a)対象物の3次元の位置および姿勢を示す対象物情報を取得する処理と、
(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる処理と、
(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた第1所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる処理と、
を前記ロボットの制御装置に実行させる、制御プログラム。
A control program for controlling a robot,
(a) a process of acquiring object information indicating the three-dimensional position and orientation of the object;
(b) a process of operating the robot arm at a preset operating speed while calculating the distance between the robot arm of the robot and the object using the object information;
(c) when the distance between the robot arm and the object becomes less than or equal to a predetermined first predetermined value in the operation of the robot arm approaching the object, the actual operation speed of the robot arm is set to the setting operation; processing that slows down less than speed;
is executed by the control device of the robot.
請求項1に記載の制御プログラムであって、
前記処理(c)は、前記ロボットアームを試験的に動作させる実機確認モードで実行する指示をユーザーから受けて、前記ロボットアームを動作させるときの処理である、制御プログラム。
The control program according to claim 1,
The control program, wherein the process (c) is a process when the robot arm is operated in response to an instruction from a user to be executed in an actual device confirmation mode in which the robot arm is operated on a trial basis.
請求項2に記載の制御プログラムであって、
前記処理(c)は、前記実機確認モードの実行回数がゼロのときにのみ実行される、制御プログラム。
The control program according to claim 2,
The control program, wherein the process (c) is executed only when the execution count of the actual machine confirmation mode is zero.
請求項1~3のいずれか一項に記載の制御プログラムであって、
前記処理(c)は、前記距離が小さいほど前記設定動作速度に対する前記実動作速度の比率を小さくする処理を含む、制御プログラム。
The control program according to any one of claims 1 to 3,
The control program, wherein the processing (c) includes processing for decreasing the ratio of the actual operating speed to the set operating speed as the distance decreases.
請求項1~3のいずれか一項に記載の制御プログラムであって、
前記処理(c)は、
前記実動作速度の低下後に、等速で前記ロボットアームを前記対象物に近づける処理と、
前記ロボットアームと前記対象物との距離が前記第1所定値よりも小さな第2所定値以下となる場合に、前記実動作速度を更に低下させる処理と、
を含む、制御プログラム。
The control program according to any one of claims 1 to 3,
The processing (c) is
a process of bringing the robot arm closer to the object at a constant speed after the actual operation speed is lowered;
a process of further reducing the actual operation speed when the distance between the robot arm and the object is equal to or less than a second predetermined value smaller than the first predetermined value;
control program, including
請求項1~5のいずれか一項に記載の制御プログラムであって、更に、
前記ロボットアームと前記対象物との距離に応じた長さのバーを表示部に表示する処理、
を前記制御装置に実行させる、制御プログラム。
The control program according to any one of claims 1 to 5, further comprising
A process of displaying a bar having a length corresponding to the distance between the robot arm and the object on a display unit;
is executed by the control device.
請求項1~6のいずれか一項に記載の制御プログラムであって、更に、
前記ロボットアームと前記対象物との距離に応じたカウントダウン情報をユーザーに報知する処理、
を前記制御装置に実行させる、制御プログラム。
The control program according to any one of claims 1 to 6, further comprising
A process of informing a user of countdown information according to the distance between the robot arm and the object;
is executed by the control device.
請求項1~7のいずれか一項に記載の制御プログラムであって、
前記対象物の種類に応じて前記第1所定値を変更する、制御プログラム。
The control program according to any one of claims 1 to 7,
A control program that changes the first predetermined value according to the type of the object.
請求項1~8のいずれか一項に記載の制御プログラムであって、
前記対象物が複数積み上げられている場合に、前記対象物の積み上げ数に応じて前記第1所定値を変更する、制御プログラム。
The control program according to any one of claims 1 to 8,
A control program for changing the first predetermined value according to the number of piled objects when a plurality of the objects are piled up.
ロボットの制御方法であって、
(a)対象物の3次元の位置および姿勢を示す対象物情報を取得する工程と、
(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる工程と、
(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる工程と、
を含む、制御方法。
A robot control method comprising:
(a) obtaining object information indicating the three-dimensional position and orientation of the object;
(b) operating the robot arm at a preset operating speed while calculating the distance between the robot arm of the robot and the object using the object information;
(c) increasing the actual operating speed of the robot arm from the set operating speed when the distance between the robot arm and the object is equal to or less than a predetermined value during the movement of the robot arm to approach the object; a step of also reducing
control methods, including;
ロボットの制御装置であって、
対象物の3次元の位置および姿勢を示す対象物情報を記憶する記憶部と、
制御部と、
を備え、
前記制御部は、
(a)前記対象物情報を前記記憶部から取得する処理と、
(b)前記対象物情報を用いて前記ロボットが有するロボットアームと前記対象物との距離を計算しながら、予め設定された設定動作速度で前記ロボットアームを動作させる処理と、
(c)前記ロボットアームが前記対象物に近づく動作において前記ロボットアームと前記対象物との距離が予め定められた所定値以下となる場合に、前記ロボットアームの実動作速度を前記設定動作速度よりも低下させる処理と、
を実行する、制御装置。
A control device for a robot,
a storage unit that stores object information indicating the three-dimensional position and orientation of the object;
a control unit;
with
The control unit
(a) a process of acquiring the target object information from the storage unit;
(b) a process of operating the robot arm at a preset operating speed while calculating the distance between the robot arm of the robot and the object using the object information;
(c) increasing the actual operating speed of the robot arm from the set operating speed when the distance between the robot arm and the object is equal to or less than a predetermined value during the movement of the robot arm to approach the object; a process that also reduces
A control device that executes
JP2021010545A 2021-01-26 2021-01-26 Control program for controlling robot, robot control method, and robot control device Pending JP2022114299A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021010545A JP2022114299A (en) 2021-01-26 2021-01-26 Control program for controlling robot, robot control method, and robot control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021010545A JP2022114299A (en) 2021-01-26 2021-01-26 Control program for controlling robot, robot control method, and robot control device

Publications (1)

Publication Number Publication Date
JP2022114299A true JP2022114299A (en) 2022-08-05

Family

ID=82658521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021010545A Pending JP2022114299A (en) 2021-01-26 2021-01-26 Control program for controlling robot, robot control method, and robot control device

Country Status (1)

Country Link
JP (1) JP2022114299A (en)

Similar Documents

Publication Publication Date Title
JP5911933B2 (en) Robot system for setting the robot motion monitoring area
JP6683671B2 (en) Robot controller for setting the jog coordinate system
JP6598454B2 (en) Teaching data creation method, creation device, and creation program
JP2014097569A (en) Teaching point program selection method for robot simulator
US20170197308A1 (en) Teaching data generating device and teaching data-generating method for work robot
JP2018039060A (en) Robot simulation device
JPS6179589A (en) Operating device for robot
US6226567B1 (en) Off-line teaching apparatus
US20220176555A1 (en) Non-transitory computer-readable storage medium and teaching method for robot
JP2022114299A (en) Control program for controlling robot, robot control method, and robot control device
JP7475841B2 (en) Information processing method, robot system, article manufacturing method, and information processing device
US11975454B2 (en) Program generation device and non-transitory computer-readable storage medium storing program
US20220395985A1 (en) Information processing apparatus, information processing method, display apparatus, display method, robot system, article production method, program, and storage medium
JP2007136671A (en) Method of evaluating and correcting robot program, and device for evaluating and correcting the robot program
EP4052865A1 (en) Information processing apparatus, robot system, information processing method, program, and recording medium
JP2009166172A (en) Simulation method and simulator for robot
JPH0736519A (en) Nearmiss checking method for robot
JPS6097409A (en) Operation teaching method of robot
Piyavichayanon et al. Collision-aware ar telemanipulation using depth mesh
CN113681574A (en) Three-dimensional visual simulation and off-line programming system of robot for metal plate bending
JP2000112510A (en) Robot teaching method and its device
CN114800482B (en) Method for creating control program of robot, system thereof, and recording medium
JPH0520403A (en) Automatic interference check system
JP7469457B2 (en) ROBOT PROGRAMMING DEVICE AND ROBOT PROGRAMMING METHOD
JP2559081B2 (en) Teaching data creation method and device