KR102446104B1 - Self-driving stair climbing transport robot using deep learning and its operation method - Google Patents

Self-driving stair climbing transport robot using deep learning and its operation method Download PDF

Info

Publication number
KR102446104B1
KR102446104B1 KR1020200168474A KR20200168474A KR102446104B1 KR 102446104 B1 KR102446104 B1 KR 102446104B1 KR 1020200168474 A KR1020200168474 A KR 1020200168474A KR 20200168474 A KR20200168474 A KR 20200168474A KR 102446104 B1 KR102446104 B1 KR 102446104B1
Authority
KR
South Korea
Prior art keywords
robot
stairs
stair climbing
moving unit
controlling
Prior art date
Application number
KR1020200168474A
Other languages
Korean (ko)
Other versions
KR20220079064A (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 KR1020200168474A priority Critical patent/KR102446104B1/en
Publication of KR20220079064A publication Critical patent/KR20220079064A/en
Application granted granted Critical
Publication of KR102446104B1 publication Critical patent/KR102446104B1/en

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/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
    • B25J9/1697Vision controlled systems
    • 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/0008Balancing 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/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

딥러닝을 이용한 자율주행 계단 등반 운송 로봇 및 그 동작 방법이 개시된다. 일 실시예에 따른 계단 등반 로봇은 본체, 본체의 전면에 부착되어 영상 데이터를 수집하는 카메라 센서, 이동부, 이동부에 부착되어 이동부의 기울기 데이터를 수집하는 제1 자이로센서 및 프로세서를 포함하고, 프로세서는 영상 데이터를 미리 학습된 신경망에 입력하여 계단을 탐색하고, 탐색된 계단과 로봇 사이의 위치에 기초하여 결정되는 위치 이동 신호에 기초하여 로봇이 미리 정해진 위치로 이동하도록 이동부를 제어하고, 계단 등반 신호에 기초하여 로봇이 계단을 등반할 수 있도록 이동부를 제어하고, 기울기 데이터에 기초하여 로봇의 평지 도착 여부를 판단하고, 평지 도착 신호에 기초하여 로봇이 정지할 수 있도록 이동부를 제어한다.Disclosed are an autonomous stair climbing transport robot using deep learning and an operating method thereof. The stair climbing robot according to an embodiment includes a main body, a camera sensor attached to the front of the main body to collect image data, a moving unit, a first gyro sensor and a processor attached to the moving unit to collect tilt data of the moving unit, The processor searches the stairs by inputting the image data into the pre-trained neural network, and controls the moving unit to move the robot to a predetermined position based on the position movement signal determined based on the position between the searched stairs and the robot, Controls the moving unit so that the robot can climb the stairs based on the climbing signal, determines whether the robot arrives on a flat ground based on the inclination data, and controls the moving unit to stop the robot based on the flat land arrival signal.

Description

딥러닝을 이용한 자율주행 계단 등반 운송 로봇 및 그 동작 방법{SELF-DRIVING STAIR CLIMBING TRANSPORT ROBOT USING DEEP LEARNING AND ITS OPERATION METHOD}Self-driving stair climbing transport robot using deep learning and its operation method

아래 실시예들은 딥러닝을 이용한 자율주행 계단 등반 운송 로봇 및 그 동작 방법에 관한 것으로, 구체적으로는 딥러닝에 기반하여 다양한 형태의 계단을 인식하고 로봇이 목표층까지 올라가는 방법에 관한 것이다.The following embodiments relate to an autonomous driving stair climbing transport robot using deep learning and an operation method thereof, and more specifically, to a method for recognizing various types of stairs based on deep learning and for the robot to go up to a target floor.

‘비대면’이 트렌드를 넘어선 일상으로 접어들면서 이커머스(e-commerce) 시장의 성장과 함께 ‘택배’ 또한 빠르게 성장 중이다. 사람 대신 상품과 음식을 배달하는 서비스 로봇의 실전 투입이 앞당겨지면서 미국 워싱턴 DC에 있는 식품점 브로드 브랜치 마켓은 아예 매장을 폐쇄하고 로봇 배달과 픽업 주문만 운영하면서 스타십 테크놀로지의 배송 로봇으로 지역 고객들에게 배달을 하고 있다.As 'non-face-to-face' enters the daily life beyond the trend, 'courier service' is also growing rapidly along with the growth of the e-commerce market. As the actual deployment of service robots that deliver goods and food instead of people is accelerated, Broad Branch Market, a grocery store in Washington, DC, has closed its stores and only operates robot delivery and pick-up orders, while delivering to local customers with Starship Technology’s delivery robot. is doing

비대면 서비스의 시대에 맞게 다양한 로봇들이 활성화되고 있는 상황이지만 이들의 제일 큰 문제점은 평지 주행에만 적합하여 가파른 경사나, 방지턱, 건물의 실내·외 계단에서는 안정적인 주행이 어렵다는 것이다. 언덕이 많은 국내 지형 특성상 주택들이 경사진 지대에 밀집하게 들어서 있고 곳곳에 계단 지형이 많기 때문에 국내 운송 로봇의 상용화를 위해서는 이에 맞는 로봇을 개발할 필요성이 있다.Various robots are being activated in accordance with the era of non-face-to-face service, but their biggest problem is that they are only suitable for driving on flat ground, so it is difficult to stably run on steep slopes, bumps, and indoor/outdoor stairs of buildings. Due to the nature of the country's hilly terrain, houses are densely located on sloping areas and there are many stair terrains in various places.

실시예들은 딥러닝에 기반하여 다양한 형태의 계단을 인식하고 로봇이 목표층까지 올라가는 방법을 제공하고자 한다.Embodiments are to provide a method for recognizing various types of stairs based on deep learning and for a robot to go up to a target floor.

실시예들은 평지 뿐만 아니라 계단 및 평탄하지 않은 지형에서도 안정적인 주행이 가능한 로봇을 제공하고자 한다.Embodiments are intended to provide a robot capable of stable driving not only on flat ground, but also on stairs and uneven terrain.

실시예들은 로봇 전면부에 부착되어 있는 카메라의 영상을 실시간으로 웹서버에 송출하여 로봇주행과정을 제공하고자 한다.Embodiments are to provide a robot driving process by transmitting the image of the camera attached to the front part of the robot to the web server in real time.

실시예들은 로봇 상단에 위치한 물품 적재함은 항상 평행을 이루어 계단 등반 중에도 물품들을 안정적으로 운반하고자 한다.Embodiments are intended to stably transport the goods even while climbing stairs by making the article loading box located at the top of the robot always parallel.

본 발명의 기술적 과제는 이상에서 언급한 것들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제는 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problem of the present invention is not limited to those mentioned above, and another technical problem not mentioned will be clearly understood by those skilled in the art from the following description.

일 실시예에 따른 계단 등반 로봇의 동작 방법은 카메라 센서로부터 수신한 영상 데이터를 미리 학습된 신경망에 입력하여 계단을 탐색하는 단계; 상기 탐색된 계단과 상기 로봇 사이의 위치에 기초하여 결정되는 위치 이동 신호에 기초하여 상기 로봇이 미리 정해진 위치로 이동하도록 이동부를 제어하는 단계; 계단 등반 신호에 기초하여 상기 로봇이 상기 계단을 등반할 수 있도록 상기 이동부를 제어하는 단계; 제1 자이로센서로부터 수신한 기울기 데이터에 기초하여 상기 로봇의 평지 도착 여부를 판단하는 단계; 및 평지 도착 신호에 기초하여 상기 로봇이 정지할 수 있도록 상기 이동부를 제어하는 단계를 포함한다.A method of operating a stair climbing robot according to an embodiment includes: inputting image data received from a camera sensor into a pre-trained neural network to search for stairs; controlling the moving unit to move the robot to a predetermined position based on a position movement signal determined based on a position between the searched stairs and the robot; controlling the moving unit so that the robot can climb the stairs based on the stair climbing signal; determining whether the robot arrives on a flat ground based on the inclination data received from the first gyro sensor; and controlling the moving unit so that the robot can stop based on a flat land arrival signal.

상기 계단을 등반할 수 있도록 상기 이동부를 제어하는 단계는 제2 자이로센서로부터 수신한 상기 로봇에 부착된 물품 적재함의 기울기 데이터에 기초하여 상기 물품 적재함의 수평을 유지할 수 있도록 평형 유지 모터를 제어하는 단계를 포함할 수 있다.The step of controlling the moving unit so as to climb the stairs includes controlling the balance maintaining motor to maintain the level of the product loading box based on the inclination data of the product loading box attached to the robot received from the second gyro sensor. may include.

일 실시예에 따른 계단 등반 로봇의 동작 방법은 제1 거리 센서로부터 수신한 상기 로봇과 특정 피사체 사이의 거리 데이터를 이용하여 상기 로봇을 정렬할 수 있도록 상기 이동부를 제어하는 단계를 더 포함할 수 있다.The method of operating the stair climbing robot according to an embodiment may further include controlling the moving unit to align the robot using distance data between the robot and a specific subject received from a first distance sensor. .

상기 로봇을 정렬할 수 있도록 상기 이동부를 제어하는 단계는 상기 거리 데이터에 기초하여 상기 로봇과 상기 피사체가 이루는 각도를 계산하는 단계; 및 상기 각도가 미리 정해진 각도가 되도록 상기 이동부를 제어하는 단계를 포함할 수 있다.The step of controlling the moving unit to align the robot may include calculating an angle between the robot and the subject based on the distance data; and controlling the moving unit so that the angle becomes a predetermined angle.

상기 계단을 탐색하는 단계는 복수의 계단 탐색 신호들 각각에 기초하여 상기 계단을 탐색하는 단계를 포함하고, 상기 위치 이동 신호는 상기 계단 탐색 신호들 각각에 대응될 수 있다.The step of searching for the stairs may include searching for the stairs based on each of a plurality of step search signals, and the position movement signal may correspond to each of the step search signals.

일 실시예에 따른 계단 등반 로봇의 동작 방법은 제2 거리 센서를 이용하여 상기 로봇과 상기 로봇의 제1 방향에 위치한 피사체 및 제2 방향에 위치한 피사체 사이의 거리 데이터를 저장하는 단계를 더 포함하고, 상기 위치 이동 신호는 상기 로봇의 회전 정보 및 이동 거리 정보를 포함하고, 상기 로봇이 상기 미리 정해진 위치로 이동할 수 있도록 상기 이동부를 제어하는 단계는 상기 거리 데이터에 기초하여 상기 이동 거리 정보를 결정하는 단계를 포함할 수 있다.The method of operating the stair climbing robot according to an embodiment further comprises the step of storing distance data between the robot and the object located in the first direction and the object located in the second direction of the robot using a second distance sensor, , The position movement signal includes rotation information and movement distance information of the robot, and the step of controlling the movement unit so that the robot can move to the predetermined position is to determine the movement distance information based on the distance data may include steps.

상기 계단을 등반할 수 있도록 상기 이동부를 제어하는 단계는 제2 거리 센서를 이용하여 상기 로봇의 정지 여부를 판단하는 단계; 및 상기 로봇이 상기 계단을 등반 중에 정지했다는 판단에 기초하여, 상기 로봇에 추가 동력을 제공하도록 상기 이동부를 제어하는 단계를 포함할 수 있다.The step of controlling the moving unit so as to climb the stairs may include: determining whether the robot is stopped using a second distance sensor; And based on the determination that the robot stopped while climbing the stairs, it may include the step of controlling the moving unit to provide additional power to the robot.

일 실시예에 따른 계단 등반 로봇의 동작 방법은 웹서버로부터 목표 층수를 수신하는 단계; 상기 평지 도착 신호에 기초하여, 상기 로봇이 등반한 계단의 층 수를 계산하는 단계; 및 상기 등반한 계단의 층 수와 상기 목표 층수를 비교하여 상기 로봇의 추가 등반 여부를 결정하는 단계를 더 포함할 수 있다.The operation method of the stair climbing robot according to an embodiment comprises: receiving a target number of floors from a web server; calculating the number of floors of the stairs climbed by the robot based on the flat land arrival signal; and comparing the number of floors of the climbed stairs with the target number of floors to determine whether to further climb the robot.

일 실시예에 따른 계단 등반 로봇의 동작 방법은 상기 카메라 센서로부터 수신한 상기 영상 데이터를 실시간으로 웹서버에 전송하는 단계를 더 포함할 수 있다.The method of operating the stair climbing robot according to an embodiment may further include transmitting the image data received from the camera sensor to a web server in real time.

일 실시예에 따른 계단 등반 로봇은 본체; 상기 본체의 전면에 부착되어 영상 데이터를 수집하는 카메라 센서; 이동부; 상기 이동부에 부착되어 상기 이동부의 기울기 데이터를 수집하는 제1 자이로센서; 및 프로세서를 포함하고, 상기 프로세서는 상기 영상 데이터를 미리 학습된 신경망에 입력하여 계단을 탐색하고, 상기 탐색된 계단과 상기 로봇 사이의 위치에 기초하여 결정되는 위치 이동 신호에 기초하여 상기 로봇이 미리 정해진 위치로 이동하도록 이동부를 제어하고, 계단 등반 신호에 기초하여 상기 로봇이 상기 계단을 등반할 수 있도록 상기 이동부를 제어하고, 상기 기울기 데이터에 기초하여 상기 로봇의 평지 도착 여부를 판단하고, 평지 도착 신호에 기초하여 상기 로봇이 정지할 수 있도록 상기 이동부를 제어한다.Stair climbing robot according to an embodiment includes a main body; a camera sensor attached to the front of the main body to collect image data; moving part; a first gyro sensor attached to the moving unit to collect tilt data of the moving unit; and a processor, wherein the processor inputs the image data to a pre-trained neural network to search for stairs, and based on a position movement signal determined based on a position between the searched stairs and the robot, the robot is pre-trained. Control the moving unit to move to a predetermined position, control the moving unit so that the robot can climb the stairs based on a stair climbing signal, determine whether the robot arrives on a flat ground based on the inclination data, and arrive on a flat ground The moving part is controlled so that the robot can stop based on the signal.

일 실시예에 따른 계단 등반 로봇은 상기 본체에 부착된 물품 적재함; 및 상기 본체에 부착되어 상기 물품 적재함의 기울기 데이터를 수집하는 제2 자이로센서를 더 포함하고, 상기 프로세서는 상기 물품 적재함의 기울기 데이터에 기초하여 상기 물품 적재함의 수평을 유지할 수 있도록 평형 유지 모터를 제어할 수 있다.Stair climbing robot according to an embodiment includes an article loading box attached to the body; and a second gyro sensor attached to the main body to collect inclination data of the article loading box, wherein the processor controls the balance motor to maintain the horizontality of the article loading box based on the inclination data of the article loading box can do.

일 실시예에 따른 계단 등반 로봇은 상기 본체의 전면에 부착되어 상기 본체와 특정 피사체 사이의 거리 데이터를 수집하는 제1 거리 센서를 더 포함하고, 상기 프로세서는 상기 거리 데이터를 이용하여 상기 로봇을 정렬할 수 있도록 상기 이동부를 제어할 수 있다.The stair climbing robot according to an embodiment further comprises a first distance sensor attached to the front surface of the main body to collect distance data between the main body and a specific subject, and the processor aligns the robot using the distance data It is possible to control the moving unit to do this.

상기 프로세서는 상기 거리 데이터에 기초하여 상기 로봇과 상기 피사체가 이루는 각도를 계산하고, 상기 각도가 미리 정해진 각도가 되도록 상기 이동부를 제어할 수 있다.The processor may calculate an angle between the robot and the subject based on the distance data, and control the moving unit so that the angle becomes a predetermined angle.

상기 프로세서는 복수의 계단 탐색 신호들 각각에 기초하여 상기 계단을 탐색하고, 상기 위치 이동 신호는 상기 복수의 계단 탐색 신호들 각각에 대응될 수 있다.The processor may search for the stairs based on each of the plurality of stair search signals, and the position movement signal may correspond to each of the plurality of stair search signals.

일 실시예에 따른 계단 등반 로봇은 상기 본체의 양측에 부착되어 상기 본체의 양측과 특정 피사체 사이의 거리 데이터를 수집하는 제2 거리 센서를 더 포함하고, 상기 위치 이동 신호는 상기 로봇의 회전 정보 및 이동 거리 정보를 포함하고, 상기 프로세서는 상기 제2 거리 센서를 이용하여, 상기 로봇과 상기 로봇의 제1 방향에 위치한 피사체 및 제2 방향에 위치한 피사체 사이의 거리 데이터를 저장하고, 거리 데이터에 기초하여, 상기 이동 거리 정보를 결정할 수 있다.The stair climbing robot according to an embodiment further comprises a second distance sensor attached to both sides of the main body to collect distance data between both sides of the main body and a specific subject, and the position movement signal includes rotation information of the robot and including movement distance information, and the processor uses the second distance sensor to store distance data between the robot and the object located in the first direction and the object located in the second direction of the robot, and based on the distance data Thus, it is possible to determine the movement distance information.

일 실시예에 따른 계단 등반 로봇은 상기 본체의 양측에 부착되어 상기 본체의 양측과 특정 피사체 사이의 거리 데이터를 수집하는 제2 거리 센서를 더 포함하고, 상기 프로세서는 상기 제2 거리 센서를 이용하여 상기 로봇의 정지 여부를 판단하고, 상기 로봇이 상기 계단을 등반 중에 정지했다는 판단에 기초하여, 상기 로봇에 추가 동력을 제공하도록 상기 이동부를 제어할 수 있다.The stair climbing robot according to an embodiment further includes a second distance sensor attached to both sides of the main body to collect distance data between both sides of the main body and a specific subject, the processor using the second distance sensor It is determined whether the robot is stopped, and based on the determination that the robot has stopped while climbing the stairs, it is possible to control the moving unit to provide additional power to the robot.

상기 프로세서는 웹서버로부터 목표 층수를 수신하고, 상기 평지 도착 신호에 기초하여, 상기 로봇이 등반한 계단의 층 수를 계산하고, 상기 등반한 계단의 층 수와 상기 목표 층수를 비교하여 상기 로봇의 추가 등반 여부를 결정할 수 있다.The processor receives the target number of floors from the web server, calculates the number of floors of the stairs climbed by the robot based on the flat land arrival signal, and compares the number of floors of the climbed stairs with the target number of floors of the robot. You can decide whether or not to climb further.

상기 프로세서는 상기 카메라 센서로부터 수신한 상기 영상 데이터를 실시간으로 웹서버에 전송할 수 있다.The processor may transmit the image data received from the camera sensor to a web server in real time.

실시예들은 딥러닝에 기반하여 다양한 형태의 계단을 인식하고 로봇이 목표층까지 올라가는 방법을 제공할 수 있다.Embodiments may provide a method for recognizing various types of stairs based on deep learning and for a robot to climb to a target floor.

실시예들은 평지뿐만 아니라 계단 및 평탄하지 않은 지형에서도 안정적인 주행이 가능한 로봇을 제공할 수 있다.Embodiments may provide a robot capable of stable driving not only on flat ground but also on stairs and uneven terrain.

실시예들은 로봇 전면부에 부착되어 있는 카메라의 영상을 실시간으로 웹서버에 송출하여 로봇주행과정을 제공할 수 있다.Embodiments may provide a robot driving process by transmitting an image of a camera attached to the front of the robot to a web server in real time.

실시예들은 로봇 상단에 위치한 물품 적재함은 항상 평행을 이루어 계단 등반 중에도 물품들을 안정적으로 운반할 수 있다.In embodiments, the article loading box located at the top of the robot is always parallel, so that the articles can be stably transported even while climbing the stairs.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the description of the claims.

도 1은 일 실시예에 따른 계단 등반 로봇의 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 로커-보기 구조로 구현된 계단 등반 장치의 구체적인 구조를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 프로세서의 구체적인 구조를 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 계단 등반 로봇의 동작 방법을 설명하기 위한 순서도이다.
도 5는 일 실시예에 따른 계단을 탐색하고, 탐색된 계단 앞으로 이동하는 방법을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 계단 등반 로봇을 정렬하는 방법을 설명하기 위한 도면이다.
1 is a diagram illustrating a configuration of a stair climbing robot according to an embodiment.
FIG. 2 is a view for explaining a specific structure of a stair climbing device implemented in a locker-bogie structure according to an embodiment.
3 is a diagram for explaining a specific structure of a processor according to an embodiment.
4 is a flowchart for explaining a method of operating a stair climbing robot according to an embodiment.
5 is a view for explaining a method of searching for a staircase and moving in front of the searched staircase according to an embodiment.
6 is a view for explaining a method of aligning a stair climbing robot according to an embodiment.

본 명세서에서 개시되어 있는 특정한 구조적 또는 기능적 설명들은 단지 기술적 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 실시예들은 다양한 다른 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.Specific structural or functional descriptions disclosed in this specification are merely illustrative for the purpose of describing embodiments according to technical concepts, and the embodiments may be embodied in various other forms and are limited to the embodiments described herein. doesn't happen

제1 또는 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 이런 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 이해되어야 한다. 예를 들어 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.Terms such as first or second may be used to describe various elements, but these terms should be understood only for the purpose of distinguishing one element from another element. For example, a first component may be termed a second component, and similarly, a second component may also be termed a first component.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~간의에"와 "바로~간의에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.When a component is referred to as being “connected” or “connected” to another component, it may be directly connected or connected to the other component, but it is understood that other components may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle. Expressions describing the relationship between elements, for example, “between” and “between” or “neighboring to” and “directly adjacent to”, etc. should be interpreted similarly.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시 된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The singular expression includes the plural expression unless the context clearly dictates otherwise. In this specification, terms such as "comprise" or "have" are intended to designate that the specified feature, number, step, operation, component, part, or a combination thereof exists, and includes one or more other features or numbers, It should be understood that the possibility of the presence or addition of steps, operations, components, parts or combinations thereof is not precluded in advance.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 해당 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in a commonly used dictionary should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present specification. does not

실시예들은 퍼스널 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 텔레비전, 스마트 가전 기기, 지능형 자동차, 키오스크, 웨어러블 장치 등 다양한 형태의 제품으로 구현될 수 있다. 이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.The embodiments may be implemented in various types of products, such as personal computers, laptop computers, tablet computers, smart phones, televisions, smart home appliances, intelligent cars, kiosks, wearable devices, and the like. Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Like reference numerals in each figure indicate like elements.

도 1은 일 실시예에 따른 계단 등반 로봇의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of a stair climbing robot according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 계단 등반 로봇은 본체(100)와 본체(100)에 부착되는 복수의 센서들, 이동부(120), 물품 적재함(140), 통신부, 메모리 및 프로세서를 포함할 수 있다.Referring to FIG. 1 , the stair climbing robot according to an embodiment includes a main body 100 and a plurality of sensors attached to the main body 100 , a moving unit 120 , an article loading box 140 , a communication unit, a memory and a processor. may include

일 실시예에 따른 복수의 센서들은 카메라 센서(110), 자이로센서(130) 및 거리 센서(150-1, 150-2, 150-3, 150-4)를 포함할 수 있다. 그러나, 일 실시예에 따른 센서의 종류 및 개수는 도 1에 도시된 바에 국한될 필요는 없고, 다양한 유형의 센서들이 적용될 수 있다.The plurality of sensors according to an embodiment may include a camera sensor 110 , a gyro sensor 130 , and distance sensors 150 - 1 , 150 - 2 , 150 - 3 and 150 - 4 . However, the type and number of sensors according to an embodiment are not necessarily limited to those shown in FIG. 1 , and various types of sensors may be applied.

카메라 센서(110)는 본체(100)의 전면에 부착되어 영상 데이터를 수집하는 센서로, 예를 들어 RGB 카메라일 수 있다. 이하에서, 전면, 측면과 같이 방향을 나타내는 용어는 계단 등반 로봇의 진행 방향을 기준으로 삼는다. 즉, 계단 등반 로봇이 진행하는 방향이 전면, 진행하는 방향의 오른쪽, 왼쪽이 측면을 의미한다.The camera sensor 110 is a sensor that is attached to the front of the main body 100 to collect image data, and may be, for example, an RGB camera. Hereinafter, the terms indicating the direction, such as the front and the side, are based on the moving direction of the stair climbing robot. That is, the direction in which the stair climbing robot proceeds is the front, and the right and left sides of the moving direction are the sides.

자이로센서(130)는 물체의 회전속도인 각속도의 값을 측정할 수 있다. 도면에는 계단 등반 로봇이 하나의 자이로센서(130)만을 포함하는 것으로 도시되었으나, 계단 등반 로봇은 복수의 자이로센서를 포함할 수 있다. 일 례로, 계단 등반 로봇은 이동부(120)에 부착되어 이동부의 기울기 데이터를 수집하는 제1 자이로센서(예를 들어, 자이로센서(130)) 및 본체(100)에 부착되어 물품 적재함(140)의 기울기 데이터를 수집하는 제2 자이로센서를 포함할 수 있다.The gyro sensor 130 may measure a value of an angular velocity that is a rotational speed of an object. Although the drawing shows that the stair climbing robot includes only one gyro sensor 130, the stair climbing robot may include a plurality of gyro sensors. As an example, the stair climbing robot is attached to the first gyro sensor (eg, the gyro sensor 130) and the main body 100 that are attached to the moving unit 120 to collect the tilt data of the moving unit and are attached to the article loading box (140). It may include a second gyro sensor that collects the tilt data of the.

거리 센서(150-1, 150-2, 150-3, 150-4)는 센서와 물체 사이에 거리를 측정하는 센서로, 예를 들어, 측정하려는 물체로 적외선을 송신하고 물체에 반사되어 돌아오는 시간을 계산하고 이를 통해 거리를 계산하는 적외선 거리 센서일 수 있다. 거리 센서(150-1, 150-2, 150-3, 150-4)는 부착된 위치에 따라 제1 거리 센서(150-3, 150-4) 및 제2 거리 센서(150-1, 150-2)로 구분될 수 있다. 제1 거리 센서(150-3, 150-4)는 본체(100)의 전면에 부착되어 본체(100)와 특정 피사체 사이의 거리 데이터를 수집하는 전방 거리 센서일 수 있다. 제2 거리 센서(150-1. 150-2)는 본체(100)의 양측에 부착되어 본체(100)의 양측과 특정 피사체 사이의 거리 데이터를 수집하는 측방 거리 센서일 수 있다.The distance sensors 150-1, 150-2, 150-3, and 150-4 are sensors that measure the distance between the sensor and the object. It could be an infrared distance sensor that calculates time and calculates distance through it. The distance sensors 150-1, 150-2, 150-3, and 150-4 are the first distance sensors 150-3 and 150-4 and the second distance sensors 150-1 and 150- according to the attached positions. 2) can be distinguished. The first distance sensors 150 - 3 and 150 - 4 may be front distance sensors attached to the front surface of the main body 100 to collect distance data between the main body 100 and a specific subject. The second distance sensors 150 - 1 and 150 - 2 may be lateral distance sensors attached to both sides of the main body 100 to collect distance data between both sides of the main body 100 and a specific subject.

