KR102391562B1 - 음식 쏟아짐 방지를 위한 서빙 로봇 - Google Patents

음식 쏟아짐 방지를 위한 서빙 로봇 Download PDF

Info

Publication number
KR102391562B1
KR102391562B1 KR1020210105402A KR20210105402A KR102391562B1 KR 102391562 B1 KR102391562 B1 KR 102391562B1 KR 1020210105402 A KR1020210105402 A KR 1020210105402A KR 20210105402 A KR20210105402 A KR 20210105402A KR 102391562 B1 KR102391562 B1 KR 102391562B1
Authority
KR
South Korea
Prior art keywords
serving robot
tray
implemented
food
robot
Prior art date
Application number
KR1020210105402A
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 KR1020210105402A priority Critical patent/KR102391562B1/ko
Application granted granted Critical
Publication of KR102391562B1 publication Critical patent/KR102391562B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/1623Parallel manipulator, Stewart platform, links are attached to a common base and to a common platform, plate which is moved parallel to the base
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/008Manipulators for service tasks
    • 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/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Manipulator (AREA)

Abstract

서빙 로봇이 개시된다. 상기 서빙 로봇은 음료, 또는 음식을 실기 위해 상기 서빙 로봇의 바디에 구현된 트레이, 상기 서빙 로봇의 속도와 가속도를 측정하는 IMU 센서, 상기 트레이에 실린 상기 음료, 또는 상기 음식의 무게를 측정하기 위한 무게 센서, 상기 트레이에 실린 상기 음료, 또는 상기 음식의 쏟아짐을 방지하기 위해 상기 트레이의 하부에 구현되는 피치(pitch) 축을 기준으로 회전하는 제1짐벌 관절과 롤(roll) 축을 기준으로 회전하는 제2짐벌 관절, 상기 제1짐벌 관절과 상기 제2짐벌 관절의 제어를 위해 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다. 상기 명령들은 상기 IMU 센서에서 측정된 상기 속도, 상기 가속도, 및 상기 서빙 로봇의 이동 경로에 따라 상기 제1짐벌 관절과 상기 제2짐벌 관절을 제어하도록 구현된다. 상기 명령들은 상기 서빙 로봇의 속도가 임의의 속도보다 크거나, 상기 가속도가 임의의 가속도보다 큰지 판단하고, 상기 속도가 상기 임의의 속도보다 크거나, 상기 가속도가 상기 임의의 가속도보다 클 때, 상기 서빙 로봇이 회전 구간을 지나는지 판단하며, 상기 서빙 로봇이 상기 회전 구간을 지나지 않는다고 판단할 때, 상기 제1짐벌 관절의 각속도를 계산하고, 상기 서빙 로봇의 상기 가속도에 따라 상기 트레이에 발생하는 관성에 대응하여 상기 제1짐벌 관절을 상기 제1짐벌 관절의 상기 각속도만큼 회전하도록 상기 제1짐벌 관절을 제어하도록 구현된다. 상기 제1짐벌 관절의 각속도는 상기 서빙 로봇의 가속도와, 상기 무게 센서에 의해 측정된 무게를 곱하여 계산된다.

Description

