KR102678996B1 - Path generation apparatus and method for controlling end-effector of robot manipulator - Google Patents

Path generation apparatus and method for controlling end-effector of robot manipulator Download PDF

Info

Publication number
KR102678996B1
KR102678996B1 KR1020220095638A KR20220095638A KR102678996B1 KR 102678996 B1 KR102678996 B1 KR 102678996B1 KR 1020220095638 A KR1020220095638 A KR 1020220095638A KR 20220095638 A KR20220095638 A KR 20220095638A KR 102678996 B1 KR102678996 B1 KR 102678996B1
Authority
KR
South Korea
Prior art keywords
vector
path
velocity
end effect
input vector
Prior art date
Application number
KR1020220095638A
Other languages
Korean (ko)
Other versions
KR20240017667A (en
Inventor
이준영
김무림
신동관
장원보
Original Assignee
한국로봇융합연구원
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 한국로봇융합연구원 filed Critical 한국로봇융합연구원
Priority to KR1020220095638A priority Critical patent/KR102678996B1/en
Publication of KR20240017667A publication Critical patent/KR20240017667A/en
Application granted granted Critical
Publication of KR102678996B1 publication Critical patent/KR102678996B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1612Programme controls characterised by the hand, wrist, grip control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

로봇 매니퓰레이터의 말단효과장치에 대한 제어를 위한 경로 생성 장치 및 방법이 개시된다. 경로 생성 장치는 로봇 매니퓰레이터의 말단효과장치에 대한 현재 위치 및 목표 위치가 확인되면 현재 위치 및 목표 위치에 말단효과장치의 방위를 반영하여 입력벡터를 생성하는 입력벡터 생성부, 생성된 입력벡터를 기반으로 속도 프로파일 연산을 하여 말단효과장치의 선속도와 각속도를 반영한 경로를 산출하는 경로 산출부 및 산출된 경로의 위치, 속도 및 가속도를 말단효과장치에서 이용 가능한 출력벡터로 변환하는 출력벡터 생성부를 포함한다.A path generating apparatus and method for controlling an end-effector of a robot manipulator are disclosed. When the current position and target position of the end effect device of the robot manipulator are confirmed, the path generation device is an input vector generator that generates an input vector by reflecting the direction of the end effect device in the current position and target position, and generates an input vector based on the generated input vector. It includes a path calculation unit that calculates a path reflecting the linear and angular velocities of the end-effector device by calculating a velocity profile, and an output vector generation unit that converts the position, speed, and acceleration of the calculated path into an output vector usable by the end-effector device. do.

Description

로봇 매니퓰레이터의 말단효과장치에 대한 제어를 위한 경로 생성 장치 및 방법{Path generation apparatus and method for controlling end-effector of robot manipulator}Path generation apparatus and method for controlling end-effector of robot manipulator}

본 발명은 경로 생성 장치에 관한 것으로써, 더욱 상세하게는 말단효과장치의 선속도 및 각속도를 모두 고려하여 경로를 생성하는 로봇 매니퓰레이터의 말단효과장치에 대한 제어를 위한 경로 생성 장치 및 방법에 관한 것이다.The present invention relates to a path generating device, and more specifically, to a path generating device and method for controlling the end effect device of a robot manipulator that generates a path by considering both the linear and angular velocities of the end effect device. .

일반적으로 로봇 매니퓰레이터는 모션 구동을 위해 작업공간(task space)에서 2차 다항식을 이용하여 속도 프로파일을 생성할 수 있다. 여기서 이상적인 경로 생성은 위치, 속도 및 가속도가 모두 시간에 대해 연속적인 함수로 표현되어야 한다. 이를 통해 로봇 매니퓰레이터는 부드러운 모션의 생성이 가능하다. In general, a robot manipulator can generate a speed profile using a second-order polynomial in a task space for motion driving. Here, ideal path generation requires that position, velocity, and acceleration all be expressed as continuous functions of time. Through this, the robot manipulator can create smooth motion.

한편 이러한 경로 생성하는데 발생되는 문제는 공간상에서 궤도 또는 경로를 로봇 매니퓰레이터에 어떻게 할당할 것에 있다. 즉 시스템은 사용자로부터 원하는 목표 지점(위치와 방위)를 입력받아 속도 프로파일을 생성하고, 생성된 속도 프로파일을 기반으로 정확한 경로를 로봇 매니퓰레이터에 명령한다. 이때 시스템은 내부적으로 속도 프로파일을 생성하기 위해 최대속도, 가감속시간, 목표지점까지의 경과시간, 저크(jerk)(가속도의 미분) 방지 알고리즘 등을 포함한다. 여기서 입출력은 말단효과장치의 위치와 방위를 포함하는 위치벡터이다.Meanwhile, the problem that arises in creating such a path lies in how to allocate the trajectory or path in space to the robot manipulator. In other words, the system receives the desired target point (position and direction) from the user, generates a speed profile, and commands the robot manipulator to set an accurate path based on the generated speed profile. At this time, the system internally includes maximum speed, acceleration/deceleration time, elapsed time to the target point, and jerk (derivative of acceleration) prevention algorithm to create a speed profile. Here, the input and output are position vectors containing the position and orientation of the end-effector.

속도 프로파일에서 최대속도는 선속도를 기준으로 정의되기 때문에 위치에 대해 정확한 속도를 지키며 사용자가 명령한 작업의 수행이 가능하다. 하지만 각속도를 이용하는 방위의 경우, 일 예로 위치를 고정하고 방위만을 할당할 때, 주어진 로봇 매니퓰레이터의 각속도는 여전히 최대 선속도에 의존하여 결정이 된다. In the speed profile, the maximum speed is defined based on the linear speed, so it is possible to perform the task commanded by the user while maintaining an accurate speed for the position. However, in the case of orientation using angular velocity, for example, when the position is fixed and only the orientation is assigned, the angular velocity of a given robot manipulator is still determined depending on the maximum linear velocity.

실제로 각속도는 rad/sec로 산출되고, 선속도는 m/sec로 산출되므로, 주어진 로봇 매니퓰레이터의 기하학 구조에 따라 각속도가 선속도에 비해 상대적으로 느리거나, 빠른 동작을 수행할 수 있다. 이는 사용자가 로봇 매니퓰레이터에 특정 모션을 할당할 때마다 사다리꼴 프로파일의 최대속도를 변경해야 하는 불편함을 야기한다.In reality, angular velocity is calculated in rad/sec and linear velocity is calculated in m/sec, so depending on the geometry of a given robot manipulator, the angular velocity can be relatively slow or fast compared to the linear velocity. This causes the inconvenience of having to change the maximum speed of the trapezoidal profile every time the user assigns a specific motion to the robot manipulator.

따라서 이러한 불편함을 해소하면서 안정적으로 로봇 매니퓰레이터를 구동할 수 있도록 하는 연구가 필요한 실정이다.Therefore, research is needed to eliminate these inconveniences and enable the robot manipulator to operate stably.

한국등록특허공보 제10-1411503호 (2014.06.18.)Korean Patent Publication No. 10-1411503 (2014.06.18.)

본 발명이 해결하고자 하는 과제는, 말단효과장치의 선속도와 각속도의 단위 스케일링을 포함하는 속도 프로파일을 이용하여 로봇 매니퓰레이터가 작업공간에서 원하는 궤적으로 움직일 수 있도록 경로를 생성하는 로봇 매니퓰레이터의 말단효과장치의 제어를 위한 경로 생성 장치 및 방법을 제공하는 것이다. The problem that the present invention aims to solve is the end effect device of the robot manipulator, which generates a path so that the robot manipulator can move in a desired trajectory in the work space using a velocity profile including unit scaling of the linear and angular velocities of the end effect device. To provide a path creation device and method for control.