일 실시예에 따른 이동부(120)는 구동부(121), 프레임(122) 및 복수의 바퀴들(123)을 포함할 수 있다. 이동부(120)는 계단을 등반할 수 있도록 로커-보기(rocker-bogie)구조로 구현될 수 있다. 로커-보기 구조로 구현된 계단 등반 장치의 구체적인 구조는 아래에서 도 2를 참조하여 상세히 설명한다.The moving unit 120 according to an embodiment may include a driving unit 121 , a frame 122 , and a plurality of wheels 123 . The moving unit 120 may be implemented in a rocker-bogie structure to climb stairs. The specific structure of the stair climbing device implemented in the rocker-bogie structure will be described in detail with reference to FIG. 2 below.

구동부(121)는 프로세서의 제어에 따라 로봇의 동력 에너지를 생성할 수 있다. 일 실시예에 따른 구동부(121)는 제공하는 동력 에너지의 형태에 따라 제1 구동부 및 제2 구동부로 구분될 수 있다. 제1 구동부는 복수의 바퀴들(123)에 회전 운동 에너지를 전달하는 다이나믹셀 모터일 수 있다. 제2 구동부는 직접적인 직선형 구동을 얻기 위해 회전형 구조를 직선형 펼친 구조로서 전기에너지를 직선운동에너지로 변환하는 리니어 모터일 수 있다. 아래에서 상세히 설명하겠으나, 제2 모터는 세 바퀴 모두가 계단 벽에 접촉하는 등 바퀴의 추력이 부족하여 계단 등반이 어려울 경우 이를 극복하는 역할을 할 수 있다.The driving unit 121 may generate power energy of the robot under the control of the processor. The driving unit 121 according to an embodiment may be divided into a first driving unit and a second driving unit according to the type of power energy to be provided. The first driving unit may be a dynamixel motor that transmits rotational kinetic energy to the plurality of wheels 123 . The second driving unit may be a linear motor that converts electric energy into linear kinetic energy as a linearly unfolded rotational structure in order to obtain direct linear driving. As will be described in detail below, the second motor may serve to overcome the difficulty in climbing stairs due to insufficient thrust of the wheels, such as when all three wheels contact the stair wall.