음식 쏟아짐 방지를 위한 서빙 로봇 {Serving robot for preventing food spillage}
본 발명의 개념에 따른 실시 예는 서빙 로봇에 관한 것으로, 특히, 음식이 쏟아지는 것을 방지하기 위한 서빙 로봇에 관한 것이다.
로봇의 기술이 발전함에 따라 로봇의 활용 분야가 다양해지고 있다. 예컨대, 서빙을 담당하는 로봇이 등장하고 있다. 서빙 로봇은 매핑 기술을 기반으로 테이블의 위치를 확인하고, 장애물을 피하여 식음료를 고객의 테이블에 배달한다. 그러나, 식음료의 배달 과정에서 서빙 로봇은 사람과 충돌하거나, 사람과의 충동을 피하기 위해 속도를 급격히 줄이는 경우가 발생한다. 이때, 음료, 또는 음식 등이 바닥에 쏟게 될 수 있다.
따라서 음식의 쏟아짐을 방지하기 위한 기술이 요구된다.
대한민국특허청 등록번호 제10-2242380호
본 발명이 이루고자 하는 기술적인 과제는 서빙 로봇을 제공하는데 있다.
본 발명의 일실시 예에 따른 서빙 로봇은 음료, 또는 음식을 실기 위해 상기 서빙 로봇의 바디에 구현된 트레이, 상기 서빙 로봇의 속도와 가속도를 측정하는 IMU 센서, 상기 트레이에 실린 상기 음료, 또는 상기 음식의 무게를 측정하기 위한 무게 센서, 상기 트레이에 실린 상기 음료, 또는 상기 음식의 쏟아짐을 방지하기 위해 상기 트레이의 하부에 구현되는 피치(pitch) 축을 기준으로 회전하는 제1짐벌 관절과 롤(roll) 축을 기준으로 회전하는 제2짐벌 관절, 상기 제1짐벌 관절과 상기 제2짐벌 관절의 제어를 위해 명령들을 실행하는 프로세서, 및 상기 명령들을 저장하는 메모리를 포함한다.
상기 명령들은 상기 IMU 센서에서 측정된 상기 속도, 상기 가속도, 및 상기 서빙 로봇의 이동 경로에 따라 상기 제1짐벌 관절과 상기 제2짐벌 관절을 제어하도록 구현된다.
상기 명령들은 상기 서빙 로봇의 속도가 임의의 속도보다 크거나, 상기 가속도가 임의의 가속도보다 큰지 판단하고, 상기 속도가 상기 임의의 속도보다 크거나, 상기 가속도가 상기 임의의 가속도보다 클 때, 상기 서빙 로봇이 회전 구간을 지나는지 판단하며, 상기 서빙 로봇이 상기 회전 구간을 지나지 않는다고 판단할 때, 상기 제1짐벌 관절의 각속도를 계산하고, 상기 서빙 로봇의 상기 가속도에 따라 상기 트레이에 발생하는 관성에 대응하여 상기 제1짐벌 관절을 상기 제1짐벌 관절의 상기 각속도만큼 회전하도록 상기 제1짐벌 관절을 제어하도록 구현된다.
상기 서빙 로봇의 상기 가속도가 양수일 때, 상기 명령들은 상기 트레이의 뒷 부분이 올라가도록 상기 제1짐벌 관절을 제어하도록 구현된다.
상기 서빙 로봇의 상기 가속도가 음수일 때, 상기 명령들은 상기 트레이의 앞 부분이 올라가도록 상기 제1짐벌 관절을 제어하도록 구현된다.
상기 제1짐벌 관절의 각속도는 상기 서빙 로봇의 가속도와, 상기 무게 센서에 의해 측정된 무게를 곱하여 계산된다.
상기 명령들은 상기 서빙 로봇의 속도가 임의의 속도보다 크거나, 상기 가속도가 임의의 가속도보다 큰지 판단하고, 상기 속도가 상기 임의의 속도보다 크거나, 상기 가속도가 상기 임의의 가속도보다 클 때, 상기 서빙 로봇이 회전 구간을 지나는지 판단하며, 상기 서빙 로봇이 상기 회전 구간을 지난다고 판단할 때, 상기 제2짐벌 관절의 각속도를 계산하며, 상기 서빙 로봇의 회전 방향에 따라 상기 트레이에 발생하는 관성에 대응하여 상기 제2짐벌 관절을 상기 제2짐벌 관절의 상기 각속도만큼 회전하도록 상기 제2짐벌 관절을 제어하도록 구현된다.
상기 제2짐벌 관절의 각속도는 상기 서빙 로봇의 각가속도와 상기 무게 센서에 의해 측정된 무게를 곱하여 계산된다.
상기 서빙 로봇이 오른쪽 방향으로 회전한다고 판단될 때, 상기 명령들은 상기 트레이의 왼쪽 부분이 올라가도록 상기 제2짐벌 관절을 제어하도록 구현된다.
상기 서빙 로봇이 왼쪽 방향으로 회전한다고 판단될 때, 상기 명령들은 상기 트레이의 오른쪽 부분이 올라가도록 상기 제2짐벌 관절을 제어하도록 구현된다.
실시 예에 따라 상기 서빙 로봇은 상기 트레이의 영역을 촬영하여 영상을 생성하는 트레이 카메라를 더 포함할 수 있다.
상기 명령들은 상기 서빙 로봇이 움직이기 전에 상기 트레이 카메라에 의해 생성된 제1이미지와, 상기 서빙 로봇이 움직인 이후에 급제동이나 충돌 후 상기 트레이 카메라에 의해 생성된 제2이미지를 수신하고, 상기 제1이미지를 상기 트레이 위에 실린 상기 음료, 또는 상기 음식이 포함된 영역인 제1분할 이미지와, 상기 영역을 제외한 나머지 영역인 제2분할 이미지로 분류하고, 상기 제2이미지를 상기 트레이 위에 실린 상기 음료, 또는 상기 음식이 포함된 영역인 제3분할 이미지와, 상기 영역을 제외한 나머지 영역인 제4분할 이미지로 분류하고, 상기 제2분할 이미지와 상기 제4분할 이미지의 차이의 픽셀 변화 값이 임의의 픽셀 값보다 클 때, 상기 음료, 또는 상기 음식이 쏟아진 것으로 판단하도록 구현된다.
서빙 로봇은 상기 이동 로봇의 주변을 촬영하여 영상을 생성하는 카메라, 및상기 서빙 로봇의 움직임을 감소시키는 한 쌍의 자이로 스테빌라이저들을 더 포함할 수 있다.
상기 한 쌍의 자이로 스테빌라이저들은 상기 서빙 로봇의 무게 중심을 기준으로, 앞과 중앙에 위치한다.
상기 한 쌍의 자이로 스테빌라이저들 각각은 플라이휠, 상기 플라이휠을 회전시키는 플라이휠 모터, 상기 플라이휠이 하나의 축을 기준으로 회전할 수 있도록 지지하는 짐벌, 및 상기 짐벌을 회전시키는 짐벌 모터를 포함한다.
상기 명령들은 상기 카메라로부터 수신된 영상을 분석하여, 상기 서빙 로봇의 전방에 장애물, 또는 경사로가 존재하는지 판단하도록 구현되며, 상기 서빙 로봇의 전방에 상기 장애물이 존재한다고 판단될 때, 상기 명령들은 위험 단계로 판단하도록 구현되며, 상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않는다고 판단될 때, 상기 명령들은 상기 트레이에 실린 상기 음료, 또는 상기 음식의 무게에 관한 정보를 수신하여 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있는지 판단하도록 구현된다.
상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않고, 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있다고 판단될 때, 상기 명령들은 주의 단계로 판단하도록 구현되며, 상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않고, 상기 서빙 로봇이 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있지 않다고 판단될 때, 상기 명령들은 상기 서빙 로봇의 전방에 상기 경사로가 존재하는지 판단하며, 상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않고, 상기 서빙 로봇이 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있지 않고, 상기 경사로가 존재한다고 판단될 때, 상기 명령들은 주의 단계로 판단하도록 구현되며, 상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않고, 상기 서빙 로봇이 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있지 않고, 상기 경사로가 존재하지않는다고 판단될 때, 상기 명령들은 안전 단계로 판단하도록 구현된다.
상기 안전 단계로 판단시, 상기 명령들은 상기 플라이휠의 회전 속도를 유지하도록 상기 플라이휠 모터를 제어하도록 구현된다.
상기 위험 단계로 판단시, 상기 명령들은 상기 플라이휠의 회전 속도를 최대 허용 속도로 설정하기 위해 상기 플라이휠 모터를 제어하도록 구현된다.
상기 서빙 로봇이 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있는 상기 주의 단계로 판단시, 상기 명령들은 상기 음료, 또는 상기 음식의 무게를 확인하여 상기 음료, 또는 상기 음식의 무게에 따라 상기 플라이휠의 회전 속도를 증가시키도록 상기 플라이휠 모터를 제어하도로 구현된다.
상기 서빙 로봇이 짐을 싣고 있지 않고, 상기 경사로가 존재하는 상기 주의 단계로 판단시, 상기 명령들은 상기 경사로의 경사도를 판단하며, 상기 경사도에 따라 상기 플라이휠의 회전 속도를 증가시키도록 상기 플라이휠 모터를 제어하도록 구현된다.
본 발명의 실시 예에 따른 서빙 로봇은 서빙 로봇의 급가속, 급제동, 또는 고속으로 방향 전환시 서빙 로봇에 구현된 트레이를 제어하여 음식이 쏟아지는 것을 방지할 수 있는 효과가 있다.
도 1은 본 발명의 실시 예에 따른 서빙 로봇의 사시도를 나타낸다.
도 2는 도 1에 도시된 서빙 로봇의 다른 사시도를 나타낸다..
도 3은 도 1에 도시된 서빙 로봇의 측면도를 나타낸다.
도 4는 도 1에 도시된 서빙 로봇의 후면도를 나타낸다.
도 5는 도 1에 도시된 서빙 로봇의 블록도를 나타낸다.
도 6은 도 5에 도시된 프로세서의 동작을 설명하기 위한 흐름도를 나타낸다.
도 7은 도 5에 도시된 트레이 카메라에 의해 서로 다른 시간에 생성된 이미지 프레임들을 나타낸다.
도 8은 도 1에 도시된 서빙 로봇의 저면도를 나타낸다.
도 9는 도 1에 도시된 한 쌍의 자이로 스테빌라이저들(gyro stabilizers) 중 어느 하나의 블록도를 나타낸다.
도 10은 도 5에 도시된 프로세서의 다른 동작을 설명하기 위한 흐름도를 나타낸다.
도 11은 도 5에 도시된 프로세서의 또 다른 동작을 설명하기 위한 흐름도를 나타낸다.
본 명세서에 개시된 본 발명의 개념에 따른 실시예에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시예를 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예는 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시예에 한정되지 않는다.
본 발명의 개념에 따른 실시예는 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예를 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나 이는 본 발명의 개념에 따른 실시예를 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위에서 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접 연결되어 있거나 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 같은 의미를 나타낸다. 일반적으로 사용되는 사전에 정의된 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미가 있는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 서빙 로봇의 사시도를 나타낸다. 도 2는 도 1에 도시된 서빙 로봇의 다른 사시도를 나타낸다. 도 3은 도 1에 도시된 서빙 로봇의 측면도를 나타낸다. 도 4는 도 1에 도시된 서빙 로봇의 후면도를 나타낸다.
도 1 내지 도 4를 참고하면, 서빙 로봇(100)은 음료, 또는 음식을 싣고 주문한 고객으로 이동하는 로봇이다. 실시 예에 따라 서빙 로봇(100)은 배달 로봇 등 다양한 용어로 호칭될 수 있다.
서빙 로봇(100)은 음료, 또는 음식을 실을 수 있는 트레이(80)를 포함한다. 트레이(80)는 음료, 또는 음식을 실기 위해 서빙 로봇(100)의 바디(101)에 구현된다. 도 1은 서빙 로봇(100)의 프로토타입(prototype)을 나타낸 것으로, 실시 예에 따라 서빙 로봇(100)은 다양하게 구현될 수 있다. 예컨대, 서빙 로봇(100)의 트레이(80)의 개수는 다양할 수 있다. 실시 예에 따라 서빙 로봇(100)은 음료, 또는 음식을 실을 수 있는 다른 트레이(90)를 더 포함할 수 있다. 또한, 서빙 로봇(100)의 트레이(80, 또는 90)의 위치도 다양하게 구현될 수 있다.
서빙 로봇(100)이 한 개의 트레이(80)를 포함할 때, 서빙 로봇(100)은 한 쌍의 짐벌 관절들(81, 83)을 포함한다. 한 쌍의 짐벌 관절들(81, 83)은 트레이(80)에 실린 음료, 또는 음식의 쏟아짐을 방지하기 위해 트레이(80)의 하부에 구현된다. 트레이(80)의 하부는 트레이(80)의 바닥을 의미한다. 제1짐벌 관절(81)은 피치(pitch) 축을 기준으로 회전한다. 제2짐벌 관절(83)은 롤(roll) 축을 기준으로 회전한다. 도 1에서는 설명을 위해 다른쪽 바디는 도시되지 않았으나, 바디(101)의 반대편에도 다른쪽 바디가 존재하는 것으로 이해하여야한다.
서빙 로봇(100)이 두 개의 트레이들(80과 90)을 포함할 때, 서빙 로봇(100)은 두 쌍의 짐벌 관절들(81, 83, 91, 및 93)을 포함한다. 다른 한 쌍의 짐벌 관절들(91, 93)은 다른 트레이(90)의 하부에 구현된다. 제3짐벌 관절(91)은 제1짐벌 관절(81)과 유사하게 피치 축을 기준으로 회전한다. 제4짐벌 관절(93)은 제2짐벌 관절(83)과 유사하게 롤 축을 기준으로 회전한다.
도 5는 도 1에 도시된 서빙 로봇의 블록도를 나타낸다.
도 1 내지 도 5를 참고하면, 서빙 로봇(100)은 프로세서(10), 메모리(20), 카메라(30), 무게 센서(40), 트레이 카메라(50), IMU 센서(55), 한 쌍의 스테빌라이저들(60, 70), 제1 내지 제4짐벌 관절들(81, 83, 91, 및 93)을 포함할 수 있다. 프로세서(10), 메모리(20), 카메라(30), 무게 센서(40), 트레이 카메라(50), 및 IMU 센서(55)는 서빙 로봇(100)의 다양한 위치에서 구현될 수 있다. 도 1 내지 도 4에서 각 구성요소(10, 20, 30, 40, 50, 또는 55)의 구현 위치는 생략되었다.
카메라(30)는 서빙 로봇(100)의 주변을 촬영하여 영상을 생성한다. 카메라(30)는 바디(101)에 설치될 수 있다.
무게 센서(40)는 트레이(80)에 실린 음료, 또는 음식의 무게를 측정하기 위해 이용된다. 무게 센서(40)는 음료, 또는 음식이 실리지 않을 때 트레이(80)의 무게와, 트레이(80)에 음료, 또는 음식이 실릴 때 트레이(80)의 무게를 비교하여 트레이(80)에 실린 음료, 또는 음식의 무게를 측정할 수 있다. 무게 센서(40)는 트레이(80)의 밑면에 구현될 수 있다.
트레이 카메라(50)는 트레이(80)의 영역을 촬영하여 영상을 생성한다. 트레이 카메라(50)는 트레이(80)의 영역을 위에서 촬영할 수 있도록 바디(101)에 설치될 수 있다.
IMU(Inertial Measurement Unit) 센서(55)는 서빙 로봇(100)의 속도와 가속도를 측정한다.
프로세서(10)는 한 쌍의 짐벌 관절들(81, 83), 또는 다른 한 쌍의 짐벌 관절들(91, 93)의 제어를 위한 명령들을 실행한다. 메모리(20)는 상기 명령들을 저장한다. 실시 예에 따라 프로세서(10)는 컨트롤러로 호칭될 수 있다.
상기 명령들은 IMU 센서(55)에서 측정된 속도, 가속도, 및 서빙 로봇(100)의 이동 경로에 따라 한 쌍의 짐벌 관절들(81, 83), 또는 다른 한 쌍의 짐벌 관절들(91, 93)을 제어한다.
한 쌍의 스테빌라이저들(60, 70)은 서빙 로봇(100)의 바닥에 설치된다. 한 쌍의 스테빌라이저들(60, 70)은 서빙 로봇(100)의 무게 중심을 기준으로, 앞과 중앙에 위치한다.
도 6는 도 5에 도시된 프로세서의 동작을 설명하기 위한 흐름도를 나타낸다.
도 1 내지 도 6을 참고하면, 프로세서(10)는 무게 센서(40)에 의해 측정된 트레이(80)의 무게에 관한 정보를 수신한다(S200). 프로세서(10)는 수신된 트레이(80)의 무게에 관한 정보를 이용하여 트레이(80) 위에 음료, 또는 음식이 실렸는지 판단할 수 있다.
프로세서(10)는 IMU 센서(55)를 통해 측정된 서빙 로봇(100)의 속도와 가속도에 관한 정보를 수신한다(S210).
프로세서(10)는 서빙 로봇(100)의 속도와 가속도에 관한 정보를 이용하여 서빙 로봇(100)의 속도가 임의의 속도보다 크거나, 상기 가속도가 임의의 가속도보다 큰지 판단한다(S220). 상기 임의의 속도, 또는 상기 임의의 가속도는 미리 결정된 값이다.
서빙 로봇(100)의 속도가 상기 임의의 속도보다 작고, 상기 가속도가 상기 임의의 가속도보다 작을 때, 프로세서(10)는 서빙 로봇(100)의 속도가 상기 임의의 속도보다 크거나, 상기 가속도가 상기 임의의 가속도보다 클 때까지 서빙 로봇(100)의 속도와 가속도에 관한 정보를 이용하여 서빙 로봇(100)의 속도가 상기 임의의 속도보다 크거나, 상기 가속도가 상기 임의의 가속도보다 큰지 판단한다.
서빙 로봇(100)의 속도와 가속도에 관한 정보를 이용하여 서빙 로봇(100)의 속도가 임의의 속도보다 크거나, 상기 가속도가 임의의 가속도보다 클 때, 프로세서(10)는 서빙 로봇(100)이 회전 구간을 지나는지 판단한다(S230). 카메라(30)에 의해 서빙 로봇(100)의 주변이 촬영된 영상을 분석함으로써 서빙 로봇(100)이 상기 회전 구간을 지나는지 판단될 수 있다.
서빙 로봇(100)이 상기 회전 구간을 지나지 않는다고 판단할 때, 프로세서(10)는 제1짐벌 관절(81)의 각속도를 계산한다(S240).
제1짐벌 관절(81)의 각속도는 서빙 로봇(100)의 가속도와, 무게 센서(40)에 의해 측정된 무게를 곱하여 계산된다. 제1짐벌 관절(81)의 각속도는 아래의 수학식과 같이 계산된다.
[수학식 1]
θ1=α*av1*wg
상기 θ1는 제1짐벌 관절(81)의 각속도를, 상기 α는 상수를, 상기 av1는 서빙 로봇(100)의 가속도를, 상기 wg는 무게 센서(40)에 의해 측정된 무게를 나타낸다.
상기 상수(α)는 0에서 1 사이의 값을 가질 수 있다. 상기 상수(α)는 학습 데이터를 통해 결정될 수 있다.
프로세서(10)는 서빙 로봇(100)의 상기 가속도에 따라 트레이(80)에 발생하는 관성에 대응하여 제1짐벌 관절(81)을 제1짐벌 관절(81)의 각속도만큼 회전하도록 제1짐벌 관절(81)을 제어한다..
프로세서(10)는 서빙 로봇(100)의 상기 가속도가 양수인지, 음수인지 판단한다(S250).
서빙 로봇(100)의 상기 가속도가 양수일 때, 프로세서(10)는 트레이(80)의 뒷 부분이 제1짐벌 관절(81)의 각속도만큼 올라가도록 제1짐벌 관절(81)을 제어한다(S260). 서빙 로봇(100)의 상기 가속도가 양수일 때, 트레이(80)에 실린 음료, 또는 음식은 서빙 로봇(100)의 진행 방향의 반대 방향으로 관성이 발생한다. 즉, 트레이(80)에 실린 음료, 또는 음식은 트레이(80)의 뒤로 쏠린다. 트레이(80)에 실린 음료, 또는 음식이 서빙 로봇(100)의 진행 방향의 반대 방향으로 관성이 발생하여 음료, 또는 음식이 뒤로 쏟아지는 것을 방지하기 위해 프로세서(10)는 트레이(80)의 뒷 부분이 제1짐벌 관절(81)의 각속도만큼 올라가도록 제1짐벌 관절(81)을 제어한다.
서빙 로봇(100)의 상기 가속도가 음수일 때, 프로세서(10)는 트레이(80)의 앞 부분이 제1짐벌 관절(81)의 각속도만큼 올라가도록 제1짐벌 관절(81)을 제어한다(S270). 도 2, 또는 도 3에서 트레이(80)의 앞 부분이 올라간 상태가 도시된다.
서빙 로봇(100)의 진행 방향으로 관성이 발생한다. 즉, 트레이(80)에 실린 음료, 또는 음식은 트레이(80)의 앞으로 쏠린다. 트레이(80)에 실린 음료, 또는 음식이 서빙 로봇(100)의 진행 방향으로 관성이 발생하여 음료, 또는 음식이 앞으로 쏟아지는 것을 방지하기 위해 프로세서(10)는 트레이(80)의 앞 부분이 제1짐벌 관절(81)의 각속도만큼 올라가도록 제1짐벌 관절(81)을 제어한다.
서빙 로봇(100)이 상기 회전 구간을 지난다고 판단할 때, 프로세서(10)는 제2짐벌 관절(83)의 각속도를 계산한다(S280).
제2짐벌 관절(83)의 각속도는 서빙 로봇(100)의 각가속도와 무게 센서(40)에 의해 측정된 무게를 곱하여 계산된다. 제2짐벌 관절(83)의 각속도는 아래의 수학식과 같이 계산된다.
[수학식 2]
θ2=β*av2*wg
상기 θ2는 제2짐벌 관절(83)의 각속도를, 상기 β는 상수를, 상기 av2는 서빙 로봇(100)의 각가속도를, 상기 wg는 무게 센서(40)에 의해 측정된 무게를 나타낸다. 상기 상수(β)는 0에서 1 사이의 값을 가질 수 있다. 상기 상수(β)는 학습 데이터를 통해 결정될 수 있다.
서빙 로봇(100)의 각가속도(av2)는 아래의 수학식과 같이 계산될 수 있다.
[수학식 3]
av2=v2/r
상기 v는 서빙 로봇(100)의 속도를, 상기 r은 서빙 로봇(100)의 회전 반경을 나타낸다.
프로세서(10)는 서빙 로봇(100)의 회전 방향에 따라 트레이(80)에 발생하는 관성에 대응하여 제2짐벌 관절(83)을 제2짐벌 관절(83)의 각속도만큼 회전하도록 제2짐벌 관절(83)을 제어한다.
프로세서(10)는 서빙 로봇(100)이 오른쪽 방향으로 회전하는지, 왼쪽 방향으로 회전하는지 판단한다(S290).
서빙 로봇(100)이 오른쪽 방향으로 회전한다고 판단될 때, 프로세서(10)는 트레이(80)의 왼쪽 부분이 상기 각속도만큼 올라가도록 제2짐벌 관절(83)을 제어한다(S300). 서빙 로봇(100)이 오른쪽 방향으로 회전한다고 판단될 때, 트레이(80)에 실린 음료, 또는 음식은 서빙 로봇(100)을 기준으로 왼쪽 방향으로 관성이 발생한다. 즉, 트레이(80)에 실린 음료, 또는 음식은 서빙 로봇(100)을 기준으로 왼쪽 방향으로 쏠릴 수 있다. 트레이(80)에 실린 음료, 또는 음식이 서빙 로봇(100)을 기준으로 왼쪽 방향으로 관성이 발생하여 음료, 또는 음식이 쏟아지는 것을 방지하기 위해 프로세서(10)는 상기 관성의 방향인 서빙 로봇(100)을 기준으로 트레이(80)의 왼쪽 부분이 상기 각속도만큼 올라가도록 제2짐벌 관절(83)을 제어한다. 트레이(80)의 왼쪽 부분이 상기 각속도만큼 올라가도록 제2짐벌 관절(83)을 제어함으로써 트레이(80)에 실린 음료, 또는 음식물이 왼쪽으로 쏟아지는 것이 방지될 수 있다.
서빙 로봇(100)이 왼쪽 방향으로 회전한다고 판단될 때, 프로세서(10)는 트레이(80)의 오른쪽 부분이 상기 각속도만큼 올라가도록 제2짐벌 관절(83)을 제어한다(S310). 서빙 로봇(100)이 왼쪽 방향으로 회전한다고 판단될 때, 트레이(80)에 실린 음료, 또는 음식은 서빙 로봇(100)을 기준으로 오른쪽 방향으로 관성이 발생한다. 즉, 트레이(80)에 실린 음료, 또는 음식은 서빙 로봇(100)을 기준으로 오른쪽 방향으로 쏠릴 수 있다. 트레이(80)에 실린 음료, 또는 음식이 서빙 로봇(100)을 기준으로 오른쪽 방향으로 관성이 발생하여 음료, 또는 음식이 쏟아지는 것을 방지하기 위해 프로세서(10)는 상기 관성의 방향인 서빙 로봇(100)을 기준으로 트레이(80)의 오른쪽 부분이 상기 각속도만큼 올라가도록 제2짐벌 관절(83)을 제어한다. 트레이(80)의 오른쪽 부분이 상기 각속도만큼 올라가도록 제2짐벌 관절(83)을 제어함으로써 트레이(80)에 실린 음료, 또는 음식물이 오른쪽으로 쏟아지는 것이 방지될 수 있다.
도 7은 도 5에 도시된 트레이 카메라에 의해 서로 다른 시간에 생성된 이미지 프레임들을 나타낸다.
도 5와 도 7를 참고하면, 프로세서(10)는 서빙 로봇(100)이 움직이기 전에 트레이 카메라(50)에 의해 생성된 제1이미지(IMG1)와, 서빙 로봇(100)이 움직인 이후에 급제동이나 충돌 후 트레이 카메라(50)에 의해 생성된 제2이미지(IMG2)를 수신한다. 제1이미지(IMG1)와 제2이미지(IMG2)는 서로 다른 시간에 촬영된 이미지이다. IMU 센서(55)에 의해 서빙 로봇(100)의 급제동이나 충돌이 판단될 수 있다.
프로세서(10)는 제1이미지(IMG1)를 트레이(80) 위에 실린 음료, 또는 음식이 포함된 영역인 제1분할 이미지(IMG1_1)와, 상기 영역을 제외한 제2분할 이미지(IMG1_2)로 분류한다.
프로세서(10)는 제2이미지(IMG2)를 트레이(80) 위에 실린 음료, 또는 음식이 포함된 영역인 제3분할 이미지(IMG2_1)와, 상기 영역을 제외한 제4분할 이미지(IMG2_2)로 분류한다.
프로세서(10)는 제2분할 이미지(IMG1_2)와 제4분할 이미지(IMG2_2)의 차이의 픽셀 변화 값이 임의의 픽셀 값보다 큰 지 판단한다.
제2분할 이미지(IMG1_2)와 제4분할 이미지(IMG2_2)의 차이의 픽셀 변화 값이 임의의 픽셀 값보다 클 때, 프로세서(10)는 상기 음료, 또는 상기 음식이 쏟아진 것으로 판단한다. 상기 임의의 픽셀 값은 미리 결정된 값이다.
도 8은 도 1에 도시된 서빙 로봇의 저면도를 나타낸다.
도 1과 도 8을 참고하면, 한 쌍의 스테빌라이저들(60, 70)은 서빙 로봇(100)의 바닥에 설치된다. 한 쌍의 스테빌라이저들(60, 70)은 서빙 로봇(100)의 무게 중심을 기준으로, 앞과 중앙에 위치한다. 제1스테빌라이저(60)는 피치(pitch) 축을 기준으로 짐벌이 시계방향, 또는 반시계 방향으로 회전하기 위해 설치된다. 제2스테빌라이저(70)는 롤(roll) 축을 기준으로 짐벌이 짐벌이 시계방향, 또는 반시계 방향으로 회전하기 위해 설치된다. 제1스테빌라이저(60)의 플라이휠(flywheel)과 제2스테빌라이저(70)의 플라이휠(flywheel)은 발생하는 관성을 상쇄시키기 위해 서로 반대방향으로 회전한다. 제1스테빌라이저(60)의 플라이휠(flywheel)이 시계 방향으로 회전할 때, 제2스테빌라이저(70)의 플라이휠은 반시계 방향으로 회전한다.
도 9는 도 1에 도시된 한 쌍의 자이로 스테빌라이저들(gyro stabilizers) 중 어느 하나의 블록도를 나타낸다.
도 3에서는 대표적으로 제1스테빌라이저의 구조가 개시된다. 제2스테빌라이저의 구조는 제1스테빌라이저의 구조와 동일하다.
도 3을 참고하면, 제1스테빌라이저(60)는 플라이휠(flywheel; 61), 플라이휠(61)을 회전시키는 플라이휠 모터(63), 플라이휠(63)이 하나의 축을 기준으로 회전할 수 있도록 지지하는 짐벌(gimbal; 65), 및 짐벌(65)을 회전시키는 짐벌 모터(67)를 포함한다.
플라이휠 모터(63)의 구동에 의해 플라이휠(63)이 회전할 때, 각운동량(Angular Momentum)은 다음의 수학식과 같이 계산된다.
[수학식 4]
H=I*w
상기 H는 각운동량을, 상기 I는 관성을, 상기 w는 각속도를 나타낸다.
짐벌 모터(67)의 구동에 의해 짐벌(65)이 회전할 때, 토크(Torque; T1)가 생성된다. 토크(T1)는 다음의 수학식과 같이 계산된다.
[수학식 5]
T1=H*δ+H*θ
상기 T1는 토크를, 상기 H는 각운동량을, 상기 δ는 짐벌 모터(67)의 회전 속도를, 상기 θ는 짐벌(65)의 각도를 나타낸다.
토크(T1)는 각운동량(H)에 비례한다. 각운동량(H)은 각속도(w)에 비례한다. 따라서 토크(T1)는 각속도(w)에 의존적이다. 각속도(w)를 크게 할수록 토크(T1)도 증가한다. 토크(T1)은 서빙 로봇(100)이 중심을 잃고 넘어지는 것을 방지하는데 이용된다. 따라서 본 발명에서는 서빙 로봇(100)이 미리 중심을 잃고 넘어질 수 있는 환경인지를 판단하고, 중심을 잃고 넘어질 수 있는 환경이라 판단될 때, 중심을 잃기 전에 미리 플라이휠(63)의 각속도(w), 즉, 플라이휠(63)의 회전 속도를 제어한다. 플라이휠(63)의 회전 속도 제어에 따라 토크(T1)가 생성된다. 토크(T1)는 서빙 로봇(100)이 중심을 잃고 넘어지는 것을 방지하는데 이용된다.
도 10은 도 5에 도시된 프로세서의 다른 동작을 설명하기 위한 흐름도를 나타낸다.
도 1 내지 도 10을 참고하면, 프로세서(10)는 카메라(30)로부터 수신된 영상을 분석하여, 위험 단계, 주의 단계, 또는 안전 단계인지를 판단한다.
프로세서(10)는 카메라(30)로부터 수신된 영상을 분석하여, 서빙 로봇(100)의 전방에 장애물, 또는 경사로가 존재하는지하는 판단한다(S10). 실시 예에 따라 서빙 로봇(100)은 거리 센서(미도시)를 더 포함할 수 있다. 상기 거리 센서에 의해 서빙 로봇(100)의 전방에 장애물, 또는 경사로가 존재하는지하는 판단될 수 있다.
서빙 로봇(100)의 전방에 상기 장애물이 존재한다고 판단될 때, 프로세서(10)는 위험 단계로 판단한다(S20).
서빙 로봇(100)의 전방에 상기 장애물이 존재하지 않는다고 판단될 때, 프로세서(10)는 트레이(80)에 실린 음료, 또는 음식의 무게에 관한 정보를 수신하여 트레이(80)에 음료, 또는 음식을 싣고 있는지 판단한다(S30).
서빙 로봇(100)의 전방에 상기 장애물이 존재하지 않고, 트레이(80)에 음료, 또는 음식을 싣고 있다고 판단될 때, 프로세서(10)는 주의 단계로 판단한다(S40).
서빙 로봇(100)의 전방에 상기 장애물이 존재하지 않고, 트레이(80)에 음료, 또는 음식을 싣고 있지 않다고 판단될 때, 프로세서(10)는 서빙 로봇(100)의 전방에 상기 경사로가 존재하는지 판단한다(S50).
서빙 로봇(100)의 전방에 상기 장애물이 존재하지 않고, 트레이(80)에 음료, 또는 음식을 싣고 있지 않고, 상기 경사로가 존재한다고 판단될 때, 프로세서(10)는 주의 단계로 판단한다(S60).
서빙 로봇(100)의 전방에 상기 장애물이 존재하지 않고, 트레이(80)에 음료, 또는 음식을 싣고 있지 않고, 상기 경사로가 존재하지 않는다고 판단될 때, 프로세서(10)는 안전 단계로 판단한다(S70).
도 11은 도 5에 도시된 프로세서의 또 다른 동작을 설명하기 위한 흐름도를 나타낸다.
도 1 내지 도 11을 참고하면, 프로세서(10)에 의해 판단된 위험 단계, 주의 단계, 또는 안전 단계에 따라 트레이(80)에 실린 음료, 또는 음식이 쏟아지는 것을 방지하기 위해 제1, 2스테빌라이저(60, 70)의 플라이휠의 회전 속도, 즉, 각속도를 변화시키도록 플라이휠 모터를 제어한다. 각속도의 변화에 따라 관성의 반대 방향으로 출력 토크를 생성시킨다. 트레이(80)에 실린 음료, 또는 음식이 쏟아지기 전에 미리 트레이(80)의 관성을 판단하여 각속도를 변화시킴으로써 트레이(80)에 실린 음료, 또는 음식이 쏟아지는 것을 방지할 수 있다.
프로세서(10)는 서빙 로봇(100)의 속도를 IMU 센서(55)로부터 실시간으로 수신하여 서빙 로봇(100)의 속도 변화를 계산하고, 서빙 로봇(100)의 속도 변화가 있는지 판단한다(S100).
서빙 로봇(100)의 속도 변화가 임의의 속도(Thv) 이상일 때, 서빙 로봇(100)의 속도 변화에 따라 상기 플라이휠의 회전 속도를 변화시키기 위해 상기 플라이휠 모터를 제어한다(S110). 상기 플라이휠 모터는 제1스테빌라이저(60)의 플라이휠 모터, 제2스테빌라이저(70)의 플라이휠 모터, 또는 제1, 2스테빌라이저(60, 70)의 플라이휠 모터를 의미할 수 있다.
상기 플라이휠의 회전 속도는 아래의 수학식과 같이 계산될 수 있다.
[수학식 6]
Wfur=Wcur*(1+K1*(Vcur-Vbase))
상기 Wfur는 변경될 플라이휠의 회전 속도를, 상기 Wcur는 현재 플라이휠의 회전 속도를, 상기 K1는 상수를, 상기 Vcur는 현재 서빙 로봇(100)의 속도를, 상기 Vbase는 평상시 서빙 로봇(100)의 속도를 의미한다. 평상시 서빙 로봇(100)의 속도는 특수한 환경을 제외한 일반적인 환경에서 서빙 로봇(100)의 평균 속도를 의미할 수 있다. 예컨대, 현재 플라이휠의 회전 속도(Wcur)는 3000RPM으로 설정될 수 있다. 평상시 서빙 로봇(100)의 속도(Vbase)는 1m/s로 설정될 수 있다.
프로세서(10)는 서빙 로봇(100)이 안전 단계인지 확인한다(S120).
프로세서(10)는 상기 안전 단계로 판단시, 프로세서(10)는 상기 플라이휠의 회전 속도를 유지하도록 상기 플라이휠 모터를 제어한다(S130).
프로세서(10)는 안전 단계가 아니라고 판단할 때, 프로세서(10)는 트레이(80)에 음료, 또는 음식을 싣고 있는 주의 단계인지 확인한다(S140).
프로세서(10)는 트레이(80)에 음료, 또는 음식을 싣고 있는 상기 주의 단계로 판단시, 프로세서(10)는 음료, 또는 음식의 무게를 확인하여 상기 음료, 또는 음식의 무게에 따라 상기 플라이휠의 회전 속도를 증가시키도록 상기 플라이휠 모터를 제어한다(S150).
상기 플라이휠의 회전 속도는 아래의 수학식과 같이 계산될 수 있다.
[수학식 7]
Wfur=Wcur*(1+K2*(Mload/Mrobot))
상기 Wfur는 변경될 플라이휠의 회전 속도를, 상기 Wcur는 현재 플라이휠의 회전 속도를, 상기 K2는 상수를, 상기 Mload는 음료, 또는 음식의 무게를, 상기 Mrobot는 서빙 로봇(100)의 무게를 의미한다. 상기 현재 플라이휠의 회전 속도는 S110 단계에서 변화된 플라이휠의 회전 속도를 의미한다. 예컨대, 서빙 로봇(100)의 무게(Mrobot)는 78kg일 수 있다. 서빙 로봇(100)의 무게(Mrobot)는 별도의 무게 센서(미도시)에 의해 측정될 수 있다..
상기 플라이휠 모터는 제1, 2스테빌라이저(60, 70)의 플라이휠 모터를 의미할 수 있다.
프로세서(10)는 음료, 또는 음식을 싣고 있는 상기 주의 단계가 아니라고 할 때, 서빙 로봇(100)이 상기 경사로가 존재하는 상기 주의 단계인지 확인한다(S160).
프로세서(10)는 서빙 로봇(100)이 음료, 또는 음식을 싣고 있는 상기 주의 단계가 아니라, 상기 경사로가 존재하는 상기 주의 단계라고 판단시, 프로세서(10)는 상기 경사로의 경사도를 판단한다. 프로세서(10)는 상기 경사도에 따라 상기 플라이휠의 회전 속도를 증가시키도록 상기 플라이휠 모터를 제어한다(S170).
상기 플라이휠의 회전 속도는 아래의 수학식과 같이 계산될 수 있다.
[수학식 8]
Wfur=Wcur*(1+K3*sin(θ))
상기 Wfur는 변경될 플라이휠의 회전 속도를, 상기 Wcur는 현재 플라이휠의 회전 속도를, 상기 K3는 상수를, 상기 θ는 상기 경사로의 경사도를 의미한다.
상기 플라이휠 모터는 제1스테빌라이저(60)의 플라이휠 모터, 제2스테빌라이저(70)의 플라이휠 모터, 또는 제1, 2스테빌라이저(60, 70)의 플라이휠 모터를 의미할 수 있다.
프로세서(10)는 트레이(80)에 음료, 또는 음식을 싣고 있는 상기 주의 단계가 아니며, 상기 경사로가 존재하는 상기 주의 단계가 아니라고 할 때, 서빙 로봇(100)이 상기 위험 단계인지 확인한다(S180).
프로세서(10)는 서빙 로봇(100)이 상기 위험 단계라고 판단시, 프로 세서(10)는 상기 플라이휠의 회전 속도를 최대로 증가시키도록 상기 플라이휠 모터를 제어한다(S190). 예컨대, 상기 플라이휠의 회전 최대 속도는 10,000RPM으로 설정될 수 있다. 따라서 서빙 로봇(100)이 넘어서 트레이(80)에 실린 음료, 또는 음식의 쏟아짐이 방지될 수 있다.
상기 상수 K1, K2, 및 K3는 신경망 알고리즘을 적용하여 도출될 수 있다.
이처럼 본 발명은 기재된 실시예에 한정되는 것이 아니고, 본 발명의 사상 및 범위를 벗어나지 않고 다양하게 수정 및 변형할 수 있음은 이 기술의 분야에서 통상의 지식을 가진 자에게 자명하다. 따라서 그러한 수정예 또는 변형예들은 본 발명의 청구범위에 속한다고 하여야 할 것이다.
100: 서빙 로봇; 60, 70: 한 쌍의 스테빌라이저들;
10: 프로세서; 61: 플라이휠;
20: 메모리; 63: 플라이휠 모터;
30: 카메라; 65: 짐벌;
40: 무게 센서; 67: 짐벌 모터;
50: 트레이 카메라;
55: IMU 센서;

