KR102607486B1 - Method and Apparatus for Reducing Vibration Noise in a Robot Arm - Google Patents

Method and Apparatus for Reducing Vibration Noise in a Robot Arm Download PDF

Info

Publication number
KR102607486B1
KR102607486B1 KR1020230038800A KR20230038800A KR102607486B1 KR 102607486 B1 KR102607486 B1 KR 102607486B1 KR 1020230038800 A KR1020230038800 A KR 1020230038800A KR 20230038800 A KR20230038800 A KR 20230038800A KR 102607486 B1 KR102607486 B1 KR 102607486B1
Authority
KR
South Korea
Prior art keywords
axis
vibration noise
robot arm
vibration
modeling
Prior art date
Application number
KR1020230038800A
Other languages
Korean (ko)
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 KR1020230038800A priority Critical patent/KR102607486B1/en
Application granted granted Critical
Publication of KR102607486B1 publication Critical patent/KR102607486B1/en

Links

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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • 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/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

각 축마다 발생되는 진동 노이즈 영향을 반영하여 진동 노이즈를 제거하는 로봇팔의 진동 노이즈 제거 방법 및 장치에 관한 것으로, 로봇팔의 구조 및 운동학적 특성 정보를 입력받아 로봇팔의 운동학적 특성을 수식화하여 모델링 하는 단계, 상기 모델링 하는 단계에서의 모델링 결과를 이용하여 로봇팔의 적어도 하나 이상의 축에 대한 운동학적 연산을 수행하는 단계, 로봇팔의 적어도 하나 이상의 축에 대한 진동 노이즈를 파악하는 단계, 수행된 적어도 하나 이상의 축에 대한 운동학적 연산 및 상기 파악된 진동 노이즈에 기반하여 각 축별로 해당 축에서 발생한 진동 노이즈에 인접한 축에서 발생된 진동 노이즈를 반영하여 각 축에 대한 위치 제어 데이터를 보정하는 단계를 포함하는 로봇팔의 진동 노이즈 제거 방법에 의해 로봇팔의 축에서 발생하는 진동 노이즈를 제거함에 있어 인근의 다른 축에서 발생하는 진동 노이즈의 효과를 반영하여 로봇팔의 정확하고 안전한 운영을 제공할 수 있는 효과가 도출된다. This relates to a vibration noise removal method and device for a robot arm that removes vibration noise by reflecting the effects of vibration noise generated on each axis. It receives information on the structure and kinematic characteristics of the robot arm and formulates the kinematic characteristics of the robot arm. A modeling step, performing a kinematic calculation for at least one axis of the robot arm using the modeling result from the modeling step, determining vibration noise for at least one axis of the robot arm, performed Based on the kinematic calculation for at least one axis and the identified vibration noise, a step of correcting the position control data for each axis by reflecting the vibration noise generated on the axis and the vibration noise generated on the adjacent axis for each axis. By removing the vibration noise generated on the axis of the robot arm by the vibration noise removal method of the robot arm, it can provide accurate and safe operation of the robot arm by reflecting the effect of vibration noise generated on other nearby axes. The effect is derived.

Description

로봇팔의 진동 노이즈 제거 방법 및 장치{Method and Apparatus for Reducing Vibration Noise in a Robot Arm}Method and Apparatus for Reducing Vibration Noise in a Robot Arm}

로봇팔의 진동 노이즈 제거 방법 및 장치에 관한 것으로, 각 축마다 발생되는 진동 노이즈 영향을 반영하여 진동 노이즈를 제거하는 로봇팔의 진동 노이즈 제거 방법 및 장치에 관한 것이다. This relates to a method and device for removing vibration noise from a robot arm, and relates to a method and device for removing vibration noise from a robot arm that removes vibration noise by reflecting the effects of vibration noise generated for each axis.

일반적으로 로봇팔은 각 축마다 모터를 구비하고, 이 모터를 제어함으로써 로봇팔의 움직임을 조작할 수 있다. 그리고 각 축의 움직임은 엔코더와 같은 센서를 이용하여 감지할 수 있다. Generally, a robot arm is equipped with a motor for each axis, and the movement of the robot arm can be manipulated by controlling these motors. And the movement of each axis can be detected using a sensor such as an encoder.

또한 로봇팔에 위치, 속도 및 가속도 센서와 같은 다양한 센서가 장착될 수 있으며, 이러한 센서 데이터를 사용하여 로봇팔은 정확하고 반복 가능한 작업을 수행할 수 있다. 로봇팔의 각 축의 움직임을 파악할 수 있으며, 이러한 정보를 기반으로 다양한 작업을 수행할 수 있다. 로봇팔의 각 축은 서로 독립적으로 제어되고, 각축의 움직임이 서로 영향을 미칠 수 있다.Additionally, robotic arms can be equipped with a variety of sensors, such as position, velocity, and acceleration sensors, and using these sensor data, the robotic arm can perform accurate and repeatable tasks. The movement of each axis of the robot arm can be identified, and various tasks can be performed based on this information. Each axis of the robot arm is controlled independently of each other, and the movement of each axis can affect each other.

한편 로봇팔의 진동 노이즈는 작업 성능에 지장을 줄 수 있으므로 제거하는 것이 바람직하다. 진동 노이즈가 큰 경우에는 로봇팔이 목표 위치로 정확하게 이동하지 못하거나, 작업 속도가 느려질 수 있기 때문이다. 진동 노이즈 제거는 로봇팔의 작업 성능을 향상시키는 데에 중요한 역할을 한다. Meanwhile, it is desirable to eliminate the vibration noise of the robot arm as it can interfere with work performance. If the vibration noise is large, the robot arm may not move to the target position accurately or the work speed may slow down. Removing vibration noise plays an important role in improving the work performance of the robot arm.

KRKR 10-2022-0058674 10-2022-0058674 AA KRKR 10-2001-0081236 10-2001-0081236 AA

본 발명은 이 같은 기술적 배경에서 도출된 것으로, 로봇팔의 축에서 발생하는 진동 노이즈를 제거함에 있어 인근의 다른 축에서 발생하는 진동 노이즈의 효과를 반영하여 로봇팔의 정확하고 안전한 운영을 제공함에 그 목적이 있다. The present invention was derived from this technical background, and provides accurate and safe operation of the robot arm by reflecting the effect of vibration noise generated on other nearby axes in eliminating vibration noise generated on the axis of the robot arm. There is a purpose.

상기의 과제를 달성하기 위한 본 발명은 다음과 같은 구성을 포함한다. The present invention for achieving the above problems includes the following configuration.

즉 본 발명의 일 실시예에 따른 로봇팔의 진동 노이즈 제거 방법은 하나의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 로봇팔의 구조 및 운동학적 특성 정보를 입력받아 로봇팔의 운동학적 특성을 수식화하여 모델링 하는 단계, 상기 모델링 하는 단계에서의 모델링 결과를 이용하여 로봇팔의 적어도 하나 이상의 축에 대한 운동학적 연산을 수행하는 단계, 로봇팔의 적어도 하나 이상의 축에 대한 진동 노이즈를 파악하는 단계, 수행된 적어도 하나 이상의 축에 대한 운동학적 연산 및 상기 파악된 진동 노이즈에 기반하여 각 축별로 해당 축에서 발생한 진동 노이즈에 인접한 축에서 발생된 진동 노이즈를 반영하여 각 축에 대한 위치 제어 데이터를 보정하는 단계를 포함한다.That is, the method of removing vibration noise of a robot arm according to an embodiment of the present invention is a method performed on a computing device having one processor and a memory that stores one or more programs executed by the one or more processors, Step of receiving structural and kinematic characteristic information of the robot arm and formulating and modeling the kinematic characteristics of the robot arm; performing kinematic calculations on at least one axis of the robot arm using the modeling results from the modeling step A step of determining vibration noise for at least one axis of the robot arm, based on the performed kinematic calculation for at least one axis and the identified vibration noise, for each axis adjacent to the vibration noise generated in the axis. It includes a step of correcting the position control data for each axis by reflecting the vibration noise generated from the axis.

한편, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨터 장치는 로봇팔의 구조 및 운동학적 특성 정보를 입력받아 로봇팔의 운동학적 특성을 수식화하여 모델링 하는 모델링 모듈, 상기 모델링 모듈에서의 모델링 결과를 이용하여 로봇팔의 적어도 하나 이상의 축에 대한 운동학적 연산을 수행하는 연산 수행 모듈, 로봇팔의 적어도 하나 이상의 축에 대한 진동 노이즈를 파악하는 파악 모듈, 수행된 적어도 하나 이상의 축에 대한 운동학적 연산 및 상기 파악된 진동 노이즈에 기반하여 각 축별로 해당 축에서 발생한 진동 노이즈에 인접한 축에서 발생된 진동 노이즈를 반영하여 각 축에 대한 위치 제어 데이터를 보정하는 보정 모듈을 포함한다.Meanwhile, a computer device having one or more processors and a memory that stores one or more programs executed by the one or more processors receives structural and kinematic characteristic information of the robot arm and formulates the kinematic characteristics of the robot arm. a modeling module that performs modeling, a computation performance module that performs a kinematic calculation on at least one axis of the robot arm using the modeling results from the modeling module, and a grasping module that determines vibration noise on at least one axis of the robot arm. Based on the module, the performed kinematic calculation for at least one axis, and the identified vibration noise, position control data for each axis is generated by reflecting the vibration noise generated on the corresponding axis and the vibration noise generated on the adjacent axis. Includes a correction module for correction.