물품 적재함(140)은 본체에 부착되고, 물체를 수납할 수 있는 바구니로, 물품 적재함(140)에는 물품 적재함(140)의 수평을 유지하기 위한 평형 유지 모터가 설치될 수 있다. 계단 등반 로봇은 물품 적재함(140)의 제2 자이로센서의 기울기 데이터에 기초하여 경사진 계단에서도 물품 전재함(140)이 수평을 유지할 수 있도록 평형 유지 모터를 제어할 수 있다.The article loading box 140 is attached to the main body and is a basket capable of accommodating an object. The stair climbing robot may control the balance motor to keep the article loading box 140 level even on the inclined stairs based on the inclination data of the second gyro sensor of the article loading box 140 .

통신부는 센서들, 이동부, 프로세서 및 메모리와 연결되어 데이터를 송수신한다. 통신부는 외부의 다른 장치와 연결되어 데이터를 송수신할 수 있다. 이하에서 "A"를 송수신한다라는 표현은 "A를 나타내는 정보(information) 또는 데이터"를 송수신하는 것을 나타낼 수 있다.The communication unit is connected to the sensors, the moving unit, the processor, and the memory to transmit and receive data. The communication unit may be connected to another external device to transmit/receive data. Hereinafter, the expression “transmitting and receiving “A” may indicate transmission and reception of “information or data representing A”.