상기 과제를 해결하기 위해 본 발명에 따른 경로 생성 장치는 로봇 매니퓰레이터의 말단효과장치에 대한 현재 위치 및 목표 위치가 확인되면 상기 현재 위치 및 상기 목표 위치에 상기 말단효과장치의 방위를 반영하여 입력벡터를 생성하는 입력벡터 생성부, 상기 생성된 입력벡터를 기반으로 속도 프로파일 연산을 하여 상기 말단효과장치의 선속도와 각속도를 반영한 경로를 산출하는 경로 산출부 및 상기 산출된 경로의 위치, 속도 및 가속도를 상기 말단효과장치에서 이용 가능한 출력벡터로 변환하는 출력벡터 생성부를 포함한다.In order to solve the above problem, the path generation device according to the present invention generates an input vector by reflecting the orientation of the end effect device in the current position and the target position when the current position and target position of the end effect device of the robot manipulator are confirmed. An input vector generation unit that generates an input vector, a path calculation unit that calculates a path reflecting the linear velocity and angular velocity of the end effect device by calculating a velocity profile based on the generated input vector, and the position, velocity, and acceleration of the calculated path. and an output vector generator that converts the output vector into an output vector usable by the end effect device.

또한 상기 출력벡터를 기반으로 상기 말단효과장치의 구동을 제어하는 제어신호를 생성하는 구동 제어부를 더 포함하는 것을 특징으로 한다.Additionally, it may further include a drive control unit that generates a control signal to control the drive of the end effect device based on the output vector.

또한 상기 입력벡터 생성부는, 원의 반지름, 각도 및 호의 상관관계를 이용하여 위치벡터와 방위벡터를 나타내는 스케일 조절 벡터를 산출하고, 상기 산출된 스케일 조절 벡터를 이용한 각속도 변환으로 상기 입력벡터를 생성하는 것을 특징으로 한다.In addition, the input vector generator calculates a scale control vector representing a position vector and a direction vector using the correlation between the radius, angle, and arc of the circle, and generates the input vector by angular velocity conversion using the calculated scale control vector. It is characterized by

또한 상기 입력벡터 생성부는, 하기 수학식을 이용하여 상기 스케일 조절 벡터를 정의하는 것을 특징으로 한다.Additionally, the input vector generator defines the scale control vector using the following equation.

[수학식][Equation]

여기서 r은 스케일 조절 벡터를 의미하고, rpos는 위치벡터를 의미하며, rori는 방위벡터를 의미하고, m은 위치 공간에 대한 자유도를 의미하며, n은 전체 공간에 대한 자유도를 의미한다.Here, r means the scale control vector, r pos means the position vector, r ori means the orientation vector, m means the degree of freedom for the position space, and n means the degree of freedom for the entire space.

또한 상기 입력벡터 생성부는, 하기 수학식을 이용하여 상기 입력벡터를 생성하는 것을 특징으로 한다.Additionally, the input vector generator generates the input vector using the following equation.

[수학식][Equation]

여기서 p는 속도 프로파일 연산을 위한 입력벡터를 의미하고, r은 스케일 조절 벡터를 의미하며, X는 말단효과장치의 위치벡터와 방위벡터를 의미하고, i는 각 벡터의 i번째 요소를 의미한다.Here, p refers to the input vector for calculating the velocity profile, r refers to the scale control vector,

또한 상기 출력벡터 생성부는, 상기 경로의 위치, 속도 및 가속도에 상기 스케일 조절 벡터의 역수를 적용하여 상기 출력 벡터로 변환하는 것을 특징으로 한다.Additionally, the output vector generator converts the position, velocity, and acceleration of the path into the output vector by applying the reciprocal of the scale adjustment vector.

또한 상기 출력벡터 생성부는, 하기 수학식을 이용하여 상기 출력벡터를 생성하는 것을 특징으로 한다.Additionally, the output vector generator generates the output vector using the following equation.

[수학식][Equation]

여기서 p는 위치를 의미하고, v는 속도를 의미하며, a는 가속도를 의미하고, 는 위치에 대한 출력벡터를 의미하며, 는 속도에 대한 출력벡터를 의미하고, 는 가속도에 대한 출력벡터를 의미한다.Here p means position, v means velocity, a means acceleration, means the output vector for the position, means the output vector for speed, means the output vector for acceleration.

본 발명에 따른 경로 생성 방법은 경로 생성 장치가 로봇 매니퓰레이터의 말단효과장치에 대한 현재 위치 및 목표 위치를 확인하면 상기 현재 위치 및 상기 목표 위치에 상기 말단효과장치의 방위를 반영하여 입력벡터를 생성하는 단계, 상기 경로 생성 장치가 상기 생성된 입력벡터를 기반으로 속도 프로파일 연산을 하여 상기 말단효과장치의 선속도와 각속도를 반영한 경로를 산출하는 단계 및 상기 경로 생성 장치가 상기 산출된 경로의 위치, 속도 및 가속도를 상기 말단효과장치에서 이용 가능한 출력벡터로 변환하는 단계를 포함한다.The path generation method according to the present invention generates an input vector by reflecting the orientation of the end effect device in the current position and the target position when the path generation device confirms the current position and target position of the end effect device of the robot manipulator. Step, the path generating device calculates a path reflecting the linear velocity and angular velocity of the end effect device by calculating a velocity profile based on the generated input vector, and the path generating device calculates the position and speed of the calculated path. and converting the acceleration into an output vector usable by the end effect device.

본 발명의 실시예에 따르면, 로봇 매니퓰레이터가 작업공간에서 원하는 동작의 수행을 위해 말단효과장치의 선속도와 각속도를 모두 고려하여 속도 프로파일을 설계하고, 설계된 속도 프로파일을 이용하여 현재 위치에서 목표 위치까지의 경로를 생성할 수 있다.According to an embodiment of the present invention, the robot manipulator designs a velocity profile by considering both the linear velocity and angular velocity of the end effect device in order to perform the desired motion in the work space, and moves from the current position to the target position using the designed velocity profile. A path can be created.

이를 통해 로봇 매니퓰레이터는 각속도의 동작을 수행할 때 적절한 속도를 수렴하면서 동작을 수행할 수 있다. Through this, the robot manipulator can perform movements while converging at an appropriate speed when performing movements at angular speeds.

도 1은 본 발명의 실시예에 따른 경로 생성 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 실시예에 따른 속도, 가속도, 저크 프로파일을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 속도 프로파일 중 가속구간을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 경로 생성 장치를 설명하기 위한 블록도이다.
도 5는 본 발명의 실시예에 따른 경로 생성 장치의 연산과정을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 스케일링 조절 벡터의 선정을 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 경로 생성 방법을 설명하기 위한 순서도이다.
도 8은 본 발명의 실시예에 따른 컴퓨팅 장치를 설명하기 위한 블록도이다.
1 is a configuration diagram for explaining a route creation system according to an embodiment of the present invention.
Figure 2 is a diagram for explaining speed, acceleration, and jerk profiles according to an embodiment of the present invention.
Figure 3 is a diagram for explaining an acceleration section of a speed profile according to an embodiment of the present invention.
Figure 4 is a block diagram for explaining a route creation device according to an embodiment of the present invention.
Figure 5 is a diagram for explaining the calculation process of the path creation device according to an embodiment of the present invention.
Figure 6 is a diagram for explaining selection of a scaling adjustment vector according to an embodiment of the present invention.
Figure 7 is a flowchart for explaining a route creation method according to an embodiment of the present invention.
Figure 8 is a block diagram for explaining a computing device according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Below, with reference to the attached drawings, embodiments of the present invention will be described in detail so that those skilled in the art can easily implement the present invention. However, the present invention may be implemented in many different forms and is not limited to the embodiments described herein. In order to clearly explain the present invention in the drawings, parts unrelated to the description are omitted, and similar parts are given similar reference numerals throughout the specification.