본 발명에 의하면 로봇팔의 축에서 발생하는 진동 노이즈를 제거함에 있어 인근의 다른 축에서 발생하는 진동 노이즈의 효과를 반영하여 로봇팔의 정확하고 안전한 운영을 제공할 수 있는 효과가 도출된다. According to the present invention, in removing the vibration noise generated on the axis of the robot arm, the effect of providing accurate and safe operation of the robot arm is derived by reflecting the effect of vibration noise generated on other nearby axes.

도 1 은 본 발명의 일 실시예에 따른 로봇팔의 진동 노이즈 제거 장치의 구성을 도시한 블록도이다.
도 2 는 본 발명의 일 실시예에 따른 로봇팔의 진동 노이즈 제거 방법의 흐름도이다.
Figure 1 is a block diagram showing the configuration of a vibration noise removal device for a robot arm according to an embodiment of the present invention.
Figure 2 is a flowchart of a method for removing vibration noise of a robot arm according to an embodiment of the present invention.

본 발명에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 발명에서 사용되는 기술적 용어는 본 발명에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. It should be noted that the technical terms used in the present invention are only used to describe specific embodiments and are not intended to limit the present invention. In addition, the technical terms used in the present invention, unless specifically defined in a different sense in the present invention, should be interpreted as meanings generally understood by those skilled in the art in the technical field to which the present invention pertains, and are not overly comprehensive. It should not be interpreted in a literal or excessively reduced sense.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the attached drawings.

본 발명의 실시예들에 따른 로봇팔의 진동 노이즈 제거 장치는 적어도 하나의 컴퓨터 장치에 의해 구현될 수 있으며, 본 발명의 실시예들에 따른 로봇팔의 진동 노이즈 제거 방법은 로봇팔의 진동 노이즈 제거 장치에 포함되는 적어도 하나의 컴퓨터 장치를 통해 수행될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 로봇팔의 진동 노이즈 제거 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 로봇팔의 진동 노이즈 제거 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.The apparatus for removing vibration noise of a robot arm according to embodiments of the present invention may be implemented by at least one computer device, and the method for removing vibration noise of a robot arm according to embodiments of the present invention may remove vibration noise of a robot arm. It may be performed through at least one computer device included in the device. At this time, a computer program according to an embodiment of the present invention may be installed and driven in the computer device, and the computer device may perform a method of removing vibration noise of a robot arm according to embodiments of the present invention under the control of the driven computer program. It can be done. The above-described computer program can be combined with a computer device and stored in a computer-readable recording medium to execute the method of removing vibration noise of the robot arm on the computer.

도 1 은 본 발명의 일 실시예에 따른 로봇팔의 진동 노이즈 제거 장치의 구성을 도시한 블록도이다. Figure 1 is a block diagram showing the configuration of a vibration noise removal device for a robot arm according to an embodiment of the present invention.

관리자 단말(30)은 일 실시예에 따른 로봇팔의 전반적인 동작을 수행하는 관리자가 정보를 제공받기 위한 단말장치를 모두 포괄하도록 해석된다. 일 실시예에 있어서 관리자 단말(30)의 사용자 인터페이스를 통해 진동 노이즈 제거장치(10)에서 수행되는 로봇팔의 운동 동작의 제어 및 다양한 동작 상태 정보의 제공이 가능하도록 구현된다. The manager terminal 30 is interpreted to encompass all terminal devices through which the manager performing the overall operation of the robot arm according to one embodiment receives information. In one embodiment, it is possible to control the movement of the robot arm performed by the vibration noise removal device 10 and provide various operation status information through the user interface of the administrator terminal 30.

관리자 단말(30)은 스마트 폰(Smart Phone), 휴대 단말기(Portable Terminal), 이동 단말기(Mobile Terminal), 폴더블 단말기(Foldable Terminal), 개인 정보 단말기(Personal Digital Assistant: PDA), PMP(Portable Multimedia Player) 단말기, 텔레매틱스(Telematics) 단말기, 내비게이션(Navigation) 단말기, 개인용 컴퓨터(Personal Computer), 노트북 컴퓨터, 슬레이트 PC(Slate PC), 태블릿 PC(Tablet PC), 울트라북(ultrabook), 웨어러블 디바이스(Wearable Device, 예를 들어, 워치형 단말기(Smartwatch), 글래스형 단말기(Smart Glass), HMD(Head Mounted Display) 등 포함), 와이브로(Wibro) 단말기, IPTV(Internet Protocol Television) 단말기, 스마트 TV, 디지털방송용 단말기, AVN(Audio Video Navigation) 단말기, A/V(Audio/Video) 시스템, 플렉시블 단말기(Flexible Terminal), 디지털 사이니지 장치 등과 같은 다양한 단말기에 적용될 수 있다. The administrator terminal 30 is a smart phone, a portable terminal, a mobile terminal, a foldable terminal, a personal digital assistant (PDA), and a portable multimedia terminal (PMP). Player terminal, telematics terminal, navigation terminal, personal computer, laptop computer, Slate PC, Tablet PC, ultrabook, wearable device Device (e.g., smartwatch, smart glass, HMD (Head Mounted Display), etc.), Wibro terminal, IPTV (Internet Protocol Television) terminal, smart TV, digital broadcasting It can be applied to various terminals such as terminals, AVN (Audio Video Navigation) terminals, A/V (Audio/Video) systems, flexible terminals, and digital signage devices.

네트워크(20)는 PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(20)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.The network 20 is a network such as a personal area network (PAN), a local area network (LAN), a campus area network (CAN), a metropolitan area network (MAN), a wide area network (WAN), a broadband network (BBN), and the Internet. It may include one or more arbitrary networks. Additionally, the network 20 may include any one or more of network topologies including a bus network, star network, ring network, mesh network, star-bus network, tree or hierarchical network, etc. Not limited.

일 실시예에 따른 로봇팔의 진동 노이즈 제거 장치(10)는 통신 인터페이스(110), 메모리(120), 입출력 인터페이스(130) 및 프로세서(140)를 포함한다.The apparatus 10 for removing vibration noise of a robot arm according to an embodiment includes a communication interface 110, a memory 120, an input/output interface 130, and a processor 140.

일 예로 로봇팔이 6개의 축이 있으면, 1번 축과 2번 축과 3번 축 ~ 6번 축까지 있다고 가정해보자. 여기서 2번 축은 1번 축의 진동에도 영향을 받을 것이고 3번 축의 진동에도 영향을 받을 것이다.For example, if a robot arm has six axes, let's assume that there are axes 1, 2, and 3 to 6. Here, axis 2 will be affected by the vibration of axis 1 and will also be affected by the vibration of axis 3.

일 실시예에 따른 로봇팔의 진동 노이즈 제거 장치(10)는 2번 축의 진동을 분석할 때 1번 축과 3번 축에서 발생하는 노이즈가 2번에 적용되는 것을 데이터 분석을 기반으로 처리한다. 여기서 각축별 기본 움직임과 진동을 파악하고 추가 분석하여 의미있는 진동을 선택할 수 있다. 이에 따라 효과적인 진동 노이즈 제거가 가능하여 정밀한 작업을 수행하도록 고안된 로봇 팔의 작업 정확성과 안정성을 유지할 수 있다. When analyzing the vibration of axis 2, the vibration noise removal device 10 of a robot arm according to one embodiment processes the application of noise generated from axis 1 and axis 3 to axis 2 based on data analysis. Here, the basic movement and vibration for each axis can be identified and further analyzed to select meaningful vibration. As a result, it is possible to effectively remove vibration noise, thereby maintaining the work accuracy and stability of the robot arm designed to perform precise work.

통신 인터페이스(110)는 네트워크(20)를 통해 로봇팔의 진동 노이즈 제거 장치(10)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 로봇팔의 진동 노이즈 제거 장치(10)의 프로세서(140)가 메모리(120)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(110)의 제어에 따라 네트워크(20)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(20)를 거쳐 로봇팔의 진동 노이즈 제거 장치(10)의 통신 인터페이스(110)를 통해 로봇팔의 진동 노이즈 제거 장치(10)로 수신될 수 있다. 통신 인터페이스(110)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(140)나 메모리(120)로 전달될 수 있고, 파일 등은 로봇팔의 진동 노이즈 제거 장치(10)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다The communication interface 110 may provide a function for the vibration noise removal device 10 of the robot arm to communicate with other devices (eg, the storage devices described above) through the network 20. For example, requests, commands, data, files, etc. generated by the processor 140 of the vibration noise removal device 10 of the robot arm according to the program code stored in a recording device such as the memory 120 are transmitted through the communication interface 110. Depending on the control, it may be transmitted to other devices through the network 20. Conversely, signals, commands, data, files, etc. from other devices pass through the network 20 to the vibration noise removal device 10 of the robot arm through the communication interface 110 of the vibration noise removal device 10 of the robot arm. It can be received as . Signals, commands, data, etc. received through the communication interface 110 may be transmitted to the processor 140 or memory 120, and files, etc. may be further included in the vibration noise removal device 10 of the robot arm. Can be stored on a storage medium (persistent storage described above)