통신부는 계단 등반 로봇 내의 회로망(circuitry)으로 구현될 수 있다. 예를 들어, 통신부는 내부 버스(internal bus) 및 외부 버스(external bus)를 포함할 수 있다. 다른 예로, 통신부는 계단 등반 로봇과 외부의 장치를 연결하는 요소일 수 있다. 통신부는 인터페이스(interface)일 수 있다. 통신부는 외부의 장치로부터 데이터를 수신하여, 프로세서 및 메모리에 데이터를 전송할 수 있다.The communication unit may be implemented as circuitry in the stair climbing robot. For example, the communication unit may include an internal bus and an external bus. As another example, the communication unit may be an element connecting the stair climbing robot and an external device. The communication unit may be an interface. The communication unit may receive data from an external device and transmit the data to the processor and the memory.

프로세서는 통신부가 수신한 데이터 및 메모리에 저장된 데이터를 처리한다. "프로세서"는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다. 예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.The processor processes the data received by the communication unit and the data stored in the memory. A “processor” may be a data processing device implemented in hardware having circuitry having a physical structure for performing desired operations. For example, desired operations may include code or instructions included in a program. For example, a data processing device implemented as hardware includes a microprocessor, a central processing unit, a processor core, a multi-core processor, and a multiprocessor. , an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).

프로세서는 메모리(예를 들어, 메모리)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서에 의해 유발된 인스트럭션들을 실행한다.A processor executes computer readable code (eg, software) stored in memory (eg, memory) and instructions issued by the processor.

메모리는 통신부가 수신한 데이터 및 프로세서가 처리한 데이터를 저장한다. 예를 들어, 메모리는 프로그램을 저장할 수 있다. 저장되는 프로그램은 계단 등반 로봇이 자율 주행할 수 있도록 코딩되어 프로세서에 의해 실행 가능한 신텍스(syntax)들의 집합일 수 있다. 일 실시예에 따른 프로세서의 구체적인 구조 및 동작은 아래에서 도 3을 참조하여 상세히 설명한다.The memory stores data received by the communication unit and data processed by the processor. For example, the memory may store a program. The stored program may be a set of syntaxes that are coded so that the stair climbing robot can autonomously drive and can be executed by the processor. A detailed structure and operation of the processor according to an embodiment will be described in detail with reference to FIG. 3 below.

일 측면에 따르면, 메모리는 하나 이상의 휘발성 메모리, 비휘발성 메모리 및 RAM(Random Access Memory), 플래시 메모리, 하드 디스크 드라이브 및 광학 디스크 드라이브를 포함할 수 있다.According to one aspect, memory may include one or more of volatile memory, non-volatile memory and random access memory (RAM), flash memory, hard disk drives, and optical disk drives.

메모리는 계단 등반 로봇을 동작 시키는 명령어 세트(예를 들어, 소프트웨어)를 저장한다. 계단 등반 로봇을 동작 시키는 명령어 세트는 프로세서에 의해 실행된다.The memory stores a set of instructions (eg, software) for operating the stair climbing robot. The instruction set that operates the stair climbing robot is executed by the processor.

도 2는 일 실시예에 따른 로커-보기 구조로 구현된 계단 등반 장치의 구체적인 구조를 설명하기 위한 도면이다.FIG. 2 is a view for explaining a specific structure of a stair climbing device implemented in a locker-bogie structure according to an embodiment.

도 2를 참조하면, 일 실시예에 따른 이동부(200)는 로커-보기 구조로 구현될 수 있다. 일 실시예에 따른 계단 등반 로봇은 이동부(200)가 로커-보기 구조로 구현되어 지면의 모양에 따라 유동적으로 적응하기 때문에 항상 6개의 바퀴가 지면에 접촉한 상태로 이동할 수 있다.Referring to FIG. 2 , the moving unit 200 according to an embodiment may be implemented in a locker-bogie structure. The stair climbing robot according to an embodiment can always move with six wheels in contact with the ground because the moving part 200 is implemented in a rocker-bogie structure and flexibly adapts according to the shape of the ground.

일 실시예에 따른 이동부(200)는 전륜(210), 후륜(2100), 전방 프레임(230), 후방 프레임(240) 및 연결 프레임(250)을 포함하되, 전륜(210)은 제 1 서브 전륜(211)과 제 2 서브 전륜(212)을 포함할 수 있다. 또한, 제 1 서브 전륜(211)에는 상부 방향으로 연장되는 제 1 서브 전방 프레임(231)이 연결되고, 제 2 서브 전륜(212)에는 상부 방향으로 연장되는 제 2 서브 전방 프레임(232)이 연결되며, 제 1 서브 전방 프레임(231)과 제 2 서브 전방 프레임(232)은 서브 연결 프레임(233)으로 연결될 수 있다.The moving unit 200 according to an embodiment includes a front wheel 210 , a rear wheel 2100 , a front frame 230 , a rear frame 240 , and a connection frame 250 , but the front wheel 210 is a first sub It may include a front wheel 211 and a second sub front wheel 212 . In addition, a first sub front frame 231 extending in an upward direction is connected to the first sub front wheel 211 , and a second sub front frame 232 extending in an upward direction is connected to the second sub front wheel 212 . The first sub front frame 231 and the second sub front frame 232 may be connected by a sub connection frame 233 .

전방 프레임(230)은 서브 연결 프레임(233)과 연결되며, 이때, 서브 연결 프레임(233)은 전방 프레임(230)에 대해 회전 가능하도록 힌지 연결될 수 있다. 후방 프레임(240)의 길이는 전방 프레임(230)의 길이와 제 1 서브 전방 프레임(231)의 길이의 합, 또는 전방 프레임(230)의 길이와 제 2 서브 전방 프레임(232)의 길이의 합과 동일하게 구현될 수 있다.The front frame 230 is connected to the sub-connection frame 233 , and in this case, the sub-connection frame 233 may be hinge-connected to be rotatable with respect to the front frame 230 . The length of the rear frame 240 is the sum of the length of the front frame 230 and the length of the first sub front frame 231 , or the sum of the length of the front frame 230 and the length of the second sub front frame 232 . can be implemented in the same way as

제 1 서브 전륜(211), 제 2 서브 전륜(212) 및 후륜(2100) 각각은 하나 이상의 바퀴를 포함할 수 있다.Each of the first sub front wheel 211 , the second sub front wheel 212 , and the rear wheel 2100 may include one or more wheels.

도 3은 일 실시예에 따른 프로세서의 구체적인 구조를 설명하기 위한 도면이다.3 is a diagram for explaining a specific structure of a processor according to an embodiment.

도 3을 참조하면, 일 실시예에 따른 프로세서는 제1 모듈(310), 제2 모듈(320) 및 제3 모듈(330)로 구성될 수 있다. 다만, 도 3의 실시예에서 프로세서의 각각의 구성요소들은 기능 및 논리적으로 분리될 수 있음을 나타나기 위해 별도로 도면에 표시한 것이며, 물리적으로 반드시 별도의 구성요소이거나 별도의 코드로 구현되는 것을 의미하는 것은 아니다.Referring to FIG. 3 , a processor according to an embodiment may include a first module 310 , a second module 320 , and a third module 330 . However, in the embodiment of FIG. 3, each component of the processor is separately indicated in the drawing to indicate that it can be separated functionally and logically, which means that it is necessarily a separate component physically or is implemented as a separate code. it is not