Claims (9)

  1. 서빙 로봇은,
    음료, 또는 음식을 실기 위해 상기 서빙 로봇의 바디에 구현된 트레이;
    상기 서빙 로봇의 속도와 가속도를 측정하는 IMU 센서;
    상기 트레이에 실린 상기 음료, 또는 상기 음식의 무게를 측정하기 위한 무게 센서;
    상기 트레이에 실린 상기 음료, 또는 상기 음식의 쏟아짐을 방지하기 위해 상기 트레이의 하부에 구현되는 피치(pitch) 축을 기준으로 회전하는 제1짐벌 관절과 롤(roll) 축을 기준으로 회전하는 제2짐벌 관절;
    상기 제1짐벌 관절과 상기 제2짐벌 관절의 제어를 위해 명령들을 실행하는 프로세서; 및
    상기 명령들을 저장하는 메모리를 포함하며,
    상기 명령들은,
    상기 IMU 센서에서 측정된 상기 속도, 상기 가속도, 및 상기 서빙 로봇의 이동 경로에 따라 상기 제1짐벌 관절과 상기 제2짐벌 관절을 제어하도록 구현되며,
    상기 명령들은,
    상기 서빙 로봇의 속도가 임의의 속도보다 크거나, 상기 가속도가 임의의 가속도보다 큰지 판단하고,
    상기 속도가 상기 임의의 속도보다 크거나, 상기 가속도가 상기 임의의 가속도보다 클 때, 상기 서빙 로봇이 회전 구간을 지나는지 판단하며,
    상기 서빙 로봇이 상기 회전 구간을 지나지 않는다고 판단할 때, 상기 제1짐벌 관절의 각속도를 계산하고,
    상기 서빙 로봇의 상기 가속도에 따라 상기 트레이에 발생하는 관성에 대응하여 상기 제1짐벌 관절을 상기 제1짐벌 관절의 상기 각속도만큼 회전하도록 상기 제1짐벌 관절을 제어하도록 구현되며,
    상기 제1짐벌 관절의 각속도는,
    상기 서빙 로봇의 가속도와, 상기 무게 센서에 의해 측정된 무게를 곱하여 계산되는 서빙 로봇.
  2. 삭제
  3. 제1항에 있어서,
    상기 서빙 로봇의 상기 가속도가 양수일 때, 상기 명령들은,
    상기 트레이의 뒷 부분이 올라가도록 상기 제1짐벌 관절을 제어하도록 구현되며,
    상기 서빙 로봇의 상기 가속도가 음수일 때, 상기 명령들은,
    상기 트레이의 앞 부분이 올라가도록 상기 제1짐벌 관절을 제어하도록 구현되는 서빙 로봇.
  4. 삭제
  5. 제1항에 있어서, 상기 명령들은,
    상기 서빙 로봇의 속도가 임의의 속도보다 크거나, 상기 가속도가 임의의 가속도보다 큰지 판단하고,
    상기 속도가 상기 임의의 속도보다 크거나, 상기 가속도가 상기 임의의 가속도보다 클 때, 상기 서빙 로봇이 회전 구간을 지나는지 판단하며,
    상기 서빙 로봇이 상기 회전 구간을 지난다고 판단할 때, 상기 제2짐벌 관절의 각속도를 계산하고,
    상기 서빙 로봇의 회전 방향에 따라 상기 트레이에 발생하는 관성에 대응하여 상기 제2짐벌 관절을 상기 제2짐벌 관절의 상기 각속도만큼 회전하도록 상기 제2짐벌 관절을 제어하도록 구현되는 서빙 로봇.
  6. 제5항에 있어서, 상기 제2짐벌 관절의 각속도는,
    상기 서빙 로봇의 각가속도와 상기 무게 센서에 의해 측정된 무게를 곱하여 계산되는 서빙 로봇.
  7. 제5항에 있어서, 상기 서빙 로봇이 오른쪽 방향으로 회전한다고 판단될 때, 상기 명령들은,
    상기 트레이의 왼쪽 부분이 올라가도록 상기 제2짐벌 관절을 제어하도록 구현되며,
    상기 서빙 로봇이 왼쪽 방향으로 회전한다고 판단될 때, 상기 명령들은,
    상기 트레이의 오른쪽 부분이 올라가도록 상기 제2짐벌 관절을 제어하도록 구현되는 서빙 로봇.
  8. 제1항에 있어서, 상기 서빙 로봇은,
    상기 트레이의 영역을 촬영하여 영상을 생성하는 트레이 카메라를 더 포함하며,
    상기 명령들은,
    상기 서빙 로봇이 움직이기 전에 상기 트레이 카메라에 의해 생성된 제1이미지와, 상기 서빙 로봇이 움직인 이후에 급제동이나 충돌 후 상기 트레이 카메라에 의해 생성된 제2이미지를 수신하고,
    상기 제1이미지를 상기 트레이 위에 실린 상기 음료, 또는 상기 음식이 포함된 영역인 제1분할 이미지와, 상기 영역을 제외한 나머지 영역인 제2분할 이미지로 분류하고,
    상기 제2이미지를 상기 트레이 위에 실린 상기 음료, 또는 상기 음식이 포함된 영역인 제3분할 이미지와, 상기 영역을 제외한 나머지 영역인 제4분할 이미지로 분류하고,
    상기 제2분할 이미지와 상기 제4분할 이미지의 차이의 픽셀 변화 값이 임의의 픽셀 값보다 클 때, 상기 음료, 또는 상기 음식이 쏟아진 것으로 판단하도록 구현되는 서빙 로봇.
  9. 제1항에 있어서, 상기 서빙 로봇은,
    상기 서빙 로봇의 주변을 촬영하여 영상을 생성하는 카메라; 및
    상기 서빙 로봇의 움직임을 감소시키는 한 쌍의 자이로 스테빌라이저들을 더 포함하며,
    상기 한 쌍의 자이로 스테빌라이저들은,
    상기 서빙 로봇의 무게 중심을 기준으로, 앞과 중앙에 위치하며,
    상기 한 쌍의 자이로 스테빌라이저들 각각은,
    플라이휠(flywheel);
    상기 플라이휠을 회전시키는 플라이휠 모터;
    상기 플라이휠이 하나의 축을 기준으로 회전할 수 있도록 지지하는 짐벌(gimbal); 및
    상기 짐벌을 회전시키는 짐벌 모터를 포함하며,
    상기 명령들은 상기 카메라로부터 수신된 영상을 분석하여,
    상기 서빙 로봇의 전방에 장애물, 또는 경사로가 존재하는지 판단하도록 구현되며,
    상기 서빙 로봇의 전방에 상기 장애물이 존재한다고 판단될 때, 상기 명령들은 위험 단계로 판단하도록 구현되며,
    상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않는다고 판단될 때, 상기 명령들은 상기 트레이에 실린 상기 음료, 또는 상기 음식의 무게에 관한 정보를 수신하여 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있는지 판단하도록 구현되며,
    상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않고, 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있다고 판단될 때, 상기 명령들은 주의 단계로 판단하도록 구현되며,
    상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않고, 상기 서빙 로봇이 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있지 않다고 판단될 때, 상기 명령들은 상기 서빙 로봇의 전방에 상기 경사로가 존재하는지 판단하도록 구현되며,
    상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않고, 상기 서빙 로봇이 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있지 않고, 상기 경사로가 존재한다고 판단될 때, 상기 명령들은 주의 단계로 판단하도록 구현되며,
    상기 서빙 로봇의 전방에 상기 장애물이 존재하지 않고, 상기 서빙 로봇이 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있지 않고, 상기 경사로가 존재하지않는다고 판단될 때, 상기 명령들은 안전 단계로 판단하도록 구현되며,
    상기 안전 단계로 판단시, 상기 명령들은 상기 플라이휠의 회전 속도를 유지하도록 상기 플라이휠 모터를 제어하도록 구현되며,
    상기 위험 단계로 판단시, 상기 명령들은 상기 플라이휠의 회전 속도를 최대 허용 속도로 설정하기 위해 상기 플라이휠 모터를 제어하도록 구현되며,
    상기 서빙 로봇이 상기 트레이에 상기 음료, 또는 상기 음식을 싣고 있는 상기 주의 단계로 판단시, 상기 명령들은 상기 음료, 또는 상기 음식의 무게를 확인하여 상기 음료, 또는 상기 음식의 무게에 따라 상기 플라이휠의 회전 속도를 증가시키도록 상기 플라이휠 모터를 제어하도로 구현되며,
    상기 서빙 로봇이 짐을 싣고 있지 않고, 상기 경사로가 존재하는 상기 주의 단계로 판단시, 상기 명령들은 상기 경사로의 경사도를 판단하며, 상기 경사도에 따라 상기 플라이휠의 회전 속도를 증가시키도록 상기 플라이휠 모터를 제어하도록 구현되는 서빙 로봇.