메모리(120)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량기록장치는 메모리(120)와는 구분되는 별도의 영구 저장 장치로서 로봇팔의 진동 노이즈 제거 장치(10)에 포함될 수도 있다.The memory 120 is a computer-readable recording medium and may include a non-permanent mass storage device such as random access memory (RAM), read only memory (ROM), and a disk drive. Here, non-destructive large-capacity recording devices such as ROM and disk drives may be included in the vibration noise removal device 10 of the robot arm as a separate permanent storage device separate from the memory 120.

또한, 메모리(120)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(120)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(120)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(110)를 통해 메모리(120)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(20)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 로봇팔의 진동 노이즈 제거 장치(10)의 메모리(120)에 로딩될 수 있다.Additionally, an operating system and at least one program code may be stored in the memory 120. These software components may be loaded into the memory 120 from a computer-readable recording medium separate from the memory 120. Such separate computer-readable recording media may include computer-readable recording media such as floppy drives, disks, tapes, DVD/CD-ROM drives, and memory cards. In another embodiment, software components may be loaded into the memory 120 through the communication interface 110 rather than a computer-readable recording medium. For example, software components may be loaded into the memory 120 of the vibration noise removal device 10 of the robotic arm based on a computer program installed by files received through the network 20.

입출력 인터페이스(130)는 입출력 장치와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(130)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치는 로봇팔의 진동 노이즈 제거 장치(10)와 하나의 장치로 구성될 수도 있다.The input/output interface 130 may be a means for interfacing with an input/output device. For example, input devices may include devices such as a microphone, keyboard, or mouse, and output devices may include devices such as displays and speakers. As another example, the input/output interface 130 may be a means for interfacing with a device that integrates input and output functions into one, such as a touch screen. The input/output device may be composed of a single device with the vibration noise removal device 10 of the robot arm.

프로세서(140)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(120) 또는 통신 인터페이스(110)에 의해 프로세서(140)로 제공될 수 있다. 예를 들어 프로세서(140)는 메모리(120)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor 140 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Commands may be provided to the processor 140 by the memory 120 or the communication interface 110. For example, the processor 140 may be configured to execute received instructions according to program codes stored in a recording device such as memory 120.

보다 상세하게 프로세서(140)는 모델링 모듈(1410), 연산 수행 모듈(1420), 파악 모듈(1430) 및 보정 모듈(1440)을 포함한다. In more detail, the processor 140 includes a modeling module 1410, an operation performance module 1420, a grasping module 1430, and a correction module 1440.

모델링 모듈(1410)은 로봇팔의 구조 및 운동학적 특성 정보를 입력받아 로봇팔의 운동학적 특성을 수식화하여 모델링한다. The modeling module 1410 receives information on the structure and kinematic characteristics of the robot arm and formulates and models the kinematic characteristics of the robot arm.

연산 수행 모듈(1420)은 모델링 모듈(1410)에서의 모델링 결과를 이용하여 로봇팔의 적어도 하나 이상의 축에 대한 운동학적 연산을 수행한다. The calculation performance module 1420 performs a kinematic calculation on at least one axis of the robot arm using the modeling result from the modeling module 1410.

파악 모듈(1430)은 로봇팔의 적어도 하나 이상의 축에 대한 진동 노이즈를 파악한다.The detection module 1430 detects vibration noise about at least one axis of the robot arm.

보정 모듈(1440)은 연산 수행 모듈(1420)에서 수행된 적어도 하나 이상의 축에 대한 운동학적 연산 및 파악 모듈(1430)에서 파악된 진동 노이즈에 기반하여 각 축별로 해당 축에서 발생한 진동 노이즈에 인접한 축에서 발생된 진동 노이즈를 반영하여 각 축에 대한 위치 제어 데이터를 보정한다.The correction module 1440 calculates the kinematic calculation for at least one axis performed by the calculation performance module 1420 and determines the axis adjacent to the vibration noise generated in the corresponding axis for each axis based on the vibration noise identified by the identification module 1430. The position control data for each axis is corrected by reflecting the vibration noise generated.

이하에서는 로봇팔의 진동 노이즈 제거 방법의 구체적인 실시예를 설명하기로 한다.Hereinafter, a specific embodiment of a method for removing vibration noise of a robot arm will be described.

도 2 는 본 발명의 일 실시예에 따른 로봇팔의 진동 노이즈 제거 방법의 흐름도이다. Figure 2 is a flowchart of a method for removing vibration noise of a robot arm according to an embodiment of the present invention.

일 실시예에 따른 로봇팔의 진동 노이즈 제거 방법은 먼저, 로봇팔의 구조 및 운동학적 특성 정보를 입력받아 운동학적 특성을 수식화하여 모델링한다(S200).The method for removing vibration noise of a robot arm according to an embodiment first receives structural and kinematic characteristic information of the robot arm and models the kinematic characteristics by formulating them (S200).

로봇팔의 수학적 모델을 사용하여 로봇팔을 모델링함으로써 로봇팔의 운동을 제어할 수 있다. The movement of the robot arm can be controlled by modeling the robot arm using a mathematical model of the robot arm.

로봇팔의 모델링 분석은 로봇팔의 동작을 이해하고 예측케하는 데에 중요한 역할을 한다. 이때 로봇팔의 모델링 분석은 운동학적 모델링과 역학적 모델링이 있다.Modeling analysis of robotic arms plays an important role in understanding and predicting the movements of robotic arms. At this time, modeling analysis of the robot arm includes kinematic modeling and dynamic modeling.

운동학적 모델링은 로봇팔의 운동을 수학적으로 모델링하는 과정이다. 로봇팔은 다양한 구성 요소들이 연결되어 있으며, 각 구성 요소들은 서로 다른 운동을 수행한다. 이러한 구성 요소들 간의 상호작용을 수학적으로 모델링하여, 로봇팔의 운동을 설명할 수 있다. 일 예로 Denavit-Hartenberg(D-H) 파라미터를 이용한 운동학적 모델링이 있다.Kinematic modeling is the process of mathematically modeling the movement of a robot arm. A robotic arm has various components connected, and each component performs different movements. By mathematically modeling the interactions between these components, the movement of the robot arm can be explained. An example is kinematic modeling using Denavit-Hartenberg (D-H) parameters.

로봇팔의 모델링을 위해 로봇팔의 각 축에 대한 정보와 연결된 관절 각도, 링크 길이, 질량 및 중심, 관성 모멘트 등의 정보를 수집한다.For modeling of a robot arm, information about each axis of the robot arm, joint angles, link length, mass and center of gravity, and moment of inertia are collected.

모델링을 이용하여 로봇팔 각축의 운동학적 연산을 수행하고, 로봇팔의 다양한 운동학적 특성, 예를 들어 위치, 속도, 가속도, 토크, 힘 등을 추정할 수 있다.Using modeling, kinematic calculations for each axis of the robot arm can be performed and various kinematic characteristics of the robot arm, such as position, speed, acceleration, torque, and force, can be estimated.

한편, 로봇팔의 각 축의 위치, 속도, 가속도, 토크, 힘 등을 추정하기 위해서는, 로봇팔의 운동 방정식을 수식화해야 한다. 이를 위해 로봇팔의 각 부품들의 질량, 길이, 관성 모멘트 등을 측정하고, 로봇팔의 운동방정식을 유도할 수 있다.Meanwhile, in order to estimate the position, speed, acceleration, torque, force, etc. of each axis of the robot arm, the equation of motion of the robot arm must be formulated. To this end, the mass, length, and moment of inertia of each part of the robot arm can be measured, and the equation of motion of the robot arm can be derived.

모델링 과정에서 로봇팔이 가해지는 힘과 가속도에 따라 로봇팔의 운동을 설명하는 수학적인 식으로, 뉴턴 역학의 법칙을 기반으로 하는 로봇팔의 운동방정식을 도출할 수 있다. It is a mathematical equation that explains the movement of the robot arm according to the force and acceleration applied to the robot arm during the modeling process, and the equation of motion of the robot arm based on Newton's laws of mechanics can be derived.

로봇팔의 각 조인트는 일반적으로 회전축을 중심으로 움직인다. 따라서 각 조인트에서 작용하는 토크(Torque)는 각 조인트의 관성 모멘트(Inertia Moment)와 각 가속도에 비례한다. 로봇팔에서는 토크가 소모되는 효율성을 고려하여 토크 손실과 마찰력을 고려해야 한다.Each joint of a robot arm generally moves around a rotation axis. Therefore, the torque acting on each joint is proportional to the moment of inertia and angular acceleration of each joint. In robot arms, torque loss and friction must be taken into consideration in consideration of the efficiency with which torque is consumed.

일실시예에 있어서, 로봇팔의 운동방정식은 수학식 1과 같이 표현된다.In one embodiment, the equation of motion of the robot arm is expressed as Equation 1.

Figure 112023033738890-pat00001
Figure 112023033738890-pat00001