일 실시예에 따른 제1 모듈(310)은 로봇의 동작 시퀀스를 위한 ROS 로봇 운영체제 기반의 소프트웨어를 내장할 수 있고, 이에 따라 계단 등반 로봇의 동작을 제어할 수 있다. 예를 들어, 제1 모듈(310)은 Jetson nano 모듈일 수 있다. 로봇 운영체제 ROS는 로봇 응용 프로그램을 개발할 때 필요한 하드웨어 추상화, 하위 디바이스 제어, 일반적으로 사용되는 기능의 구현, 프로세스간의 메시지 패싱, 패키지 관리, 개발환경에 필요한 라이브러리와 다양한 개발 및 디버깅 도구를 제공할 수 있다. ROS는 로봇 응용 소프트웨어 개발을 지원을 위한 소프트웨어 플랫폼이면서 이기종의 하드웨어에서 사용 가능한 운영 체제와 같은 기능을 갖추고 있다. 제1 모듈(310)(예를 들어, Jetson nano)은 ROS를 이용하여 제2 모듈(320)(예를 들어, OpenCM 9.04) 및 제3 모듈(330)(예를 들어, Arduino DUE) 간의 이기종 하드웨어에 통신을 지원하고 입력 받은 센서 및 데이터들을 정렬하여 로봇의 이동을 제어하도록 시스템을 구축할 수 있다. 또한, 1 모듈(310)은 메시지 패싱으로 로봇 제어를 위한 웹서버를 ROS Web Server(3)로 제작하여 컴퓨터 및 스마트폰을 통한 제어가 가능할 수 있다.The first module 310 according to an embodiment may embed ROS robot operating system-based software for the operation sequence of the robot, and thus may control the operation of the stair climbing robot. For example, the first module 310 may be a Jetson nano module. Robot operating system ROS can provide hardware abstraction, sub-device control, implementation of commonly used functions, message passing between processes, package management, libraries and various development and debugging tools required for developing robot applications. . ROS is a software platform for supporting robot application software development and has the same functions as an operating system that can be used on heterogeneous hardware. The first module 310 (eg, Jetson nano) is heterogeneous between the second module 320 (eg, OpenCM 9.04) and the third module 330 (eg, Arduino DUE) using ROS. A system can be built to support communication in hardware and control the movement of the robot by aligning the received sensors and data. In addition, one module 310 may make a web server for robot control by message passing as the ROS Web Server (3), so that it can be controlled through a computer and a smart phone.

제1 모듈(310)은 기 학습된 계단 인식 인공 신경망을 포함할 수 있다. 여기서, 인공 신경망을 포함하는 것은 학습된 인공신경망의 가중치(weight)를 포함하는 것을 의미할 수 있다. The first module 310 may include a pre-learned step recognition artificial neural network. Here, including the artificial neural network may mean including the weight of the learned artificial neural network.

인공 신경망은 목적하는 작업에 대한 학습을 수행하고, 추론 모델을 구축할 수 있다. 또한, 인공 신경망은 구축된 추론 모델을 바탕으로 외부 입력 값에 대한 추론 결과를 출력할 수 있다.The artificial neural network can learn about a target task and build an inference model. Also, the artificial neural network may output an inference result for an external input value based on the constructed inference model.

인공 신경망은 입력층(Input Layer), 출력층(Output Layer), 그리고 선택적으로 하나 이상의 은닉층(Hidden Layer)를 포함할 수 있다. 각 층은 하나 이상의 뉴런을 포함하고, 인공 신경망은 뉴런과 뉴런을 연결하는 시냅스를 포함할 수 있다. 인공 신경망에서 각 뉴런은 시냅스를 통해 입력되는 입력 신호들, 가중치, 편향에 대한 활성 함수의 함숫값을 출력할 수 있다.The artificial neural network may include an input layer, an output layer, and optionally one or more hidden layers. Each layer includes one or more neurons, and the artificial neural network may include neurons and synapses connecting neurons. In the artificial neural network, each neuron may output a function value of an activation function for input signals, weights, and biases input through synapses.

모델 파라미터는 학습을 통해 결정되는 파라미터를 의미하며, 시냅스 연결의 가중치와 뉴런의 편향 등이 포함될 수 있다. 그리고, 하이퍼 파라미터는 머신 러닝 알고리즘에서 학습 전에 설정되어야 하는 파라미터를 의미하며, 학습률(Learning Rate), 반복 횟수, 미니 배치 크기, 초기화 함수 등이 포함될 수 있다.The model parameter means a parameter determined through learning, and may include a weight of a synaptic connection and a bias of a neuron. In addition, the hyperparameter refers to a parameter that must be set before learning in a machine learning algorithm, and may include a learning rate, the number of iterations, a mini-batch size, an initialization function, and the like.

인공 신경망의 학습의 목적은 손실 함수를 최소화하는 모델 파라미터를 결정하는 것으로 볼 수 있다. 손실 함수는 인공 신경망의 학습 과정에서 최적의 모델 파라미터를 결정하기 위한 지표로 이용될 수 있다.The purpose of learning the artificial neural network can be seen as determining the model parameters that minimize the loss function. The loss function may be used as an index for determining optimal model parameters in the learning process of the artificial neural network.

일 실시예에 따른 제2 모듈(320)은 이동부 제어를 수행할 수 있다. 제2 모듈(320)은 제1 모듈(310)로부터 제어 신호를 수신하여, 이동부에 신호를 송신하여 로봇의 움직임을 제어할 수 있다. 제2 모듈(320)과 이동부는 UART 방식으로 통신하며 이를 기반으로 제어 신호를 전달할 수 있다. 예를 들어, 제2 모듈(320)은 OpenCM 9.04 모듈일 수 있다.The second module 320 according to an embodiment may control the moving unit. The second module 320 may receive a control signal from the first module 310 and transmit a signal to the moving unit to control the movement of the robot. The second module 320 and the mobile unit communicate with the UART method and may transmit a control signal based thereon. For example, the second module 320 may be an OpenCM 9.04 module.

일 실시예에 따른 제3 모듈(330)은 복수의 센서들을 제어할 수 있다. 제3 모듈(330)은 거리 센서 및 자이로 센서로부터 센서 데이터를 획득하여, 제1 모듈(310)에 전달할 수 있다. 예를 들어, 제3 모듈(330)은 Arduino DUE 모듈일 수 있다.The third module 330 according to an embodiment may control a plurality of sensors. The third module 330 may obtain sensor data from the distance sensor and the gyro sensor and transmit it to the first module 310 . For example, the third module 330 may be an Arduino DUE module.

아래에서, 도 4 내지 도 6을 참조하여 계단 등반 로봇의 구체적인 동작 방법을 설명한다.Hereinafter, a detailed operation method of the stair climbing robot will be described with reference to FIGS. 4 to 6 .

도 4는 일 실시예에 따른 계단 등반 로봇의 동작 방법을 설명하기 위한 순서도이다.4 is a flowchart for explaining a method of operating a stair climbing robot according to an embodiment.

도 4를 참조하면, 일 실시예에 따른 단계들(410 내지 450)은 도 1 내지 도 3을 참조하여 전술한 계단 등반 로봇에 의해 수행될 수 있다. 보다 구체적으로, 계단 등반 로봇의 프로세서에 의해 수행될 수 있다. 다만, 도 4의 동작은 도시된 순서 및 방식으로 수행될 수 있지만, 도 4에 도시된 실시예의 사상 및 범위를 벗어나지 않으면서 일부 동작의 순서가 변경되거나 일부 동작이 생략될 수 있다. 도 4에 도시된 다수의 동작은 병렬로 또는 동시에 수행될 수 있다.Referring to FIG. 4 , steps 410 to 450 according to an embodiment may be performed by the stair climbing robot described above with reference to FIGS. 1 to 3 . More specifically, it may be performed by the processor of the stair climbing robot. However, the operations of FIG. 4 may be performed in the illustrated order and manner, but the order of some operations may be changed or some operations may be omitted without departing from the spirit and scope of the embodiment illustrated in FIG. 4 . Many of the operations shown in FIG. 4 may be performed in parallel or concurrently.

단계(410)에서, 계단 등반 로봇은 카메라 센서로부터 수신한 영상 데이터를 미리 학습된 신경망에 입력하여 계단을 탐색한다. 계단 등반 로봇에는 다양한 계단을 인식할 수 있도록 미리 학습된 인공 신경망이 탑재될 수 있다. 예를 들어, 카메라를 통한 계단 인식은 YOLOv4 딥러닝 시스템에 의해 수행될 수 있다.In step 410, the stair climbing robot searches for the stairs by inputting the image data received from the camera sensor into the pre-trained neural network. The stair climbing robot may be equipped with a pre-trained artificial neural network to recognize various stairs. For example, step recognition through a camera can be performed by the YOLOv4 deep learning system.

단계(420)에서, 계단 등반 로봇은 탐색된 계단과 로봇 사이의 위치에 기초하여 결정되는 위치 이동 신호에 기초하여 로봇이 미리 정해진 위치로 이동하도록 이동부를 제어한다. 위치 이동 신호는 계단 등반 로봇을 탐색된 계단 앞으로 이동시키는 신호를 의미할 수 있다.In step 420, the stair climbing robot controls the moving unit to move the robot to a predetermined position based on a position movement signal determined based on the position between the searched stairs and the robot. The position movement signal may mean a signal for moving the stair climbing robot in front of the searched stair.

단계(430)에서, 계단 등반 로봇은 계단 등반 신호에 기초하여 계단 등반 로봇이 계단을 등반할 수 있도록 이동부를 제어한다. 계단 등반 로봇은 물품 적재함의 제2 자이로센서로부터 수신한 기울기 데이터에 기초하여 경사진 계단에서도 물품 적재함이 수평을 유지할 수 있도록 평형 유지 모터를 제어할 수 있다. 보다 구체적으로, 제2 자이로센서는 제2 모듈에 탑재될 수 있고, 계단 등반 로봇은 제2 자이로센서가 수집한 센서 데이터 중 x축의 각도와 관련된 데이터에 기초하여 물품 적재함이 수평을 유지할 수 있도록 평형 유지 모터를 제어할 수 있다.In step 430, the stair climbing robot controls the moving unit so that the stair climbing robot can climb the stairs based on the stair climbing signal. The stair climbing robot may control the balance motor to maintain the level of the article stacker even on the inclined stairs based on the inclination data received from the second gyro sensor of the article stacker. More specifically, the second gyro sensor may be mounted on the second module, and the stair climbing robot is balanced so that the loading box can be maintained horizontally based on the data related to the angle of the x-axis among the sensor data collected by the second gyro sensor. The holding motor can be controlled.