본 명세서 및 도면(이하 '본 명세서')에서, 동일한 구성요소에 대해서 중복된 설명은 생략한다.In this specification and drawings (hereinafter referred to as “this specification”), duplicate descriptions of the same components are omitted.

또한 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '연결되어' 있다거나 '접속되어' 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에 본 명세서에서, 어떤 구성요소가 다른 구성요소에 '직접 연결되어' 있다거나 '직접 접속되어' 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.Also, in this specification, when a component is mentioned as being 'connected' or 'connected' to another component, it may be directly connected or connected to the other component, but may be connected to the other component in the middle. It should be understood that may exist. On the other hand, in this specification, when it is mentioned that a component is 'directly connected' or 'directly connected' to another component, it should be understood that there are no other components in between.

또한, 본 명세서에서 사용되는 용어는 단지 특정한 실시예를 설명하기 위해 사용되는 것으로써, 본 발명을 한정하려는 의도로 사용되는 것이 아니다. Additionally, the terms used in this specification are merely used to describe specific embodiments and are not intended to limit the present invention.

또한 본 명세서에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. Also, in this specification, singular expressions may include plural expressions, unless the context clearly dictates otherwise.

또한 본 명세서에서, '포함하다' 또는 '가지다' 등의 용어는 명세서에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품, 또는 이들을 조합한 것이 존재함을 지정하려는 것일 뿐, 하나 또는 그 이상의 다른 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 할 것이다.In addition, in this specification, terms such as 'include' or 'have' are only intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, and one or more It should be understood that this does not exclude in advance the presence or addition of other features, numbers, steps, operations, components, parts, or combinations thereof.

또한 본 명세서에서, '및/또는' 이라는 용어는 복수의 기재된 항목들의 조합 또는 복수의 기재된 항목들 중의 어느 항목을 포함한다. 본 명세서에서, 'A 또는 B'는, 'A', 'B', 또는 'A와 B 모두'를 포함할 수 있다.Also, in this specification, the term 'and/or' includes a combination of a plurality of listed items or any of the plurality of listed items. In this specification, 'A or B' may include 'A', 'B', or 'both A and B'.

또한 본 명세서에서, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략될 것이다.Additionally, in this specification, detailed descriptions of well-known functions and configurations that may obscure the gist of the present invention will be omitted.

도 1은 본 발명의 실시예에 따른 경로 생성 시스템을 설명하기 위한 구성도이고, 도 2는 본 발명의 실시예에 따른 속도, 가속도, 저크 프로파일을 설명하기 위한 도면이며, 도 3은 본 발명의 실시예에 따른 속도 프로파일 중 가속구간을 설명하기 위한 도면이다. 도 2의 (a)는 속도 프로파일을 설명하는 도면이고, (b)는 가속도 프로파일을 설명하기 위한 도면이며, (c)는 저크 프로파일을 설명하기 위한 도면이다.FIG. 1 is a configuration diagram for explaining a path creation system according to an embodiment of the present invention, FIG. 2 is a diagram for explaining speed, acceleration, and jerk profile according to an embodiment of the present invention, and FIG. 3 is a diagram for explaining a path generation system according to an embodiment of the present invention. This is a diagram to explain the acceleration section of the speed profile according to the embodiment. (a) of FIG. 2 is a diagram illustrating a velocity profile, (b) is a diagram illustrating an acceleration profile, and (c) is a diagram illustrating a jerk profile.

도 1 내지 도 3을 참조하면, 경로 생성 시스템(400)은 로봇 매니퓰레이터(200)가 작업공간에서 원하는 궤적(trajectory)으로 안정적으로 움직일 수 있도록 도와준다. 이때 경로 생성 시스템(400)은 말단효과장치(end-effector)의 선속도와 각속도의 단위 스케일링을 포함하는 속도 프로파일을 이용하여 경로를 생성할 수 있다. 경로 생성 시스템(400)은 경로 생성 장치(100), 로봇 매니퓰레이터(200) 및 사용자 단말(300)을 포함한다.1 to 3, the path creation system 400 helps the robot manipulator 200 to stably move along a desired trajectory in the workspace. At this time, the path creation system 400 may generate a path using a velocity profile including unit scaling of the linear velocity and angular velocity of the end-effector. The path creation system 400 includes a path creation device 100, a robot manipulator 200, and a user terminal 300.

경로 생성 장치(100)는 로봇 매니퓰레이터(200)의 말단효과장치에 대한 현재 위치 및 목표 위치가 확인되면 현재 위치 및 목표 위치에 말단효과장치의 방위를 반영하여 입력벡터를 생성한다. 경로 생성 장치(100)는 생성된 입력벡터를 기반으로 속도 프로파일 연산을 수행한다. 이를 통해 경로 생성 장치(100)는 말단효과장치의 선속도와 각속도를 반영한 경로를 산출한다. When the current position and target position of the end effect device of the robot manipulator 200 are confirmed, the path generating device 100 generates an input vector by reflecting the orientation of the end effect device in the current position and target position. The path creation device 100 performs a speed profile calculation based on the generated input vector. Through this, the path generating device 100 calculates a path reflecting the linear velocity and angular velocity of the end effect device.

한편 경로 생성 장치(100)는 2차 다항식을 이용하여 속도 프로파일을 생성하고, 생성된 속도 프로파일을 가진 경로 생성 함수를 통해 경로를 산출할 수 있다. 이때 가속도의 미분 값은 상수 값을 가져야 하며, 이러한 상수 값을 저크(jerk)라고 한다. 바람직하게는 경로는 위치, 속도 및 가속도가 모두 시간에 대해 연속적인 함수로 표현될 수 있으며, 도 2와 같이 속도, 가속도 및 저크의 곡선이 도시될 수 있다. 속도(v), 가속도(a) 및 저크(j)는 [수학식 1]과 같이 표현 가능하다.Meanwhile, the route creation device 100 may generate a speed profile using a second-order polynomial and calculate the route through a route creation function with the generated speed profile. At this time, the differential value of acceleration must have a constant value, and this constant value is called jerk. Preferably, the path may have position, velocity, and acceleration all expressed as continuous functions of time, and curves of velocity, acceleration, and jerk may be shown as shown in FIG. 2. Velocity (v), acceleration (a), and jerk (j) can be expressed as [Equation 1].

여기서 v(t)는 시간에 대한 함수로써, v(t)를 얻기 위한 파라미터는 v0(초기속도), vs(최대속도), ta(가속시간), p0(시작위치), ps(목표위치) 및 저크 비율(jerk ratio)을 포함한다. 저크 비율은 시간구간 0 ~ ta 까지를 100%라고 할 때, 이를 기준으로 저크 세트(jerk set) Jm이 양수 또는 음수로 나타나는 구간의 비를 나타내고, t1을 통해 구분이 된다. 즉 t1은 가속도가 등가속도로 변하는 시점을 나타낸다(도 3). ta 구간은 저크 비율을 이용하여 t1로 나누고, 시간에 대한 속도를 표현한다. 즉 평균 가속도 및 최대 가속도는 각각 [수학식 2], [수학식 3]과 같이 표현 가능하다.Here, v(t) is a function of time, and the parameters to obtain v(t) are v 0 (initial speed), v s (maximum speed), t a (acceleration time), p 0 (starting position), p s (target position) and jerk ratio. Assuming that the time interval from 0 to t a is 100%, the jerk rate represents the ratio of the section in which the jerk set J m appears as a positive or negative number based on this, and is distinguished through t 1 . In other words, t 1 represents the point in time when the acceleration changes to constant acceleration (Figure 3). The t a section is divided by t 1 using the jerk rate and expresses the speed over time. That is, the average acceleration and maximum acceleration can be expressed as [Equation 2] and [Equation 3], respectively.