여기서 τ는 로봇팔에서 작용하는 토크, q는 로봇팔의 조인트 각도, q'는 각 조인트의 각 속도, q''는 각 조인트의 각 가속도를 나타낸다.Here, τ represents the torque acting on the robot arm, q represents the joint angle of the robot arm, q' represents the angular velocity of each joint, and q'' represents the angular acceleration of each joint.

또한 M(q)는 로봇팔의 관성 행렬로, 각 조인트의 관성 모멘트를 포함한다. C(q, q')는 로봇팔의 코리올리스 및 중력 항으로, 로봇팔의 운동에 영향을 미치고, G(q)는 로봇팔에서 작용하는 중력 힘을 나타낸다.Additionally, M(q) is the inertia matrix of the robot arm and includes the moment of inertia of each joint. C(q, q') is the Coriolis and gravity term of the robot arm, which affects the movement of the robot arm, and G(q) represents the gravitational force acting on the robot arm.

이러한 운동방정식을 이용하여 로봇팔의 운동을 수학적으로 모델링할 수 있다. 로봇팔의 제어 및 경로 계획 등 다양한 응용 분야에서도 운동방정식이 사용될 수 있다. Using these equations of motion, the motion of the robot arm can be mathematically modeled. Equations of motion can also be used in a variety of application fields, such as robot arm control and path planning.

추가적으로 로봇팔의 각 부분을 연결하는 조인트 각도와 길이를 설명하는 기하학적 변환을 기술하는 덴브-하튼베르크(Denavit-Hartenberg) 표기법이 적용될 수도 있다. Additionally, the Denavit-Hartenberg notation, which describes geometric transformations that describe the joint angles and lengths connecting each part of the robot arm, may be applied.

이는 로봇 팔의 각 조인트의 위치와 방향을 설명하는 로봇 공학 모델로, 로봇 팔의 각 조인트를 연결하는 선들을 축(Axis)이라는 이름의 고정된 좌표계로 나타내며, 이를 통해 각 조인트의 위치와 방향을 나타낸다. This is a robotics model that explains the position and direction of each joint of the robot arm. The lines connecting each joint of the robot arm are expressed as a fixed coordinate system called an axis, and through this, the position and direction of each joint are expressed. indicates.

또한 로봇팔 각 조인트 사이의 상대 위치와 방향을 설명하는 전치 행렬(Transform Matrix)이 이용될 수도 있다. 각 전치 행렬은 DH 매개 변수에 의해 정의되며, 각 조인트 각도를 사용하여 계산된다.Additionally, a transform matrix that describes the relative position and direction between each joint of the robot arm can be used. Each transpose matrix is defined by the DH parameter and is calculated using each joint angle.

또한 로봇팔에 작용하는 힘과 모멘트를 설명하는 로봇팔 역학 모델, 로봇팔이 원하는 위치와 방향으로 이동하도록하는 조인트 각도를 계산하는 PID 제어기와 같은 제어 알고리즘을 사용하는 로봇팔 제어 모델을 이용할 수 있다. You can also use a robot arm dynamics model that describes the forces and moments acting on the robot arm, and a robot arm control model that uses control algorithms such as a PID controller to calculate joint angles that allow the robot arm to move in the desired position and direction. .

일 양상에 있어서 모델링 하는 단계는, 인접한 축간 상호작용을 모델링한다. In one aspect, the modeling step models interactions between adjacent axes.

모델링 하는 단계는 인접한 축간 상호작용을 모델링하여 진동 노이즈 영향을 산출하기 위해서 로봇 팔의 각 축에서 발생하는 운동과 힘을 분석하는 로봇 팔의 다축 로봇 역학 모델링을 수행한다. 이를 통해 인접한 축 간 상호작용의 영향을 예측하고, 각 축의 운동과 힘을 최적화하는 방법을 찾을 수 있다. In the modeling step, multi-axis robot dynamics modeling of the robot arm is performed to analyze the motion and force generated in each axis of the robot arm in order to calculate the vibration noise effect by modeling the interaction between adjacent axes. This allows us to predict the impact of interactions between adjacent axes and find ways to optimize the motion and forces of each axis.

이때 모델링 하는 단계는 크로스 커플링(Cross-coupling) 모델링을 수행할 수 있다. At this time, the modeling step can be performed by cross-coupling modeling.

크로스 커플링 모델링은 인접한 축 간 상호작용을 고려한 다축 로봇 역학 모델링 기법 중 하나이다. Cross-coupling modeling is one of the multi-axis robot dynamics modeling techniques that considers the interaction between adjacent axes.

크로스 커플링 모델링은 로봇 팔의 다축 역학 모델에서 인접한 축 간 상호작용을 고려하는 방법이다. 이를 위해서는 다축 로봇 역학 모델을 일반적인 뉴턴 방정식과 라그랑주 방정식으로 모델링하는데, 이 때 크로스 커플링 상호작용을 추가적으로 고려한다. 크로스 커플링 상호작용은 한 축의 운동이 인접한 축의 운동에 영향을 주는 상황을 의미할 수 있다.Cross-coupling modeling is a method that considers the interaction between adjacent axes in a multi-axis dynamic model of a robot arm. To achieve this, the multi-axis robot dynamics model is modeled using general Newton equations and Lagrange equations, and cross-coupling interactions are additionally considered. Cross-coupling interaction can refer to a situation where the movement of one axis affects the movement of an adjacent axis.

크로스 커플링 모델링을 사용하여 인접한 축 간 상호작용을 고려하면, 다축 로봇의 운동과 힘이 더욱 정확하게 모델링될 수있다.By considering the interactions between adjacent axes using cross-coupling modeling, the motions and forces of multi-axis robots can be more accurately modeled.

또한 모델링 하는 단계는 실험 데이터를 수집하여 로봇 팔의 운동을 측정하고, 이를 통해 인접한 축 간 상호작용의 영향을 분석하여 인접한 축의 진동 노이즈 영향을 분석할 수 도 있다. 이를 위해 가속도계나 자이로스코프와 같은 센서를 사용하여 로봇 팔의 운동을 측정하고, 이를 통해 진동 노이즈의 주파수와 진폭을 분석한다. 분석된 값을 바탕으로 인접한 축 간 상호작용의 영향을 추정하고, 이를 모델링에 반영하도록 구현될 수도 있다. In addition, the modeling step collects experimental data to measure the motion of the robot arm, and through this, the influence of interaction between adjacent axes can be analyzed to analyze the impact of vibration noise on adjacent axes. For this purpose, the movement of the robot arm is measured using sensors such as accelerometers or gyroscopes, and the frequency and amplitude of vibration noise are analyzed through this. Based on the analyzed values, the impact of interactions between adjacent axes can be estimated and implemented to reflect this in modeling.

가속도계나 자이로스코프와 같은 센서를 이용하여 로봇팔의 운동을 측정하고, 이를 통해 진동 노이즈의 주파수와 진폭을 분석할 수 있다. 이후에 후술할 보정하는 단계에서 이를 바탕으로 인접한 축간 상호작용의 영향을 추정하고, 이를 모델링에 반영할 수 있다. The movement of the robot arm can be measured using sensors such as accelerometers or gyroscopes, and the frequency and amplitude of vibration noise can be analyzed through this. Based on this, in the correction step, which will be described later, the influence of interaction between adjacent axes can be estimated and reflected in modeling.

그리고 모델링 하는 단계에서의 모델링 결과를 이용하여 로봇팔의 적어도 하나 이상의 축에 대한 운동학적 연산을 수행한다(S210). Then, a kinematic calculation is performed on at least one axis of the robot arm using the modeling results from the modeling step (S210).

연산을 수행하는 단계는 모델링 단계에서 로봇팔의 모델링 결과와 함께 로봇팔이 수행하려는 움직임의 목표 위치와 방향 벡터를 입력받는다. 이는 관리자 단말(30)의 사용자 인터페이스를 통해 입력받을 수 있다. 그리고 입력받은 값들을 기반으로 로봇팔의 관절 각도와 연결된 링크의 움직임을 계산한다.The step of performing the calculation receives the modeling results of the robot arm from the modeling stage, as well as the target position and direction vector of the movement that the robot arm wants to perform. This can be input through the user interface of the administrator terminal 30. And based on the input values, the joint angles of the robot arm and the movement of the connected links are calculated.

구체적으로 로봇팔의 각 축에 대한 순방향 운동학 계산을 수행할 수 있다. 이를 위해 로봇팔의 모델링 결과와 함께 로봇팔의 각 관절의 위치, 속도, 가속도를 입력받아, 이를 기반으로 로봇팔의 끝 부분의 위치, 속도, 가속도를 계산할 수 있다.Specifically, forward kinematics calculations for each axis of the robot arm can be performed. For this purpose, the position, speed, and acceleration of each joint of the robot arm are input along with the modeling results of the robot arm, and based on this, the position, speed, and acceleration of the end of the robot arm can be calculated.

