KR20210033197A - 액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법 - Google Patents

액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법 Download PDF

Info

Publication number
KR20210033197A
KR20210033197A KR1020190114621A KR20190114621A KR20210033197A KR 20210033197 A KR20210033197 A KR 20210033197A KR 1020190114621 A KR1020190114621 A KR 1020190114621A KR 20190114621 A KR20190114621 A KR 20190114621A KR 20210033197 A KR20210033197 A KR 20210033197A
Authority
KR
South Korea
Prior art keywords
liquid
value
robot arm
tool
robot
Prior art date
Application number
KR1020190114621A
Other languages
English (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 KR1020190114621A priority Critical patent/KR20210033197A/ko
Priority to US16/735,071 priority patent/US11573114B2/en
Publication of KR20210033197A publication Critical patent/KR20210033197A/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0045Manipulators used in the food industry
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F23/00Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
    • G01F23/22Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm by measuring physical variables, other than linear dimensions, pressure or weight, dependent on the level to be measured, e.g. by difference of heat transfer of steam or water
    • 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
    • B25J13/085Force or torque sensors
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J15/00Gripping heads and other end effectors
    • B25J15/0019End effectors other than grippers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • B25J19/061Safety devices with audible signals
    • 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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F23/00Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
    • G01F23/0023Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm with a probe suspended by a wire or thread
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01FMEASURING VOLUME, VOLUME FLOW, MASS FLOW OR LIQUID LEVEL; METERING BY VOLUME
    • G01F23/00Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm
    • G01F23/0038Indicating or measuring liquid level or level of fluent solid material, e.g. indicating in terms of volume or indicating by means of an alarm using buoyant probes
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/37Measurements
    • G05B2219/37344Torque, thrust, twist, machining force measurement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법이 개시된다. 본 발명의 로봇은 끝단부에 툴(tool)이 부착되는 로봇 팔, 상기 로봇 팔에 위치하고, 상기 로봇 팔의 토크값을 측정하는 토크 센서, 상기 로봇 팔을 제어하고, 상기 토크값을 상기 토크 센서에서 수신하고, 상기 토크값과 관련된 정보를 산출하며, 상기 토크값과 관련된 정보에 기초하여 액체통에 수용된 액체의 수위값을 산출하는 프로세서를 포함하되, 상기 프로세서는, 상기 액체통의 내부에서 상기 툴을 이동시키도록 상기 로봇 팔을 제어하고, 상기 이동된 툴의 하단부가 상기 액체의 표면에 접촉할 때의 제1 토크값과 관련된 제1 정보 및 상기 이동된 툴의 하단부가 상기 액체의 바닥면에 접촉할 때의 제2 토크값과 관련된 제2 정보를 이용하여 상기 액체의 수위값을 산출한다.

Description

액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법{ROBOT AND METHOD FOR CALCULATING LEVEL OF LIQUID IN THE LIQUID CONTAINER}
본 발명은 액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법에 관한 기술이다.
로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 로봇은 환경을 인식하고 스스로 판단하여 동작을 수행할 수 있다.
한편, 로봇은 가정 또는 식당에서 요리와 관련된 작업을 수행할 수 있다. 즉, 요리 로봇은 음식 재료를 자르고, 육수통에 담긴 육수를 그릇에 담는 동작 등을 수행할 수 있다.
특히, 육수를 이용하여 요리를 만드는 경우, 육수통에 수용되는 육수의 수위를 정확하게 확인하는 것이 중요하다. 종래 기술은 로봇의 사용자가 눈으로 육수의 수위를 확인하거나 사용자가 수위 센서를 확인하는 것이 대부분이다. 그러나, 이는 사용자의 불편함을 초래한다.
본 발명의 목적은 액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법을 제공하는 것이다.
본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시예에 의해 보다 분명하게 이해될 것이다. 또한, 본 발명의 목적 및 장점들은 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
본 발명의 일 실시예에 의한 로봇은 끝단부에 툴(tool)이 부착되는 로봇 팔, 상기 로봇 팔에 배치되고, 상기 로봇 팔의 토크값을 측정하는 토크 센서, 상기 로봇 팔을 제어하고, 상기 토크값을 상기 토크 센서에서 수신하고, 상기 토크값과 관련된 정보를 산출하며, 상기 토크값과 관련된 정보에 기초하여 액체통에 수용된 액체의 수위값을 산출하는 프로세서를 포함하되, 상기 프로세서는, 상기 액체통의 내부에서 상기 툴을 이동시키도록 상기 로봇 팔을 제어하고, 상기 이동된 툴의 하단부가 상기 액체의 표면에 접촉할 때의 제1 토크값과 관련된 제1 정보 및 상기 이동된 툴의 하단부가 상기 액체의 바닥면에 접촉할 때의 제2 토크값과 관련된 제2 정보를 이용하여 상기 액체의 수위값을 산출한다.
또한, 본 발명의 일 실시예에 의한 로봇은 끝단부에 툴이 부착되는 로봇 팔, 상기 로봇 팔에 배치되고, 상기 로봇 팔의 토크값을 측정하는 토크 센서, 상기 로봇 팔을 제어하고, 상기 토크값을 상기 토크 센서에서 수신하고, 상기 토크값과 관련된 정보를 산출하며, 상기 토크값과 관련된 정보에 기초하여 액체통에 수용된 액체의 수위값을 산출하는 프로세서 및 상기 액체통의 높이의 정보를 저장하는 저장부를 포함하되, 상기 프로세서는, 상기 액체통의 상단을 시작점으로 하여 상기 툴이 아래쪽 방향으로 이동하도록 상기 로봇 팔을 제어하고, 상기 액체통의 상단에 상기 툴의 하단부가 위치할 때의 상기 로봇 팔의 끝단부의 제1 위치와, 제1 토크값이 측정될 때의 상기 로봇 팔의 끝단부의 제2 위치에 기초하여 상기 로봇 팔의 이동 거리를 산출하고, 상기 이동 거리와 상기 액체통의 높이에 기초하여 상기 액체의 수위값을 산출하되, 상기 제1 토크 값은 이동하는 상기 툴의 하단부가 상기 액체의 표면에 접촉할 때 측정된다.
또한, 본 발명의 일 실시예에 의한 로봇을 이용한 액체의 수위 산출 방법은 프로세서가, 상기 로봇 팔의 끝단부에 배치된 툴이 액체통 내부의 아래쪽 방향으로 이동하도록 상기 로봇 팔을 구동하는 단계, 토크 센서가, 상기 툴이 상기 액체의 표면에 접촉할 때 발생하는 제1 충격량에 따른 제1 토크값을 측정하는 단계, 상기 토크 센서가, 상기 툴의 하단부가 상기 액체통의 바닥에 접촉할 때 발생하는 제2 충격량에 따른 제2 토크값을 측정하는 단계 및 상기 프로세서가, 상기 제1 토크값과 관련된 제1 정보 및 상기 제2 토크값과 관련된 제2 정보에 기초하여 상기 액체의 수위값을 산출하는 단계를 포함한다.
본 발명에 따르면, 수위 센서를 사용하지 않고 액체통에 담긴 액체의 수위를 로봇을 통해 정확하게 측정할 수 있는 장점이 있다.
본 발명의 효과는 전술한 효과에 한정되지 않으며, 본 발명의 당업자들은 본 발명의 구성에서 본 발명의 다양한 효과를 쉽게 도출할 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇의 개략적인 구성을 도시한 도면이다.
도 2에서는 본 발명에 따른 로봇 팔의 개략적인 형상을 도시하고 있다.
도 3은 본 발명의 일 실시예에 따른 로봇 팔의 동작 개념을 설명하기 위한 도면이다.
도 4는 본 발명의 제1 실시예에 따른 액체의 수위값을 산출하는 로봇의 제어 방법의 흐름도를 도시한 도면이다.
도 5는 도 4의 방법에 따른 로봇의 동작의 개념을 설명하기 위한 도면이다.
도 6은 본 발명의 제2 실시예에 따른 액체의 수위값을 산출하는 로봇의 제어 방법의 흐름도를 도시한 도면이다.
도 7은 도 6의 방법에 따른 로봇의 동작의 개념을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따라서, 부력을 사용하여 액체의 수위값을 측정하는 로봇의 동작의 개념을 설명하기 위한 도면이다.
이하, 도면을 참조하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 붙이도록 한다. 또한, 본 발명의 일부 실시예들을 예시적인 도면을 참조하여 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가질 수 있다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.
본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질, 차례, 순서 또는 개수 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 다른 구성 요소가 "개재"되거나, 각 구성 요소가 다른 구성 요소를 통해 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 본 발명을 구현함에 있어서 설명의 편의를 위하여 구성요소를 세분화하여 설명할 수 있으나, 이들 구성요소가 하나의 장치 또는 모듈 내에 구현될 수도 있고, 혹은 하나의 구성요소가 다수의 장치 또는 모듈들에 나뉘어져서 구현될 수도 있다.
이하, 본 명세서에서 로봇은 특정한 기능을 수행하며, 특정 지역을 주행하는 장치를 통칭한다. 로봇이 수행하는 기능이란 청소, 방법, 안내, 맵 작성 등의 기능 및 보안기능 등과 같이 이동하는 장치가 제공할 수 있는 다양한 기능들을 포함한다.
한편, 본 명세서에서 기술되는 로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다.
로봇은 스스로 보유한 능력에 의해 주어진 일을 자동으로 처리하거나 작동하는 기계를 의미할 수 있다. 특히, 환경을 인식하고 스스로 판단하여 동작을 수행하는 기능을 갖는 로봇을 지능형 로봇이라 칭할 수 있다. 로봇은 사용 목적이나 분야에 따라 산업용, 의료용, 가정용, 군사용 등으로 분류할 수 있다.
로봇은 액츄에이터 또는 모터를 포함하는 구동부를 구비하여 로봇 관절을 움직이는 등의 다양한 물리적 동작을 수행할 수 있다. 또한, 이동 가능한 로봇은 구동부에 휠, 브레이크, 프로펠러 등이 포함되어, 구동부를 통해 지상에서 주행하거나 공중에서 비행할 수 있다.
그리고, 로봇은 AI(AI: Artificial Intelligence) 기술이 적용될 수 있으며, 안내 로봇, 운반 로봇, 청소 로봇, 웨어러블 로봇, 엔터테인먼트 로봇, 펫 로봇, 무인 비행 로봇 등으로 구현될 수 있다.
로봇은 동작을 제어하기 위한 로봇 제어 모듈을 포함할 수 있고, 로봇 제어 모듈은 소프트웨어 모듈 또는 이를 하드웨어로 구현한 칩을 의미할 수 있다.
로봇은 다양한 종류의 센서들로부터 획득한 센서 정보를 이용하여 로봇의 상태 정보를 획득하거나, 주변 환경 및 객체를 검출(인식)하거나, 맵 데이터를 생성하거나, 이동 경로 및 주행 계획을 결정하거나, 사용자 상호작용에 대한 응답을 결정하거나, 동작을 결정할 수 있다.
여기서, 로봇은 이동 경로 및 주행 계획을 결정하기 위하여, 라이다, 레이더, 카메라 중에서 적어도 하나 이상의 센서에서 획득한 센서 정보를 이용할 수 있다.
로봇은 적어도 하나 이상의 인공 신경망으로 구성된 학습 모델을 이용하여 상기한 동작들을 수행할 수 있다. 예컨대, 로봇은 학습 모델을 이용하여 주변 환경 및 객체를 인식할 수 있고, 인식된 주변 환경 정보 또는 객체 정보를 이용하여 동작을 결정할 수 있다. 여기서, 학습 모델은 로봇에서 직접 학습되거나, AI 서버 등의 외부 장치에서 학습된 것일 수 있다.
이때, 로봇은 직접 학습 모델을 이용하여 결과를 생성하여 동작을 수행할 수도 있지만, AI 서버 등의 외부 장치에 센서 정보를 전송하고 그에 따라 생성된 결과를 수신하여 동작을 수행할 수도 있다.
로봇은 맵 데이터, 센서 정보로부터 검출한 객체 정보 또는 외부 장치로부터 획득한 객체 정보 중에서 적어도 하나 이상을 이용하여 이동 경로와 주행 계획을 결정하고, 구동부를 제어하여 결정된 이동 경로와 주행 계획에 따라 로봇을 주행시킬 수 있다.
맵 데이터에는 로봇이 이동하는 공간에 배치된 다양한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 예컨대, 맵 데이터에는 벽, 문 등의 고정 객체들과 화분, 책상 등의 이동 가능한 객체들에 대한 객체 식별 정보가 포함될 수 있다. 그리고, 객체 식별 정보에는 명칭, 종류, 거리, 위치 등이 포함될 수 있다.
또한, 로봇은 사용자의 제어/상호작용에 기초하여 구동부를 제어함으로써, 동작을 수행하거나 주행할 수 있다. 이때, 로봇은 사용자의 동작이나 음성 발화에 따른 상호작용의 의도 정보를 획득하고, 획득한 의도 정보에 기초하여 응답을 결정하여 동작을 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 로봇의 개략적인 구성을 도시한 도면이다.
본 발명의 일 실시예에 따른 로봇(100)은 요리와 관련된 동작을 수행하는 요리 로봇일 수 있으며, 특히 액체통에 수용되는 액체의 수위값을 산출하고, 국자를 통해 액체를 그릇에 담는 동작을 수행한다. 이를 위해, 로봇(100)은 로봇 팔(110), 토크 센서(120), 메모리(130), 프로세서(140), 저장부(150), 통신부(160) 및 스피커(170)를 포함한다.
한편, 본 발명은 국자를 이용한 요리 로봇에 한정되지 않으며, 국자를 포함하는 모든 종류의 툴(tool)에 적용될 수 있다.
로봇 팔(110)은 복수 개의 로봇 관절을 포함하며, 로봇 관절을 움직이는 등의 다양한 동작을 수행할 수 있다.
앞서 언급한 바와 같이, 로봇 팔(110)는 액체통에 수용되는 액체를 그릇에 담는 동작을 수행할 수 있다. 여기서, 액체는 육수, 수프 등일 수 있다.
토크 센서(120)는 토크 게이지라고도 불리며, 구동되는 로봇 팔(110)의 토크값을 측정한다.
메모리(130)는 휘발성 및/또는 비휘발성 메모리일 수 있고, 로봇(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장한다.
프로세서(140)는 중앙처리장치, 애플리케이션 프로세서, 또는 커뮤니케이션 프로세서 중 하나 또는 그 이상을 포함할 수 있다. 예를 들면, 프로세서(140)는 로봇(100)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다. 특히, 프로세서(140)는 로봇 팔(110)의 구동과 관련된 명령을 실행할 수 있다.
프로세서(140)는 로봇 팔(110)의 제어 명령을 생성하여 로봇 팔(110)로 전송하며, 로봇 팔(110)는 제어 명령에 기초하여 구동된다.
특히, 프로세서(140)는 액체통(300)에 수용된 액체의 수위값을 산출한다. 이는 아래에서 보다 상세하게 설명한다.
저장부(150)는 액체의 수위값을 산출하는데 이용되는 부가 정보를 저장하며, 아래에서 설명하는 인공 신경망 기반의 알고리즘 모델을 더 저장한다.
일례로서, 부가 정보는 액체통(300)의 크기 정보(특히, 높이 정보), 국자(210)의 크기 정보(특히, 높이 정보)를 포함할 수 있으며, 기타 다양한 정보를 포함할 수 있다.
그리고, 알고리즘 모델은 학습된 알고리즘 모델일 수 있다. 일례로, 저장부(150)는 외부의 AI 서버에서 학습된 알고리즘 모델을 저장할 수 있다. 다른 일례로, 저장부(150)는 학습되지 않는 알고리즘 모델을 저장하며, 프로세서(140)을 통해 학습이 수행될 수 있다.
통신부(160)는 유무선 통신 기술을 이용하여 AI 서버 또는 로봇(100)의 사용자의 단말 장치와 데이터를 송수신할 수 있다. 예컨대, 통신부(110)는 외부 장치들과 학습 모델, 제어 신호 등을 송수신할 수 있다.
이 때, 통신부(160)는 바람직하게 5G 네트워크 기술을 사용할 수 있으며, 기타 GSM(Global System for Mobile communication), CDMA(Code Division Multi Access), LTE(Long Term Evolution), WLAN(Wireless LAN), Wi-Fi(Wireless-Fidelity), 블루투스(Bluetooth??), RFID(Radio Frequency Identification), 적외선 통신(Infrared Data Association; IrDA), ZigBee, NFC(Near Field Communication) 등을 사용할 수 있다.
스피커(170)는 특정 음성 신호를 출력한다.
도 2에서는 본 발명에 따른 로봇 팔(110)의 개략적인 형상을 도시하고 있다.
도 2를 참조하면, 로봇 팔(110)의 끝단부에는 국자(210)가 부착되어 있다.
국자(210)는 액체통에 담긴 액체를 그릇으로 옮기는데 사용되며, 용기부(211) 및 손잡이부(212)를 포함한다.
용기부(211)는 액체를 담는 역할을 수행하며, 반구 형상을 가진다. 그러나, 본 발명은 이에 한정되지 않으며, 원기둥 형상, 다면체 형상 등 다양한 형상을 가질 수 있다. 그리고, 용기부(210)의 크기(길이, 높이, 폭)은 다양할 수 있다.
손잡이부(212)는 용기부(211)와 수직 방향으로 결합된다. 손잡이부(212)가 로봇 팔(110)의 끝단부에 소지될 수 있다.
한편, 용기부(211)의 하단면의 면적 정보, 용기부(211)의 높이 정보, 손잡이부(212)의 길이 정보는 저장부(150)에 저장될 수 있다.
토크 센서(120)는 로봇 팔(110)에 부착될 수 있다. 바람직하게, 토크 센서(120)는 국자(210)가 부착되는 로봇 팔(110)의 끝단부에 부착될 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니며, 로봇 팔(110)의 끝단부를 제외한 다른 로봇의 관절에 토크 센서(120)가 부착될 수도 있고, 국자(210)의 용기부(211)의 하부면에도 토크 센서(120)가 부착될 수도 있다.
앞서 언급한 바와 같이, 프로세서(140)의 제어에 의해, 로봇 팔(110)은 액체통에 담긴 액체를 그릇으로 옮기며, 이를 위해 로봇 팔(110)은 액체통의 내부로 국자(210)를 이동시킨다.
도 3은 본 발명의 일 실시예에 따른 로봇 팔(110)의 동작 개념을 설명하기 위한 도면이다.
먼저, 로봇 팔(110)은, 액체통(300) 내부의 아래쪽 방향으로 국자(210)를 액체통(300)의 바닥면과 수직하게 이동시켜 국자(210)의 용기부(211)에 액체를 담고, 액체가 담긴 국자(210)를 액체통(300)의 위쪽 방향으로 액체통(300)의 바닥면과 수직하게 이동하는 동작을 수행할 수 있다(도 3의 (a)). 이러한 동작 모드를 편의 상 수직 작업 모드라 호칭한다. 한편, 수직 이동은 '중력 방향으로의 이동'과 대응되는 개념이다.
또한, 로봇 팔(110)은 액체통(300) 내부의 아래쪽 방향으로 국자(210)를 액체통(300)의 바닥면과 수직하게 이동시켜 국자(210)를 액체의 내부로 담근 후, 국자(210)를 사선으로 이동시켜 국자(210)의 용기부(211)로 액체를 담고, 액체가 담긴 국자(210)를 액체통(300)의 위쪽 방향으로 액체통(300)의 바닥면과 수직하게 이동하는 동작을 수행할 수 있다(도 3의 (b)). 이러한 동작 모드를 편의 상 기울임 작업 모드라 호칭한다.
이하, 아래의 도면을 참조하여, 로봇(100)이 액체통(300)에 담긴 액체의 수위값을 산출하는 동작, 즉 액체 수위값 산출 방법을 보다 상세하게 설명한다.
도 4는 본 발명의 제1 실시예에 따른 액체의 수위값을 산출하는 로봇(100)의 제어 방법의 흐름도를 도시한 도면이고, 도 5는 도 4의 방법에 따른 로봇(100)의 동작의 개념을 설명하기 위한 도면이다.
이하, 각 단계 별로 수행되는 과정을 상세하게 설명한다.
먼저, 프로세서(140)는, 액체통(300)의 상단에 국자(210)의 하단부가 위치하도록 로봇 팔(110)를 제어한다. 이는 도 5의 왼쪽에 도시된 그림과 대응된다.
즉, 프로세서(140)는 위치 A에 로봇 팔(110)의 끝단부를 위치시킨다(S402). 여기서, 위치 A는 액체통(300)의 상단에 국자(210)의 하단부가 위치할 때의 로봇 팔(110)의 끝단부의 위치이다. 그리고, 국자(210)의 하단부는 국자(210)의 용기부(211)의 하부면이다. 그리고, 위치 A는 좌표값 등으로 도출될 수 있다.
다음으로, 프로세서(140)는 국자(210)가 액체통(300)의 아래쪽 방향으로 액체통(300)의 바닥면과 수직 이동하도록 로봇 팔(110)을 구동한다(S404). 즉, 액체통(300)의 상단을 시작점으로 하여 국자(210)는 아래쪽 방향으로 수직 이동한다.
이 때, 프로세서(140)는 특정 속도로 로봇 팔(110)이 이동하도록 제어한다. 일례로, 로봇 팔(110)는 등속도로 구동되거나 가속도로 구동될 수 있다.
계속하여, 토크 센서(130)는 수직 이동하는 국자(210)가 액체의 표면에 접촉할 때 발생하는 제1 충격량에 따른 제1 토크값을 측정한다(S406). 이는 도 5의 오른쪽에 도시된 그림과 같다.
보다 상세하게, 국자(210)가 공기 중에서 수직 이동하는 경우 아주 미미한 충격량이 발생한다. 그리고, 공기 중에서 수직 이동하는 국자(210)가 액체의 표면에 접촉하는 경우, 비교적 큰 충격량(즉, 제1 충격량)이 발생하고, 발생된 제1 충격량이 국자(210)의 손잡이부(212)를 통해 로봇 팔(110)에 전달된다. 토크 센서(130)는 전달된 제1 충력량을 토크값(즉, 제1 토크값)으로 출력한다.
한편, 앞서 언급한 바와 같이 국자(210)는 다양한 형상을 가질 수 있으며, 용기부(210)의 하부면의 면적이 넓어질수록 토크값의 측정 감도가 향상될 수 있다.
그 후, 프로세서(140)는 저장부(150)에 저장된 액체통의 높이 값을 독출한다(S408).
그리고, 프로세서(140)는 위치 A와 제1 토크값이 측정될 때의 로봇 팔(110)의 끝단부의 위치 B에 기초하여 로봇 팔(110)의 수직 이동 거리를 산출한다(S410).
일례로, 위치 B 역시 좌표값으로 도출될 수 있으며, 프로세서(140)는 위치 A의 높이 값(z축 값)과 위치 B의 높이 값(z축 값)에 기초하여 로봇 팔(110)의 수직 이동 거리를 산출한다.
마지막으로, 프로세서(140)는 산출된 수직 이동 거리와 액체통(300)의 높이값에 기초하여 액체의 수위값을 산출한다. 즉, 프로세서(140)는 액체통(300)의 높이값에서 상기 산출된 수직 이동 거리를 뺄셈 연산하여 액체의 수위값을 산출할 수 있다.
도 6은 본 발명의 제2 실시예에 따른 액체의 수위값을 산출하는 로봇(100)의 제어 방법의 흐름도를 도시한 도면이고, 도 7은 도 6의 방법에 따른 로봇(100)의 동작의 개념을 설명하기 위한 도면이다.
이하, 각 단계 별로 수행되는 과정을 상세하게 설명한다.
먼저, 프로세서(140)는, 액체통(300)의 상단에 국자(210)의 하단부가 위치하도록 로봇 팔(110)를 제어한다(S502).
다음으로, 프로세서(140)는 국자(210)가 액체통(300)의 아래쪽 방향으로 수직 이동하도록 로봇 팔(110)을 구동한다(S504).
계속하여, 토크 센서(130)는 수직 이동하는 국자(210)가 액체의 표면에 접촉할 때 발생하는 제1 충격량에 따른 제1 토크값을 측정한다(S506). 이는 도 7의 왼쪽에 도시된 그림과 대응된다.
단계(S502) 내지 단계(S506)는 앞서 설명한 단계(S402) 내지 단계(S406)과 유사하므로 상세한 설명은 생략한다. 한편, 토크 센서(130)는 액체의 내부에서 수직 이동하는 국자(210)의 토크값을 계속적으로 측정한다.
그리고, 토크 센서(130)는 국자(210)가 액체통(300)의 바닥에 접촉할 때 발생하는 제2 충격량에 따른 제2 토크값을 측정한다(S508). 이는 도 7의 오른쪽에 도시된 그림과 대응된다.
보다 상세하게, 액체 내부에서 수직 이동하는 국자(210)가 액체통(300)의 바닥에 접촉하는 경우, 아주 큰 충격량(즉, 제2 충격량)이 발생하고, 발생된 제2 충격량이 국자(210)의 손잡이부(212)를 통해 로봇 팔(110)에 전달된다. 토크 센서(130)는 전달된 제2 충력량을 토크값(즉, 제2 토크값)으로 출력한다.
계속하여, 프로세서(140)는 제1 토크값과 관련된 제1 정보 및 제2 토크값과 관련된 제2 정보를 산출한다(S510).
마지막으로, 프로세서(140)는 제1 정보 및 제2 정보를 이용하여 액체의 수위를 산출한다(S512).
본 발명의 일 실시예에 따르면, 제1 정보는 제1 토크값이 측정될 때의 로봇 팔(110)의 끝단부의 위치와 대응되고, 제2 정보는 제2 토크값이 측정될 때의 로봇 팔(110)의 끝단부의 위치와 대응된다.
즉, 제1 정보는 국자(210)가 액체 표면에 접촉하였을 때의 로봇 팔(110)의 끝단부의 위치인 위치 B와 대응되고, 제2 정보는 국자(210)가 액체통(300)의 바닥에 접촉하였을 때의 로봇 팔(110)의 끝단부의 위치인 위치 C와 대응된다.
이 경우, 프로세서(140)는 위치 B와 위치 C의 높이 차를 산출하고, 높이 차를 액체의 수위값으로 산출할 수 있다.
즉, 프로세서(140)는 좌표값 등으로 도출되는 위치 B의 높이 값(z축 값) 및 위치 C의 높이 값(z축 값)에 기초하여 로봇 팔(110)의 수직 이동 거리를 산출하고, 수직 이동 거리를 액체의 수위값으로 산출할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 제1 정보는 제1 토크값의 측정 시점과 대응되고, 제2 정보는 제2 토크값의 측정 시점과 대응될 수 있다.
즉, 프로세서(140)는 토크 센서(120)로부터 토크값을 수신하는 경우 수신 시점을 저장할 수 있으며, 토크값 수신 시점은 토크값의 측정 시점과 대응된다.
이 경우, 프로세서(140)는 로봇 팔(110)을 제어할 때 사용되는 로봇 팔(110)의 수직 이동 속도와, 제1 토크값의 측정 시점 및 제2 토크값의 측정 시점의 차에 기초하여 로봇 팔(110)의 수직 이동 거리를 산출하고, 수직 이동 거리를 액체의 수위값으로 산출할 수 있다.
또한, 본 발명의 또 다른 실시예에 따르면, 제1 정보는 제1 토크값이 측정될 때의 로봇 팔(110)의 관절의 제1 각도와 대응되고, 제2 정보는 제2 토크값이 측정될 때의 로봇 팔(110)의 관절의 제2 각도의 각도와 대응될 수 있다.
이 경우, 프로세서(140)는 로봇 팔(110)의 수직 이동 속도를 이용하여 로봇 팔(110)의 각속도를 산출하고, 산출된 각속도와, 제1 각도 및 제2 각도의 차를 이용하여 로봇 팔(110)의 수직 이동 거리를 산출하며, 수직 이동 거리를 액체의 수위값으로 산출할 수 있다.
요컨대, 프로세서(140)는 다양한 방법을 통해 국자(210)가 액체의 표면에서 액체통(300)의 바닥까지 이동할 때의 수직 이동 거리를 산출하고, 산출된 수직 이동 거리를 이용하여 액체의 수위값으로 산출할 수 있다.
한편, 프로세서(140)는 국자(210)의 부력값을 이용하여 액체의 수위값을 추가적으로 산출할 수 있다.
만약, 제1 정보와 제2 정보에 기초하여 산출된 액체의 수위와 추가적으로 산출된 액체의 수위가 오차 범위 내에서 동일한 경우, 프로세서(140)는 액체의 수위를 확정한다.
반대로, 제1 정보와 제2 정보에 기초하여 산출된 액체의 수위와 추가적으로 산출된 액체의 수위가 오차 범위 내에서 서로 상이한 경우, 프로세서(140)는 상기에서 설명한 도 5의 방법을 다시 수행할 수 있다. 이에 따라 보다 정확한 액체의 수위 측정이 가능하다.
본 발명의 일 실시예에 따르면, 프로세서(140)는 위치 B와 아래쪽 방향으로 인접한 로봇 팔(210)의 끝단부 위치인 위치 D에서의 국자(210)의 제1 부력값을 산출하고, 위치 C에서의 국자(210)의 제2 부력값을 산출하며, 제1 부력값과 제2 부력값의 차를 이용하여 추가적인 액체의 수위값을 산출할 수 있다.
일례로서, 로봇 팔(210)의 끝단부 위치 D는, 국자(210)가 액체의 내부에서 국자(210)의 용기부(210)의 상단이 액체의 표면과 맞닿는 상태에서의 로봇 팔(210)의 끝단부 위치와 대응된다. 그리고, 상기에서 설명한 바와 같이 위치 C는 국자(210)가 액체통(300)의 바닥에 접촉하였을 때의 로봇 팔(110)의 끝단부의 위치와 대응된다. 이는 도 8에 도시된 바와 같다.
따라서, 프로세서(140)는, 위치 D를 이용하여 국자(210)의 제1 부력값을 측정하고, 위치 C를 이용하여 국자(210)의 제2 부력값을 측정하며, 제2 부력값과 제1 부력값이 차를 이용하여 액체의 수위값을 산출할 수 있다. 국자(210)의 부력은 액체의 바닥을 기준으로 한 국자(210)의 높이 값과 반비례하며, 이와 같은 관계를 이용하여 액체의 수위값 산출이 가능하다.
또한, 본 발명의 다른 실시예에 따르면, 프로세서(140)는 액체의 내부로 들어간 국자(210)의 위치와 대응되는 로봇 팔(210)의 끝단부의 위치 E에 기초하여 국자(210)의 위치의 부력값을 산출하고, 위치 E에서의 국자(210)의 부력값과 알고리즘 모델을 이용하여 추가적인 액체의 수위값을 산출할 수 있다.
즉, 토크 센서(120)는 액체의 내부에서 수직 이동하는 국자(210)의 토크값을 계속적으로 측정할 수 있으며, 프로세서(140)는 액체의 내부의 하나의 지점에서의 국자(210)의 부력값을 상기 알고리즘 모델에 입력하여 추가적인 액체의 수위를 산출할 수 있다.
이에 대해 보다 상세하게 설명하면 다음과 같다.
인공 지능은 인공적인 지능 또는 이를 만들 수 있는 방법론을 연구하는 분야를 의미하며, 머신 러닝(기계 학습, Machine Learning)은 인공 지능 분야에서 다루는 다양한 문제를 정의하고 그것을 해결하는 방법론을 연구하는 분야를 의미한다. 머신 러닝은 어떠한 작업에 대하여 꾸준한 경험을 통해 그 작업에 대한 성능을 높이는 알고리즘으로 정의하기도 한다.
인공 신경망(ANN: Artificial Neural Network)은 머신 러닝에서 사용되는 모델로써, 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)들로 구성되는, 문제 해결 능력을 가지는 모델 전반을 의미할 수 있다. 인공 신경망은 다른 레이어의 뉴런들 사이의 연결 패턴, 모델 파라미터를 갱신하는 학습 과정, 출력값을 생성하는 활성화 함수(Activation Function)에 의해 정의될 수 있다.
인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함수값을 출력할 수 있다.
모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함된다. 그리고, 하이퍼파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함된다.
인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.
머신 러닝은 학습 방식에 따라 지도 학습(Supervised Learning), 비지도 학습(Unsupervised Learning), 강화 학습(Reinforcement Learning)으로 분류할 수 있다.
지도 학습은 학습 데이터에 대한 레이블(label)이 주어진 상태에서 인공 신경망을 학습시키는 방법을 의미하며, 레이블이란 학습 데이터가 인공 신경망에 입력되는 경우 인공 신경망이 추론해 내야 하는 정답(또는 결과 값)을 의미할 수 있다.
비지도 학습은 학습 데이터에 대한 레이블이 주어지지 않는 상태에서 인공 신경망을 학습시키는 방법을 의미할 수 있다.
강화 학습은 어떤 환경 안에서 정의된 에이전트가 각 상태에서 누적 보상을 최대화하는 행동 혹은 행동 순서를 선택하도록 학습시키는 학습 방법을 의미할 수 있다.
인공 신경망 중에서 복수의 은닉층을 포함하는 심층 신경망(DNN: Deep Neural Network)으로 구현되는 머신 러닝을 딥 러닝(심층 학습, Deep Learning)이라 부르기도 하며, 딥 러닝은 머신 러닝의 일부이다. 이하에서, 머신 러닝은 딥 러닝을 포함하는 의미로 사용된다.
상기 내용을 참조하면, 본 발명의 액체의 수위값을 산출하기 위한 인공 신경망에 기초한 알고리즘 모델은 입력 노드로 구성된 입력 레이어, 출력 노드로 구성된 출력 레이어 및 입력 레이어와 출력 레이어 사이에 배치되며, 은닉 노드로 구성된 하나 이상의 은닉 레이어를 포함한다.
이 때, 알고리즘 모델은 학습 데이터에 의해 학습되며, 학습을 통해 노드들을 연결하는 에지의 가중치 및 노드의 바이어스가 업데이트될 수 있다. 학습 데이터는 액체 내부의 한 지점에 존재하는 국자(210)의 높이 값, 상기 한 지점과 대응되는 로봇 팔(210)의 토크값 및 액체의 밀도를 포함할 수 있다.
그리고, 프로세서(140)는 액체의 내부로 들어간 국자(210)의 위치와 대응되는 로봇 팔(210)의 끝단부의 위치 E에 기초하여, 위치 E와 대응되는 국자(210)의 부력값을 산출한다.
그 후, 프로세서(140)는 학습된 알고리즘 모델의 입력 레이어로 산출된 국자(210)의 부력값, 위치 E에서의 토크값 및 액체의 밀도를 학습된 알고리즘 모델의 입력 레이어로 입력하고, 학습된 알고리즘 모델의 출력 레이어로 추가적인 액체의 수위값이 출력될 수 있다.
한편, 액체의 수위가 확정된 경우, 프로세서(140)는 다양한 작업 모드로 동작하도록 로봇 팔(110)을 제어할 수 있다.
본 발명의 일 실시예에 따르면, 산출된 액체의 수위값이 국자(210)의 용기부(211)의 높이값보다 큰 제1 수위값인 경우, 프로세서(140)는 상기에서 언급한 수직 작업 모드로 로봇 팔(110)를 동작하도록 제어할 수 있다. 이는 도 3의 (a)에 도시된 바와 같다.
즉, 산출된 액체의 수위값이 제1 수위값인 경우, 국자(210)의 용기부(211)에 액체가 가득 담길 수 있다. 따라서, 프로세서(140)는 수직 작업 모드로 로봇 팔(110)를 구동시킬 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 산출된 액체의 수위값이 국자(210)의 용기부(211)의 높이값보다 작고, 용기부(211)의 높이값의 절반보다 큰 제2 수위값인 경우, 프로세서(140)는 상기에서 언급한 기울임 작업 모드로 로봇 팔(110)를 동작하도록 제어할 수 있다. 이는 도 3의 (b)에 도시된 바와 같다.
즉, 산출된 액체의 수위값이 국자(210)의 용기부(211)의 높이값보다 큰 경우, 국자(210)의 용기부(211)에 액체가 가득 담길 수는 없지만, 적당한 양만큼의 액체는 담길 수 있다. 따라서, 프로세서(140)는 기울임 작업 모드로 로봇 팔(110)를 구동시킬 수 있다.
이 때, 액체통(300)에 담긴 액체는 곧 바닥을 보일 것이므로, 프로세서(140) 액체를 보충해달라는 명령을 사용자에게 전달할 수 있다.
즉, 프로세서(1490)는 기울임 작업 모드로 상기 로봇 팔이 구동되는 경우, 액체 보충 메시지를 생성하며, 생성된 액체 보충 메시지를 스피커(170)가 출력하도록 제어하거나, 생성된 액체 보충 메시지를 관리자의 단말 장치(일례로, 스마트 폰)로 전송할 수 있다.
또한, 본 발명의 또 다른 실시예에 따르면, 산출된 액체의 수위값이 국자(210)의 용기부(211)의 높이값의 절반보다 작은 제3 수위값인 경우, 프로세서(140)는, 로봇 팔(110)의 동작을 중단하고, 액체 보충 요구 메시지를 스피커가 출력하도록 제어하거나, 액체 보충 메시지를 관리자의 단말 장치로 전송할 수 있다.
즉, 액체의 수위값이 제3 수위값인 경우, 로봇 팔(110)는 국자(210)를 통해 액체를 담을 수 없으므로, 프로세서(140)는 로봇 팔(110)의 동작을 중단하고, 액체를 보충해달라는 명령만을 사용자에게 전달할 수 있다.
요컨대, 본 발명은 수위 센서를 사용하지 않고 액체통에 담긴 액체의 수위를 로봇(100)을 통해 정확하게 측정할 수 있는 장점이 있다.
또한, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니며, 본 발명의 목적 범위 내에서 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 반도체 기록소자를 포함하는 저장매체를 포함한다. 또한 본 발명의 실시예를 구현하는 컴퓨터 프로그램은 외부의 장치를 통하여 실시간으로 전송되는 프로그램 모듈을 포함한다.
이상에서는 본 발명의 실시예를 중심으로 설명하였지만, 통상의 기술자의 수준에서 다양한 변경이나 변형을 가할 수 있다. 따라서, 이러한 변경과 변형이 본 발명의 범위를 벗어나지 않는 한 본 발명의 범주 내에 포함되는 것으로 이해할 수 있을 것이다.

Claims (20)

  1. 끝단부에 툴(tool)이 부착되는 로봇 팔;
    상기 로봇 팔에 배치되고, 상기 로봇 팔의 토크값을 측정하는 토크 센서;
    상기 로봇 팔을 제어하고, 상기 토크값을 상기 토크 센서에서 수신하고, 상기 토크값과 관련된 정보를 산출하며, 상기 토크값과 관련된 정보에 기초하여 액체통에 수용된 액체의 수위값을 산출하는 프로세서;를 포함하되,
    상기 프로세서는,
    상기 액체통의 내부에서 상기 툴을 이동시키도록 상기 로봇 팔을 제어하고,
    상기 이동된 툴의 하단부가 상기 액체의 표면에 접촉할 때의 제1 토크값과 관련된 제1 정보 및 상기 이동된 툴의 하단부가 상기 액체통의 바닥면에 접촉할 때의 제2 토크값과 관련된 제2 정보를 이용하여 상기 액체의 수위값을 산출하는, 로봇.
  2. 제1항에 있어서,
    상기 툴이 상기 액체의 표면에 접촉하거나 상기 툴이 상기 액체의 내부에서 이동할 때 발생하는 충격량이 상기 툴을 따라 상기 로봇 팔에 전달되어 상기 토크값이 측정되는, 로봇.
  3. 제1항에 있어서,
    상기 제1 정보는 상기 제1 토크값이 측정될 때의 상기 로봇 팔의 끝단부의 제1 위치와 대응되고, 상기 제2 정보는 상기 제2 토크값이 측정될 때의 상기 로봇 팔의 끝단부의 제2 위치와 대응되며,
    상기 프로세서는 상기 제1 위치와 상기 제2 위치의 높이 차를 산출하고, 상기 높이 차를 상기 액체의 수위값으로 산출하는, 로봇.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 제1 위치와 아래쪽 방향으로 인접한 위치인 상기 로봇 팔의 끝단부 제3 위치에서 상기 툴의 제1 부력값을 산출하고,
    상기 제2 위치에서의 상기 툴의 제2 부력값을 산출하며,
    상기 제1 부력값과 상기 제2 부력값의 차를 이용하여 상기 액체의 수위값을 추가적으로 산출하되,
    상기 제1 정보 및 상기 제2 정보를 통해 산출된 액체의 수위값과 상기 추가적으로 산출된 액체의 수위값이 오차 범위 내에서 동일한 경우, 상기 제1 정보 및 상기 제2 정보를 통해 산출된 액체의 수위값을 상기 액체의 수위값으로 확정하는, 로봇.
  5. 제1항에 있어서,
    상기 프로세서는 상기 액체통의 바닥면과 수직한 방향으로 상기 툴이 이동하도록 제어하는, 로봇.
  6. 제5항에 있어서,
    상기 제1 정보는 상기 제1 토크값의 측정 시점과 대응되고, 상기 제2 정보는 상기 제2 토크값의 측정 시점과 대응되며,
    상기 프로세서는 수직 이동하는 상기 로봇 팔의 수직 이동 속도와, 상기 제1 토크값의 측정 시점 및 상기 제2 토크값의 측정 시점의 차에 기초하여 상기 로봇 팔의 수직 이동 거리를 산출하고, 상기 수직 이동 거리를 상기 액체의 수위값으로 산출하는, 로봇.
  7. 제5항에 있어서,
    상기 제1 정보는 상기 제1 토크값이 측정될 때의 상기 로봇 팔의 관절의 제1 각도와 대응되고, 상기 제2 정보는 상기 제2 토크값이 측정될 때의 상기 로봇 팔의 관절의 제2 각도의 각도와 대응되며,
    상기 프로세서는 상기 로봇 팔의 수직 이동 속도와, 상기 제1 각도와 상기 제2 각도의 차를 이용하여 상기 로봇 팔의 수직 이동 거리를 산출하고, 상기 수직 이동 거리를 상기 액체의 수위값으로 산출하는, 로봇.
  8. 제1항에 있어서,
    인공 신경망에 기초한 알고리즘 모델을 저장하는 저장부;를 포함하되,
    상기 프로세서는 상기 액체의 내부로 들어간 상기 툴의 위치와 대응되는 상기 로봇 팔의 끝단부의 제4 위치에 기초하여 상기 제4 위치와 대응되는 툴의 부력값을 산출하고, 상기 툴의 부력값 및 상기 알고리즘 모델을 이용하여 상기 액체의 수위값을 추가적으로 산출하되,
    상기 알고리즘 모델은 입력 노드로 구성된 입력 레이어, 출력 노드로 구성된 출력 레이어 및 입력 레이어와 출력 레이어 사이에 배치되며, 은닉 노드로 구성된 하나 이상의 은닉 레이어를 포함하고, 학습을 통해 노드들을 연결하는 에지의 가중치 및 노드들의 바이어스가 업데이트되는, 로봇.
  9. 제8항에 있어서,
    상기 학습된 알고리즘 모델의 입력 레이어로 상기 툴의 부력값, 상기 제4 위치에서의 제4 토크값 및 상기 액체의 밀도가 입력되고, 상기 학습된 알고리즘 모델의 출력 레이어로 상기 추가적인 액체의 수위값이 출력되는, 로봇.
  10. 제1항에 있어서,
    상기 산출된 액체의 수위값이 상기 용기부의 높이값보다 큰 제1 수위값인 경우, 상기 프로세서는 수직 작업 모드로 상기 로봇 팔을 구동하도록 제어하되,
    상기 수직 작업 모드는, 상기 액체통 내부의 아래쪽 방향으로 상기 툴을 상기 액체통의 바닥면과 수직하게 이동시켜 상기 툴의 용기부에 상기 액체를 담고, 상기 액체가 담긴 툴을 상기 액체통의 위쪽 방향으로 상기 액체통의 바닥면과 수직하게 이동하는 모드인, 로봇.
  11. 제1항에 있어서,
    상기 산출된 액체의 수위값이 상기 용기부의 높이값보다 작고 상기 용기부의 높이값의 절반보다 큰 제2 수위값인 경우, 상기 프로세서는 기울임 작업 모드로 상기 로봇 팔을 구동하도록 제어하되,
    상기 기울임 작업 모드는, 상기 액체통 내부의 아래쪽 방향으로 상기 툴을 상기 액체통의 바닥면과 수직하게 이동시켜 상기 툴의 용기부가 상기 액체의 내부로 담근 후, 상기 툴을 사선으로 이동시켜 상기 툴의 용기부로 상기 액체를 담고, 상기 액체가 담긴 툴을 상기 액체통의 위쪽 방향으로 상기 액체통의 바닥면과 수직하게 이동하는 모드인, 로봇.
  12. 제11항에 있어서,
    스피커; 및
    통신부;를 더 포함하되,
    상기 프로세서는 상기 기울임 작업 모드로 상기 로봇 팔이 구동되는 경우, 액체 보충 메시지를 생성하며, 상기 생성된 액체 보충 메시지를 상기 스피커가 출력하도록 제어하거나 상기 생성된 액체 보충 메시지를 관리자의 단말 장치로 전송하는, 로봇.
  13. 제1항에 있어서,
    스피커; 및
    통신부;를 더 포함하되,
    상기 산출된 액체의 수위값이 상기 용기부의 높이값의 절반보다 작은 제3 수위값인 경우, 상기 프로세서는, 상기 로봇 팔의 동작을 중단하고, 액체 보충 요구 메시지를 생성하며, 상기 생성된 액체 보충 메시지를 상기 스피커가 출력하도록 제어하거나 상기 생성된 액체 보충 메시지를 관리자의 단말 장치로 전송하는, 로봇.
  14. 끝단부에 툴이 부착되는 로봇 팔;
    상기 로봇 팔에 배치되고, 상기 로봇 팔의 토크값을 측정하는 토크 센서;
    상기 로봇 팔을 제어하고, 상기 토크값을 상기 토크 센서에서 수신하고, 상기 토크값과 관련된 정보를 산출하며, 상기 토크값과 관련된 정보에 기초하여 액체통에 수용된 액체의 수위값을 산출하는 프로세서; 및
    상기 액체통의 높이의 정보를 저장하는 저장부;를 포함하되,
    상기 프로세서는,
    상기 액체통의 상단을 시작점으로 하여 상기 툴이 아래쪽 방향으로 이동하도록 상기 로봇 팔을 제어하고,
    상기 액체통의 상단에 상기 툴의 하단부가 위치할 때의 상기 로봇 팔의 끝단부의 제1 위치와, 제1 토크값이 측정될 때의 상기 로봇 팔의 끝단부의 제2 위치에 기초하여 상기 로봇 팔의 이동 거리를 산출하고, 상기 이동 거리와 상기 액체통의 높이에 기초하여 상기 액체의 수위값을 산출하되,
    상기 제1 토크 값은 수직 이동하는 상기 툴의 하단부가 상기 액체의 표면에 접촉할 때 측정되는, 로봇.
  15. 제14항에 있어서,
    상기 프로세서는 상기 액체통의 바닥면과 수직한 방향으로 상기 툴이 이동하도록 제어하는, 로봇.
  16. 프로세서, 토크 센서 및 로봇 팔이 구비된 로봇을 이용한 액체의 수위 산출 방법에 있어서,
    상기 프로세서가, 상기 로봇 팔의 끝단부에 배치된 툴이 액체통 내부의 아래쪽 방향으로 이동하도록 상기 로봇 팔을 구동하는 단계;
    상기 토크 센서가, 상기 툴이 상기 액체의 표면에 접촉할 때 발생하는 제1 충격량에 따른 제1 토크값을 측정하는 단계;
    상기 토크 센서가, 상기 툴의 하단부가 상기 액체통의 바닥에 접촉할 때 발생하는 제2 충격량에 따른 제2 토크값을 측정하는 단계; 및
    상기 프로세서가, 상기 제1 토크값과 관련된 제1 정보 및 상기 제2 토크값과 관련된 제2 정보에 기초하여 상기 액체의 수위값을 산출하는 단계;를 포함하는 액체의 수위 산출 방법.
  17. 제16항에 있어서,
    상기 툴이 상기 액체의 표면에 접촉하거나 상기 툴이 상기 액체의 내부에서 이동할 때 발생하는 충격량이 상기 툴을 따라 상기 로봇 팔에 전달되어 상기 토크값이 측정되는, 액체의 수위 산출 방법.
  18. 제16항에 있어서,
    상기 제1 정보는 상기 제1 토크값이 측정될 때의 상기 로봇 팔의 끝단부의 제1 위치와 대응되고, 상기 제2 정보는 상기 제2 토크값이 측정될 때의 상기 로봇 팔의 끝단부의 제2 위치와 대응되며,
    상기 액체의 수위값을 산출하는 단계는 상기 제1 위치와 상기 제2 위치의 높이 차를 산출하고, 상기 높이 차를 상기 액체의 수위값으로 산출하는, 액체의 수위 산출 방법.
  19. 제18항에 있어서,
    상기 프로세서가, 상기 제1 위치와 아래쪽 방향으로 인접한 위치인 상기 로봇 팔의 끝단부 제3 위치에서 상기 툴의 제1 부력값을 산출하고, 상기 제2 위치에서의 상기 툴의 제2 부력값을 산출하는 단계; 및
    상기 프로세서가, 상기 제1 부력값과 상기 제2 부력값의 차를 이용하여 상기 액체의 수위값을 추가적으로 산출하는 단계; 및
    상기 프로세서가, 상기 제1 정보 및 상기 제2 정보를 통해 산출된 액체의 수위값과 상기 추가적으로 산출된 액체의 수위값이 오차 범위 내에서 동일한 경우, 상기 제1 정보 및 상기 제2 정보를 통해 산출된 액체의 수위값을 상기 액체의 수위값으로 확정하는 단계;를 더 포함하는, 액체의 수위 산출 방법.
  20. 제16항에 있어서,
    상기 프로세서가, 상기 액체의 내부로 들어간 상기 툴의 위치와 대응되는 상기 로봇 팔의 끝단부의 제4 위치에 기초하여 상기 제4 위치와 대응되는 툴의 부력값을 산출하는 단계; 및
    상기 프로세서가, 상기 툴의 부력값 및 인공 신경망에 기초한 알고리즘 모델을 이용하여 상기 액체의 수위값을 추가적으로 산출하는 단계;를 더 포함하되,
    상기 알고리즘 모델은 입력 노드로 구성된 입력 레이어, 출력 노드로 구성된 출력 레이어 및 입력 레이어와 출력 레이어 사이에 배치되며, 은닉 노드로 구성된 하나 이상의 은닉 레이어를 포함하고, 학습을 통해 노드들을 연결하는 에지의 가중치 및 노드들의 바이어스가 업데이트되는, 액체의 수위 산출 방법.
KR1020190114621A 2019-09-18 2019-09-18 액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법 KR20210033197A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190114621A KR20210033197A (ko) 2019-09-18 2019-09-18 액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법
US16/735,071 US11573114B2 (en) 2019-09-18 2020-01-06 Robot and method for calculating level of liquid in the liquid container

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190114621A KR20210033197A (ko) 2019-09-18 2019-09-18 액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법

Publications (1)

Publication Number Publication Date
KR20210033197A true KR20210033197A (ko) 2021-03-26

Family

ID=74868451

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190114621A KR20210033197A (ko) 2019-09-18 2019-09-18 액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법

Country Status (2)

Country Link
US (1) US11573114B2 (ko)
KR (1) KR20210033197A (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117103209B (zh) * 2023-10-23 2024-01-30 无棣鑫岳化工集团有限公司 一种环氧丙烷生产用液位测量装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1598770A (en) * 1977-10-05 1981-09-23 Endress Hauser Gmbh Co Electromechanical liquid-level measurement
US5133392A (en) * 1991-04-10 1992-07-28 Eastman Kodak Company Liquid injection using container bottom sensing
US5943476A (en) * 1996-06-13 1999-08-24 August Design, Inc. Method and apparatus for remotely sensing orientation and position of objects
US7753085B2 (en) * 2002-12-03 2010-07-13 Forhealth Technologies, Inc. Automated drug preparation apparatus including automated drug reconstitution
JP3860111B2 (ja) * 2002-12-19 2006-12-20 大日本スクリーン製造株式会社 メッキ装置およびメッキ方法
US7783383B2 (en) * 2004-12-22 2010-08-24 Intelligent Hospital Systems Ltd. Automated pharmacy admixture system (APAS)
ES2313200T3 (es) * 2005-09-21 2009-03-01 F. Hoffmann-La Roche Ag Metodo y aparato para el exacto posicionamiento de un dispositivo pipeteador.
US7985375B2 (en) * 2007-04-06 2011-07-26 Qiagen Gaithersburg, Inc. Sample preparation system and method for processing clinical specimens
US7663130B1 (en) * 2008-08-06 2010-02-16 Flic Systems, Llc System and method of determining fluid levels in containers including an infrared device for detecting a first value associated with an empty portion of a container
JP5514582B2 (ja) * 2010-02-24 2014-06-04 株式会社日立製作所 液体吸引装置
EP2643701B1 (en) * 2010-11-23 2020-07-08 Andrew Alliance S.A Devices and methods for programmable manipulation of pipettes
JP6170511B2 (ja) * 2012-02-24 2017-07-26 インストルノル エーエス 細胞を調製するためのシステム、装置及びデバイス
AU2013202805B2 (en) * 2013-03-14 2015-07-16 Gen-Probe Incorporated System and method for extending the capabilities of a diagnostic analyzer
AU2013202782B2 (en) * 2013-03-14 2015-05-14 Gen-Probe Incorporated Apparatus for indexing and agitating fluid containers
JP2015108601A (ja) * 2013-12-05 2015-06-11 キヤノン株式会社 液面位置の検出方法、装置、液体供給装置、および分析システム
AR099467A1 (es) * 2014-02-19 2016-07-27 Vesuvius Group Sa Revestimiento de cuchara de colada para colada de metales, conjunto de partes de conjunto de acoplamiento para acoplar dicho revestimiento de cuchara de colada a una cuchara, instalación de colada de metales y proceso de acoplamiento
WO2016014429A1 (en) * 2014-07-21 2016-01-28 Beckman Coulter, Inc. Methods and systems for tube inspection and liquid level detection
WO2016181466A1 (ja) * 2015-05-11 2016-11-17 株式会社安川電機 分注システム、コントローラ及び制御方法
US10837977B2 (en) * 2015-05-11 2020-11-17 Kabushiki Kaisha Yaskawa Denki Rack for dispensing and dispensing system
JP6354691B2 (ja) * 2015-07-24 2018-07-11 株式会社安川電機 処理システム、制御方法、動作指令生成装置及びコンピュータプログラム
US10379131B2 (en) * 2015-11-18 2019-08-13 Elbit Systems Of America/Kmc Systems, Inc. Systems and methods for detecting a liquid level
US20170151934A1 (en) * 2015-11-30 2017-06-01 Bader Abdullah ALMALKI Automated vehicle wash and polish apparatus
JP6691077B2 (ja) * 2017-08-18 2020-04-28 ファナック株式会社 制御装置及び機械学習装置
US11386551B2 (en) * 2018-11-08 2022-07-12 Perkinelmer Health Sciences, Inc. Method and apparatus for buffy coat imaging

Also Published As

Publication number Publication date
US11573114B2 (en) 2023-02-07
US20210080308A1 (en) 2021-03-18

Similar Documents

Publication Publication Date Title
Gul et al. A comprehensive study for robot navigation techniques
Chiang et al. Learning navigation behaviors end-to-end with autorl
CN111587408B (zh) 机器人导航和对象跟踪
KR102567525B1 (ko) 이동 로봇 시스템, 이동 로봇 및 이동 로봇 시스템의 제어 방법
US11565416B2 (en) Transporting robot and method for controlling the same
KR102220564B1 (ko) 멀티 센서를 이용하여 위치를 추정하는 방법 및 이를구현하는 로봇
US11565415B2 (en) Method of tracking user position using crowd robot, tag device, and robot implementing thereof
US11953335B2 (en) Robot
KR102615685B1 (ko) 멀티 센서를 동기화시켜 위치를 추정하는 방법 및 이를 구현하는 로봇
US11383385B2 (en) Mobile robot and method for operating the same
US11433548B2 (en) Robot system and control method thereof
CN113759901A (zh) 一种基于深度强化学习的移动机器人自主避障方法
KR20210033197A (ko) 액체통에 담긴 액체의 수위를 산출하는 로봇 및 방법
KR102293317B1 (ko) 특정 지역의 맵을 작성하는 방법과, 이를 구현하는 로봇 및 전자기기
Cheng et al. A neural network based mobile robot navigation approach using reinforcement learning parameter tuning mechanism
KR20210044662A (ko) 로봇 및 로봇의 제어 방법
Lee et al. Autonomous lane keeping based on approximate Q-learning
KR20210042537A (ko) 대면적의 공간에서 로컬 영역별로 위치를 추정하는 방법 및 이를 구현하는 로봇과 클라우드 서버
Chronis et al. Dynamic Navigation in Unconstrained Environments Using Reinforcement Learning Algorithms
CN114518762B (zh) 机器人避障装置、避障控制方法和机器人
Luo et al. Recursive neural network based semantic navigation of an autonomous mobile robot through understanding human verbal instructions
Aamer et al. A Novel Algorithm for Autonomous Robot Navigation System Using Neural Network
Ibrahim et al. Evolving decision-making functions in an autonomous robotic exploration strategy using grammatical evolution
Porta-Garcia et al. An aco path planner using a fis for path selection adjusted with a simple tuning algorithm
Rosendal Distributed Formation Control with Dynamic Obstacle Avoidance of Omni-wheeled Mobile Robots via Model Predictive Control