계단 등반 로봇은 제2 거리 센서를 이용하여 로봇이 계단을 등반 중에 정지했는지 여부를 판단할 수 있다. 계단 등반 로봇이 계단 등반 중 바퀴가 계단 벽에 닿는 등의 이유로 로봇이 경사면에 의하여 추력을 받지 못하는 케이스가 발생할 수 있다. 이때, 계단 등반 로봇은 로봇이 계단을 등반 중에 정지했다는 판단에 기초하여, 로봇에 추가 동력을 제공하도록 이동부를 제어할 수 있다. 보다 구체적으로, 해당 케이스 발생 시, 계단 등반 로봇은 프레임의 로커에 결합된 제2 구동부(예를 들어, 리니어 모터)를 작동시켜 뒤쪽 프레임의 길이를 줄임으로써 추력을 증가시킬 수 있다. 예를 들어, 계단 등반 로봇은 뒤쪽 프레임의 길이를 줄일 경우 중간 바퀴와 끝바퀴가 닿는 문제 발생으로 다리 앞쪽 프레임을 수정하여 체결 위치를 좀 더 앞으로 수정하여 중간바퀴와 마지막 바퀴 사이의 간격을 증가시키고, 또한 모터의 출력을 높여 계단 등반하는 힘을 증가시킬 수 있다.The stair climbing robot may use the second distance sensor to determine whether the robot has stopped while climbing the stairs. When a stair climbing robot is climbing a stair, there may be a case in which the robot does not receive thrust due to the slope due to the reason that the wheel touches the stair wall. In this case, the stair climbing robot may control the moving unit to provide additional power to the robot based on the determination that the robot has stopped while climbing the stairs. More specifically, when the corresponding case occurs, the stair climbing robot may increase the thrust by reducing the length of the rear frame by operating the second driving unit (eg, a linear motor) coupled to the rocker of the frame. For example, when the stair climbing robot reduces the length of the rear frame, the middle wheel and the end wheel come into contact with each other. , it is also possible to increase the power of the motor to increase the stair climbing force.

단계(440)에서, 계단 등반 로봇은 제1 자이로센서로부터 수신한 기울기 데이터에 기초하여 로봇의 평지 도착 여부를 판단한다. 제1 자이로센서는 계단 등반 로봇은 이동부에 부착되어 이동부의 기울기 데이터를 수집할 수 있다. 제1 자이로센서는 평지와 계단을 구분하는 기울기 데이터를 수집하는 바, 바닥과 평행하게 위치할 수 있도록 이동부의 중간점 부근에 부착될 수 있다.In step 440, the stair climbing robot determines whether the robot arrives on a flat surface based on the inclination data received from the first gyro sensor. The first gyro sensor may be attached to the moving part of the stair climbing robot to collect tilt data of the moving part. The first gyro sensor collects inclination data that distinguishes the stairs from the flat ground, and may be attached near the midpoint of the moving part so as to be positioned parallel to the floor.

단계(450)에서, 계단 등반 로봇은 평지 도착 신호에 기초하여 로봇이 정지할 수 있도록 이동부를 제어한다. 여기서 평지는, 계단과 계단 사이에 평지로 이루어진 공간인 계단참을 포함할 수 있다. 계단 등반 로봇이 평지에 도착한 경우, 다음 계단을 더 올라갈지 여부를 결정할 수 있다. 보다 구체적으로, 계단 등반 로봇은 웹서버로부터 목표 층수를 수신할 수 있고, 목표 층수에 도달할 때까지 계단을 등반할 수 있다. 이를 위해, 계단 등반 로봇은 평지 도착 신호에 기초하여, 현재까지 등반한 계단의 층 수를 계산할 수 있다. 계단 등반 로봇은 등반한 계단의 층 수와 목표 층수를 비교하여 추가 등반 여부를 결정할 수 있다.In step 450 , the stair climbing robot controls the moving unit so that the robot can stop based on the flat land arrival signal. Here, the flat land may include a landing that is a space made of flat land between the stairs and the stairs. When the stair climbing robot arrives on a flat surface, it can decide whether or not to climb the next stair further. More specifically, the stair climbing robot may receive the target number of floors from the web server, and may climb the stairs until it reaches the target number of floors. To this end, the stair climbing robot may calculate the number of floors of the stairs that have been climbed so far, based on the arrival signal on the flat ground. The stair climbing robot can determine whether to climb further by comparing the number of floors of the climbed stairs with the target number of floors.

웹서버는 로봇 컨트롤 패널 제공(예를 들어, 목표 층 입력을 위한 컨트롤 패널), 카메라 영상 실시간 확인 등의 기능을 제공하여 비대면으로 로봇을 작동시킬 수 있다. 또한, 웹서버는 동일한 와이파이를 공유해야 서버에 접속할 수 있어 강인한 보안 기능을 제공한다.The web server can operate the robot non-face-to-face by providing functions such as providing a robot control panel (for example, a control panel for input of a target floor) and real-time confirmation of camera images. In addition, the web server provides a strong security function because it can access the server only if it shares the same Wi-Fi.

추가 등반이 필요한 경우, 계단 등반 로봇은 계단참에 일단 정지한 후, 다음 계단을 탐색할 수 있다. 다만, 로봇 혹은 계단의 구조적 결함으로 로봇이 계단참에서 정방향으로 정지되지 않을 경우 정렬을 선행적으로 수행할 수 있다. 로봇을 정렬하는 구체적인 방법은 아래에서 도 6을 참조하여 설명한다. 추가 등반이 필요한 계단 등반 로봇은 다음 계단을 탐색하고, 탐색된 다음 계단 앞으로 이동할 수 있다. 다음 계단을 탐색하고, 탐색된 다음 계단 앞으로 이동하는 구체적인 방법은 아래에서 도 5를 참조하여 설명한다.If additional climbing is required, the stair climbing robot can navigate to the next stair after stopping once at the landing. However, if the robot does not stop in the forward direction at the landing due to a structural defect in the robot or stairs, the alignment can be performed in advance. A specific method of aligning the robot will be described with reference to FIG. 6 below. A stair climbing robot that requires additional climbing can navigate to the next stair and move forward after it has been navigated. A specific method of searching for the next stair and moving in front of the found next stair will be described below with reference to FIG. 5 .

도 5는 일 실시예에 따른 계단을 탐색하고, 탐색된 계단 앞으로 이동하는 방법을 설명하기 위한 도면이다.5 is a view for explaining a method of searching for a staircase and moving in front of the searched staircase according to an embodiment.

도 5를 참조하면, 일 실시예에 따른 계단참에 도착한 계단 등반 로봇은 계단참에 일단 정지한 후, 다음 계단을 탐색할 수 있다.Referring to FIG. 5 , the stair climbing robot arriving at the landing according to an exemplary embodiment may search for the next stair after stopping once at the landing.

도면(510)을 참조하면, 계단 등반 로봇은 제2 거리 센서를 이용하여 로봇과 로봇의 제1 방향에 위치한 피사체 및 제2 방향에 위치한 피사체 사이의 거리 데이터를 저장할 수 있다. 예를 들어, 계단 등반 로봇은 본체의 양측에 부착된 제2 거리 센서(예를 들어, 측방 거리 센서)를 이용하여 로봇 기준 좌, 우측 벽면과 로봇 사이의 거리를 측정하고, 그 중 작은 값만 저장할 수 있다.Referring to the drawing 510 , the stair climbing robot may store distance data between the robot and the object located in the first direction and the object located in the second direction of the robot by using the second distance sensor. For example, the stair climbing robot measures the distance between the robot reference left and right walls and the robot using the second distance sensors (eg, lateral distance sensors) attached to both sides of the main body, and stores only a small value among them. can

또한, 계단 등반 로봇은 복수의 계단 탐색 신호들 각각에 기초하여 다음 계단을 탐색할 수 있다. 예를 들어, 계단 등반 로봇은 제1 방향(예를 들어, 왼쪽 방향)으로 미리 정해진 각도(예를 들어, 135도)만큼 회전하면서 계단을 탐색하라는 제1 계단 탐색 신호에 기초하여, 다음 계단을 탐색할 수 있다. 또는, 계단 등반 로봇은 제2 방향(예를 들어, 오른쪽 방향)으로 미리 정해진 각도(예를 들어, 135도)만큼 회전하면서 계단을 탐색하라는 제2 계단 탐색 신호에 기초하여, 다음 계단을 탐색할 수 있다. 또는, 계단 등반 로봇은 회전하지 말고 정면에 계단이 존재하는지 탐색하라는 제3 계단 탐색 신호에 기초하여, 다음 계단을 탐색할 수 있다.In addition, the stair climbing robot may search for the next stair based on each of the plurality of stair search signals. For example, the stair climbing robot is rotated by a predetermined angle (eg, 135 degrees) in the first direction (eg, left direction) based on the first stair search signal to navigate the stairs, the next stair can explore. Alternatively, the stair climbing robot is rotated by a predetermined angle (eg, 135 degrees) in the second direction (eg, the right direction) and based on the second stair search signal to search for the stairs, to search for the next stair. can Alternatively, the stair climbing robot may search for the next stair based on the third stair search signal to search whether a stair exists in front of the stair climbing robot without rotating.