이때 로봇팔의 운동학적 연산을 통해 얻은 정보를 이용하여 모션 플래닝을 수행힌다. 이를 통해 로봇팔의 움직임을 제어하고, 로봇팔이 원하는 위치와 방향으로 움직일 수 있도록 할 수 있다. At this time, motion planning is performed using information obtained through kinematic calculations of the robot arm. Through this, you can control the movement of the robot arm and allow the robot arm to move in the desired position and direction.

또한, 로봇팔의 모션 플래닝 결과를 이용하여 로봇팔을 제어할 수 있다. 그리고 이를 위해 로봇팔의 모터나 액추에이터를 제어하여 로봇팔이 정확한 위치와 방향으로 움직일 수 있도록 제어한다.Additionally, the robot arm can be controlled using the motion planning results of the robot arm. For this purpose, the motor or actuator of the robot arm is controlled so that the robot arm can move in the correct position and direction.

운동학적 연산을 수행하는 단계는 로봇팔의 운동학 모델링을 통해 로봇팔의 각 조인트 각도를 이용하여 로봇팔의 위치와 방향을 계산하는 포워드 키네마틱스(Forward Kinematics) 수식을 도출할 수 있다. In the step of performing kinematic calculations, forward kinematics formulas that calculate the position and direction of the robot arm can be derived through kinematic modeling of the robot arm using each joint angle of the robot arm.

또한, 로봇팔의 위치와 방향을 이용하여 각 조인트 각도를 계산하는 역키네마틱스(Inverse Kinematics) 수식을 도출할 수도 있다. Additionally, an inverse kinematics formula that calculates each joint angle can be derived using the position and direction of the robot arm.

추가적으로 로봇팔이 작동하는 환경에서의 운동을 분석하는 과정으로 로봇팔이 물체를 집거나 이동하는 등의 작업을 수행하는 역학적 모델링을 통해, 로봇팔의 다양한 구성 요소들에 작용하는 힘과 토크를 계산하여, 로봇팔이 어떤 작업을 수행하는 데 필요한 힘과 토크를 결정하는 역학적 연산을 더 수행할 수도 있다. Additionally, as a process of analyzing the movement in the environment in which the robot arm operates, the force and torque acting on various components of the robot arm are calculated through dynamic modeling in which the robot arm performs tasks such as picking up or moving objects. Thus, the robot arm may further perform mechanical calculations to determine the force and torque required to perform a certain task.

로봇팔의 역학적 연산을 위한 역학 모델링에는 로봇팔이 가해지는 힘과 가속도에 따라 로봇팔의 운동을 설명하는 뉴턴 역학의 법칙, 로봇팔의 운동을 묘사하는 역학 모델을 구축하는 데에 사용되는 수식으로, 뉴턴 역학의 법칙을 일반화시킨 오일러-라그랑지(Euler-Lagrange) 방정식을 이용할 수 있다. Mechanical modeling for mechanical calculation of a robot arm includes Newton's laws of mechanics, which describe the movement of the robot arm according to the force and acceleration applied to the robot arm, and a formula used to build a dynamic model that describes the movement of the robot arm. , the Euler-Lagrange equation, which generalizes the laws of Newtonian mechanics, can be used.

그러나 이에 한정되는 것은 아니고, 로봇팔의 모델링에는 PID 제어(PID Control), 미분방정식 등의 수학적 개념과 수식이 사용될 수도 있다.However, it is not limited to this, and mathematical concepts and formulas such as PID control and differential equations may be used in modeling the robot arm.

이후에 로봇팔의 적어도 하나 이상의 축에 대한 진동 노이즈를 파악한다. (S220).Afterwards, vibration noise for at least one axis of the robot arm is identified. (S220).

일 실시예에 있어서 진동 노이즈를 파악하는 것은, 여러 축 각각의 진동 노이즈를 측정할 수 있는 측정 장비로부터 측정된 진동 노이즈 측정값을 획득하는것일 수 있다. In one embodiment, identifying vibration noise may mean obtaining a vibration noise measurement value measured from a measuring device capable of measuring vibration noise on multiple axes.

예를 들어 가속도계를 사용하여 로봇팔 축에서 발생하는 진동을 측정하고, 그 데이터를 분석하여 진동 주파수 및 진폭을 파악하는 것일 수 있다. For example, an accelerometer can be used to measure vibration occurring on the axis of a robot arm, and the data can be analyzed to determine the vibration frequency and amplitude.

또는 가속도계로 측정된 진동 신호를 FFT를 이용하여 주파수 영역으로 변환한 후, 주파수 스펙트럼을 분석함으로써, 주파수 대역별로 진동 노이즈의 크기를 파악하는 것일 수 있다.Alternatively, the vibration signal measured with an accelerometer may be converted to the frequency domain using FFT, and the frequency spectrum may be analyzed to determine the size of the vibration noise for each frequency band.

다른 예로 적외선 카메라를 이용하여 로봇 팔의 축 주변의 열 변화를 측정하는 것일 수도 있다. 이를 통해 진동에 의한 마찰 열의 변화를 파악하고, 진동 노이즈를 측정할 수 있다.Another example could be measuring thermal changes around the axis of a robot arm using an infrared camera. Through this, changes in frictional heat caused by vibration can be identified and vibration noise can be measured.

이외에 다양한 테스트 및 검증을 실시하여 로봇팔의 축에서 발생하는 진동노이즈를 확인할 수 있다. In addition, various tests and verification can be performed to check the vibration noise generated from the axis of the robot arm.

다른 실시예에 있어서, 진동 노이즈를 파악하는 단계는, 모델링 하는 단계에서 모델링된 로봇팔의 각 축의 운동에 대한 모델을 구축하여 각 축에서 발생할 것으로 예상되는 진동 노이즈 값을 계산하고, 계산 결과값을 이용하여 인접한 축에서 발생된 진동 노이즈를 파악할 수 있다. In another embodiment, the step of identifying vibration noise includes building a model for the movement of each axis of the robot arm modeled in the modeling step, calculating the vibration noise value expected to occur in each axis, and providing the calculated result. Using this, you can identify vibration noise generated from adjacent axes.

이를 위해 각 축의 운동 모델링과 진동 노이즈 예측에 대한 계산을 수행하고, 인접한 축 사이의 상호작용을 고려한 모델링을 수행할 수 있다. To this end, calculations for motion modeling and vibration noise prediction of each axis can be performed, and modeling considering interactions between adjacent axes can be performed.

각 축의 운동 모델링은 각 축의 관성 모멘트, 무게 등을 고려하여 운동방정식을 설정하는 관성 모델링, 각 축의 마찰력을 고려하여 운동방정식을 설정하는 마찰 모델링, 각 축의 모터, 센서 등을 고려하여 제어 방식을 설정하는 제어 모델링등이 포함될 수 있다. Motion modeling of each axis includes inertia modeling, which sets the equation of motion by considering the moment of inertia and weight of each axis, friction modeling, which sets the equation of motion by considering the friction force of each axis, and setting the control method by considering the motor, sensor, etc. of each axis. This may include control modeling, etc.

모델링된 각 축의 운동 모델을 바탕으로, 운동 시 발생할 것으로 예상되는 진동 노이즈 값을 계산할 수 있다. Based on the modeled movement model of each axis, the vibration noise value expected to occur during movement can be calculated.

이렇게 예측된 각 축에서 발생할 것으로 예상되는 진동 노이즈 값을 이용하여, 인접한 축에서 발생한 진동 노이즈를 파악할 수 있다. 이를 위해서는 인접한 축 간의 상호작용 모델을 고려하여 계산한다. By using the vibration noise values predicted to occur in each axis, the vibration noise occurring in adjacent axes can be identified. To achieve this, calculations are made taking into account the interaction model between adjacent axes.

그리고 수행된 적어도 하나 이상의 축에 대한 운동학적 연산 및 상기 파악된 진동 노이즈에 기반하여 각 축별로 해당 축에서 발생한 진동 노이즈에 인접한 축에서 발생된 진동 노이즈를 반영하여 각 축에 대한 위치 제어 데이터를 보정한다(S230). And based on the performed kinematic calculation for at least one axis and the identified vibration noise, the position control data for each axis is corrected by reflecting the vibration noise generated on the axis and the vibration noise generated on the adjacent axis. Do it (S230).

진동 데이터의 분석은 시간 영역의 진동 데이터를 주파수 영역으로 변환하여 분석하는 FFT(Fast Fourier Transform) 알고리즘, 시간-주파수 도메인에서의 신호 해석에 사용되는 다양한 분석 기법 중 하나인 Wavelet 변환 알고리즘, 다차원 데이터의 분산을 고려하여 데이터의 주요 정보를 추출하는 PCA(Principal Component Analysis) 알고리즘, 데이터를 유사한 속성을 갖는 여러 그룹으로 나누는 클러스터링 알고리즘 기법, 입력 변수와 출력 변수 사이의 관계를 모델링하는 회귀 분석 알고리즘, 복잡한 패턴을 찾는데 유용한 인공 신경망 기계 학습 알고리즘, 인공 신경망의 확장으로 더 복잡한 패턴을 학습하는 딥러닝 알고리즘 중 하나가 이용될 수 있다. 그러나 이에 한정되는 것은 아니다. Analysis of vibration data includes the FFT (Fast Fourier Transform) algorithm, which converts and analyzes vibration data in the time domain to the frequency domain, the Wavelet transform algorithm, which is one of various analysis techniques used for signal analysis in the time-frequency domain, and the multidimensional data. PCA (Principal Component Analysis) algorithm that extracts key information from data by considering variance, clustering algorithm technique that divides data into several groups with similar properties, regression analysis algorithm that models the relationship between input and output variables, and complex patterns. An artificial neural network machine learning algorithm is useful for finding, and one of the deep learning algorithms can be used as an extension of the artificial neural network to learn more complex patterns. However, it is not limited to this.