경로 생성 장치(100)는 산출된 경로의 위치, 속도, 가속도를 말단효과장치에서 이용 가능한 출력벡터로 변환한다. 경로 생성 장치(100)는 산출된 출력벡터를 기반으로 말단효과장치의 구동을 제어하는 제어신호를 생성하고, 생성된 제어신호를 통해 로봇 매니퓰레이터(200)의 구동을 제어한다. 여기서 제어신호는 로봇 매니퓰레이터(200)의 위치 및 토크를 제어하는 신호일 수 있다. The path creation device 100 converts the position, velocity, and acceleration of the calculated path into output vectors that can be used in the end effect device. The path generating device 100 generates a control signal that controls the operation of the end effect device based on the calculated output vector, and controls the operation of the robot manipulator 200 through the generated control signal. Here, the control signal may be a signal that controls the position and torque of the robot manipulator 200.

로봇 매니퓰레이터(200)는 다자유도 로봇으로써, 다양한 분야에서 사용되는 매니퓰레이터일 수 있다. 바람직하게는 로봇 매니퓰레이터(200)는 반도체 분야, 제조 분야 등에서 사용되는 매니퓰레이터일 수 있다. 로봇 매니퓰레이터(200)는 작업공간에서 원하는 동작을 수행한다. 이때 로봇 매니퓰레이터(200)는 복수의 링크 중 말단에 연결된 말단효과장치의 선속도와 각속도를 반영하여 동작을 수행할 수 있다. 로봇 매니퓰레이터(200)는 경로 생성 장치(100)로부터 동작에 대한 제어신호를 수신하고, 수신된 제어신호에 따라 구동할 수 있다. 또한 로봇 매니퓰레이터(200)는 현재의 상태정보를 경로 생성 장치(100)로 전송할 수 있다. 여기서 상태정보는 각 관절의 위치, 속도, 가속도 등과 관련된 정보일 수 있다. The robot manipulator 200 is a multi-degree-of-freedom robot and may be a manipulator used in various fields. Preferably, the robot manipulator 200 may be a manipulator used in the semiconductor field, manufacturing field, etc. The robot manipulator 200 performs desired operations in the workspace. At this time, the robot manipulator 200 may perform operations by reflecting the linear velocity and angular velocity of the end effect device connected to the end of the plurality of links. The robot manipulator 200 may receive a control signal for operation from the path creation device 100 and drive according to the received control signal. Additionally, the robot manipulator 200 may transmit current state information to the path creation device 100. Here, the status information may be information related to the position, speed, acceleration, etc. of each joint.

사용자 단말(300)은 경로 생성 장치(100)와 유무선 통신을 한다. 사용자 단말(300)은 경로 생성 장치(100)로부터 로봇 매니퓰레이터(200)의 상태정보를 수신한다. 사용자 단말(300)은 수신된 상태정보를 출력하여 사용자가 로봇 매니퓰레이터(200)의 동작 상태를 직관적으로 인지할 수 있도록 도와준다. 또한 사용자 단말(300)은 로봇 매니퓰레이터(200)의 목표 위치를 설정함으로써, 설정된 목표 위치로 로봇 매니퓰레이터(200)가 이동하도록 제어할 수 있다. The user terminal 300 communicates wired and wirelessly with the route creation device 100. The user terminal 300 receives status information of the robot manipulator 200 from the path creation device 100. The user terminal 300 outputs the received status information to help the user intuitively recognize the operating status of the robot manipulator 200. Additionally, the user terminal 300 can control the robot manipulator 200 to move to the set target position by setting the target position of the robot manipulator 200.

도 4는 본 발명의 실시예에 따른 경로 생성 장치를 설명하기 위한 블록도이고, 도 5는 본 발명의 실시예에 따른 경로 생성 장치의 연산과정을 설명하기 위한 도면이며, 도 6은 본 발명의 실시예에 따른 스케일링 조절 벡터의 선정을 설명하기 위한 도면이다.Figure 4 is a block diagram for explaining a path generating device according to an embodiment of the present invention, Figure 5 is a diagram for explaining the calculation process of the path generating device according to an embodiment of the present invention, and Figure 6 is a block diagram for explaining the path generating device according to an embodiment of the present invention. This is a diagram to explain the selection of a scaling control vector according to an embodiment.

도 1, 도 4 내지 도 6을 참조하면, 경로 생성 장치(100)는 통신부(10), 입력부(30), 제어부(50) 및 저장부(70)를 포함한다.1, 4 to 6, the route creation device 100 includes a communication unit 10, an input unit 30, a control unit 50, and a storage unit 70.

통신부(10)는 로봇 매니퓰레이터(200) 및 사용자 단말(300)과의 통신을 수행한다. 통신부(10)는 로봇 매니퓰레이터(200)로부터 각 관절의 위치, 속도, 가속도 등과 관련된 정보인 상태정보를 수신한다. 통신부(10)는 로봇 매니퓰레이터(200)를 구동하기 위한 제어신호를 로봇 매니퓰레이터(200)로 전송한다. 통신부(10)는 사용자 단말(300)로부터 목표 위치와 관련된 사용자 입력을 수신한다. 통신부(10)는 로봇 매니퓰레이터(200)의 상태정보를 사용자 단말(300)로 전송한다.The communication unit 10 performs communication with the robot manipulator 200 and the user terminal 300. The communication unit 10 receives status information, which is information related to the position, speed, acceleration, etc. of each joint, from the robot manipulator 200. The communication unit 10 transmits a control signal for driving the robot manipulator 200 to the robot manipulator 200. The communication unit 10 receives user input related to the target location from the user terminal 300. The communication unit 10 transmits status information of the robot manipulator 200 to the user terminal 300.

입력부(30)는 로봇 매니퓰레이터(200)가 현재 위치에서 다음으로 이동할 위치인 목표 위치와 관련된 사용자 입력을 입력받는다. 여기서 사용자 입력은 입력부(30)를 통해 직접 입력되거나, 통신부(10)를 통해 사용자 단말(300)로부터 수신될 수 있다.The input unit 30 receives a user input related to the target position, which is the next position where the robot manipulator 200 will move from the current position. Here, the user input may be directly input through the input unit 30 or may be received from the user terminal 300 through the communication unit 10.

제어부(50)는 경로 생성 장치(100)의 전반적인 제어를 수행한다. 제어부(50)는 입력벡터 생성부(51), 경로 산출부(52) 및 출력벡터 생성부(53)를 포함하고, 구동 제어부(54)를 더 포함할 수 있다.The control unit 50 performs overall control of the route creation device 100. The control unit 50 includes an input vector generation unit 51, a path calculation unit 52, and an output vector generation unit 53, and may further include a drive control unit 54.

입력벡터 생성부(51)는 경로 연산을 위한 입력벡터를 생성한다. 여기서 입력벡터 생성부(51)는 다음과 같은 사항을 고려하여 스케일 조절 벡터를 산출할 수 있다. 일반적으로 말단효과장치의 위치는 미터[m] 단위에서 연산이 되고, 방위는 라디안[rad] 단위에서 연산된다. The input vector generator 51 generates an input vector for path calculation. Here, the input vector generator 51 can calculate the scale adjustment vector by considering the following matters. In general, the position of the end-effector device is calculated in meters [m], and the direction is calculated in radians [rad] units.