도면(520)을 참조하면, 다음 계단을 탐색한 계단 등반 로봇은 다음 계단 앞으로 이동하기 위하여 회전할 수 있다. 이 때, 회전하는 방향은 계단을 탐색한 계단 탐색 신호에 따라 결정될 수 있다. 예를 들어, 제1 방향(예를 들어, 왼쪽 방향)으로 미리 정해진 각도(예를 들어, 135도)만큼 회전하는 중에 계단을 인식한 경우, 계단 등반 로봇은 제1 방향(예를 들어, 왼쪽 방향)으로 미리 정해진 각도(예를 들어, 90도)만큼 회전할 수 있다. 또는, 제2 방향(예를 들어, 오른쪽 방향)으로 미리 정해진 각도(예를 들어, 135도)만큼 회전하는 중에 계단을 인식한 경우, 계단 등반 로봇은 제2 방향(예를 들어, 오른쪽 방향)으로 미리 정해진 각도(예를 들어, 90도)만큼 회전할 수 있다. 또는 회전하지 않고 정면에서 계단을 인식한 경우, 계단 등반 로봇은 회전하지 않고 그대로 있을 수 있다.Referring to the drawing 520 , the stair climbing robot that has searched for the next stair may rotate to move in front of the next stair. In this case, the direction of rotation may be determined according to the stair search signal for searching for the stair. For example, if the stairs are recognized while rotating by a predetermined angle (eg, 135 degrees) in the first direction (eg, the left direction), the stair climbing robot moves in the first direction (eg, the left side) direction) by a predetermined angle (eg, 90 degrees). Alternatively, if the stairs are recognized while rotating by a predetermined angle (eg, 135 degrees) in the second direction (eg, the right direction), the stair climbing robot moves in the second direction (eg, the right direction) can be rotated by a predetermined angle (eg, 90 degrees). Alternatively, when the stairs are recognized from the front without rotating, the stair climbing robot may remain as it is without rotating.

도면(530)을 참조하면, 계단 등반 로봇은 위치 이동 신호에 기초하여 다음 계단 앞으로 이동할 수 있다. 구체적으로, 계단 등반 로봇은 기 저장된 거리 데이터에 기초하여 이동 거리 정보를 결정할 수 있다. 예를 들어, 계단 등반 로봇은 로봇과 로봇의 진행방향에 존재하는 피사체(예를 들어, 벽) 사이의 거리가 기 저장된 거리(예를 들어, 좌, 우측 벽면과 로봇 사이의 거리 중 작은 값)만큼 될 때까지 전진할 수 있다.Referring to the drawing 530 , the stair climbing robot may move in front of the next stair based on the position movement signal. Specifically, the stair climbing robot may determine movement distance information based on pre-stored distance data. For example, for a stair climbing robot, the distance between the robot and a subject (eg, a wall) existing in the moving direction of the robot is a pre-stored distance (eg, the smaller of the distance between the left and right walls and the robot) You can move forward until you get enough.

도면(540)을 참조하면, 계단 등반 로봇은 계단 등반을 위하여 회전할 수 있다. 이 때, 회전하는 방향은 계단을 탐색한 계단 탐색 신호에 따라 결정될 수 있다. 예를 들어, 제1 방향(예를 들어, 왼쪽 방향)으로 미리 정해진 각도(예를 들어, 135도)만큼 회전하는 중에 계단을 인식한 경우, 계단 등반 로봇은 제1 방향(예를 들어, 왼쪽 방향)으로 미리 정해진 각도(예를 들어, 90도)만큼 회전할 수 있다. 또는, 제2 방향(예를 들어, 오른쪽 방향)으로 미리 정해진 각도(예를 들어, 135도)만큼 회전하는 중에 계단을 인식한 경우, 계단 등반 로봇은 제2 방향(예를 들어, 오른쪽 방향)으로 미리 정해진 각도(예를 들어, 90도)만큼 회전할 수 있다. 또는 회전하지 않고 정면에서 계단을 인식한 경우, 계단 등반 로봇은 회전하지 않고 그대로 있을 수 있다.Referring to the drawing 540 , the stair climbing robot may rotate for stair climbing. In this case, the direction of rotation may be determined according to the stair search signal for searching for the stair. For example, if the stairs are recognized while rotating by a predetermined angle (eg, 135 degrees) in the first direction (eg, the left direction), the stair climbing robot moves in the first direction (eg, the left side) direction) by a predetermined angle (eg, 90 degrees). Alternatively, if the stairs are recognized while rotating by a predetermined angle (eg, 135 degrees) in the second direction (eg, the right direction), the stair climbing robot moves in the second direction (eg, the right direction) can be rotated by a predetermined angle (eg, 90 degrees). Alternatively, when the stairs are recognized from the front without rotating, the stair climbing robot may remain as it is without rotating.

도 6은 일 실시예에 따른 계단 등반 로봇을 정렬하는 방법을 설명하기 위한 도면이다.6 is a view for explaining a method of aligning a stair climbing robot according to an embodiment.

도 6을 참조하면, 일 실시예에 따른 계단 등반 로봇은 평지에 도착한 후, 로봇 혹은 계단의 구조적 결함으로 로봇이 계단참에서 정방향으로 정지되지 않을 경우 정렬을 선행적으로 수행할 수 있다. 또는, 일 실시예에 따른 계단 등반 로봇은 다음 계단을 등반하기 위해 이동함에 따라 다음 계단 앞에서 정방향으로 정지되지 않을 수 있고, 이 경우에도 정렬이 필요할 수 있다.Referring to FIG. 6 , after the stair climbing robot according to an embodiment arrives on a flat ground, if the robot is not stopped in the forward direction at the landing due to a structural defect of the robot or the stairs, the stair climbing robot may perform alignment in advance. Alternatively, the stair climbing robot according to an embodiment may not be stopped in the forward direction in front of the next stair as it moves to climb the next stair, and in this case, alignment may be required.

계단 등반 로봇은 제1 거리 센서로부터 수신한 로봇과 특정 피사체 사이의 거리 데이터를 이용하여 로봇을 정렬할 수 있도록 이동부를 제어할 수 있다. 보다 구체적으로, 계단 등반 로봇은 제1 거리 센서(예를 들어, 전방 거리 센서) 2개의 출력 데이터에 기초하여 로봇과 피사체(예를 들어, 벽면 또는 계단)가 이루는 각도를 계산할 수 있고, 계산한 각도가 미리 정해진 각도(예를 들어, 0도)가 되도록 이동부를 제어할 수 있다. 보다 구체적으로, 두 개의 전방 거리 센서는 각각 자신과 벽면 사이의 거리를 측정할 수 있고, 계단 등반 로봇은 두 거리의 차이 및 두 전방 거리 센서 사이의 이격 거리에 기초하여 로봇과 피사체(예를 들어, 벽면 또는 계단)가 이루는 각도를 계산할 수 있다. 또는, 계단 등반 로봇은 모터의 회전시간에 따른 모터의 포지션 변화에 기초하여 각도를 계산할 수도 있다.The stair climbing robot may control the moving unit to align the robot using distance data between the robot and a specific subject received from the first distance sensor. More specifically, the stair climbing robot may calculate the angle formed between the robot and the subject (eg, a wall or stairs) based on the output data of two first distance sensors (eg, a front distance sensor), and the calculated The moving unit may be controlled so that the angle becomes a predetermined angle (eg, 0 degrees). More specifically, the two front distance sensors can measure the distance between themselves and the wall, respectively, and the stair climbing robot can measure the distance between the robot and the subject (for example, based on the difference between the two distances and the separation distance between the two front distance sensors). , walls or stairs) can be calculated. Alternatively, the stair climbing robot may calculate an angle based on a change in the position of the motor according to the rotation time of the motor.

이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The embodiments described above may be implemented by a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the apparatus, methods and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate (FPGA). array), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, may be implemented using one or more general purpose or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For convenience of understanding, although one processing device is sometimes described as being used, one of ordinary skill in the art will recognize that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that may include For example, the processing device may include a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as parallel processors.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may comprise a computer program, code, instructions, or a combination of one or more thereof, which configures a processing device to operate as desired or is independently or collectively processed You can command the device. The software and/or data may be any kind of machine, component, physical device, virtual equipment, computer storage medium or device, to be interpreted by or to provide instructions or data to the processing device. , or may be permanently or temporarily embody in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored in one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with reference to the limited drawings, those skilled in the art may apply various technical modifications and variations based on the above. For example, the described techniques are performed in a different order than the described method, and/or the described components of the system, structure, apparatus, circuit, etc. are combined or combined in a different form than the described method, or other components Or substituted or substituted by equivalents may achieve an appropriate result.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (8)