일 양상에 있어서, 보정하는 단계는 머신러닝 모델을 사용하여 인접한 축에서 발생한 진동 노이즈를 파악하고, 인접한 축 간의 진동 노이즈 상호작용을 예측하고, 해당 예측값을 사용하여 노이즈 보정을 수행할 수 있다. In one aspect, the correction step may use a machine learning model to identify vibration noise generated in adjacent axes, predict vibration noise interaction between adjacent axes, and perform noise correction using the corresponding predicted value.

보정하는 단계는 딥러닝 알고리즘을 이용하여 여러 층으로 이루어진 신경망을 통해 학습된 모델에 의해 인접한 축에서 발생한 진동 노이즈를 파악할 수 있다.The correction step uses a deep learning algorithm to identify vibration noise generated in adjacent axes by a model learned through a multi-layered neural network.

다양한 측정기기로부터 로봇 팔에서 발생한 진동 노이즈 데이터를 수집한다. 그리고 딥러닝 모델을 학습시키기 위해 수집된 데이터를 전처리하고, 모델을 설계하고 학습시킨다. 학습된 모델은 인접한 축에서 발생한 진동 노이즈를 파악할 수 있으며, 이를 바탕으로 로봇 팔의 운동을 보다 정확하게 제어할 수 있다. Vibration noise data generated from the robot arm is collected from various measuring devices. Then, to train the deep learning model, the collected data is preprocessed, and the model is designed and trained. The learned model can identify vibration noise generated from adjacent axes, and based on this, the movement of the robot arm can be controlled more accurately.

머신러닝 모델을 사용하여 모델의 학습을 통해 로봇 팔의 운동 패턴을 파악하고, 보다 효율적인 제어 알고리즘을 개발하여 로봇 팔에서 인접한 축에서 발생한 진동 노이즈를 파악할 수 있다. Using a machine learning model, the movement pattern of the robot arm can be identified through model learning, and a more efficient control algorithm can be developed to identify vibration noise generated from adjacent axes in the robot arm.

그리고 다른 양상에 있어서, 보정하는 단계는 상호작용 모델을 사용하여 각 축에서 발생한 노이즈를 예측하고, 해당 예측값을 사용하여 인접한 축에서 발생한 노이즈의 영향을 보정할 수도 있다. In another aspect, the correction step may predict noise generated in each axis using an interaction model, and use the corresponding predicted value to correct the influence of noise generated in adjacent axes.

상호작용 모델은 다양한 변수 간의 상호작용 관계를 분석하고 모델링하는 방법으로, 통계학, 머신 러닝, 인공지능 등 분야에서 활용될 수 있다. An interaction model is a method of analyzing and modeling interaction relationships between various variables, and can be used in fields such as statistics, machine learning, and artificial intelligence.

즉, 각 축에서 발생하는 노이즈 데이터를 수집할 때, 인접한 축 간 상호작용을 고려하여 인접한 축의 노이즈 데이터도 함께 수집한다.In other words, when collecting noise data generated from each axis, noise data from adjacent axes is also collected by considering the interaction between adjacent axes.

그리고 각 축에서 발생하는 노이즈와 인접한 축 간의 상호작용을 모델링합니다. 이를 위해 각 축의 노이즈 데이터와 인접한 축의 노이즈 데이터를 이용하여 모델을 학습시키고, 예측할 수 있다. 모델에서 예측한 값은 해당 축에서 발생한 노이즈 예측값이고, 이를 각 축에서 발생한 노이즈 값으로 사용하여, 인접한 축에서 발생한 노이즈의 영향을 파악할 수 있다. We then model the noise generated from each axis and the interaction between adjacent axes. To this end, the model can be trained and predicted using noise data on each axis and noise data on adjacent axes. The value predicted by the model is the predicted value of noise generated on the corresponding axis, and by using this as the noise value generated on each axis, the impact of noise generated on adjacent axes can be determined.

그리고 예측된 노이즈 값을 기반으로, 보다 정확한 제어 알고리즘을 개발할 수 있다. And based on the predicted noise value, a more accurate control algorithm can be developed.

일 실시예에 있어서, 각 축에 대한 위치 제어 데이터를 보정하기 위해서 로봇팔의 모든 축에서 측정된 진동 데이터를 수집한다. 그리고 수집된 진동 데이터에 FFT 분석을 통해 각 축의 주파수 성분을 분석한다. In one embodiment, vibration data measured in all axes of the robot arm is collected to correct position control data for each axis. Then, the frequency components of each axis are analyzed through FFT analysis on the collected vibration data.

그리고 분석 결과를 바탕으로, 옆 축의 진동 노이즈에 의한 영향을 고려하여 각 축의 진동 노이즈를 분리할 수 있다. And based on the analysis results, the vibration noise of each axis can be separated by considering the influence of vibration noise of the next axis.

각 축에서 분리된 진동 노이즈 데이터를 이용하여, 해당 축의 모델링을 업데이트하고, 업데이트 된 모델링을 통해 모든 축에서 진동 노이즈를 분석하는 단계를 반복 수행하여, 모든 축에서 측정된 진동 데이터를 동시에 분석할수 있다. 결과적으로 인접한 축의 진동 노이즈에 의한 효과를 반영하여 진동 노이즈를 제거할 수 있다. By using the vibration noise data separated from each axis, the modeling of the corresponding axis is updated, and the steps of analyzing the vibration noise on all axes are repeated through the updated modeling, the vibration data measured on all axes can be analyzed simultaneously. . As a result, vibration noise can be removed by reflecting the effect of vibration noise on adjacent axes.

일 예로 보정하는 단계는 각 축에서 측정된 진동 데이터를 독립적으로 분석하여 보정할 수있다.As an example, the correction step can be performed by independently analyzing vibration data measured on each axis.

다른 축에서 발생한 진동 노이즈의 효과를 보정하기 위해 각 축의 모델링을 사용하여 다른 축에서 예측되는 진동을 제거하는 방법을 사용할 수 있다. 예를 들어, x 축에서 측정된 진동 데이터를 분석하는 경우 y 축과 z 축에서 예측되는 진동 노이즈를 모델링하여 x 축에서 측정된 데이터에서 예측되는 노이즈를 제거할 수 있다. 이를 위해, 각 축에서의 진동 노이즈를 모델링하고 분석하여, 해당 축에서 예측되는 진동을 계산하고 제거하는 알고리즘을 수행할 수 있다.To compensate for the effects of vibration noise generated in other axes, modeling of each axis can be used to remove the vibration predicted in other axes. For example, when analyzing vibration data measured on the To this end, the vibration noise in each axis can be modeled and analyzed, and an algorithm can be performed to calculate and remove the predicted vibration in that axis.

일 실시예에 있어서, 보정하는 단계는 각 축에서 측정된 진동 데이터에 대해 FFT 분석을 수행한 결과를 서로 곱하여 전체적인 진동 노이즈에 대한 효과를 반영하고, 곱한 결과를 IFFT(Inverse Fast Fourier Transform)를 통해 다시 시간 도메인으로 변환하여 최종 진동 데이터를 도출한다. In one embodiment, the correction step reflects the effect on overall vibration noise by multiplying the results of performing FFT analysis on the vibration data measured on each axis, and the multiplied result is calculated through IFFT (Inverse Fast Fourier Transform). Convert it back to the time domain to derive the final vibration data.

구체적으로 각 축에서 측정된 진동 데이터에 대해 FFT 분석 수행하는 단계, FFT 분석 수행 결과를 서로 곱하고, 그 곱한 결과를 IFFT(Inverse Fast Fourier Transform)를 통해 다시 시간 도메인으로 변환하여 최종 진동 데이터를 도출할 수 있다.Specifically, performing FFT analysis on the vibration data measured on each axis, multiplying the results of the FFT analysis, and converting the multiplied result back to the time domain through IFFT (Inverse Fast Fourier Transform) to derive the final vibration data. You can.

또한, 필터링 기술을 사용하여 다른 축에서 발생한 진동 노이즈를 제거할 수도 있다. 예를 들어, 다른 축에서 발생한 고주파 진동 노이즈를 필터링하여 해당 축에서 측정된 데이터에서 예측되는 진동을 제거할 수 있다.Additionally, filtering techniques can be used to remove vibration noise generated from other axes. For example, high-frequency vibration noise generated on another axis can be filtered out to remove the vibration expected from data measured on that axis.