KR1020210105402A 2021-08-10 2021-08-10 음식 쏟아짐 방지를 위한 서빙 로봇 KR102391562B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210105402A KR102391562B1 (ko) 2021-08-10 2021-08-10 음식 쏟아짐 방지를 위한 서빙 로봇

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210105402A KR102391562B1 (ko) 2021-08-10 2021-08-10 음식 쏟아짐 방지를 위한 서빙 로봇

Publications (1)

Publication Number Publication Date
KR102391562B1 true KR102391562B1 (ko) 2022-04-29

Family

ID=81429024

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210105402A KR102391562B1 (ko) 2021-08-10 2021-08-10 음식 쏟아짐 방지를 위한 서빙 로봇

Country Status (1)

Country Link
KR (1) KR102391562B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102486429B1 (ko) * 2022-06-23 2023-01-10 주식회사 폴라리스쓰리디 냉온 음료 보관 선반 및 이의 동작 방법
KR20240032260A (ko) 2022-09-01 2024-03-12 중앙대학교 산학협력단 배달로봇의 액체움직임 감지시스템, 및 그 감지시스템을 갖는 액체배달로봇
KR102660601B1 (ko) 2024-01-09 2024-04-25 주식회사세오 모바일 로봇의 주행 안정화를 위한 제어 방법
KR102667505B1 (ko) 2023-01-16 2024-05-22 주식회사세오 자세 안정화 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101507368B1 (ko) * 2014-06-23 2015-03-31 연세대학교 산학협력단 쟁반 균형 유지 장치 및 이를 포함하는 서빙용 로봇
KR20200110143A (ko) * 2019-03-12 2020-09-23 주식회사 베어로보틱스코리아 음식 및/또는 음료의 서빙을 위한 로봇
KR102213320B1 (ko) * 2020-03-04 2021-02-05 김성윤 시식서비스용 자율주행 로봇
KR102242380B1 (ko) 2020-04-01 2021-04-20 (주) 피큐아이넷 음식점 서빙용 로봇 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101507368B1 (ko) * 2014-06-23 2015-03-31 연세대학교 산학협력단 쟁반 균형 유지 장치 및 이를 포함하는 서빙용 로봇
KR20200110143A (ko) * 2019-03-12 2020-09-23 주식회사 베어로보틱스코리아 음식 및/또는 음료의 서빙을 위한 로봇
KR102213320B1 (ko) * 2020-03-04 2021-02-05 김성윤 시식서비스용 자율주행 로봇
KR102242380B1 (ko) 2020-04-01 2021-04-20 (주) 피큐아이넷 음식점 서빙용 로봇 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102486429B1 (ko) * 2022-06-23 2023-01-10 주식회사 폴라리스쓰리디 냉온 음료 보관 선반 및 이의 동작 방법
KR20240032260A (ko) 2022-09-01 2024-03-12 중앙대학교 산학협력단 배달로봇의 액체움직임 감지시스템, 및 그 감지시스템을 갖는 액체배달로봇
KR102667505B1 (ko) 2023-01-16 2024-05-22 주식회사세오 자세 안정화 장치
KR102660601B1 (ko) 2024-01-09 2024-04-25 주식회사세오 모바일 로봇의 주행 안정화를 위한 제어 방법