예를 들어 속도 프로파일을 생성하는 경우, 최대속도(vs)는 선속도로 설정되고, 단위를 m/sec로 적용될 수 있다(도 2의 (a)). 즉 원의 반지름이 1m이고, 최대속도가 1m/sec로 설정하며, 방위만 움직일 경우, 약 57,23 deg/sec(1rad/sec)로 회전하는 것을 확인할 수 있다. 이는 사용자가 원하는 방위의 각속도를 얻는 것이 로봇 매니퓰레이터의 위치와 관련된 선속도에 의존하여 결정된다는 것을 의미한다. 이러한 기본 원리를 기반으로 [수학식 4]를 도출할 수 있다.For example, when creating a speed profile, the maximum speed (v s ) is set to linear speed, and the unit can be applied as m/sec ((a) in FIG. 2). In other words, the radius of the circle is 1m, the maximum speed is set to 1m/sec, and if only the direction is moved, it can be confirmed that it rotates at about 57.23 deg/sec (1rad/sec). This means that obtaining the angular velocity of the user's desired orientation is determined depending on the linear velocity associated with the position of the robot manipulator. Based on these basic principles, [Equation 4] can be derived.

여기서 r은 원의 반지름을 의미하고, θ는 회전각도를 의미하며, s는 회전에 대한 호를 의미한다. Here, r means the radius of the circle, θ means the rotation angle, and s means the arc of rotation.

여기서 b는 로봇 매니퓰레이터의 베이스 좌표계를 의미하며, t는 말단효과장치의 툴(tool) 좌표계를 의미한다. Here, b refers to the base coordinate system of the robot manipulator, and t refers to the tool coordinate system of the end effect device.

일 예로, 6자유도를 가진 작업공간에서 말단효과장치의 위치와 방위를 나타내는 벡터는 [수학식 5]와 같이 표현될 수 있으며, [수학식 5]는 [수학식 4]와 대응될 수 있다. 즉 X는 말단효과장치의 위치(x, y, z)와 방위(α, β, γ)를 나타내므로, 방위를 나타내는 변수들(α, β, γ)은 회전각도(θ)에 대응된다고 볼 수 있다. 따라서 반지름(r)을 회전각도(θ)와 호(s) 사이의 스케일링 파라미터라 가정하면 회전각도(θ)에 곱하여 미터(m) 단위를 사용하는 변수(s)로 변환이 가능하다. 즉 반지름(r)을 조절함으로써, 길이의 단위에서 방위의 회전을 고려할 수 있다.As an example, a vector representing the position and orientation of the end-effector in a workspace with 6 degrees of freedom can be expressed as [Equation 5], and [Equation 5] may correspond to [Equation 4]. That is, since You can. Therefore, assuming that the radius (r) is a scaling parameter between the rotation angle (θ) and the arc (s), it can be converted to a variable (s) using the unit of meters (m) by multiplying it by the rotation angle (θ). In other words, by adjusting the radius (r), the rotation of the orientation can be considered in units of length.

상술된 바와 같이, 입력벡터 생성부(51)는 원의 반지름, 각도 및 호의 상관관계를 이용하여 위치벡터와 방위벡터를 나타내는 스케일 조절 벡터를 산출하고, 산출된 스케일 조절 벡터를 이용한 각속도 변환으로 입력벡터를 생성할 수 있다. 입력벡터 생성부(51)는 [수학식 6]를 이용하여 입력벡터를 생성할 수 있으며, [수학식 7]와 같이 스케일 조절 벡터를 정의할 수 있다.As described above, the input vector generator 51 calculates a scale control vector representing the position vector and the direction vector using the correlation between the radius, angle, and arc of the circle, and inputs it through angular velocity conversion using the calculated scale control vector. Vectors can be created. The input vector generator 51 can generate an input vector using [Equation 6], and can define a scale adjustment vector as in [Equation 7].