보정하는 단계는 특정 축에서의 진동 노이즈와 로봇팔의 제어 알고리즘을 개선하여, 로봇팔 축에서 발생하는 진동 노이즈를 최소화할 수 있다. 이를 위해서는 다양한 운동학적 모델링 및 제어 알고리즘이 적용될 수 있다. 즉 또한 보정하는 단계는, 각 축의 움직임이 서로 영향을 미치는 영향을 파악하기 위해서는 로봇팔의 모델링과 제어 알고리즘을 이용한다. The correction step can minimize vibration noise occurring in the robot arm axis by improving the vibration noise in a specific axis and the control algorithm of the robot arm. For this purpose, various kinematic modeling and control algorithms can be applied. In other words, the correction step uses robotic arm modeling and control algorithms to understand how the movements of each axis affect each other.

로봇팔의 제어 알고리즘은 로봇팔의 제어 방법을 결정하는 알고리즘으로 로봇팔의 모델링 결과와 센서 데이터를 이용하여 로봇팔을 제어한다. 보정하는 단계는 이 알고리즘을 통해 각 축의 움직임이 다른 축에 미치는 영향을 보상할 수 있다.The control algorithm of the robot arm is an algorithm that determines the control method of the robot arm and controls the robot arm using the modeling results of the robot arm and sensor data. In the compensation step, this algorithm can compensate for the impact of the movement of each axis on other axes.

전술한 방법은 애플리케이션으로 구현되거나 다양한 컴퓨터 구성요소를 통하여 수행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다.The above-described method may be implemented as an application or in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination.

상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것들이거니와 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수도 있다.The program instructions recorded on the computer-readable recording medium may be those specifically designed and configured for the present invention, or may be known and usable by those skilled in the computer software field.

컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD 와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 ROM, RAM, 플래시 메모리 등과 같은 프로그램 명령어를 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다.Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. media), and hardware devices specifically configured to store and perform program instructions, such as ROM, RAM, flash memory, etc.

프로그램 명령어의 예에는, 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 상기 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform processing according to the invention and vice versa.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the above has been described with reference to embodiments, those skilled in the art will understand that various modifications and changes can be made to the present invention without departing from the spirit and scope of the present invention as set forth in the following patent claims. You will be able to.

10 : 진동 노이즈 제거 장치 20 : 네트워크
30 : 관리자 단말 110 : 통신 인터페이스
120 : 메모리 130 : 입출력 인터페이스
140 : 프로세서 1410 : 모델링 모듈
1420 : 연산 수행 모듈 1430 : 파악 모듈
1440 : 보정 모듈
10: Vibration noise removal device 20: Network
30: Administrator terminal 110: Communication interface
120: memory 130: input/output interface
140: Processor 1410: Modeling module
1420: calculation performance module 1430: grasp module
1440: Calibration module

Claims (8)

하나의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
로봇팔의 구조 및 운동학적 특성 정보를 입력받아 로봇팔의 운동학적 특성을 수식화하여 모델링 하는 단계;
상기 모델링 하는 단계에서의 모델링 결과를 이용하여 로봇팔의 적어도 하나 이상의 축에 대한 운동학적 연산을 수행하는 단계;
로봇팔의 적어도 하나 이상의 축에 대한 진동 노이즈를 파악하는 단계;
수행된 적어도 하나 이상의 축에 대한 운동학적 연산 및 상기 파악된 진동 노이즈에 기반하여 각 축별로 해당 축에서 발생한 진동 노이즈에 인접한 축에서 발생된 진동 노이즈를 반영하여 각 축에 대한 위치 제어 데이터를 보정하는 단계;를 포함하고,
상기 모델링하는 단계는,
인접한 축간 상호 작용을 모델링하고,
상기 보정하는 단계는,
상기 모델링하는 단계에서 모델링된 해당 모델을 이용하여 인접한 축에서 발생한 진동 노이즈를 예측하며,
상기 보정하는 단계는,
머신러닝 모델을 사용하여 인접한 축에서 발생한 진동 노이즈를 파악하고, 인접한 축 간의 진동 노이즈 상호작용을 예측하고, 해당 예측값을 사용하여 노이즈 보정을 수행하며,
상호작용 모델을 사용하여 각 축에서 발생한 노이즈를 예측하고, 해당 예측값을 사용하여 인접한 축에서 발생한 노이즈의 영향을 보정하고,
상기 진동 노이즈를 파악하는 단계는,
상기 모델링 하는 단계에서 모델링된 로봇팔의 각 축의 운동에 대한 모델을 구축하여 각 축에서 발생할 것으로 예상되는 진동 노이즈 값을 계산하고, 계산 결과값을 이용하여 인접한 축에서 발생된 진동 노이즈를 파악하며, 각 축의 노이즈 데이터와 인접한 축의 노이즈 데이터를 이용하여 모델을 학습시키고, 예측하여 각 축에서 발생하는 노이즈와 인접한 축 간의 상호작용을 모델링하고, 인접한 축에서 발생한 노이즈의 영향을 파악하며,
상기 보정하는 단계는,
각 축에서 측정된 진동 데이터에 대해 FFT 분석을 수행한 결과를 서로 곱하여 전체적인 진동 노이즈에 대한 효과를 반영하고, 곱한 결과를 IFFT(Inverse Fast Fourier Transform)를 통해 다시 시간 도메인으로 변환하여 최종 진동 데이터를 도출하여 제거하거나, 다른 축에서 발생한 고주파 진동 노이즈를 필터링하여 다른 축에서 발생한 진동 노이즈를 제거하고 해당 축에서 측정된 데이터에서 예측되는 진동을 제거하고,
상기 운동학적 연산을 수행하는 단계에서 로봇팔의 운동학적 연산을 통해 얻은 정보를 이용하여 모션 플래닝을 수행하는 로봇팔의 진동 노이즈 제거 방법.
one processor, and
A method performed on a computing device having a memory that stores one or more programs executed by the one or more processors, comprising:
Step of receiving structural and kinematic characteristic information of the robot arm and formulating and modeling the kinematic characteristics of the robot arm;
performing a kinematic calculation on at least one axis of the robot arm using the modeling result from the modeling step;
Determining vibration noise about at least one axis of the robot arm;
Based on the performed kinematic calculation for at least one axis and the identified vibration noise, the position control data for each axis is corrected by reflecting the vibration noise generated on the axis and the vibration noise generated on the adjacent axis for each axis. Including steps;
The modeling step is,
Model interactions between adjacent axes,
The correction step is,
Predict vibration noise generated from adjacent axes using the model modeled in the modeling step,
The correction step is,
Using a machine learning model, we identify vibration noise generated from adjacent axes, predict vibration noise interaction between adjacent axes, and use the predicted values to perform noise compensation.
An interaction model is used to predict noise on each axis, and the predicted values are used to compensate for the effects of noise on adjacent axes.
The step of identifying the vibration noise is,
In the modeling step, a model for the movement of each axis of the modeled robot arm is built to calculate the vibration noise value expected to occur in each axis, and the calculation result is used to identify vibration noise generated in adjacent axes, A model is trained and predicted using the noise data of each axis and the noise data of adjacent axes to model the interaction between noise occurring in each axis and adjacent axes, and to determine the impact of noise occurring in adjacent axes.
The correction step is,
The results of FFT analysis on the vibration data measured on each axis are multiplied to reflect the overall effect on vibration noise, and the multiplied results are converted back to the time domain through IFFT (Inverse Fast Fourier Transform) to produce the final vibration data. Derive and remove vibration noise generated on other axes by filtering out high-frequency vibration noise generated on other axes and remove vibration predicted from data measured on that axis.
A method of removing vibration noise of a robot arm that performs motion planning using information obtained through the kinematic calculation of the robot arm in the step of performing the kinematic calculation.
삭제delete 제 1 항에 있어서,
상기 모델링 하는 단계는 크로스 커플링(Cross-coupling) 모델링을 수행하는, 로봇팔의 진동 노이즈 제거 방법.
According to claim 1,
The modeling step is a method of removing vibration noise of a robot arm, where cross-coupling modeling is performed.
삭제delete 삭제delete 제 1 항에 있어서,
상기 진동 노이즈를 파악하는 단계는,
여러 축 각각의 진동 노이즈를 측정할 수 있는 측정 장비로부터 측정된 진동 노이즈 측정값을 획득하는, 로봇팔의 진동 노이즈 제거 방법.
According to claim 1,
The step of identifying the vibration noise is,
A method of removing vibration noise from a robot arm that obtains vibration noise measurements from measurement equipment that can measure vibration noise on multiple axes.
삭제delete 하나 이상의 프로세서들, 및
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨터 장치로서,
로봇팔의 구조 및 운동학적 특성 정보를 입력받아 로봇팔의 운동학적 특성을 수식화하여 모델링 하는 모델링 모듈;
상기 모델링 모듈에서의 모델링 결과를 이용하여 로봇팔의 적어도 하나 이상의 축에 대한 운동학적 연산을 수행하는 연산 수행 모듈;
로봇팔의 적어도 하나 이상의 축에 대한 진동 노이즈를 파악하는 파악 모듈;
수행된 적어도 하나 이상의 축에 대한 운동학적 연산 및 상기 파악된 진동 노이즈에 기반하여 각 축별로 해당 축에서 발생한 진동 노이즈에 인접한 축에서 발생된 진동 노이즈를 반영하여 각 축에 대한 위치 제어 데이터를 보정하는 보정 모듈;을 포함하고,
상기 모델링 모듈은,
인접한 축간 상호 작용을 모델링하고,
상기 보정 모듈은,
상기 모델링 모듈에서 모델링된 해당 모델을 이용하여 인접한 축에서 발생한 진동 노이즈를 예측하며,
상기 보정 모듈은,
머신러닝 모델을 사용하여 인접한 축에서 발생한 진동 노이즈를 파악하고, 인접한 축 간의 진동 노이즈 상호작용을 예측하고, 해당 예측값을 사용하여 노이즈 보정을 수행하며,
상호작용 모델을 사용하여 각 축에서 발생한 노이즈를 예측하고, 해당 예측값을 사용하여 인접한 축에서 발생한 노이즈의 영향을 보정하고,
상기 파악 모듈은,
상기 모델링 모듈에서 모델링된 로봇팔의 각 축의 운동에 대한 모델을 구축하여 각 축에서 발생할 것으로 예상되는 진동 노이즈 값을 계산하고, 계산 결과값을 이용하여 인접한 축에서 발생된 진동 노이즈를 파악하며, 각 축의 노이즈 데이터와 인접한 축의 노이즈 데이터를 이용하여 모델을 학습시키고, 예측하여 각 축에서 발생하는 노이즈와 인접한 축 간의 상호작용을 모델링하고, 인접한 축에서 발생한 노이즈의 영향을 파악하며,
상기 보정 모듈은,
각 축에서 측정된 진동 데이터에 대해 FFT 분석을 수행한 결과를 서로 곱하여 전체적인 진동 노이즈에 대한 효과를 반영하고, 곱한 결과를 IFFT(Inverse Fast Fourier Transform)를 통해 다시 시간 도메인으로 변환하여 최종 진동 데이터를 도출하여 제거하거나, 다른 축에서 발생한 고주파 진동 노이즈를 필터링하여 다른 축에서 발생한 진동 노이즈를 제거하고 해당 축에서 측정된 데이터에서 예측되는 진동을 제거하고,
상기 운동학적 연산을 수행 모듈에서 로봇팔의 운동학적 연산을 통해 얻은 정보를 이용하여 모션 플래닝을 수행하는, 컴퓨터 장치.
one or more processors, and
A computer device having a memory storing one or more programs to be executed by the one or more processors,
A modeling module that receives structural and kinematic characteristic information of the robot arm and formulates and models the kinematic characteristics of the robot arm;
a computation performance module that performs a kinematic computation on at least one axis of the robot arm using modeling results from the modeling module;
A detection module that detects vibration noise about at least one axis of the robot arm;
Based on the performed kinematic calculation for at least one axis and the identified vibration noise, the position control data for each axis is corrected by reflecting the vibration noise generated on the axis and the vibration noise generated on the adjacent axis for each axis. Comprising a correction module;
The modeling module is,
Model interactions between adjacent axes,
The correction module is,
Predict vibration noise generated from adjacent axes using the model modeled in the modeling module,
The correction module is,
Using a machine learning model, we identify vibration noise generated from adjacent axes, predict vibration noise interaction between adjacent axes, and use the predicted values to perform noise compensation.
An interaction model is used to predict noise on each axis, and the predicted values are used to compensate for the effects of noise on adjacent axes.
The grasping module is,
Build a model for the movement of each axis of the robot arm modeled in the modeling module to calculate the vibration noise value expected to occur in each axis, use the calculation result to determine the vibration noise generated in adjacent axes, and calculate the vibration noise value expected to occur in each axis. A model is trained and predicted using noise data on an axis and noise data on adjacent axes to model the interaction between noise occurring on each axis and adjacent axes, and identify the impact of noise occurring on adjacent axes.
The correction module is,
The results of FFT analysis on the vibration data measured on each axis are multiplied to reflect the overall effect on vibration noise, and the multiplied results are converted back to the time domain through IFFT (Inverse Fast Fourier Transform) to produce the final vibration data. Derive and remove vibration noise generated on other axes by filtering out high-frequency vibration noise generated on other axes and remove vibration predicted from data measured on that axis.
A computer device that performs motion planning using information obtained through the kinematic calculation of a robot arm in the kinematic calculation performing module.
KR1020230038800A 2023-03-24 2023-03-24 Method and Apparatus for Reducing Vibration Noise in a Robot Arm KR102607486B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230038800A KR102607486B1 (en) 2023-03-24 2023-03-24 Method and Apparatus for Reducing Vibration Noise in a Robot Arm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230038800A KR102607486B1 (en) 2023-03-24 2023-03-24 Method and Apparatus for Reducing Vibration Noise in a Robot Arm