Similar Documents

Publication Publication Date Title
KR102391562B1 (ko) 음식 쏟아짐 방지를 위한 서빙 로봇
JP4816058B2 (ja) 走行装置及びその制御方法
JP4760162B2 (ja) 移動台車の制御方法及び移動台車
JP2007219986A (ja) 倒立移動装置及びその制御方法
EP3508936A1 (en) Obstacle avoidance method and apparatus, movable object, and computer-readable storage medium
US20190344797A1 (en) Method and system for customizing a driving behavior of an autonomous vehicle
US20170189259A1 (en) Method for controlling a walking assistant apparatus
TW201821920A (zh) 遠端操作載具及其載具控制裝置與控制方法
JP2008087674A (ja) 走行装置及び平行二輪車の車両制御方法
JP5065206B2 (ja) 移動体、倒立型移動体、及びその制御方法
KR20230025604A (ko) 서빙 로봇
JPWO2022009848A5 (ko)
JP2010247804A (ja) 姿勢制御装置
JP5873879B2 (ja) 倒立振子型移動装置
JP5481513B2 (ja) エレベータ
JP6225869B2 (ja) 倒立二輪型移動体システム
JP2012126257A (ja) 倒立型移動体及びその制御方法
JP7452127B2 (ja) 自律移動装置および自律移動装置の制御方法
US20220035373A1 (en) Control device, control method, and computer program
KR102314399B1 (ko) 인공지능 기반 이동 로봇 및 이의 자세 제어 방법
JP6233265B2 (ja) 倒立二輪型移動体システム
TWI675771B (zh) 車道變換系統及車道變換方法
WO2015092913A1 (ja) 二輪移動体及びその制御方法
JP2019199105A (ja) 移動体の段差移動制御方法
JP2845035B2 (ja) 移動車両の運転制御装置

Legal Events

Date Code Title Description
GRNT Written decision to grant