여기서 p는 속도 프로파일 연산을 위한 입력벡터를 의미하고, r은 스케일 조절 벡터를 의미하며, X는 말단효과장치의 위치벡터와 방위벡터를 의미하고, i는 각 벡터의 i번째 요소를 의미한다. 이때 X는 현재 위치(X0)와 목표 위치(Xs)로 구분되며, 각각 스케일 조절 벡터와 연산하여 현재 위치에 대한 입력벡터(P0)와 목표 위치에 대한 입력벡터(Ps)로 산출된다.Here, p refers to the input vector for calculating the velocity profile, r refers to the scale control vector, At this time , X is divided into the current position ( do.

여기서 r은 스케일 조절 벡터를 의미하고, rpos는 위치벡터를 의미하며, rori는 방위벡터를 의미하고, m은 위치 공간에 대한 자유도를 의미하며, n은 전체 공간에 대한 자유도를 의미한다. 즉 스케일 조절 벡터는 위치벡터 과, 방위벡터 로 나눌 수 있다. 이때 위치벡터는 스케일링이 불필요하므로 로 나타내고, 방위벡터는 스케일링이 필요하므로 로 나타낸다.Here, r means the scale control vector, r pos means the position vector, r ori means the orientation vector, m means the degree of freedom for the position space, and n means the degree of freedom for the entire space. In other words, the scale control vector is the position vector. and azimuth vector It can be divided into At this time, the position vector does not require scaling. It is expressed as , and the azimuth vector requires scaling. It is expressed as

입력벡터 생성부(51)는 시행착오법(trial and error)에 의해 조정하는 방법으로 방위벡터를 산출하거나, 로봇 매니퓰레이터(200)의 말단효과장치에서 나타나는 회전반경을 도 6에 적용하여 각 방위벡터의 스케일링 요소 값을 산출할 수 있다. The input vector generator 51 calculates the direction vector by adjusting it by trial and error, or applies the rotation radius shown in the terminal effect device of the robot manipulator 200 in FIG. 6 to calculate each direction vector. The scaling factor value of can be calculated.

경로 산출부(52)는 입력벡터 생성부(51)로부터 생성된 입력벡터를 기반으로 속도 프로파일 연산을 수행한다. 경로 산출부(52)는 기 설정된 초기속도(v0), 최대속도(vs), 가속시간(ta), 감속시간(td)을 기반으로 경로 생성을 위한 파라미터를 산출한다. 경로 산출부(52)는 산출된 파라미터를 이용하여 경로를 산출한다. 이때 경로 산출부(52)는 [수학식 1]과 같이 속도, 가속도, 저크를 산출할 수 있다. 경로 산출부(52)는 산출된 속도, 가속도, 저크를 이용하여 경로의 위치, 속도, 가속도를 산출한다. 경로 산출부(52)는 s-curve 경로 생성 함수를 이용하여 위치, 속도, 가속도를 산출할 수 있다. 이때 위치, 속도, 가속도와 관련된 방위의 단위는 각각 m, m/sec, m2/sec일 수 있다.The path calculation unit 52 performs a speed profile calculation based on the input vector generated by the input vector generation unit 51. The path calculation unit 52 calculates parameters for path creation based on the preset initial speed (v 0 ), maximum speed (v s ), acceleration time (t a ), and deceleration time (t d ). The route calculation unit 52 calculates the route using the calculated parameters. At this time, the path calculation unit 52 can calculate the speed, acceleration, and jerk as shown in [Equation 1]. The path calculation unit 52 calculates the position, velocity, and acceleration of the path using the calculated velocity, acceleration, and jerk. The path calculation unit 52 can calculate the position, speed, and acceleration using the s-curve path generation function. At this time, the units of direction related to position, speed, and acceleration may be m, m/sec, and m 2 /sec, respectively.

출력벡터 생성부(53)는 경로 산출부(52)로부터 산출된 경로의 위치, 속도 및 가속도를 말단효과장치에서 이용 가능한 출력벡터로 변환한다. 출력벡터 생성부(53)는 경로의 위치, 속도 및 가속도에 스케일 조절 벡터의 역수를 적용하여 출력 벡터로 변환할 수 있다. 즉 출력벡터 생성부(53)는 [수학식 8]과 같이 출력벡터를 생성할 수 있다. 여기서 출력벡터는 로봇 매니퓰레이터(200)의 말단효과장치에 대한 경로를 나타내는 벡터일 수 있다.The output vector generation unit 53 converts the position, speed, and acceleration of the path calculated from the path calculation unit 52 into an output vector usable by the end effect device. The output vector generator 53 may apply the reciprocal of the scale adjustment vector to the position, velocity, and acceleration of the path and convert them into an output vector. That is, the output vector generator 53 can generate an output vector as shown in [Equation 8]. Here, the output vector may be a vector representing the path to the end effect device of the robot manipulator 200.

여기서 p는 위치를 의미하고, v는 속도를 의미하며, a는 가속도를 의미하고, r은 스케일 조절 벡터를 의미하며, 는 위치에 대한 출력벡터를 의미하고, 는 속도에 대한 출력벡터를 의미하며, 는 가속도에 대한 출력벡터를 의미한다. where p means the position, v means the velocity, a means the acceleration, r means the scale adjustment vector, means the output vector for the position, means the output vector for speed, means the output vector for acceleration.

구동 제어부(54)는 출력벡터 생성부(53)로부터 생성된 출력벡터를 기반으로 말단효과장치의 구동을 제어한다. 구동 제어부(54)는 출력벡터를 이용하여 로봇 매니퓰레이터(200)의 위치제어기 또는 토크제어기를 제어하기 위한 제어신호를 생성한다. 구동 제어부(54)는 생성된 제어신호를 통해 로봇 매니퓰레이터(200)의 말단효과장치가 현재 위치에서 목표 위치까지 적절한 속도로 이동할 수 있도록 제어한다.The drive control unit 54 controls the operation of the end-effector device based on the output vector generated by the output vector generator 53. The drive control unit 54 generates a control signal for controlling the position controller or torque controller of the robot manipulator 200 using the output vector. The drive control unit 54 controls the end effect device of the robot manipulator 200 to move at an appropriate speed from the current position to the target position through the generated control signal.

저장부(70)는 경로 생성 장치(100)를 구동하기 위한 프로그램 또는 알고리즘이 저장된다. 저장부(70)는 로봇 매니퓰레이터(200)의 기본정보(자유도, 스펙 등), 상태정보(각 관절의 위치, 속도, 가속도 등)가 저장된다. 저장부(70)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기메모리, 자기 디스크 및 광디스크 중 적어도 하나의 저장매체를 포함할 수 있다. The storage unit 70 stores a program or algorithm for driving the path creation device 100. The storage unit 70 stores basic information (degree of freedom, specifications, etc.) and status information (position, speed, acceleration, etc. of each joint) of the robot manipulator 200. The storage unit 70 includes a flash memory type, hard disk type, multimedia card micro type, card type memory (for example, SD or XD memory, etc.), Random Access Memory (RAM), Static Random Access Memory (SRAM), Read-Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Programmable Read-Only Memory (PROM), magnetic memory, It may include at least one storage medium of a magnetic disk and an optical disk.

도 7은 본 발명의 실시예에 따른 경로 생성 방법을 설명하기 위한 순서도이다.Figure 7 is a flowchart for explaining a route creation method according to an embodiment of the present invention.

도 1 및 도 7을 참조하면, 경로 생성 방법은 로봇 매니퓰레이터(200)가 작업공간에서 원하는 동작의 수행을 위해 말단효과장치의 선속도와 각속도를 모두 고려하여 속도 프로파일을 설계하고, 설계된 속도 프로파일을 이용하여 현재 위치에서 목표 위치까지의 경로를 생성한다. 이를 통해 경로 생성 방법은 로봇 매니퓰레이터(200)가 각속도의 동작을 수행할 때 적절한 속도를 수렴하면서 동작을 수행할 수 있도록 도와준다. Referring to Figures 1 and 7, in the path creation method, the robot manipulator 200 designs a velocity profile by considering both the linear velocity and angular velocity of the end effect device to perform the desired motion in the workspace, and uses the designed velocity profile. Use it to create a path from the current location to the target location. Through this, the path creation method helps the robot manipulator 200 perform an operation while converging an appropriate speed when performing an operation at an angular velocity.

S110 단계에서, 경로 생성 장치(100)는 위치정보를 확인한다. 경로 생성 장치(100)는 로봇 매니퓰레이터(200)의 현재 위치 및 다음으로 이동할 위치인 목표 위치를 확인한다. In step S110, the route creation device 100 checks location information. The path creation device 100 confirms the current location of the robot manipulator 200 and the target location, which is the next location to move to.

S120 단계에서, 경로 생성 장치(100)는 입력벡터를 생성한다. 경로 생성 장치(100)는 현재 위치 및 목표 위치에 말단효과장치의 방위를 반영하여 입력벡터를 생성한다. 이때 경로 생성 장치(100)는 원의 반지름, 각도 및 호의 상관관계를 이용하여 위치벡터와 방위벡터를 나타내는 스케일 조절 벡터를 산출하고, 산출된 스케일 조절 벡터를 이용한 각속도 변환으로 입력벡터를 생성한다.In step S120, the path generating device 100 generates an input vector. The path creation device 100 generates an input vector by reflecting the direction of the end-effector device in the current location and target location. At this time, the path generation device 100 calculates a scale control vector representing the position vector and the direction vector using the correlation between the radius, angle, and arc of the circle, and generates an input vector through angular velocity conversion using the calculated scale control vector.

S130 단계에서, 경로 생성 장치(100)는 경로를 산출한다. 경로 생성 장치(100)는 입력벡터를 기반으로 속도 프로파일 연산을 수행한다. 경로 생성 장치(100)는 기 설정된 초기속도(v0), 최대속도(vs), 가속시간(ta), 감속시간(td)을 기반으로 경로 생성을 위한 파라미터를 산출한다. 경로 생성 장치(100)는 산출된 파라미터를 이용하여 경로를 산출한다. 이를 통해 경로 생성 장치(100)는 말단효과장치의 선속도와 각속도를 반영한 경로를 산출할 수 있다. In step S130, the route creation device 100 calculates a route. The path creation device 100 performs speed profile calculation based on the input vector. The path creation device 100 calculates parameters for path creation based on the preset initial speed (v 0 ), maximum speed (v s ), acceleration time (t a ), and deceleration time (t d ). The route creation device 100 calculates a route using the calculated parameters. Through this, the path generating device 100 can calculate a path that reflects the linear velocity and angular velocity of the end effect device.

S140 단계에서, 경로 생성 장치(100)는 출력벡터를 생성한다. 경로 생성 장치(100)는 경로의 위치, 속도 및 가속도를 말단효과장치에서 이용 가능한 출력벡터로 변환한다. 경로 생성 장치(100)는 경로의 위치, 속도 및 가속도에 스케일 조절 벡터의 역수를 적용하여 출력 벡터로 생성할 수 있다.In step S140, the path generating device 100 generates an output vector. The path generation device 100 converts the position, velocity, and acceleration of the path into output vectors that can be used by the end effect device. The path creation device 100 may generate an output vector by applying the reciprocal of the scale control vector to the position, velocity, and acceleration of the path.

S150 단계에서, 경로 생성 장치(100)는 로봇 매니퓰레이터(200)의 구동을 제어한다. 경로 생성 장치(100)는 출력벡터를 기반으로 말단효과장치의 구동을 제어하는 제어신호를 생성한다. 경로 생성 장치(100)는 생성된 제어신호를 로봇 매니퓰레이터(200)로 전송하여 로봇 매니퓰레이터(200)가 제어신호에 따라 구동하도록 제어한다.In step S150, the path creation device 100 controls the operation of the robot manipulator 200. The path generating device 100 generates a control signal that controls the operation of the end effect device based on the output vector. The path creation device 100 transmits the generated control signal to the robot manipulator 200 and controls the robot manipulator 200 to drive according to the control signal.

도 8은 본 발명의 실시예에 따른 컴퓨팅 장치를 설명하기 위한 블록도이다.Figure 8 is a block diagram for explaining a computing device according to an embodiment of the present invention.

도 8을 참조하면, 컴퓨팅 장치(TN100)는 본 명세서에서 기술된 장치(예를 들면 경로 생성 장치, 사용자 단말 등) 일 수 있다. Referring to FIG. 8, the computing device TN100 may be a device described herein (eg, a route creation device, a user terminal, etc.).

컴퓨팅 장치(TN100)는 적어도 하나의 프로세서(TN110), 송수신 장치(TN120), 및 메모리(TN130)를 포함할 수 있다. 또한, 컴퓨팅 장치(TN100)는 저장 장치(TN140), 입력 인터페이스 장치(TN150), 출력 인터페이스 장치(TN160) 등을 더 포함할 수 있다. 컴퓨팅 장치(TN100)에 포함된 구성 요소들은 버스(bus)(TN170)에 의해 연결되어 서로 통신을 수행할 수 있다.The computing device TN100 may include at least one processor TN110, a transceiver device TN120, and a memory TN130. Additionally, the computing device TN100 may further include a storage device TN140, an input interface device TN150, an output interface device TN160, etc. Components included in the computing device TN100 may be connected by a bus TN170 and communicate with each other.

프로세서(TN110)는 메모리(TN130) 및 저장 장치(TN140) 중에서 적어도 하나에 저장된 프로그램 명령(program command)을 실행할 수 있다. 프로세서(TN110)는 중앙 처리 장치(CPU: central processing unit), 그래픽 처리 장치(GPU: graphics processing unit), 또는 본 발명의 실시예에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 프로세서(TN110)는 본 발명의 실시예와 관련하여 기술된 절차, 기능, 및 방법 등을 구현하도록 구성될 수 있다. 프로세서(TN110)는 컴퓨팅 장치(TN100)의 각 구성 요소를 제어할 수 있다.The processor TN110 may execute a program command stored in at least one of the memory TN130 and the storage device TN140. The processor TN110 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed. Processor TN110 may be configured to implement procedures, functions, and methods described in connection with embodiments of the present invention. The processor TN110 may control each component of the computing device TN100.

메모리(TN130) 및 저장 장치(TN140) 각각은 프로세서(TN110)의 동작과 관련된 다양한 정보를 저장할 수 있다. 메모리(TN130) 및 저장 장치(TN140) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(TN130)는 읽기 전용 메모리(ROM: read only memory) 및 랜덤 액세스 메모리(RAM: random access memory) 중에서 적어도 하나로 구성될 수 있다. Each of the memory TN130 and the storage device TN140 can store various information related to the operation of the processor TN110. Each of the memory TN130 and the storage device TN140 may be comprised of at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory TN130 may be comprised of at least one of read only memory (ROM) and random access memory (RAM).

송수신 장치(TN120)는 유선 신호 또는 무선 신호를 송신 또는 수신할 수 있다. 송수신 장치(TN120)는 네트워크에 연결되어 통신을 수행할 수 있다. The transceiving device TN120 can transmit or receive wired signals or wireless signals. The transmitting and receiving device (TN120) can be connected to a network and perform communication.

한편, 본 발명의 실시예는 지금까지 설명한 장치 및/또는 방법을 통해서만 구현되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 상술한 실시예의 기재로부터 본 발명이 속하는 기술 분야의 통상의 기술자라면 쉽게 구현할 수 있는 것이다. Meanwhile, the embodiments of the present invention are not only implemented through the apparatus and/or method described so far, but may also be implemented through a program that realizes the function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded. This implementation can be easily implemented by anyone skilled in the art from the description of the above-described embodiments.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 통상의 기술자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements made by those skilled in the art using the basic concept of the present invention defined in the following claims are also possible. It falls within the scope of invention rights.

10: 통신부
30: 입력부
50: 제어부
51: 입력벡터 생성부
52: 경로 산출부
53: 출력벡터 생성부
54: 구동 제어부
70: 저장부
100: 경로 생성 장치
200: 매니퓰레이터
300: 사용자 단말
400: 경로 생성 시스템
10: Department of Communications
30: input unit
50: control unit
51: Input vector generation unit
52: route calculation unit
53: Output vector generation unit
54: drive control unit
70: storage unit
100: route generation device
200: Manipulator
300: User terminal
400: Path creation system

Claims (8)

로봇 매니퓰레이터의 말단효과장치에 대한 현재 위치 및 목표 위치가 확인되면 상기 현재 위치 및 상기 목표 위치에 상기 말단효과장치의 방위를 반영하여 입력벡터를 생성하는 입력벡터 생성부;
상기 생성된 입력벡터를 기반으로 속도 프로파일 연산을 하여 상기 말단효과장치의 선속도와 각속도를 반영한 경로를 산출하는 경로 산출부; 및
상기 산출된 경로의 위치, 속도 및 가속도를 상기 말단효과장치에서 이용 가능한 출력벡터로 변환하는 출력벡터 생성부;
를 포함하는 경로 생성 장치.
an input vector generator that generates an input vector by reflecting the orientation of the end effect device to the current position and the target position when the current position and target position of the end effect device of the robot manipulator are confirmed;
a path calculation unit that calculates a path reflecting the linear velocity and angular velocity of the end effect device by calculating a velocity profile based on the generated input vector; and
an output vector generator that converts the position, velocity, and acceleration of the calculated path into an output vector usable by the end effect device;
A route generation device including a.
제 1항에 있어서,
상기 출력벡터를 기반으로 상기 말단효과장치의 구동을 제어하는 제어신호를 생성하는 구동 제어부;
를 더 포함하는 것을 특징으로 하는 경로 생성 장치.
According to clause 1,
a drive control unit that generates a control signal to control the drive of the end effect device based on the output vector;
A path generating device further comprising:
제 1항에 있어서,
상기 입력벡터 생성부는,
원의 반지름, 각도 및 호의 상관관계를 이용하여 위치벡터와 방위벡터를 나타내는 스케일 조절 벡터를 산출하고, 상기 산출된 스케일 조절 벡터를 이용한 각속도 변환으로 상기 입력벡터를 생성하는 것을 특징으로 하는 경로 생성 장치.
According to clause 1,
The input vector generator,
A path generation device that calculates a scale control vector representing a position vector and a direction vector using the correlation between the radius, angle, and arc of a circle, and generates the input vector by converting the angular velocity using the calculated scale control vector. .
제 3항에 있어서,
상기 입력벡터 생성부는,
하기 수학식을 이용하여 상기 스케일 조절 벡터를 정의하는 것을 특징으로 하는 경로 생성 장치.
[수학식]

(여기서 r은 스케일 조절 벡터를 의미하고, rpos는 위치벡터를 의미하며, rori는 방위벡터를 의미하고, m은 위치 공간에 대한 자유도를 의미하며, n은 전체 공간에 대한 자유도를 의미함)
According to clause 3,
The input vector generator,
A path generation device characterized in that the scale control vector is defined using the following equation.
[Equation]

(Here, r means the scale control vector, r pos means the position vector, r ori means the orientation vector, m means the degree of freedom for the position space, and n means the degree of freedom for the entire space. )
제 4항에 있어서,
상기 입력벡터 생성부는,
하기 수학식을 이용하여 상기 입력벡터를 생성하는 것을 특징으로 하는 경로 생성 장치.
[수학식]

(여기서 p는 속도 프로파일 연산을 위한 입력벡터를 의미하고, r은 스케일 조절 벡터를 의미하며, X는 말단효과장치의 위치벡터와 방위벡터를 의미하고, i는 각 벡터의 i번째 요소를 의미함)
According to clause 4,
The input vector generator,
A path generation device characterized in that the input vector is generated using the following equation.
[Equation]

(Here, p refers to the input vector for speed profile calculation, r refers to the scale control vector, )
제 3항에 있어서,
상기 출력벡터 생성부는,
상기 경로의 위치, 속도 및 가속도에 상기 스케일 조절 벡터의 역수를 적용하여 상기 출력 벡터로 변환하는 것을 특징으로 하는 경로 생성 장치.
According to clause 3,
The output vector generator,
A path generating device, characterized in that the inverse of the scale control vector is applied to the position, velocity, and acceleration of the path and converted into the output vector.
제 6항에 있어서,
상기 출력벡터 생성부는,
하기 수학식을 이용하여 상기 출력벡터를 생성하는 것을 특징으로 하는 경로 생성 장치.
[수학식]

(여기서 p는 위치를 의미하고, v는 속도를 의미하며, a는 가속도를 의미하고, 는 위치에 대한 출력벡터를 의미하며, 는 속도에 대한 출력벡터를 의미하고, 는 가속도에 대한 출력벡터를 의미함)
According to clause 6,
The output vector generator,
A path generating device characterized in that the output vector is generated using the following equation.
[Equation]

(where p means position, v means velocity, a means acceleration, means the output vector for the position, means the output vector for speed, means the output vector for acceleration)
경로 생성 장치가 로봇 매니퓰레이터의 말단효과장치에 대한 현재 위치 및 목표 위치를 확인하면 상기 현재 위치 및 상기 목표 위치에 상기 말단효과장치의 방위를 반영하여 입력벡터를 생성하는 단계;
상기 경로 생성 장치가 상기 생성된 입력벡터를 기반으로 속도 프로파일 연산을 하여 상기 말단효과장치의 선속도와 각속도를 반영한 경로를 산출하는 단계; 및
상기 경로 생성 장치가 상기 산출된 경로의 위치, 속도 및 가속도를 상기 말단효과장치에서 이용 가능한 출력벡터로 변환하는 단계;
를 포함하는 경로 생성 방법.
When the path generating device confirms the current position and target position of the end effect device of the robot manipulator, generating an input vector by reflecting the orientation of the end effect device in the current position and the target position;
calculating a path reflecting the linear velocity and angular velocity of the end effect device by the path generating device calculating a velocity profile based on the generated input vector; and
converting, by the path generating device, the position, velocity, and acceleration of the calculated path into output vectors usable by the end effect device;
How to create a route containing .
KR1020220095638A 2022-08-01 2022-08-01 Path generation apparatus and method for controlling end-effector of robot manipulator KR102678996B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220095638A KR102678996B1 (en) 2022-08-01 2022-08-01 Path generation apparatus and method for controlling end-effector of robot manipulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220095638A KR102678996B1 (en) 2022-08-01 2022-08-01 Path generation apparatus and method for controlling end-effector of robot manipulator

Publications (2)

Publication Number Publication Date
KR20240017667A KR20240017667A (en) 2024-02-08
KR102678996B1 true KR102678996B1 (en) 2024-06-27

Family

ID=89900179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220095638A KR102678996B1 (en) 2022-08-01 2022-08-01 Path generation apparatus and method for controlling end-effector of robot manipulator

Country Status (1)

Country Link
KR (1) KR102678996B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3404681B2 (en) 1993-11-15 2003-05-12 日本電信電話株式会社 Sensor pointing direction sequential control method
US10105849B1 (en) 2015-07-14 2018-10-23 Glen C Wernersbach Manufacturing system having robotic apparatus
US20190361431A1 (en) 2018-05-28 2019-11-28 Korea Institute Of Science And Technology Mobile robot control apparatus and method for compensating input delay time

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101411503B1 (en) 2013-01-04 2014-06-24 삼성중공업 주식회사 Robot control apparatus and method thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3404681B2 (en) 1993-11-15 2003-05-12 日本電信電話株式会社 Sensor pointing direction sequential control method
US10105849B1 (en) 2015-07-14 2018-10-23 Glen C Wernersbach Manufacturing system having robotic apparatus
US20190361431A1 (en) 2018-05-28 2019-11-28 Korea Institute Of Science And Technology Mobile robot control apparatus and method for compensating input delay time
KR102094863B1 (en) 2018-05-28 2020-03-30 한국과학기술연구원 Moving robot control apparatus for compensating input delay time and method thereof

Also Published As

Publication number Publication date
KR20240017667A (en) 2024-02-08

Similar Documents

Publication Publication Date Title
CN111399514B (en) Robot time optimal track planning method
JP7199178B2 (en) ROBOT CONTROL DEVICE, ROBOT DEVICE, ROBOT CONTROL PARAMETER ADJUSTMENT METHOD, AND PROGRAM
US8527091B2 (en) Robotic apparatus implementing collision avoidance scheme and associated methods
WO2005009692A1 (en) Robot arm control method and control device
WO2007111252A1 (en) Manipulator control method and control system
JP2019000851A (en) Laser beam machining apparatus
KR101337650B1 (en) Realtime weaving motion control device and realtime weaving motion control method
JP5904445B2 (en) Robot controller
KR102678996B1 (en) Path generation apparatus and method for controlling end-effector of robot manipulator
WO2020161910A1 (en) Control device, control method, and recording medium
KR20020047707A (en) Robot and Motor Speed Control Method Thereof
JPH0916241A (en) Method for setting acceleration/deceleration operation of robot
EP0483756B1 (en) Robot controlling method and apparatus
Dupac A path planning approach of 3D manipulators using zenithal gnomic projection and polar piecewise interpolation
JPH08339222A (en) Robot track generation device
KR100540588B1 (en) Trajectory generation method and system for real-time response at motion control
Xu et al. Passive bilateral teleoperation of a car-like mobile robot
KR102645792B1 (en) Detecting device and method for calculating amount of impact of robot manipulator
KR102641604B1 (en) Method for generating straight(linear) trajectory in workspace of scara robot
WO2023032156A1 (en) Robot control system, robot control device, motion planning device, robot control program, and motion planning program
JP2023110178A (en) Trajectory generation device for omnidirectional mobile body, trajectory generation method, and program
JP2001277160A (en) Route generating method of robot
JP4209291B2 (en) Method and apparatus for controlling rotational position of multi-degree-of-freedom ultrasonic motor
JPH07325607A (en) Path control method for robot
JPH06114764A (en) Controller for robot

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right