Publications (1)

Publication Number Publication Date
KR102607486B1 true KR102607486B1 (en) 2023-11-29

Family

ID=88969346

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230038800A KR102607486B1 (en) 2023-03-24 2023-03-24 Method and Apparatus for Reducing Vibration Noise in a Robot Arm

Country Status (1)

Country Link
KR (1) KR102607486B1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010081236A (en) 2000-02-11 2001-08-29 윤종용 Motion control apparatus for suppression static vibration
KR101199856B1 (en) * 2010-12-16 2012-11-09 한양대학교 산학협력단 Methods for Generating Segmented Primitive Skills of Intelligent Robot, Recognition and Reproduction Method, and Improvement through Incremental Learning of Primitive Skills
KR20150006016A (en) * 2012-05-30 2015-01-15 가부시키가이샤 고베 세이코쇼 Trajectory control device for articulated robot, and control method
KR20170038107A (en) * 2012-11-30 2017-04-05 어플라이드 머티어리얼스, 인코포레이티드 Vibration-controlled substrate handling robot, systems, and methods
KR20200118743A (en) * 2019-04-08 2020-10-16 재단법인 경북아이티융합 산업기술원 System for smart plant broken diagnosis using artificial intelligence and vroken diagnosis using the method
KR20220058674A (en) 2020-10-29 2022-05-10 한국전자기술연구원 Robot arm joint and system using wireless power transmission

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010081236A (en) 2000-02-11 2001-08-29 윤종용 Motion control apparatus for suppression static vibration
KR101199856B1 (en) * 2010-12-16 2012-11-09 한양대학교 산학협력단 Methods for Generating Segmented Primitive Skills of Intelligent Robot, Recognition and Reproduction Method, and Improvement through Incremental Learning of Primitive Skills
KR20150006016A (en) * 2012-05-30 2015-01-15 가부시키가이샤 고베 세이코쇼 Trajectory control device for articulated robot, and control method
KR20170038107A (en) * 2012-11-30 2017-04-05 어플라이드 머티어리얼스, 인코포레이티드 Vibration-controlled substrate handling robot, systems, and methods
KR20200118743A (en) * 2019-04-08 2020-10-16 재단법인 경북아이티융합 산업기술원 System for smart plant broken diagnosis using artificial intelligence and vroken diagnosis using the method
KR20220058674A (en) 2020-10-29 2022-05-10 한국전자기술연구원 Robot arm joint and system using wireless power transmission

Similar Documents

Publication Publication Date Title
CN109906132B (en) Robotic deep reinforcement learning
Pfrommer et al. Contactnets: Learning discontinuous contact dynamics with smooth, implicit representations
Zhang et al. The application of particle filtering to grasping acquisition with visual occlusion and tactile sensing
JP6630813B2 (en) Control and / or adjustment of robot motors
US10478969B2 (en) Method for the improved detection of the collision of a robot with its environment, system and computer program product implementing said method
CN110815258B (en) Robot teleoperation system and method based on electromagnetic force feedback and augmented reality
Chang et al. Sim2real2sim: Bridging the gap between simulation and real-world in flexible object manipulation
US10967505B1 (en) Determining robot inertial properties
Qin et al. A new approach to the dynamic parameter identification of robotic manipulators
Cheng et al. Reducing the frame vibration of delta robot in pick and place application: an acceleration profile optimization approach
Khalilpour et al. Tip-trajectory tracking control of a deployable cable-driven robot via output redefinition
Chellal et al. An identification methodology for 6-dof cable-driven parallel robots parameters application to the inca 6d robot
Dehghani et al. Dynamics modeling of a continuum robotic arm with a contact point in planar grasp
JP2008509427A (en) System and method for simulating multibody motion
Kadhim et al. Mini drone linear and nonlinear controller system design and analyzing
Onol et al. A comparative analysis of contact models in trajectory optimization for manipulation
Hoang et al. New artificial intelligence approach to inclination measurement based on MEMS accelerometer
KR102607486B1 (en) Method and Apparatus for Reducing Vibration Noise in a Robot Arm
Palomba et al. Reduced-order observers for nonlinear state estimation in flexible multibody systems
KR102607487B1 (en) Method and Apparatus for Reducing Noise in a Robot Arm
Mamidi et al. A computational framework for the dynamic analyses of cable-driven parallel robots with feed and retrieval of cables
Angel et al. Parametric identification of a delta type parallel robot
Meier et al. Discussing the reality gap by comparing physics engines in Kilobot simulations
Zapolsky et al. Inverse dynamics with rigid contact and friction
Burka et al. How much haptic surface data is enough?

Legal Events

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