계단 등반 로봇의 동작 방법에 있어서,
카메라 센서로부터 수신한 영상 데이터를 미리 학습된 신경망에 입력하여 계단을 탐색하는 단계;
상기 탐색된 계단과 상기 로봇 사이의 위치에 기초하여 결정되는 위치 이동 신호에 기초하여 상기 로봇이 미리 정해진 위치로 이동하도록 이동부를 제어하는 단계;
계단 등반 신호에 기초하여 상기 로봇이 상기 계단을 등반할 수 있도록 상기 이동부를 제어하는 단계;
제1 자이로센서로부터 수신한 기울기 데이터에 기초하여 상기 로봇의 평지 도착 여부를 판단하는 단계; 및
평지 도착 신호에 기초하여 상기 로봇이 정지할 수 있도록 상기 이동부를 제어하는 단계를 포함하되,
상기 계단을 등반할 수 있도록 상기 이동부를 제어하는 단계는,
제2 거리 센서를 이용하여 상기 로봇의 정지 여부를 판단하는 단계; 및
상기 로봇이 상기 계단을 등반 중에 정지했다는 판단에 기초하여, 상기 로봇에 추가 동력을 제공하도록 상기 이동부를 제어하는 단계를 포함하는 계단 등반 로봇의 동작 방법.
In the operation method of the stair climbing robot,
inputting the image data received from the camera sensor into a pre-trained neural network to search for stairs;
controlling the moving unit to move the robot to a predetermined position based on a position movement signal determined based on a position between the searched stairs and the robot;
controlling the moving unit so that the robot can climb the stairs based on the stair climbing signal;
determining whether the robot arrives on a flat ground based on the inclination data received from the first gyro sensor; and
Comprising the step of controlling the moving unit so that the robot can stop based on the arrival signal on the flat ground,
The step of controlling the moving unit so as to climb the stairs,
determining whether the robot is stopped using a second distance sensor; and
Based on the determination that the robot stopped while climbing the stairs, the operation method of the stair climbing robot comprising the step of controlling the moving unit to provide additional power to the robot.
제1항에 있어서,
상기 계단을 등반할 수 있도록 상기 이동부를 제어하는 단계는
제2 자이로센서로부터 수신한 상기 로봇에 부착된 물품 적재함의 기울기 데이터에 기초하여 상기 물품 적재함의 수평을 유지할 수 있도록 평형 유지 모터를 제어하는 단계
를 포함하는, 계단 등반 로봇의 동작 방법.
According to claim 1,
The step of controlling the moving unit so as to climb the stairs
Controlling the balance maintenance motor to maintain the level of the article loading box based on the inclination data of the product loading box attached to the robot received from the second gyro sensor
Including, the operation method of the stair climbing robot.
제1항에 있어서,
제1 거리 센서로부터 수신한 상기 로봇과 특정 피사체 사이의 거리 데이터를 이용하여 상기 로봇을 정렬할 수 있도록 상기 이동부를 제어하는 단계
를 더 포함하는, 계단 등반 로봇의 동작 방법.
According to claim 1,
controlling the moving unit to align the robot using distance data between the robot and a specific subject received from a first distance sensor
Further comprising, the method of operation of the stair climbing robot.
제3항에 있어서,
상기 로봇을 정렬할 수 있도록 상기 이동부를 제어하는 단계는
상기 거리 데이터에 기초하여 상기 로봇과 상기 피사체가 이루는 각도를 계산하는 단계; 및
상기 각도가 미리 정해진 각도가 되도록 상기 이동부를 제어하는 단계
를 포함하는, 계단 등반 로봇의 동작 방법.
4. The method of claim 3,
The step of controlling the moving unit to align the robot
calculating an angle between the robot and the subject based on the distance data; and
controlling the moving unit so that the angle becomes a predetermined angle
Including, the operation method of the stair climbing robot.
제1항에 있어서,
상기 계단을 탐색하는 단계는
복수의 계단 탐색 신호들 각각에 기초하여 상기 계단을 탐색하는 단계
를 포함하고,
상기 위치 이동 신호는
상기 계단 탐색 신호들 각각에 대응되는, 계단 등반 로봇의 동작 방법.
According to claim 1,
The step of navigating the stairs
Searching for the stairs based on each of the plurality of stairs search signals
including,
The position movement signal is
Corresponding to each of the stair search signals, the operation method of the stair climbing robot.
제1항에 있어서,
제2 거리 센서를 이용하여 상기 로봇과 상기 로봇의 제1 방향에 위치한 피사체 및 제2 방향에 위치한 피사체 사이의 거리 데이터를 저장하는 단계
를 더 포함하고,
상기 위치 이동 신호는
상기 로봇의 회전 정보 및 이동 거리 정보를 포함하고,
상기 로봇이 상기 미리 정해진 위치로 이동할 수 있도록 상기 이동부를 제어하는 단계는
상기 거리 데이터에 기초하여 상기 이동 거리 정보를 결정하는 단계
를 포함하는, 계단 등반 로봇의 동작 방법.
According to claim 1,
Storing distance data between the robot and the object located in the first direction and the object located in the second direction by using a second distance sensor
further comprising,
The position movement signal is
Including rotation information and movement distance information of the robot,
The step of controlling the moving unit so that the robot can move to the predetermined position
determining the moving distance information based on the distance data
Including, the operation method of the stair climbing robot.
삭제delete 계단 등반 로봇의 동작 방법에 있어서,
카메라 센서로부터 수신한 영상 데이터를 미리 학습된 신경망에 입력하여 계단을 탐색하는 단계;
상기 탐색된 계단과 상기 로봇 사이의 위치에 기초하여 결정되는 위치 이동 신호에 기초하여 상기 로봇이 미리 정해진 위치로 이동하도록 이동부를 제어하는 단계;
계단 등반 신호에 기초하여 상기 로봇이 상기 계단을 등반할 수 있도록 상기 이동부를 제어하는 단계;
제1 자이로센서로부터 수신한 기울기 데이터에 기초하여 상기 로봇의 평지 도착 여부를 판단하는 단계;
평지 도착 신호에 기초하여 상기 로봇이 정지할 수 있도록 상기 이동부를 제어하는 단계;
웹서버로부터 목표 층수를 수신하는 단계;
상기 평지 도착 신호에 기초하여, 상기 로봇이 등반한 계단의 층 수를 계산하는 단계; 및
상기 등반한 계단의 층 수와 상기 목표 층수를 비교하여 상기 로봇의 추가 등반 여부를 결정하는 단계를 포함하는, 계단 등반 로봇의 동작 방법.
In the operation method of the stair climbing robot,
inputting the image data received from the camera sensor into a pre-trained neural network to search for stairs;
controlling the moving unit to move the robot to a predetermined position based on a position movement signal determined based on a position between the searched stairs and the robot;
controlling the moving unit so that the robot can climb the stairs based on the stair climbing signal;
determining whether the robot arrives on a flat ground based on the inclination data received from the first gyro sensor;
controlling the moving unit to stop the robot based on a flat land arrival signal;
receiving a target number of floors from a web server;
calculating the number of floors of the stairs climbed by the robot based on the flat land arrival signal; and
Comprising the step of determining whether to further climb the robot by comparing the number of floors of the climbed stairs with the target number of floors, the operation method of the stair climbing robot.
KR1020200168474A 2020-12-04 2020-12-04 Self-driving stair climbing transport robot using deep learning and its operation method KR102446104B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200168474A KR102446104B1 (en) 2020-12-04 2020-12-04 Self-driving stair climbing transport robot using deep learning and its operation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200168474A KR102446104B1 (en) 2020-12-04 2020-12-04 Self-driving stair climbing transport robot using deep learning and its operation method

Publications (2)

Publication Number Publication Date
KR20220079064A KR20220079064A (en) 2022-06-13
KR102446104B1 true KR102446104B1 (en) 2022-09-21

Family

ID=81984415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200168474A KR102446104B1 (en) 2020-12-04 2020-12-04 Self-driving stair climbing transport robot using deep learning and its operation method

Country Status (1)

Country Link
KR (1) KR102446104B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102650848B1 (en) * 2023-06-05 2024-03-22 한경국립대학교 산학협력단 Agricultural vehicle with manipulator for fruit harvesting in uneven field and controlling method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012215959A (en) * 2011-03-31 2012-11-08 Fuji Security Systems Co Ltd Security robot

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6154378A (en) * 1984-08-24 1986-03-18 Chubu Electric Power Co Inc Automatic ascending and descending apparatus for stairs for robot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012215959A (en) * 2011-03-31 2012-11-08 Fuji Security Systems Co Ltd Security robot

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102650848B1 (en) * 2023-06-05 2024-03-22 한경국립대학교 산학협력단 Agricultural vehicle with manipulator for fruit harvesting in uneven field and controlling method thereof

Also Published As

Publication number Publication date
KR20220079064A (en) 2022-06-13

Similar Documents

Publication Publication Date Title
Gandhi et al. Learning to fly by crashing
Bachrach et al. RANGE–Robust autonomous navigation in GPS‐denied environments
Marder-Eppstein et al. The office marathon: Robust navigation in an indoor office environment
KR102302239B1 (en) Method of controlling cart-robot in restricted area and cart-robot of implementing thereof
Trulls et al. Autonomous navigation for mobile service robots in urban pedestrian environments
Hui et al. A comparative study on some navigation schemes of a real robot tackling moving obstacles
CN113791627B (en) Robot navigation method, equipment, medium and product
US11865717B2 (en) Method of controlling movement of cart robot in response to change in travel surface using artificial intelligence and cart robot implementing the same
KR102446104B1 (en) Self-driving stair climbing transport robot using deep learning and its operation method
Le et al. Autonomous floor and staircase cleaning framework by reconfigurable sTetro robot with perception sensors
Abdessemed et al. A hierarchical fuzzy control design for indoor mobile robot
US20210064035A1 (en) Method of moving robot in administrator mode and robot of implementing method
Pham et al. Deep learning for vision-based navigation in autonomous drone racing
Asif et al. On the improvement of multi-legged locomotion over difficult terrains using a balance stabilization method
Sebastian et al. Neural network based heterogeneous sensor fusion for robot motion planning
US11966226B2 (en) Delivery robot and control method of the delivery robot
CN113959446B (en) Autonomous logistics transportation navigation method for robot based on neural network
KR20230033980A (en) Delivery robot and control method of the delivery robot
KR20220043864A (en) Robot And Control method of the same
Priyandoko et al. Mapping and Navigation for Indoor Robot Using Multiple Sensor Under ROS Framework
KR102545742B1 (en) Stair climbing robot and operation method thereof
Syed et al. Autonomous staircase navigation system for multi-floor tasks
US11669096B2 (en) Route determination method
Mohtaseb et al. An Intelligent Mobile Robot that Localizes itself Inside a Maze
Mitriakov Reinforcement learning-based control for safe 3D navigation of articulated tracked robot manipulators

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right