WO2022154242A1 - 로봇 및 그 제어 방법 - Google Patents

로봇 및 그 제어 방법 Download PDF

Info

Publication number
WO2022154242A1
WO2022154242A1 PCT/KR2021/017259 KR2021017259W WO2022154242A1 WO 2022154242 A1 WO2022154242 A1 WO 2022154242A1 KR 2021017259 W KR2021017259 W KR 2021017259W WO 2022154242 A1 WO2022154242 A1 WO 2022154242A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
distance information
distance
main body
information
Prior art date
Application number
PCT/KR2021/017259
Other languages
English (en)
French (fr)
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 삼성전자주식회사
Publication of WO2022154242A1 publication Critical patent/WO2022154242A1/ko
Priority to US18/200,981 priority Critical patent/US20230297115A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • 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
    • 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/0009Constructional details, e.g. manipulator supports, bases
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • 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/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/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser

Definitions

  • the present invention relates to a robot that performs a position recognition function and a method for controlling the same.
  • the home robot is equipped with a distance sensor for driving, and can identify the position of the robot in space based on data obtained by the distance sensor.
  • a distance sensor for driving can identify the position of the robot in space based on data obtained by the distance sensor.
  • the small robot is provided with a pair of driving wheels for driving, there is a problem in that accurate distance sensing becomes difficult due to unevenness on the ground or deceleration/acceleration of the robot. Accordingly, there has been a continuous demand for a method of acquiring reliable distance information in various situations occurring during the driving process of the robot.
  • an object of the present invention is to provide a robot that identifies the position of the robot based on distance information sensed from a plurality of points or a plurality of directions while the robot is traveling, and a method for controlling the same .
  • a robot for achieving the above object, a body rotatable based on a first axis, a pair provided in the body to be rotatable based on a second axis perpendicular to the first axis
  • a plurality of first distance information is acquired through the driving wheel of the at least one distance sensor provided on the second shaft and the at least one distance sensor at a plurality of different points where the main body is located as the main body is moved and acquiring a plurality of second distance information through the at least one distance sensor in a plurality of different directions directed by the main body as the main body is rotated, and based on the first distance information and the second distance information, the It may include a processor for obtaining information on a point where the robot is located on a map corresponding to the space where the robot is located.
  • the pair of driving wheels may be provided such that the main body moves in a third axis direction perpendicular to each of the first axis and the second axis.
  • the at least one distance sensor may include a first distance sensor disposed in a first area of the main body adjacent to a first driving wheel of the pair of driving wheels and a second driving wheel of the pair of driving wheels. It may include a second distance sensor disposed in the second area of the main body.
  • the first distance sensor and the second distance sensor may be implemented as a Time of Flight (ToF) sensor.
  • ToF Time of Flight
  • the processor further comprising a tilt sensor, the processor, the distance obtained when the inclination information obtained by the inclination sensor among the plurality of first distance information and the plurality of second distance information is greater than or equal to a threshold inclination in a specific axial direction Information on the point where the main body is located on the map may be acquired based on the remaining distance information except for the information.
  • the main body may have a spherical shape less than or equal to a critical size, and the pair of driving wheels may be spaced apart from each other to surround the main body from the outside of the spherical body.
  • the map includes distance information corresponding to each of a plurality of points on the map
  • the processor obtains third distance information based on the diameter of the main body, the first distance information, and the second distance information obtained, identify distance information that matches the third distance information among distance information included on the map, and identify a point corresponding to the identified distance information as a point where the robot is located.
  • the map includes distance information corresponding to each of a plurality of points on the map
  • the processor is configured to: a distance that matches the first distance information and the second distance information among distance information included on the map
  • the information may be identified, and a point corresponding to the identified distance information may be identified as a point where the robot is located.
  • the Distance information on the map may be updated based on the distance information.
  • the control of a robot including a body rotatable based on a first axis according to an embodiment of the present invention and a pair of driving wheels provided in the body to be rotatable based on a second axis perpendicular to the first axis
  • the method includes: acquiring a plurality of first distance information through at least one distance sensor at a plurality of different points where the main body is positioned as the main body is moved; acquiring a plurality of pieces of second distance information through the at least one distance sensor in different directions, and based on the first distance information and the second distance information, the robot is located It may include obtaining information about the point.
  • the pair of driving wheels may be provided such that the main body moves in a third axis direction perpendicular to each of the first axis and the second axis.
  • the at least one distance sensor may include a first distance sensor disposed in a first area of the main body adjacent to a first driving wheel of the pair of driving wheels and a second driving wheel of the pair of driving wheels. It may include a second distance sensor disposed in the second area of the main body.
  • the first distance sensor and the second distance sensor may be implemented as a Time of Flight (ToF) sensor.
  • ToF Time of Flight
  • the step of obtaining the information on the point where the robot is located is obtained when the inclination information obtained by the inclination sensor among the plurality of first distance information and the plurality of second distance information is greater than or equal to a threshold inclination in a specific axis direction.
  • Information on the point where the main body is located on the map may be acquired based on the remaining distance information excluding the distance information.
  • the main body may have a spherical shape less than or equal to a critical size, and the pair of driving wheels may be spaced apart from each other to surround the main body from the outside of the spherical body.
  • 1 is a view for explaining a robot that travels in an indoor space.
  • FIG. 2 is a block diagram illustrating a configuration of a robot according to an embodiment of the present disclosure.
  • 3A and 3B are diagrams for explaining a sensing range according to a position in which a distance sensor of a robot is provided.
  • FIG. 4 is a view for explaining acquisition of distance information according to movement and rotation of a robot according to an embodiment of the present disclosure.
  • 5A and 5B are diagrams for explaining a rotation operation of a robot according to the number of distance sensors according to an embodiment of the present disclosure.
  • FIG. 6 is a diagram for explaining acquisition of distance information when a robot is inclined in a specific direction according to an embodiment of the present disclosure.
  • FIGS. 7A and 7B are diagrams for explaining a location identification method based on distance information obtained according to a movement or rotation operation of a robot according to an embodiment of the present disclosure.
  • FIG. 8 is a diagram for explaining a method for a robot to update distance information on a map according to an embodiment of the present disclosure.
  • FIG. 9 is a block diagram for specifically explaining a functional configuration of a robot according to an embodiment of the present disclosure.
  • FIG. 10 is a flowchart illustrating a control method according to an embodiment of the present disclosure.
  • expressions such as “have,” “may have,” “include,” or “may include” indicate the presence of a corresponding characteristic (eg, a numerical value, function, operation, or component such as a part). and does not exclude the presence of additional features.
  • a component eg, a first component is "coupled with/to (operatively or communicatively)" to another component (eg, a second component)
  • another component eg, a second component
  • a component may be directly connected to another component or may be connected through another component (eg, a third component).
  • a "module” or “unit” performs at least one function or operation, and may be implemented as hardware or software, or a combination of hardware and software.
  • a plurality of “modules” or a plurality of “units” are integrated into at least one module and implemented with at least one processor (not shown) except for “modules” or “units” that need to be implemented with specific hardware.
  • the term user may refer to a person who uses the robot.
  • an embodiment of the present disclosure will be described in more detail with reference to the accompanying drawings.
  • 1 is a view for explaining a robot that travels in an indoor space.
  • various objects 210 and 220 may exist in a space 200 in which the robot 100 travels.
  • the robot 100 may identify the positions of the objects 210 and 220 and the positions of the robot 100 based on map data corresponding to the space 200 .
  • the map data may be pre-stored in a memory (not shown) provided in the robot 100 or may be downloaded in real time from an external server (not shown).
  • the map data may include information on the space 200 and the objects 210 and 220 included in the space.
  • the robot 100 may identify the position of the robot 100 by measuring the distance from the robot to the wall of the space 200 or the objects 210 and 220 located in the space 200 . .
  • the sensing range of the distance sensor provided in the robot 100 may change according to the motion of the robot 100 .
  • the angle of view of the distance sensor provided in the robot 100 may also be inclined in a specific direction due to the motion of the robot 100 tilting in a specific direction.
  • the motion of the robot 100 according to an example may be induced by deceleration/acceleration of the robot 100 .
  • a motion in which the robot 100 is inclined in a specific direction may occur due to the inclination and unevenness of the ground or limitations in control.
  • the distance information obtained in the state where the angle of view of the distance sensor is inclined is not the distance from the robot 100 to the wall of the space 200 or the objects 210 and 220, but the ground of the space 200 from the robot 100. Alternatively, it may be information corresponding to the distance to the ceiling.
  • the robot 100 since the robot 100 according to an example acquires distorted information that is not conducive to the driving of the robot 100 when the angle of view of the distance sensor is inclined, a specific motion occurs during the driving process of the robot 100 . Even so, it may be important to obtain reliable distance information without distortion of the sensing range of the distance sensor.
  • FIG. 2 is a block diagram illustrating a configuration of a robot according to an embodiment of the present disclosure.
  • the robot 100 may include a body 110 , a driving wheel 120 , a distance sensor 130 , and a processor 140 .
  • the body 110 is configured to include a frame of the robot 100 and various hardware included in the frame.
  • the body 110 may include a frame made of a material such as plastic or metal and a hardware module implemented as a circuit on the frame.
  • the body 110 according to an example may be implemented in a spherical shape, but is not limited thereto.
  • the processor 140 may be included in the body 110 .
  • Both sides of the main body 110 may be provided with a driving wheel formed to be spaced apart from each other to surround the main body, and the main body 110 may rotate based on the first axis according to the rotation of the driving wheel 120 .
  • the first axis may correspond to an axis in a direction perpendicular to the ground on which the robot 100 is located.
  • the driving wheel 120 is a device capable of driving the robot 100 .
  • the driving wheel 120 is configured to include a driving device that rotates during driving and a driving unit that rotates the driving device.
  • the driving device included in the driving wheel 120 may be implemented as a wheel in which a part of a sphere is cut out, but is not limited thereto.
  • the traveling device may be provided in the main body 110 to be rotatable based on a second axis perpendicular to the first axis.
  • the second axis may correspond to an axis in a direction perpendicular to the first axis and parallel to the ground.
  • the driving unit may adjust the driving direction and driving speed according to the control of the processor 140 .
  • the driving unit may include a power generating device (eg, an electric motor, etc.) that generates power for driving the robot 100 .
  • the driving wheel 120 refers to a driving device that appears outwardly of the robot 100 . to explain the action.
  • the operation of the robot 100 will be described on the assumption that the driving wheel 120 is implemented as a pair of wheels provided on both sides of the main body 110 .
  • the robot 100 may go straight in a certain direction, and when a pair of wheels rotate in opposite directions, the robot 100 is fixed at a fixed position. direction can be rotated.
  • the distance sensor 130 may obtain distance information. Specifically, the distance sensor 130 may measure a distance between the position of the robot 100 and the position of the object.
  • the distance sensor 130 according to an example may be implemented as a light detection and ranging (LIDAR), a depth camera, or a time of flight (TOF) sensor.
  • LIDAR light detection and ranging
  • TOF time of flight
  • the distance sensor 130 may be provided on the driving wheel 120 . According to an example, the distance sensor 130 may be provided at a point where the second axis intersects the surface of the driving wheel 120 . Also, the robot 100 may include a plurality of distance sensors 130 .
  • the processor 140 controls the overall operation of the robot 100 .
  • the processor 140 may be connected to each component of the robot 100 to control the overall operation of the robot 100 .
  • the processor 140 may be connected to the main body 110 , the driving wheel 120 , and the distance sensor 130 to control the operation of the robot 100 .
  • the processor 140 includes a digital signal processor (DSP), a microprocessor, a central processing unit (CPU), a micro controller unit (MCU), and a micro processing unit (MPU). unit), a Neural Processing Unit (NPU), a controller, an application processor (application processor (AP)), etc. may be named variously, but in the present specification, it will be referred to as the processor 140 .
  • DSP digital signal processor
  • CPU central processing unit
  • MCU micro controller unit
  • MPU micro processing unit
  • unit a Neural Processing Unit
  • AP application processor
  • the processor 140 may be implemented in a system on chip (SoC), large scale integration (LSI), or a field programmable gate array (FPGA) format.
  • SoC system on chip
  • LSI large scale integration
  • FPGA field programmable gate array
  • the processor 140 may include a volatile memory such as SRAM.
  • the processor 140 receives a plurality of first distance information through at least one distance sensor 130 at a plurality of different points where the main body 110 is located as the main body 110 is moved.
  • the plurality of different points may be points spaced apart from each other by a predetermined distance.
  • the processor 140 controls the pair of driving wheels 120 to rotate in the same direction so that the robot 100 moves in a constant direction, and different points while the robot 100 moves in the constant direction. may acquire a plurality of pieces of first distance information measured several times by the distance sensor 130 .
  • the distance information may be information on a distance from the one or more distance sensors 130 to a wall or an object in the detected space.
  • the obstacles included in the space but also the walls of the space are expressed with the term 'object'.
  • the processor 140 may acquire a plurality of pieces of second distance information through the at least one distance sensor 130 in a plurality of different directions that the main body 110 faces as the main body 110 is rotated. Specifically, the processor 140 controls the pair of driving wheels 120 to rotate in opposite directions in order to cause the robot 100 to rotate in a predetermined direction from a fixed position, and the robot 100 rotates in a predetermined direction. A plurality of pieces of second distance information measured several times in different directions by the distance sensor 130 during rotation may be acquired.
  • the processor 140 may acquire information on a point where the robot 100 is located on a map corresponding to a space in which the robot 100 is located based on the obtained first distance information and the second distance information. .
  • the pair of driving wheels 120 may be provided so that the main body 110 moves in a third axis direction perpendicular to each of the first axis and the second axis. Specifically, if the first axis on which the main body 110 rotates as the pair of driving wheels 120 rotate in opposite directions is the Z axis, and the second axis on which the pair of driving wheels 120 rotate, respectively, is the Y axis. , the driving wheel 120 may be provided so that the robot 100 can move in the X-axis direction.
  • the distance sensor 130 includes a first distance sensor disposed in a first area of the main body 110 adjacent to the first driving wheel among the pair of driving wheels 120 and a body adjacent to the second driving wheel.
  • a second distance sensor disposed in the second area of 110 may be included.
  • the distance sensor 130 may be provided at two points where the second axis intersects the surfaces of the pair of driving wheels 120 , respectively.
  • the first distance sensor and the second distance sensor may be implemented as a Time of Flight (ToF) sensor.
  • the ToF sensor may include a light emitting unit and a light receiving unit.
  • the light receiving unit included in the ToF sensor may detect that light irradiated from the light emitting unit is reflected by the object.
  • the processor 140 may identify the distance from the sensor to the object based on the elapsed time until the light irradiated from the light emitting unit is received by the light receiving unit.
  • the light receiving unit may be implemented in the form of a 2D array having an M*N arrangement.
  • the sensing range (or angle of view) of the ToF sensor can be arbitrarily set by the manufacturer and the user of the robot 100, but in the case of the robot 100 disclosed herein, to strengthen the function of identifying the distance from the sensor to the object.
  • a ToF sensor having a narrow sensing range may be provided.
  • the robot 100 may further include a tilt sensor.
  • the inclination sensor is a sensor capable of detecting whether the robot 100 is inclined in a specific direction, and the inclination sensor according to an example may be implemented as a gyro sensor.
  • the processor 140 when the inclination information obtained by the inclination sensor among the plurality of first distance information and the plurality of second distance information is greater than or equal to a threshold inclination in a specific axial direction, the processor 140 performs the remaining distance information except for the obtained distance information. Based on the , information on the point at which the main body 110 is located on the map may be acquired.
  • the robot 100 may be implemented as a small robot in which the main body 110 has a spherical shape less than or equal to a critical size.
  • the pair of driving wheels 120 may be spaced apart from each other to surround the main body from the outside of the spherical body 110 .
  • the map corresponding to the space in which the robot 100 is located may include distance information corresponding to each of a plurality of points on the map.
  • the map may include information on whether the object is located at the coordinates corresponding to each point in the space where the robot 100 is located, and information on the distance from each coordinate and the corresponding coordinate to the object located in a certain direction. have.
  • the processor 140 may acquire the third distance information based on the diameter of the main body 110 , the first distance information, and the second distance information.
  • the coordinates corresponding to the center of the robot 100 that is, the distance from the position of the robot 100 to the object is the distance from each distance sensor to the object. It is a value obtained by adding the radius of the body 110 . Accordingly, the third distance information may include information about the distance from the position of the robot 100 to the object.
  • the processor 140 may identify distance information matching the third distance information among distance information included on the map, and identify a point corresponding to the identified distance information as a point where the robot 100 is located. .
  • a detailed operation of the robot 100 related thereto will be described in detail with reference to FIGS. 7A and 7B .
  • the map corresponding to the space in which the robot 100 is located may include distance information based on the specification of the robot 100 such as the diameter of the robot 100 or the arrangement of the distance sensor. Specifically, the map may include information about the distance from the distance sensor 130 to the object when the robot 100 located at a specific coordinate is oriented in a certain direction.
  • the processor 140 identifies distance information that matches the first distance information and the second distance information among the distance information included on the map, and sets a point corresponding to the identified distance information as a point at which the robot 100 is located. can be identified as
  • the processor 140 when the distance information corresponding to the point where the robot 100 is located on the map and the distance information obtained through the at least one distance sensor 130 at the corresponding point are at least partially different, the processor 140 according to an example at least one Distance information on the map may be updated based on the distance information obtained through the distance sensor 130 of .
  • the distance information update may mean updating information on the distance from the distance sensor 130 provided in the robot 100 to the object when the robot is oriented in a certain direction from the point where it is located.
  • the distance information update operation of the robot 100 will be described in detail with reference to FIG. 8 .
  • 3A is a view for explaining a change in a sensing range when the distance sensor 130 is provided to sense the moving direction of the robot 100 .
  • the distance sensor 130 needs to detect an object distributed in a region on the Z-axis where the robot 100 is located.
  • the robot 100 is provided on the main body 110 and may include a distance sensor 130 that senses the moving direction of the robot 100 . If the robot 100 is moving at a constant speed, the sensing range 311 of the distance sensor 130 is formed in the moving direction of the robot, and the robot 100 is Z located by the distance sensor 130 . It is possible to detect an object distributed in an area on the axis.
  • the sensing range 312 of the distance sensor 130 descends toward the ground as the body 110 is tilted.
  • the distance information obtained by the distance sensor 130 is information about the distance from the distance sensor 130 to the ground, the robot 100 detects an object distributed in the area on the Z-axis where the robot 100 is located. Can not.
  • the sensing range of the distance sensor 130 may change according to the inclination of the ground.
  • FIG. 3B is a diagram for explaining a sensing range of the distance sensor 130 when the distance sensor 130 is provided on the rotation shaft of the driving wheel 120 .
  • the Z-axis 10 perpendicular to the ground, the Y-axis 20 that is the rotation axis of the driving wheel 120 , and the X-axis 30 coincident with the moving direction of the robot 100 are shown.
  • the distance sensor 130 according to an embodiment of the present disclosure may be provided on the Y-axis 20 that is the rotation axis of the driving wheel 120 .
  • direction direction of the robot 100 to the main body 110 may be used in the same meaning as the X-axis 30 coincident with the movement direction of the robot 100 .
  • the sensing range 320 of the distance sensor 130 is formed over an area within a critical range around the Y-axis 20 , and the robot 100 is located by the distance sensor 130 . Objects distributed over the Z-axis can be detected.
  • the sensing range 320 of the distance sensor 130 does not change in the robot 100 according to an embodiment of the present disclosure despite the deceleration or acceleration operation, the object distributed in the area on the Z-axis where the robot 100 is located can be detected.
  • FIG 4 is a plan view of the robot 100 and the indoor space 200 for explaining the acquisition of distance information according to the movement and rotation of the robot according to an embodiment of the present disclosure.
  • the distance sensor 130 includes a first distance sensor 131 and a pair disposed in a first area of the main body 110 adjacent to the first driving wheel 121 among a pair of driving wheels. and a second distance sensor 132 disposed in a second area of the main body 110 adjacent to the second driving wheel 122 among the driving wheels of the .
  • the first and second distance sensors 131 and 132 may be implemented as ToF sensors.
  • the robot 100 may move or rotate the main body 110 in order to obtain information on objects distributed in various positions in the space 200 , and the robot 100 may rotate the main body 110 .
  • the robot 100 may rotate the main body 110 .
  • the range and accuracy of object sensing may be improved.
  • FIG. 4 shows the robot 100 traveling in the indoor space 200 .
  • the robot 100 may start from the lower end of FIG. 4 and move toward the upper end of FIG. 4 .
  • the robot 100 moves through the first and second distance sensors 131 and 132 at a plurality of different points where the main body 110 is located. 413, 420 to 423) can be obtained.
  • the robot 100 acquires distance information 410 for the object through the first distance sensor 131 and the distance information 420 for the object through the second distance sensor 132 at the initial position 400 . can do. Then, until the final position 403 of the robot 100 is reached, the robot 100 receives distance information 411 , 412 , 413 for a plurality of objects by the first distance sensor 131 and the second distance sensor 132 . ), distance information 421 , 422 , and 423 for a plurality of objects may be obtained, respectively.
  • the distance information 422 obtained by the second distance sensor 132 at a specific point 402 as the main body 110 is moved is an obstacle located in the indoor space 200 from the robot 100 ( 220) may include information about the distance.
  • the robot 100 may rotate counterclockwise in the final position 403 .
  • the robot 100 uses a plurality of second distance information 414 to 419, 424 to 429) can be obtained.
  • the direction in which the body 110 is directed is perpendicular to a straight line connecting the first and second distance sensors 131 and 132 , and may be a straight line direction parallel to the ground.
  • the robot 100 may acquire distance information 414 on the object through the first distance sensor 131 and the distance information 424 on the object through the second distance sensor 132 in the first direction. . Then, until the final direction of the robot 100 is reached, the robot 100 receives distance information 415 to 419 for a plurality of objects by the first distance sensor 131 and the plurality of objects through the second distance sensor 132 . Distance information 425 to 429 for the object may be obtained, respectively.
  • the distance information 418 obtained by the first distance sensor 131 in a specific direction is from the robot 100 to the obstacle 210 located in the indoor space 200 .
  • the robot 100 is based on the obtained first distance information 410 to 419 , the second distance information 420 to 429 , and distance information corresponding to each of a plurality of points on the map of the indoor space 200 . Thus, the position of the robot 100 can be identified.
  • distance information is acquired 4 times when the robot 100 moves in one direction and 6 times when the robot 100 rotates in one direction from a fixed position.
  • the period or frequency of acquiring distance information is as shown in FIG. It is of course possible to change otherwise.
  • 5A and 5B are diagrams for explaining a rotation operation of a robot according to the number of distance sensors according to an embodiment of the present disclosure.
  • the robot 100 may acquire a plurality of distance information through at least one distance sensor in a plurality of different directions directed by the main body 100 as the main body 100 is rotated.
  • the robot 100 may include a first distance sensor 131 disposed in an area of the body 110 adjacent to the first driving wheel 121 among a pair of driving wheels. can The robot 100 may acquire a plurality of distance information through the first distance sensor 131 in a plurality of different directions directed by the main body 110 as the main body 110 rotates 510 by 360 degrees.
  • the robot 100 may acquire distance information corresponding to the sensing range 21 of the first distance sensor 131 at preset intervals while the main body 110 rotates. Since the direction the robot 100 is oriented is an X-axis (not shown) direction that coincides with the moving direction of the robot, distance information corresponding to the direction 21 perpendicular to the direction the robot 100 is oriented and parallel to the ground can be obtained.
  • the robot 100 acquires distance information a total of six times whenever the main body 110 rotates by 60 degrees, but the period or frequency of acquiring distance information may be set differently.
  • the robot 100 includes a first distance sensor 131 and a second distance sensor 131 disposed in an area of the main body 110 adjacent to the first driving wheel 121 among a pair of driving wheels.
  • the second distance sensor 132 may be disposed in an area of the main body 110 adjacent to the driving wheel 122 .
  • the robot 100 performs a plurality of distances through the first distance sensor 131 and the second distance sensor 132 in a plurality of different directions directed by the body 110 . information can be obtained.
  • the robot 100 may acquire distance information corresponding to the sensing range 21 of the first distance sensor and the sensing range 22 of the second distance sensor at preset intervals while the main body 110 rotates. have.
  • FIG. 6 is a diagram for explaining acquisition of distance information when a robot is inclined in a specific direction according to an embodiment of the present disclosure.
  • the robot 100 may further include a tilt sensor (not shown).
  • the robot 100 may acquire information (hereinafter, inclination information) regarding whether the main body 110 is inclined in a specific direction through the inclination sensor.
  • the tilt sensor according to an example may be implemented as a gyro sensor.
  • the robot 100 may obtain information about whether the robot 100 rotates based on the third axis 30 corresponding to the moving direction of the robot through the inclination sensor 130 .
  • the sensing range of the distance sensor 130 may be distorted in the direction of the ground or the ceiling.
  • the robot 100 when the inclination information obtained by the inclination sensor is greater than or equal to the threshold inclination in the direction of the third axis 30, the robot 100 is located at the point where the main body 110 is located on the map based on the remaining distance information except for the obtained distance information. information can be obtained.
  • the robot 100 can obtain reliable distance information despite the distortion of the sensing range that cannot be prevented even if the distance sensor 130 is provided on the rotation shaft 20 of the driving wheel 120 .
  • FIGS. 7A and 7B are diagrams for explaining a location identification method based on distance information obtained according to a movement or rotation operation of a robot according to an embodiment of the present disclosure.
  • the robot 100 may include a first distance sensor 131 and a second distance sensor 132 .
  • the robot 100 includes distance information 711 , 712 , 713 sensed by the first distance sensor 131 and the second distance sensor from the first position 701 to the final position 703 of the main body 110 .
  • Distance information 721 , 722 , and 723 sensed by 132 may be acquired.
  • the distance information 722 obtained by the second distance sensor 132 at a specific point 702 is an obstacle 210 located in the indoor space 200 from the robot 100 . It may include information about the distance to
  • the robot 100 may identify the position of the robot 100 based on the obtained distance information and distance information included in the map corresponding to the space 200 . Specifically, when the wall surface of the space 200 is arranged in a rectangular structure, the robot 100 is the distance sensed by the first distance sensor 131 and the sum of the distances sensed by the second distance sensor 132 is An angle between the moving direction of the robot 100 and each wall surface of the space 200 may be identified based on distance information corresponding to a predetermined section and the moving speed of the robot.
  • the robot 100 identifies the angle between the moving direction of the robot 100 and each wall surface of the space 200 based on the speed of the robot 100 and distance information corresponding to the section.
  • the robot 100 may identify the edge of the wall surface sensed by the distance sensor.
  • the distance sensed by the second distance sensor 132 may increase and then decrease.
  • the distance sensed by the second distance sensor 132 may increase before a point in time when the upper right corner of the space 200 is included within the sensing range, and may decrease after the point in time. Based on this, the robot 100 can identify the edge of the wall surface of the space 200 .
  • the robot 100 can identify the position of the robot 100 based on the identified angle, corner, and position information of the obstacle 210 included in the map.
  • the robot 100 may control the driving wheel 120 to rotate the main body 110 counterclockwise.
  • the robot 100 includes distance information 731 , 732 , 733 sensed by the first distance sensor 131 and distance information 741 sensed by the second distance sensor 132 , 742, 743) can be obtained.
  • the distance information 742 obtained by the second distance sensor 132 in a specific direction is the distance from the robot 100 to the obstacle 220 located in the indoor space 200 .
  • the robot 100 is a robot ( 100 ) based on the obtained distance information and information on the specific coordinates in the space 200 included in the map and the distance from the distance sensor of the robot 100 located at the corresponding coordinates to the object located in a certain direction. 100) can be identified.
  • the robot 100 does not need to be provided with a device such as a GPS or an IMU to identify a location, so there is an advantage that the robot 100 can be produced at a low cost.
  • a device such as a GPS or an IMU to identify a location
  • the robot 100 can be produced at a low cost.
  • the position of the robot 100 can be identified without a compensation algorithm for distance recognition related to deceleration or acceleration of the robot 100 , the amount of computation of the processor 140 can be reduced.
  • FIG. 8 is a diagram for explaining a method for a robot to update distance information on a map according to an embodiment of the present disclosure.
  • the space 200 may have a rectangular shape having a horizontal length of 400 cm.
  • the robot 100 may include a spherical body 110 having a radius of 10 cm. The robot 100 obtains distance information between the center position of the robot 100 and the object based on the radius of the body 110 and the distance information obtained by the first distance sensor 131 and the second distance sensor 132 . can be obtained
  • the robot 100 adds 200 cm, which is the radius of the body 110, to 190 cm, which is the sensed distance from the first distance sensor 131, to the center position of the robot 100 and the left side of the space 200. It can be identified by the distance between the walls.
  • the robot 100 calculates 200 cm by adding 10 cm, which is the radius of the body 110, to 190 cm, which is the distance sensed from the second distance sensor 132, between the center position of the robot 100 and the right wall of the space 200 . distance can be identified.
  • the robot 100 may identify a point corresponding to distance information that matches the identified distance information among distance information included on the map as a point where the robot 100 is located.
  • the map corresponding to the space 200 needs to be updated when an obstacle is newly provided in the space 200 or the location of the installed obstacle is changed.
  • the robot 100 performs a map based on distance information about the obstacle 210 . can be updated.
  • the distance sensed by the second distance sensor 132 in a specific section is identified as 180 cm, It is possible to identify that the distance information obtained through the second distance sensor 132 is different from the distance information corresponding to the corresponding section on the map, and identify that the obstacle 210 is located in the corresponding section.
  • the robot 100 identifies that the distance sensed by the second distance sensor 132 is 180 cm in a section corresponding to 20 cm, which is the vertical length of the obstacle 210, in the moving process, and has a width of 10 cm in the section.
  • the obstacle 210 may be identified as being located, and distance information on the map may be updated based on the identification.
  • FIG. 9 is a block diagram for specifically explaining a functional configuration of a robot according to an embodiment of the present disclosure.
  • the robot 100 ′ includes a body 110 , a driving wheel 120 , a distance sensor 130 , a processor 140 , a memory 150 , a communication interface 160 , and a tilt sensor 170 .
  • a body 110 includes a driving wheel 120 , a distance sensor 130 , a processor 140 , a memory 150 , a communication interface 160 , and a tilt sensor 170 .
  • the distance sensor 130 may include a first distance sensor 131 and a second distance sensor 132 .
  • the first distance sensor 131 and the second distance sensor 132 may sense objects located in opposite directions.
  • the memory 150 may store data necessary for various embodiments of the present disclosure.
  • the memory 150 may be implemented in the form of a memory embedded in the robot 100' or a memory that is detachable from the robot 100' depending on the purpose of data storage. For example, in the case of data for driving the robot 100', it is stored in the memory embedded in the robot 100', and in the case of data for the extended function of the robot 100', it is detachable from the robot 100'. It can be stored in any available memory.
  • volatile memory eg, dynamic RAM (DRAM), static RAM (SRAM), or synchronous dynamic RAM (SDRAM), etc.
  • non-volatile memory Examples: one time programmable ROM (OTPROM), programmable ROM (PROM), erasable and programmable ROM (EPROM), electrically erasable and programmable ROM (EEPROM), mask ROM, flash ROM, flash memory (such as NAND flash or NOR flash, etc.) ), a hard drive, or a solid state drive (SSD), etc.
  • a memory card eg, a compact flash (CF)
  • CF compact flash
  • USB port (secure digital), Micro-SD (micro secure digital), Mini-SD (mini secure digital), xD (extreme digital), MMC (multi-media card), etc.), external memory that can be connected to the USB port (for example, it may be implemented in a form such as a USB memory).
  • the memory 150 may store a map corresponding to a space in which the robot 100 ′ is located.
  • the communication interface 160 may input and output various types of data.
  • the communication interface 160 is AP-based Wi-Fi (Wi-Fi, Wireless LAN network), Bluetooth (Bluetooth), Zigbee (Zigbee), wired / wireless LAN (Local Area Network), WAN (Wide Area Network), Ethernet, IEEE 1394, HDMI (High-Definition Multimedia Interface), USB (Universal Serial Bus), MHL (Mobile High-Definition Link), AES/EBU (Audio Engineering Society/ European Broadcasting Union), Optical , Coaxial, etc., through communication methods such as external devices (eg, source devices), external storage media (eg, USB memory), external servers (eg, web hard drives) and various types of data can send and receive.
  • external devices eg, source devices
  • external storage media eg, USB memory
  • external servers eg, web hard drives
  • various types of data can send and receive.
  • the robot 100 ′ may download a map stored in an external server through the communication interface 160 .
  • FIG. 10 is a flowchart illustrating a control method according to an embodiment of the present disclosure.
  • a control method of a robot including a body rotatable based on a first axis and a pair of driving wheels provided on the body to be rotatable based on a second axis perpendicular to the first axis, the main body is
  • a plurality of pieces of first distance information may be acquired through at least one distance sensor at a plurality of different points where the main body is located ( S1010 ).
  • a plurality of pieces of second distance information may be acquired through at least one distance sensor in a plurality of different directions directed by the main body ( S1020 ).
  • information on a point where the robot is located on a map corresponding to the space where the robot is located may be obtained ( S1030 ).
  • the at least one distance sensor includes a first distance sensor disposed in a first area of the body adjacent to the first drive wheel of the pair of drive wheels and a second area of the body adjacent to the second drive wheel of the pair of drive wheels. It may include a second distance sensor disposed on the.
  • the first distance sensor and the second distance sensor may be implemented as a Time of Flight (ToF) sensor.
  • ToF Time of Flight
  • the step of obtaining information on the point where the robot is located (S1030) is obtained when the inclination information obtained by the inclination sensor among the plurality of first distance information and the plurality of second distance information is greater than or equal to the threshold inclination in the specific axis direction.
  • Information on a point where the main body is located on the map may be acquired based on the remaining distance information except for the distance information.
  • the body may have a spherical shape of a critical size or less, and a pair of driving wheels may be spaced apart from each other to surround the body from the outside of the spherical body.
  • the map includes distance information corresponding to each of a plurality of points on the map, and the step of obtaining information on the point where the robot is located ( S1030 ) is based on the diameter of the body, the first distance information, and the second distance information.
  • Obtaining third distance information, identifying distance information that matches the third distance information among distance information included on the map, and identifying a point corresponding to the identified distance information as a point where the robot is located can
  • the map includes distance information corresponding to each of a plurality of points on the map, and the step of obtaining information on a point where the robot is located ( S1030 ) includes first distance information and second distance among distance information included on the map.
  • Distance information matching the information may be identified, and a point corresponding to the identified distance information may be identified as a point where the robot is located.
  • the distance on the map based on the distance information obtained through the at least one distance sensor may be further included.
  • the various embodiments described above may be implemented in a recording medium readable by a computer or a similar device using software, hardware, or a combination thereof.
  • the embodiments described herein may be implemented by the processor 140 itself.
  • embodiments such as the procedures and functions described in this specification may be implemented as separate software modules. Each of the software modules may perform one or more functions and operations described herein.
  • computer instructions for performing the processing operation of the robot 100 according to various embodiments of the present disclosure described above may be stored in a non-transitory computer-readable medium.
  • the specific device When the computer instructions stored in the non-transitory computer-readable medium are executed by the processor of the specific device, the specific device performs the processing operation in the robot 100 according to the various embodiments described above.
  • the non-transitory computer-readable medium refers to a medium that stores data semi-permanently, rather than a medium that stores data for a short moment, such as a register, a cache, a memory, and the like, and can be read by a device.
  • Specific examples of the non-transitory computer-readable medium may include a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, and the like.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Evolutionary Computation (AREA)
  • Optics & Photonics (AREA)
  • Electromagnetism (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)

Abstract

로봇이 개시된다. 로봇은 제1 축을 기초로 회전 가능한 본체, 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 본체에 구비된 한 쌍의 구동 휠, 제2 축 상에 구비된 적어도 하나의 거리 센서 및 프로세서를 포함한다. 프로세서는 본체가 이동됨에 따라 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하고, 본체가 회전됨에 따라 본체가 지향하는 복수의 상이한 방향에서 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하고, 제1 거리 정보 및 제2 거리 정보에 기초하여 로봇이 위치한 공간에 대응되는 맵 상에서 로봇이 위치한 지점에 대한 정보를 획득할 수 있다.

Description

로봇 및 그 제어 방법
본 발명은 위치 인식 기능을 수행하는 로봇 및 그 제어 방법에 관한 것이다.
최근 가정용 로봇이 상용화 됨에 따라 소형 로봇의 개발이 활발해지고 있다. 가정용 로봇은 주행을 위해 거리 센서를 구비하며, 거리 센서에 의해 획득된 데이터에 기초하여 공간 내에서 로봇의 위치를 식별할 수 있다. 그러나 소형 로봇에 한 쌍의 주행용 구동 휠이 구비되는 경우 지면 상의 요철이나 로봇의 감ㆍ가속에 의해 정확한 거리 센싱이 어려워지는 문제점이 있었다. 이에 따라 로봇의 주행 과정에서 발생하는 다양한 상황에서 신뢰도 높은 거리 정보를 획득하는 방법에 대한 지속적인 요구가 있었다.
본 개시는 상술한 필요성에 따른 것으로, 본 발명의 목적은 로봇이 주행하는 동안 복수의 지점 또는 복수의 방향에서 센싱된 거리 정보에 기초하여 로봇의 위치를 식별하는 로봇 및 그 제어 방법을 제공함에 있다.
이상과 같은 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 로봇은, 제1 축을 기초로 회전 가능한 본체, 상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠, 상기 제2 축 상에 구비된 적어도 하나의 거리 센서 및 상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 상기 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하고, 상기 본체가 회전됨에 따라 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하고, 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 프로세서를 포함할 수 있다.
여기서, 상기 한 쌍의 구동 휠은, 상기 본체가 상기 제1 축 및 상기 제2 축 각각에 수직인 제3 축 방향으로 이동하도록 구비될 수 있다.
또한, 상기 적어도 하나의 거리 센서는, 상기 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 상기 본체의 제1 영역에 배치된 제1 거리 센서 및 상기 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 상기 본체의 제2 영역에 배치된 제2 거리 센서를 포함할 수 있다.
여기서, 상기 제1 거리 센서 및 상기 제2 거리 센서는, ToF(Time of Flight) 센서로 구현될 수 있다.
한편, 기울기 센서를 더 포함하며, 상기 프로세서는, 상기 복수의 제1 거리 정보 및 상기 복수의 제2 거리 정보 중 상기 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 상기 맵 상에서 상기 본체가 위치한 지점에 대한 정보를 획득할 수 있다.
또한, 상기 본체는 임계 크기 이하의 구형이고, 상기 한 쌍의 구동 휠은 상호 이격되어 상기 구형의 본체 외측에서 상기 본체를 감싸도록 구비될 수 있다.
여기서, 상기 맵은, 상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 상기 프로세서는, 상기 본체의 지름, 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 제3 거리 정보를 획득하고, 상기 맵 상에 포함된 거리 정보 중 상기 제3 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별할 수 있다.
한편, 상기 맵은, 상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 상기 프로세서는, 상기 맵 상에 포함된 거리 정보 중 상기 제1 거리 정보 및 상기 제2 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별할 수 있다.
여기서, 상기 프로세서는, 상기 맵 상에서 상기 로봇이 위치한 지점에 대응되는 거리 정보 및 상기 지점에서 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보에 기초하여 상기 맵 상의 거리 정보를 업데이트할 수 있다.
한편, 본 발명의 일 실시 예에 따른 제1 축을 기초로 회전 가능한 본체 및 상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠을 포함하는 로봇의 제어 방법은, 상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하는 단계, 상기 본체가 회전됨에 따라 상기 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하는 단계 및 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계를 포함할 수 있다.
여기서, 상기 한 쌍의 구동 휠은, 상기 본체가 상기 제1 축 및 상기 제2 축 각각에 수직인 제3 축 방향으로 이동되도록 구비될 수 있다.
또한, 상기 적어도 하나의 거리 센서는, 상기 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 상기 본체의 제1 영역에 배치된 제1 거리 센서 및 상기 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 상기 본체의 제2 영역에 배치된 제2 거리 센서를 포함할 수 있다.
여기서, 상기 제1 거리 센서 및 상기 제2 거리 센서는, ToF(Time of Flight) 센서로 구현될 수 있다.
한편, 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계는, 상기 복수의 제1 거리 정보 및 상기 복수의 제2 거리 정보 중 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 상기 맵 상에서 상기 본체가 위치한 지점에 대한 정보를 획득할 수 있다.
또한, 상기 본체는 임계 크기 이하의 구형이고, 상기 한 쌍의 구동 휠은 상호 이격되어 상기 구형의 본체 외측에서 상기 본체를 감싸도록 구비될 수 있다.
본 개시의 다양한 실시 예에 따르면, 로봇의 주행 과정에서 발생하는 다양한 상황에서 복수의 방향을 기초로 획득된 신뢰도 높은 거리 정보를 이용하여 공간 내에서 로봇의 위치를 정확하게 식별할 수 있게 된다.
도 1은 실내 공간을 주행하는 로봇에 대해 설명하기 위한 도면이다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 3a 및 3b는 로봇의 거리 센서가 구비되는 위치에 따른 센싱 범위를 설명하기 위한 도면이다.
도 4는 본 개시의 일 실시 예에 따른 로봇의 이동 및 회전 동작에 따른 거리 정보 획득을 설명하기 위한 도면이다.
도 5a 및 5b는 본 개시의 일 실시 예에 따른 거리 센서의 개수에 따른 로봇의 회전 동작을 설명하기 위한 도면이다.
도 6은 본 개시의 일 실시 예에 따른 로봇이 특정 방향으로 기울어지는 경우의 거리 정보 획득을 설명하기 위한 도면이다.
도 7a 및 7b는 본 개시의 일 실시 예에 따른 로봇의 이동 또는 회전 동작에 따라 획득된 거리 정보에 기초한 위치 식별 방법을 설명하기 위한 도면이다.
도 8은 본 개시의 일 실시 예에 따른 로봇이 맵 상의 거리 정보를 업데이트하는 방법을 설명하기 위한 도면이다.
도 9는 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 구체적으로 설명하기 위한 블록도이다.
도 10은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
-
이하에서는 첨부 도면을 참조하여 본 개시를 상세히 설명한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서(미도시)로 구현될 수 있다.
본 개시에서 사용자라는 용어는 로봇을 사용하는 사람을 지칭할 수 있다. 이하 첨부된 도면들을 참조하여 본 개시의 일 실시 예를 보다 상세하게 설명한다.
도 1은 실내 공간을 주행하는 로봇에 대해 설명하기 위한 도면이다.
도 1을 참조하면, 로봇(100)이 주행하는 공간(200)에는 다양한 오브젝트(210, 220)가 존재할 수 있다. 이 경우, 로봇(100)이 공간(200)을 무리 없이 주행하기 위해서는 오브젝트(210,220)의 위치와 로봇(100)의 위치를 식별할 필요가 있다.
특히, 로봇(100)은 공간(200)에 대응되는 맵 데이터에 기초하여 오브젝트(210,220)의 위치와 로봇(100)의 위치를 식별할 수 있다. 여기서, 맵 데이터는 로봇(100)에 구비된 메모리(미도시)에 기 저장되어 있거나, 외부 서버(미도시)로부터 실시간으로 다운로드될 수 있다. 일 예에 따라, 맵 데이터에는 공간(200) 및 공간에 포함된 오브젝트(210, 220)에 대한 정보가 포함될 수 있다.
이에 따라 일 예에 따른 로봇(100)은 로봇으로부터 공간(200)의 벽면 또는 공간(200) 내에 위치하는 오브젝트(210, 220)까지의 거리를 측정함으로써 로봇(100)의 위치를 식별할 수 있다.
하지만, 로봇(100)에 구비된 거리 센서의 센싱 범위는 로봇(100)의 모션에 따라 변화할 수 있다. 예를 들어, 로봇(100)이 특정 방향으로 기울어지는 모션에 의해 로봇(100)에 구비된 거리 센서의 화각 역시 특정 방향으로 기울어질 수 있다. 여기서, 일 예에 따른 로봇(100)의 모션은 로봇(100)의 감ㆍ가속에 의해 유발된 것일 수 있다. 또한, 로봇(100)이 일정한 속도로 주행하는 경우에도 지면의 경사 및 요철 또는 제어 상의 한계로 인하여 로봇(100)이 특정 방향으로 기울어지는 모션이 발생할 수 있다.
이와 같이 거리 센서의 화각이 기울어진 상태에서 획득된 거리 정보는 로봇(100)으로부터 공간(200)의 벽면이나 오브젝트(210, 220)까지의 거리가 아닌 로봇(100)으로부터 공간(200)의 지면 또는 천장까지의 거리에 대응되는 정보일 수 있다.
따라서, 일 예에 따른 로봇(100)은 거리 센서의 화각이 기울어진 경우 로봇(100)의 주행에 도움이 되지 않는 왜곡된 정보를 획득하게 되므로, 로봇(100)의 주행과정에서 특정 모션이 발생하더라도 거리 센서의 센싱 범위의 왜곡 없이 신뢰도 높은 거리 정보를 획득하는 것이 중요할 수 있다.
이에 따라, 이하에서는 로봇이 주행 과정에서 발생하는 다양한 상황에서 신뢰도 높은 거리 정보를 획득함으로써 공간 내에서 로봇의 위치를 정확하게 식별할 수 있는 다양한 실시 예에 대해 좀더 구체적으로 설명하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 2를 참조하여, 본 개시의 일 실시 예에 따른 로봇(100)은 본체(110), 구동 휠(120), 거리 센서(130) 및 프로세서(140)를 포함할 수 있다.
본체(110)는 로봇(100)의 프레임 및 프레임에 포함된 다양한 하드웨어를 포함하는 구성이다. 구체적으로, 본체(110)는 플라스틱, 금속 등의 소재로 이루어진 프레임 및 프레임 상에 회로적으로 구현된 하드웨어 모듈을 포함할 수 있다. 일 예에 따른 본체(110)는 구의 형상으로 구현될 수 있으나, 이에 한정되는 것은 아니다. 또한, 본체(110)의 내부에는 프로세서(140)가 포함되어 있을 수 있다.
일 예에 따른 본체(110) 양 측면에는 상호 이격되어 본체를 감싸는 구조로 형성된 구동 휠이 구비될 수 있으며, 본체(110)는 구동 휠(120)의 회전에 따라 제1 축을 기초로 회전할 수 있다. 여기서, 제1 축은 로봇(100)이 위치한 지면에 수직한 방향의 축에 대응될 수 있다.
구동 휠(120)은 로봇(100)을 주행시킬 수 있는 장치이다. 구동 휠(120)은 주행시 회전하는 주행 장치 및 주행 장치를 회전시키는 구동부를 포함하는 구성이다. 일 예에 따르면, 구동 휠(120)에 포함된 주행 장치는 구의 일부를 잘라 낸 형상의 바퀴로 구현될 수 있으나 이에 한정되는 것은 아니다. 일 예에 따르면, 주행 장치는 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 본체(110)에 구비될 수 있다. 여기서, 제2 축은 제1 축과 수직이면서 지면에 평행한 방향의 축에 대응될 수 있다.
구동부는 프로세서(140)의 제어에 따라 주행 방향 및 주행 속도를 조절할 수 있다. 이를 위해, 구동부는 로봇(100)이 주행하기 위한 동력을 발생시키는 동력발생장치(예: 전기 모터 등)를 포함할 수 있다.
이상에서는 구동 휠(120)에 주행 장치 및 구동부가 포함되는 것으로 설명하였으나, 이하에서는 설명의 편의상 구동 휠(120)은 로봇(100)의 외관상 드러나는 주행 장치를 의미하는 것을 전제로 로봇(100)의 동작을 설명하도록 한다. 또한, 구동 휠(120)은 본체(110)의 양 측면에 구비된 한 쌍의 바퀴로 구현되는 것을 전제로 로봇(100)의 동작을 설명하도록 한다.
일 예에 따르면, 한 쌍의 바퀴가 같은 방향으로 회전하는 경우 로봇(100)은 일정한 방향으로 직진할 수 있으며, 한 쌍의 바퀴가 반대 방향으로 회전하는 경우 로봇(100)은 고정된 위치에서 일정한 방향으로 회전할 수 있다.
거리 센서(130)는 거리 정보를 획득할 수 있다. 구체적으로, 거리 센서(130)는 로봇(100)의 위치와 오브젝트의 위치 사이의 거리를 측정할 수 있다. 일 예에 따른 거리 센서(130)는 라이다(LIDAR, Light Detection And Ranging), 뎁스 카메라(Depth Camera) 또는 TOF(Time of flight) 센서로 구현될 수 있다.
일 예에 따르면, 거리 센서(130)는 구동 휠(120) 상에 구비될 수 있다. 일 예에 따르면, 거리 센서(130)는 제2 축이 구동 휠(120)의 표면을 교차하는 지점에 구비될 수 있다. 또한, 로봇(100)은 복수의 거리 센서(130)를 구비할 수도 있다.
프로세서(140)는 로봇(100)의 동작을 전반적으로 제어한다. 구체적으로, 프로세서(140)는 로봇(100)의 각 구성과 연결되어 로봇(100)의 동작을 전반적으로 제어할 수 있다. 예를 들어, 프로세서(140)는 본체(110), 구동 휠(120) 및 거리 센서(130)와 연결되어 로봇(100)의 동작을 제어할 수 있다.
일 실시 예에 따라 프로세서(140)는 디지털 시그널 프로세서(digital signal processor(DSP), 마이크로 프로세서(microprocessor), 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), NPU(Neural Processing Unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)) 등 다양한 이름으로 명명될 수 있으나, 본 명세서에서는 프로세서(140)로 기재한다.
프로세서(140)는 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 또한, 프로세서(140)는 SRAM 등의 휘발성 메모리를 포함할 수 있다.
본 개시의 일 실시 예에 따른 프로세서(140)는 본체(110)가 이동됨에 따라 본체(110)가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서(130)를 통해 복수의 제1 거리 정보를 획득할 수 있다. 예를 들어, 복수의 상이한 지점은 상호 일정 거리 이격된 지점일 수 있다. 구체적으로, 프로세서(140)는 로봇(100)이 일정한 방향으로 이동하게 하기 위해 한 쌍의 구동 휠(120)이 같은 방향으로 회전하도록 제어하고, 로봇(100)이 일정한 방향으로 이동하는 동안 상이한 지점에서 거리 센서(130)에 의해 여러 차례 측정된 복수의 제1 거리 정보를 획득할 수 있다.
여기서, 거리 정보는 하나 이상의 거리 센서(130)로부터 감지된 공간의 벽면 또는 오브젝트까지의 거리에 대한 정보일 수 있다. 이하에서는 설명의 편의상 공간 내에 포함된 장애물 뿐만 아니라 공간의 벽면 역시 '오브젝트'라는 용어로 표현하도록 한다.
또한, 프로세서(140)는 본체(110)가 회전됨에 따라 본체(110)가 지향하는 복수의 상이한 방향에서 적어도 하나의 거리 센서(130)를 통해 복수의 제2 거리 정보를 획득할 수 있다. 구체적으로, 프로세서(140)는 로봇(100)이 고정된 위치에서 일정한 방향으로 회전하게 하기 위해 한 쌍의 구동 휠(120)이 각자 반대 방향으로 회전하도록 제어하고, 로봇(100)이 일정한 방향으로 회전하는 동안 거리 센서(130)에 의해 상이한 방향으로 여러 차례 측정된 복수의 제2 거리 정보를 획득할 수 있다.
일 예에 따른 프로세서(140)는 획득된 제1 거리 정보 및 제2 거리 정보에 기초하여 로봇(100)이 위치한 공간이 대응되는 맵 상에서 로봇(100)이 위치한 지점에 대한 정보를 획득할 수 있다.
여기서, 한 쌍의 구동 휠(120)은 본체(110)가 제1 축 및 제2 축 각각에 수직인 제3 축 방향으로 이동하도록 구비될 수 있다. 구체적으로, 한 쌍의 구동 휠(120)이 반대 방향으로 회전함에 따라 본체(110)가 회전하는 제1 축을 Z 축, 한 쌍의 구동 휠(120)이 각각 회전하는 제2 축을 Y 축이라고 한다면, 구동 휠(120)은 로봇(100)이 X 축 방향으로 이동할 수 있도록 구비될 수 있다.
또한, 일 예에 따른 거리 센서(130)는 한 쌍의 구동 휠(120) 중 제1 구동 휠에 인접한 본체(110)의 제1 영역에 배치된 제1 거리 센서 및 제2 구동 휠에 인접한 본체(110)의 제2 영역에 배치된 제2 거리 센서를 포함할 수 있다. 구체적으로, 거리 센서(130)는 제2 축이 한 쌍의 구동 휠(120)의 표면과 교차하는 두 지점에 각각 구비될 수 있다.
여기서, 일 예에 따른 제1 거리 센서 및 제2 거리 센서는 ToF(Time of Flight) 센서로 구현될 수 있다. ToF 센서는 발광부와 수광부를 포함할 수 있다. ToF 센서에 포함된 수광부는 발광부로부터 조사된 빛이 오브젝트에 의해 반사된 것을 감지할 수 있다. 프로세서(140)는 발광부로부터 조사된 빛이 수광부에 수신되기까지 경과한 시간에 기초하여 센서로부터 오브젝트까지의 거리를 식별할 수 있다.
여기서, 일 예에 따른 수광부는 M*N 배열을 갖는 2D 어레이 형태로 구현될 수 있다. 또한, ToF 센서의 센싱 범위(또는 화각)은 제조사 및 로봇(100)의 사용자가 임의로 설정할 수 있으나, 본 원에서 개시하는 로봇(100)의 경우 센서로부터 오브젝트에 이르는 거리를 식별하는 기능을 강화하기 위해 좁은 센싱 범위를 갖는 ToF 센서를 구비할 수 있다.
한편, 일 예에 따른 로봇(100)은 기울기 센서를 더 포함할 수 있다. 여기서, 기울기 센서는 로봇(100)이 특정 방향으로 기울어지는지를 감지할 수 있는 센서이며, 일 예에 따른 기울기 센서는 자이로 센서(Gyro Sensor)로 구현될 수 있다.
일 예에 따르면, 프로세서(140)는 복수의 제1 거리 정보 및 복수의 제2 거리 정보 중 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 맵 상에서 본체(110)가 위치한 지점에 대한 정보를 획득할 수 있다.
한편, 일 예에 따른 로봇(100)은 본체(110)가 임계 크기 이하의 구형인 소형 로봇으로 구현될 수 있다. 이 경우 한 쌍의 구동 휠(120)은 상호 이격되어 구형의 본체(110) 외측에서 본체를 감싸도록 구비될 수 있다.
여기서, 로봇(100)이 위치한 공간에 대응되는 맵은 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함할 수 있다. 구체적으로, 맵은 로봇(100)이 위치한 공간의 각 지점에 대응되는 좌표에 오브젝트가 위치하는지 여부에 관한 정보 및 각 좌표와 해당 좌표로부터 일정한 방향에 위치한 오브젝트까지의 거리에 관한 정보를 포함할 수 있다.
일 예에 따른 프로세서(140)는 본체(110)의 지름, 제1 거리 정보 및 제2 거리 정보에 기초하여 제3 거리 정보를 획득할 수 있다.
로봇(100)의 본체(110)가 일정한 지름을 갖는 구형인 경우, 로봇(100)의 중심에 대응되는 좌표, 즉 로봇(100)의 위치로부터 오브젝트까지의 거리는 각 거리 센서로부터 오브젝트까지의 거리에 본체(110)의 반지름을 더한 값이 된다. 이에 따라, 제3 거리 정보는 로봇(100)의 위치로부터 오브젝트까지의 거리에 관한 정보를 포함할 수 있다.
이어서, 프로세서(140)는 맵 상에 포함된 거리 정보 중 제3 거리 정보와 일치하는 거리 정보를 식별하고, 식별된 거리 정보에 대응되는 지점을 로봇(100)이 위치하는 지점으로 식별할 수 있다. 이와 관련된 구체적인 로봇(100)의 동작은 도 7a 및 7b를 통해 자세히 설명하도록 한다.
한편, 로봇(100)이 위치한 공간에 대응되는 맵은 로봇(100)의 지름 또는 거리 센서의 배치와 같은 로봇(100)의 스펙에 기초한 거리 정보를 포함할 수 있다. 구체적으로, 맵은 특정 좌표에 위치한 로봇(100)이 일정한 방향을 지향하는 경우 구비된 거리 센서(130)로부터 오브젝트까지의 거리에 관한 정보를 포함할 수 있다.
이 경우, 프로세서(140)는 맵 상에 포함된 거리 정보 중 제1 거리 정보 및 제2 거리 정보와 일치하는 거리 정보를 식별하고, 식별된 거리 정보에 대응되는 지점을 로봇(100)이 위치한 지점으로 식별할 수 있다.
여기서, 일 예에 따른 프로세서(140)는 맵 상에서 로봇(100)이 위치한 지점에 대응되는 거리 정보 및 해당 지점에서 적어도 하나의 거리 센서(130)를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 적어도 하나의 거리 센서(130)를 통해 획득된 거리 정보에 기초하여 맵 상의 거리 정보를 업데이트할 수 있다.
여기서, 거리 정보 업데이트란 로봇이 위치한 지점에서 일정한 방향을 지향하는 경우 로봇(100)에 구비된 거리 센서(130)로부터 오브젝트까지의 거리에 관한 정보를 업데이트하는 것을 의미할 수 있다. 로봇(100)의 거리 정보 업데이트 동작에 대해서는 도 8을 통해 자세히 설명하도록 한다.
도 3a는 거리 센서(130)가 로봇(100)의 이동 방향을 센싱하도록 구비되는 경우의 센싱 범위의 변화를 설명하기 위한 도면이다. 로봇(100)이 주행 필요한 데이터를 획득하기 위해서는 거리 센서(130)는 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 필요가 있다.
도 3a를 참조하면, 로봇(100)은 본체(110) 상에 구비되며 로봇(100)의 이동 방향을 센싱하는 거리 센서(130)를 포함할 수 있다. 로봇(100)이 일정한 속도로 이동중이라면 거리 센서(130)의 센싱 범위(311)는 로봇의 이동 방향으로 형성되며, 로봇(100)은 거리 센서(130)에 의해 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 수 있다.
그러나, 로봇(100)이 감속 동작을 하는 경우에는 본체(110)가 기울어짐에 따라 거리 센서(130)의 센싱 범위(312)는 지면 쪽으로 하강하게 된다. 이 경우 거리 센서(130)에 의해 획득되는 거리 정보는 거리 센서(130)로부터 지면까지의 거리에 관한 정보이므로 로봇(100)은 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 수 없다.
이는 로봇(100)이 정지 상태에서 가속 동작을 하는 경우에도 발생할 수 있다. 가속 동작을 하는 로봇(100)은 거리 센서(130)의 센싱 범위가 천장 쪽으로 상승하게 되므로 오브젝트를 감지할 수 없게 된다. 또한, 로봇(100)의 감ㆍ가속 동작 외에도 지면의 기울기에 따라 거리 센서(130)의 센싱 범위가 변화할 수 있다.
도 3b는 거리 센서(130)가 구동 휠(120)의 회전축 상에 구비되는 경우 거리 센서(130)의 센싱 범위를 설명하기 위한 도면이다.
도3b를 참조하면, 지면과 수직한 Z축(10), 구동 휠(120)의 회전 축인 Y축(20) 및 로봇(100)의 이동 방향 일치하는 X축(30)이 도시되어 있다. 본 개시의 일 실시 예에 따른 거리 센서(130)는 구동 휠(120)의 회전축인 Y축(20) 상에 구비될 수 있다.
본 명세서에서는 로봇(100) 내지 본체(110)의 지향 방향 이라는 용어는 로봇(100)의 이동 방향과 일치하는 X축(30)과 동일한 의미로 사용될 수 있다.
이 경우 거리 센서(130)의 센싱 범위(320)는 Y축(20)을 중심으로 임계 범위 내의 영역에 걸쳐 형성되며, 로봇(100)은 거리 센서(130)에 의해 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 수 있다.
본 개시의 일 실시 예에 따른 로봇(100)은 감속 또는 가속 동작에도 불구하고 거리 센서(130)의 센싱 범위(320)가 변화하지 않으므로 로봇(100)이 위치하는 Z 축 상의 영역에 분포하는 오브젝트를 감지할 수 있게 된다.
도 4는 본 개시의 일 실시 예에 따른 로봇의 이동 및 회전 동작에 따른 거리 정보 획득을 설명하기 위한 로봇(100) 및 실내 공간(200)의 평면도이다.
본 개시의 일 실시 예에 따른 거리 센서(130)는 한 쌍의 구동 휠 중 제1 구동 휠(121)에 인접한 본체(110)의 제1 영역에 배치된 제1 거리 센서(131) 및 한 쌍의 구동 휠 중 제2 구동 휠(122)에 인접한 본체(110)의 제2 영역에 배치된 제2 거리 센서(132)를 포함할 수 있다. 여기서, 일 예에 따른 제1 및 제2 거리 센서(131, 132)는 ToF 센서로 구현될 수 있다.
일 예에 따르면, 로봇(100)은 공간(200) 내의 다양한 위치에 분포하는 오브젝트에 대한 정보를 획득하기 위해 본체(110)를 이동시키거나 회전시킬 수 있으며, 로봇(100)은 본체(110)가 이동하거나 회전하는 동안 거리 센서(130)를 통해 복수의 상이한 지점 또는 방향에서 측정한 거리 정보를 획득함으로써 오브젝트 센싱의 범위와 정확도를 향상시킬 수 있다.
이하에서는 상술한 로봇(100)의 동작을 구체적으로 설명한다. 먼저, 도 4에는 실내 공간(200)을 주행하는 로봇(100)이 도시되어 있다. 로봇(100)은 도 4의 하단부에서 출발하여 도 4의 상단부 방향으로 이동할 수 있다. 이 경우 로봇(100)은 본체(110)가 이동됨에 따라 본체(110)가 위치하는 복수의 상이한 지점에서 제1 및 제2 거리 센서(131, 132)를 통해 복수의 제1 거리 정보(410 내지 413, 420 내지 423)를 획득할 수 있다.
로봇(100)은 최초의 위치(400)에서 제1 거리 센서(131)를 통해 오브젝트에 대한 거리 정보(410)를, 제2 거리 센서(132)를 통해 오브젝트에 대한 거리 정보(420)를 획득할 수 있다. 이어서 로봇(100)의 최종 위치(403)에 이르기 까지 로봇(100)은 제1 거리 센서(131)에 의해 복수의 오브젝트에 대한 거리 정보(411, 412, 413)를, 제2 거리 센서(132)를 통해 복수의 오브젝트에 대한 거리 정보(421, 422, 423)를 각각 획득할 수 있다.
일 예에 따르면, 본체(110)가 이동됨에 특정한 지점(402)에서 제2 거리 센서(132)에 의해 획득된 거리 정보(422)는 로봇(100)으로부터 실내 공간(200)에 위치하는 장애물(220)까지의 거리에 관한 정보를 포함할 수 있다.
또한, 로봇(100)은 최종 위치(403)에서 반시계 방향으로 회전할 수 있다. 이 경우 로봇(100)은 본체(110)가 회전됨에 따라 본체(110)가 지향하는 복수의 상이한 방향에서 제1 및 제2 거리 센서(131, 132)를 통해 복수의 제2 거리 정보(414 내지 419, 424 내지 429)를 획득할 수 있다. 도 4에서 본체(110)가 지향하는 방향은 제1 및 제2 거리 센서(131,132)를 연결한 직선과 수직하며, 지면에 평행한 직선의 방향일 수 있다.
로봇(100)은 최초의 방향에서 제1 거리 센서(131)를 통해 오브젝트에 대한 거리 정보(414)를, 제2 거리 센서(132)를 통해 오브젝트에 대한 거리 정보(424)를 획득할 수 있다. 이어서 로봇(100)의 최종 방향에 이르기 까지 로봇(100)은 제1 거리 센서(131)에 의해 복수의 오브젝트에 대한 거리 정보(415 내지 419)를, 제2 거리 센서(132)를 통해 복수의 오브젝트에 대한 거리 정보(425 내지 429)를 각각 획득할 수 있다.
일 예에 따르면, 본체(110)가 회전됨에 특정한 방향에서 제1 거리 센서(131)에 의해 획득된 거리 정보(418)는 로봇(100)으로부터 실내 공간(200)에 위치하는 장애물(210)까지의 거리에 관한 정보를 포함할 수 있다.
일 예에 따른 로봇(100)은 획득된 제1 거리 정보(410 내지 419), 제2 거리 정보(420 내지 429) 및 실내 공간(200)의 맵 상의 복수의 지점 각각에 대응되는 거리 정보에 기초하여 로봇(100)의 위치를 식별할 수 있다.
도 4에서는 로봇(100)이 일 방향으로 이동하는 경우 4회, 고정된 위치에서 일 방향으로 회전하는 경우 6회의 거리 정보 획득을 도시하였으나, 거리 정보 획득의 주기 또는 빈도는 도 4에서 도시한 바와 달리 얼마든지 변경 가능함은 물론이다.
도 5a 및 5b는 본 개시의 일 실시 예에 따른 거리 센서의 개수에 따른 로봇의 회전 동작을 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 로봇(100)은 본체(100)가 회전됨에 따라 본체(100)가 지향하는 복수의 상이한 방향에서 적어도 하나의 거리 센서를 통해 복수의 거리 정보를 획득할 수 있다.
도 5a를 참조하면, 일 예에 따른 로봇(100)은 한 쌍의 구동 휠 중 제1 구동 휠(121)에 인접한 본체(110)의 일 영역에 배치된 제1 거리 센서(131)를 구비할 수 있다. 로봇(100)은 본체(110)가 360도 회전(510)함에 따라 본체(110)가 지향하는 복수의 상이한 방향에서 제1 거리 센서(131)를 통해 복수의 거리 정보를 획득할 수 있다.
구체적으로, 로봇(100)은 본체(110)가 회전하는 도중 기 설정된 주기마다 제1 거리 센서(131)의 센싱 범위(21)에 대응되는 거리 정보를 획득할 수 있다. 로봇(100)이 지향하는 방향은 로봇의 진행 방향과 일치하는 X축(미도시) 방향이므로, 로봇(100)은 지향하는 방향과 수직하고, 지면에 평행인 방향(21)에 대응되는 거리 정보를 획득할 수 있다.
도 5a에서는 로봇(100)이 본체(110)가 60도 회전할 때마다 총 6회에 걸쳐 거리 정보를 획득하는 것으로 도시하였으나, 거리 정보 획득의 주기 또는 빈도는 얼마든지 다르게 설정될 수 있다.
도 5b를 참조하면, 일 예에 따른 로봇(100)은 한 쌍의 구동 휠 중 제1 구동 휠(121)에 인접한 본체(110)의 일 영역에 배치된 제1 거리 센서(131) 및 제2 구동 휠(122)에 인접한 본체(110)의 일 영역에 배치된 제2 거리 센서(132)를 구비할 수 있다.
로봇(100)은 본체(110)가 180도 회전(520)함에 따라 본체(110)가 지향하는 복수의 상이한 방향에서 제1 거리 센서(131) 및 제2 거리 센서(132)를 통해 복수의 거리 정보를 획득할 수 있다.
구체적으로, 로봇(100)은 본체(110)가 회전하는 도중 기 설정된 주기마다 제1 거리 센서의 센싱 범위(21) 및 제2 거리 센서의 센싱 범위(22)에 대응되는 거리 정보를 획득할 수 있다.
도 5a 및 5b에 도시한 바와 같이 로봇(100)이 제1 구동 휠(121) 및 제2 구동 휠(122) 상에 두 개의 거리 센서(131, 132)를 구비하는 경우, 하나의 거리 센서(131)를 구비하는 경우보다 본체(110)를 조금 회전시키고도 동일한 양의 거리 정보를 획득할 수 있게 된다.
도 6은 본 개시의 일 실시 예에 따른 로봇이 특정 방향으로 기울어지는 경우의 거리 정보 획득을 설명하기 위한 도면이다.
본 개시의 일 실시 예에 따른 로봇(100)은 기울기 센서(미도시)를 더 포함할 수 있다. 로봇(100)은 기울기 센서를 통해 본체(110)가 특정 방향으로 기울었는지 여부에 관한 정보(이하, 기울기 정보)를 획득할 수 있다. 일 예에 따른 기울기 센서는 자이로 센서(Gyro Sensor)로 구현될 수 있다.
구체적으로, 로봇(100)은 기울기 센서(130)를 통해 로봇(100)이 로봇의 진행 방향에 대응되는 제3 축(30)을 기초로 회전했는지 여부에 관한 정보를 획득할 수 있다.
본체(110)가 제1 축(10) 또는 제2 축(20)을 기초로 회전하는 경우에는 로봇(100)이 위치하는 제1 축(10) 상의 영역에 분포하는 오브젝트가 거리 센서(130)의 센싱 범위 내에 포함되지만, 본체(110)가 제3 축(30)을 기초로 회전하는 경우에는 거리 센서(130)의 센싱 범위가 지면 또는 천장 방향으로 왜곡될 수 있다.
따라서, 로봇(100)은 기울기 센서에 의해 획득된 기울기 정보가 제3 축(30) 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 맵 상에서 본체(110)가 위치한 지점에 대한 정보를 획득할 수 있다.
이에 따라 로봇(100)은 거리 센서(130)를 구동 휠(120)의 회전축(20) 상에 구비하더라도 방지할 수 없는 센싱 범위의 왜곡에도 불구하고 신뢰도 높은 거리 정보를 획득할 수 있게 된다.
도 7a 및 7b는 본 개시의 일 실시 예에 따른 로봇의 이동 또는 회전 동작에 따라 획득된 거리 정보에 기초한 위치 식별 방법을 설명하기 위한 도면이다.
도 7a를 참조하면, 본 개시의 일 실시 예에 따른 로봇(100)은 제1 거리 센서(131) 및 제2 거리 센서(132)를 구비할 수 있다. 로봇(100)은 본체(110)가 최초의 위치(701)에서부터 최종 위치(703)에 이르기 까지 제1 거리 센서(131)에 의해 센싱된 거리 정보(711, 712, 713) 및 제2 거리 센서(132)에 의해 센싱된 거리 정보(721, 722, 723)를 획득할 수 있다.
여기서, 본체(110)가 이동됨에 따라 특정한 지점(702)에서 제2 거리 센서(132)에 의해 획득된 거리 정보(722)는 로봇(100)으로부터 실내 공간(200)에 위치하는 장애물(210)까지의 거리에 관한 정보를 포함할 수 있다.
로봇(100)은 획득한 거리 정보 및 공간(200)에 대응되는 맵에 포함된 거리 정보에 기초하여 로봇(100)의 위치를 식별할 수 있다. 구체적으로, 공간(200)의 벽면이 직사각형 구조로 배치되어 있는 경우, 로봇(100)은 제1 거리 센서(131)에 의해 센싱된 거리 제2 거리 센서(132)에 의해 센싱된 거리의 합이 일정한 구간에 대응되는 거리 정보 및 로봇의 이동 속도에 기초하여 로봇(100)의 이동 방향과 공간(200)의 각 벽면 사이의 각도를 식별할 수 있다.
예를 들어, 로봇(100)이 장애물(210)을 식별한 직후부터 최종 위치(703)에 이르기까지는 제1 거리 센서(131)에 의해 센싱된 거리와 제2 거리 센서(132)에 의해 센싱된 거리의 합이 일정하므로, 로봇(100)은 해당 구간에 대응되는 거리 정보 및 로봇(100)의 속도에 기초하여 로봇(100)의 이동 방향과 공간(200)의 각 벽면 사이의 각도를 식별할 수 있다.
나아가, 로봇(100)은 거리 센서가 센싱한 벽면의 모서리를 식별할 수 있다. 일 예에 따르면 로봇(100)이 최초의 위치(701)에서 이동하는 경우 제2 거리 센서(132)에 의해 센싱된 거리는 증가하다가 감소할 수 있다. 구체적으로, 제2 거리 센서(132)에 의해 센싱된 거리는 센싱 범위 내에 공간(200)의 우측 상단의 모서리가 포함되는 시점 이전에는 증가하다가, 해당 시점 이후에는 감소할 수 있다. 이에 기초하여 로봇(100)은 공간(200)의 벽면의 모서리를 식별할 수 있게 된다.
결과적으로 로봇(100)은 식별된 각도, 모서리 및 맵에 포함된 장애물(210)의 위치 정보에 기초하여 로봇(100)의 위치를 식별할 수 있게 된다.
도 7b를 참조하면, 본 개시의 일 실시 예에 따른 로봇(100)은 본체(110)가 반시계 방향으로 회전하도록 구동 휠(120)을 제어할 수 있다. 로봇(100)은 본체(110)가 회전됨에 따라 제1 거리 센서(131)에 의해 센싱된 거리 정보(731, 732, 733) 및 제2 거리 센서(132)에 의해 센싱된 거리 정보(741, 742, 743)를 획득할 수 있다.
여기서, 본체(110)가 회전됨에 따라 특정한 방향에서 제2 거리 센서(132)에 의해 획득된 거리 정보(742)는 로봇(100)으로부터 실내 공간(200)에 위치하는 장애물(220)까지의 거리에 관한 정보를 포함할 수 있다.
로봇(100)은 획득된 거리 정보 및 맵에 포함된 공간(200) 내 특정 좌표와 해당 좌표에 위치한 로봇(100)의 거리 센서로부터 일정한 방향에 위치한 오브젝트까지의 거리에 관한 정보에 기초하여 로봇(100)의 위치를 식별할 수 있다.
본 개시의 일 실시 예에 따르면 로봇(100)이 위치를 식별하기 위해 GPS 또는 IMU와 같은 장치를 구비할 필요가 없어 저렴한 비용으로 로봇(100)을 생산할 수 있는 이점이 있다. 또한, 로봇(100)의 감속 또는 가속과 관련된 거리 인식에 대한 보상 알고리즘 없이도 로봇(100)의 위치를 식별할 수 있으므로 프로세서(140)의 연산량을 줄일 수 있게 된다.
도 8은 본 개시의 일 실시 예에 따른 로봇이 맵 상의 거리 정보를 업데이트하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 공간(200)은 가로 길이가 400cm 인 직사각형 형태일 수 있다. 일 예에 따른 로봇(100)은 10cm의 반지름을 갖는 구형의 본체(110)를 구비할 수 있다. 로봇(100)은 본체(110)의 반지름과 제1 거리 센서(131) 및 제2 거리 센서(132)에 의해 획득된 거리 정보에 기초하여 로봇(100)의 중심 위치와 오브젝트 사이의 거리 정보를 획득할 수 있다.
일 예에 따르면, 로봇(100)은 제1 거리 센서(131)로부터 센싱된 거리인 190cm에 본체(110)의 반지름인 10cm를 더한 200cm를 로봇(100)의 중심 위치와 공간(200)의 좌측 벽면 사이의 거리인 것으로 식별할 수 있다. 또한, 로봇(100)은 제2거리 센서(132)로부터 센싱된 거리인 190cm에 본체(110)의 반지름인 10cm를 더한 200cm를 로봇(100)의 중심 위치와 공간(200)의 우측 벽면 사이의 거리인 것으로 식별할 수 있다.
이 경우 로봇(100)은 맵 상에 포함된 거리 정보 중 식별된 거리 정보와 일치하는 거리 정보에 대응되는 지점을 로봇(100)이 위치한 지점으로 식별할 수 있다.
한편, 공간(200)에 대응되는 맵은 공간(200)에 장애물이 새로이 비치되거나 비치된 장애물의 위치가 바뀌는 경우 업데이트될 필요가 있다. 도 8을 참조하면, 공간(200)의 우측 벽면에 가로 10cm, 세로 20cm의 직사각형 형태를 갖는 장애물(210)이 위치하는 경우 로봇(100)은 해당 장애물(210)에 관한 거리 정보에 기초하여 맵을 업데이트할 수 있다.
구체적으로, 로봇(100)은 본체(110)가 공간(200)의 가로 방향 벽면과 수직한 방향으로 이동함에 따라 특정 구간에서 제2 거리 센서(132)가 센싱한 거리가 180cm로 식별되는 경우, 제2 거리 센서(132)를 통해 획득된 거리 정보가 맵 상에서 해당 구간에 대응되는 거리 정보와 상이한 것으로 식별하고, 해당 구간에 장애물(210)이 위치하는 것으로 식별할 수 있다.
구체적으로, 로봇(100)은 이동 과정에서 장애물(210)의 세로 길이인 20cm에 대응되는 구간에서 제2 거리 센서(132)에 의해 센싱된 거리가 180cm인 것으로 식별하고, 해당 구간에 폭 10cm의 장애물(210)이 위치하는 것으로 식별하고, 이에 기초하여 맵 상의 거리 정보를 업데이트할 수 있다.
도 9는 본 개시의 일 실시 예에 따른 로봇의 기능적 구성을 구체적으로 설명하기 위한 블록도이다.
도 9에 따르면, 로봇(100')은 본체(110), 구동 휠(120), 거리 센서(130), 프로세서(140), 메모리(150), 통신 인터페이스(160) 및 기울기 센서(170)를 포함한다. 도 9에 도시된 구성 중 도 2에 도시된 구성과 중복되는 구성에 대해서는 자세한 설명을 생략하도록 한다.
거리 센서(130)는 제1 거리 센서(131) 및 제2 거리 센서(132)를 포함할 수 있다. 일 예에 따르면, 제1 거리 센서(131) 및 제2 거리 센서(132)는 서로 반대 방향에 위치한 오브젝트를 센싱할 수 있다.
메모리(150)는 본 개시의 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(150)는 데이터 저장 용도에 따라 로봇(100')에 임베디드된 메모리 형태로 구현되거나, 로봇(100')에 탈부착이 가능한 메모리 형태로 구현될 수도 있다. 예를 들어, 로봇(100')의 구동을 위한 데이터의 경우 로봇(100')에 임베디드된 메모리에 저장되고, 로봇(100')의 확장 기능을 위한 데이터의 경우 로봇(100')에 탈부착이 가능한 메모리에 저장될 수 있다. 한편, 로봇(100')에 임베디드된 메모리의 경우 휘발성 메모리(예: DRAM(dynamic RAM), SRAM(static RAM), 또는 SDRAM(synchronous dynamic RAM) 등), 비휘발성 메모리(non-volatile Memory)(예: OTPROM(one time programmable ROM), PROM(programmable ROM), EPROM(erasable and programmable ROM), EEPROM(electrically erasable and programmable ROM), mask ROM, flash ROM, 플래시 메모리(예: NAND flash 또는 NOR flash 등), 하드 드라이브, 또는 솔리드 스테이트 드라이브(solid state drive(SSD)) 중 적어도 하나로 구현될 수 있다. 또한, 로봇(100')에 탈부착이 가능한 메모리의 경우 메모리 카드(예를 들어, CF(compact flash), SD(secure digital), Micro-SD(micro secure digital), Mini-SD(mini secure digital), xD(extreme digital), MMC(multi-media card) 등), USB 포트에 연결가능한 외부 메모리(예를 들어, USB 메모리) 등과 같은 형태로 구현될 수 있다.
일 예에 따르면, 메모리(150)는 로봇(100')이 위치한 공간에 대응되는 맵을 저장할 수 있다.
통신 인터페이스(160)는 다양한 타입의 데이터를 입력 및 출력할 수 있다. 예를 들어 통신 인터페이스(160)는 AP 기반의 Wi-Fi(와이파이, Wireless LAN 네트워크), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet), IEEE 1394, HDMI(High-Definition Multimedia Interface), USB(Universal Serial Bus), MHL(Mobile High-Definition Link), AES/EBU(Audio Engineering Society/ European Broadcasting Union), 옵티컬(Optical), 코액셜(Coaxial) 등과 같은 통신 방식을 통해 외부 장치(예를 들어, 소스 장치), 외부 저장 매체(예를 들어, USB 메모리), 외부 서버(예를 들어 웹 하드)와 다양한 타입의 데이터를 송수신할 수 있다.
일 예에 따르면, 로봇(100')은 통신 인터페이스(160)를 통해 외부 서버에 저장된 맵을 다운로드할 수 있다.
도 10은 본 개시의 일 실시 예에 따른 제어 방법을 설명하기 위한 흐름도이다.
본 개시의 일 실시 예에 따라 제1 축을 기초로 회전 가능한 본체 및 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 본체에 구비된 한 쌍의 구동 휠을 포함하는 로봇의 제어 방법은 본체가 이동됨에 따라 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득할 수 있다(S1010). 이어서 본체가 회전됨에 따라 본체가 지향하는 복수의 상이한 방향에서 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득할 수 있다(S1020). 마지막으로, 제1 거리 정보 및 제2 거리 정보에 기초하여 로봇이 위치한 공간에 대응되는 맵 상에서 로봇이 위치한 지점에 대한 정보를 획득할 수 있다(S1030).
여기서, 적어도 하나의 거리 센서는 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 본체의 제1 영역에 배치된 제1 거리 센서 및 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 본체의 제2 영역에 배치된 제2 거리 센서를 포함할 수 있다.
여기서, 제1 거리 센서 및 제2 거리 센서는 ToF(Time of Flight) 센서로 구현될 수 있다.
한편, 로봇이 위치한 지점에 대한 정보를 획득하는 단계(S1030)는 복수의 제1 거리 정보 및 복수의 제2 거리 정보 중 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 맵 상에서 본체가 위치한 지점에 대한 정보를 획득할 수 있다.
또한, 본체는 임계 크기 이하의 구형이고, 한 쌍의 구동 휠은 상호 이격되어 구형의 본체 외측에서 본체를 감싸도록 구비될 수 있다.
여기서, 맵은 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 로봇이 위치한 지점에 대한 정보를 획득하는 단계(S1030)는 본체의 지름, 제1 거리 정보 및 제2 거리 정보에 기초하여 제3 거리 정보를 획득하는 단계 및 맵 상에 포함된 거리 정보 중 제3 거리 정보와 일치하는 거리 정보를 식별하고, 식별된 거리 정보에 대응되는 지점을 로봇이 위치한 지점으로 식별하는 단계를 포함할 수 있다.
한편, 맵은 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며, 로봇이 위치한 지점에 대한 정보를 획득하는 단계(S1030)는 맵 상에 포함된 거리 정보 중 제1 거리 정보 및 제2 거리 정보와 일치하는 거리 정보를 식별하고, 식별된 거리 정보에 대응되는 지점을 로봇이 위치한 지점으로 식별할 수 있다.
여기서, 맵 상에서 로봇이 위치한 지점에 대응되는 거리 정보 및 해당 지점에서 적어도 하나의 거리 센서를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 적어도 하나의 거리 센서를 통해 획득된 거리 정보에 기초하여 맵 상의 거리 정보를 업데이트하는 단계를 더 포함할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 설치 가능한 어플리케이션 형태로 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다.
또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버 또는 적어도 하나의 외부 서버를 통해 수행되는 것도 가능하다.
한편, 이상에서 설명된 다양한 실시 예들은 소프트웨어(software), 하드웨어(hardware) 또는 이들의 조합을 이용하여 컴퓨터(computer) 또는 이와 유사한 장치로 읽을 수 있는 기록 매체 내에서 구현될 수 있다. 일부 경우에 있어 본 명세서에서 설명되는 실시 예들이 프로세서(140) 자체로 구현될 수 있다. 소프트웨어적인 구현에 의하면, 본 명세서에서 설명되는 절차 및 기능과 같은 실시 예들은 별도의 소프트웨어 모듈들로 구현될 수 있다. 소프트웨어 모듈들 각각은 본 명세서에서 설명되는 하나 이상의 기능 및 동작을 수행할 수 있다.
한편, 상술한 본 개시의 다양한 실시 예들에 따른 로봇(100)의 프로세싱 동작을 수행하기 위한 컴퓨터 명령어(computer instructions)는 비일시적 컴퓨터 판독 가능 매체(non-transitory computer-readable medium) 에 저장될 수 있다. 이러한 비일시적 컴퓨터 판독 가능 매체에 저장된 컴퓨터 명령어는 특정 기기의 프로세서에 의해 실행되었을 때 상술한 다양한 실시 예에 따른 로봇(100)에서의 처리 동작을 특정 기기가 수행하도록 한다.
비일시적 컴퓨터 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 비일시적 컴퓨터 판독 가능 매체의 구체적인 예로는, CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등이 있을 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해 되어져서는 안될 것이다.

Claims (15)

  1. 로봇에 있어서,
    제1 축을 기초로 회전 가능한 본체;
    상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠;
    상기 제2 축 상에 구비된 적어도 하나의 거리 센서; 및
    상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 상기 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하고,
    상기 본체가 회전됨에 따라 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하고,
    상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 프로세서;를 포함하는 로봇.
  2. 제1항에 있어서,
    상기 한 쌍의 구동 휠은,
    상기 본체가 상기 제1 축 및 상기 제2 축 각각에 수직인 제3 축 방향으로 이동하도록 구비된, 로봇.
  3. 제1항에 있어서,
    상기 적어도 하나의 거리 센서는,
    상기 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 상기 본체의 제1 영역에 배치된 제1 거리 센서 및 상기 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 상기 본체의 제2 영역에 배치된 제2 거리 센서를 포함하는, 로봇.
  4. 제3항에 있어서,
    상기 제1 거리 센서 및 상기 제2 거리 센서는,
    ToF(Time of Flight) 센서로 구현되는, 로봇.
  5. 제1항에 있어서,
    기울기 센서;를 더 포함하며,
    상기 프로세서는,
    상기 복수의 제1 거리 정보 및 상기 복수의 제2 거리 정보 중 상기 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 상기 맵 상에서 상기 본체가 위치한 지점에 대한 정보를 획득하는, 로봇.
  6. 제1항에 있어서,
    상기 본체는 임계 크기 이하의 구형이고,
    상기 한 쌍의 구동 휠은 상호 이격되어 상기 구형의 본체 외측에서 상기 본체를 감싸도록 구비되는, 로봇.
  7. 제6항에 있어서,
    상기 맵은,
    상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며,
    상기 프로세서는,
    상기 본체의 지름, 상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 제3 거리 정보를 획득하고,
    상기 맵 상에 포함된 거리 정보 중 상기 제3 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별하는, 로봇.
  8. 제1항에 있어서,
    상기 맵은,
    상기 맵 상의 복수의 지점 각각에 대응되는 거리 정보를 포함하며,
    상기 프로세서는,
    상기 맵 상에 포함된 거리 정보 중 상기 제1 거리 정보 및 상기 제2 거리 정보와 일치하는 거리 정보를 식별하고, 상기 식별된 거리 정보에 대응되는 지점을 상기 로봇이 위치한 지점으로 식별하는, 로봇.
  9. 제8항에 있어서,
    상기 프로세서는,
    상기 맵 상에서 상기 로봇이 위치한 지점에 대응되는 거리 정보 및 상기 지점에서 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보가 적어도 일부 상이한 경우 상기 적어도 하나의 거리 센서를 통해 획득된 거리 정보에 기초하여 상기 맵 상의 거리 정보를 업데이트하는, 로봇.
  10. 제1 축을 기초로 회전 가능한 본체 및 상기 제1 축과 수직인 제2 축을 기초로 회전 가능하도록 상기 본체에 구비된 한 쌍의 구동 휠을 포함하는 로봇의 제어 방법에 있어서,
    상기 본체가 이동됨에 따라 상기 본체가 위치하는 복수의 상이한 지점에서 적어도 하나의 거리 센서를 통해 복수의 제1 거리 정보를 획득하는 단계;
    상기 본체가 회전됨에 따라 상기 본체가 지향하는 복수의 상이한 방향에서 상기 적어도 하나의 거리 센서를 통해 복수의 제2 거리 정보를 획득하는 단계; 및
    상기 제1 거리 정보 및 상기 제2 거리 정보에 기초하여 상기 로봇이 위치한 공간에 대응되는 맵 상에서 상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계;를 포함하는 제어 방법.
  11. 제10항에 있어서,
    상기 한 쌍의 구동 휠은,
    상기 본체가 상기 제1 축 및 상기 제2 축 각각에 수직인 제3 축 방향으로 이동되도록 구비된, 제어 방법.
  12. 제10항에 있어서,
    상기 적어도 하나의 거리 센서는,
    상기 한 쌍의 구동 휠 중 제1 구동 휠에 인접한 상기 본체의 제1 영역에 배치된 제1 거리 센서 및 상기 한 쌍의 구동 휠 중 제2 구동 휠에 인접한 상기 본체의 제2 영역에 배치된 제2 거리 센서를 포함하는, 제어 방법.
  13. 제12항에 있어서,
    상기 제1 거리 센서 및 상기 제2 거리 센서는,
    ToF(Time of Flight) 센서로 구현되는, 제어 방법.
  14. 제10항에 있어서,
    상기 로봇이 위치한 지점에 대한 정보를 획득하는 단계는,
    상기 복수의 제1 거리 정보 및 상기 복수의 제2 거리 정보 중 기울기 센서에 의해 획득된 기울기 정보가 특정 축 방향으로 임계 기울기 이상인 경우 획득된 거리 정보를 제외한 나머지 거리 정보에 기초하여 상기 맵 상에서 상기 본체가 위치한 지점에 대한 정보를 획득하는, 제어 방법.
  15. 제10항에 있어서,
    상기 본체는 임계 크기 이하의 구형이고,
    상기 한 쌍의 구동 휠은 상호 이격되어 상기 구형의 본체 외측에서 상기 본체를 감싸도록 구비되는, 제어 방법.
PCT/KR2021/017259 2021-01-12 2021-11-23 로봇 및 그 제어 방법 WO2022154242A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/200,981 US20230297115A1 (en) 2021-01-12 2023-05-23 Robot and controlling method thereof

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0004267 2021-01-12
KR1020210004267A KR20220102058A (ko) 2021-01-12 2021-01-12 로봇 및 그 제어 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/200,981 Continuation US20230297115A1 (en) 2021-01-12 2023-05-23 Robot and controlling method thereof

Publications (1)

Publication Number Publication Date
WO2022154242A1 true WO2022154242A1 (ko) 2022-07-21

Family

ID=82447188

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/017259 WO2022154242A1 (ko) 2021-01-12 2021-11-23 로봇 및 그 제어 방법

Country Status (3)

Country Link
US (1) US20230297115A1 (ko)
KR (1) KR20220102058A (ko)
WO (1) WO2022154242A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240016707A (ko) * 2022-07-29 2024-02-06 삼성전자주식회사 라이다 센서가 탑재된 로봇 및 그의 제어 방법

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100187252B1 (ko) * 1996-04-17 1999-05-01 김광호 로보트의 주행제어장치 및 그 방법
KR20100110188A (ko) * 2009-04-02 2010-10-12 충남대학교산학협력단 구형이동로봇
KR20170024844A (ko) * 2015-08-26 2017-03-08 엘지전자 주식회사 이동 로봇 및 이의 제어방법
JP2019057203A (ja) * 2017-09-22 2019-04-11 パナソニックIpマネジメント株式会社 ロボット
WO2020116933A1 (ko) * 2018-12-04 2020-06-11 삼성전자 주식회사 구형 이동 장치 및 그 위에서 움직일 수 있는 제 2 장치를 포함하는 전자 장치, 및 제 2 장치의 자세 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100187252B1 (ko) * 1996-04-17 1999-05-01 김광호 로보트의 주행제어장치 및 그 방법
KR20100110188A (ko) * 2009-04-02 2010-10-12 충남대학교산학협력단 구형이동로봇
KR20170024844A (ko) * 2015-08-26 2017-03-08 엘지전자 주식회사 이동 로봇 및 이의 제어방법
JP2019057203A (ja) * 2017-09-22 2019-04-11 パナソニックIpマネジメント株式会社 ロボット
WO2020116933A1 (ko) * 2018-12-04 2020-06-11 삼성전자 주식회사 구형 이동 장치 및 그 위에서 움직일 수 있는 제 2 장치를 포함하는 전자 장치, 및 제 2 장치의 자세 제어 방법

Also Published As

Publication number Publication date
KR20220102058A (ko) 2022-07-19
US20230297115A1 (en) 2023-09-21

Similar Documents

Publication Publication Date Title
WO2017196062A1 (en) Distance sensor, and calibration method performed by device and system including the distance sensor
WO2017008224A1 (zh) 一种移动物体的距离检测方法、装置及飞行器
WO2021201450A1 (en) Image projecting apparatus and controlling method thereof
WO2018106074A1 (en) Unmanned aerial vehicle and method for reconfiguring geofence region thereof using electronic device
WO2021101047A1 (en) Mobile robot device and method for controlling mobile robot device
WO2018128353A1 (en) Robot cleaner and method for controlling thereof
WO2022154242A1 (ko) 로봇 및 그 제어 방법
WO2020159076A1 (ko) 랜드마크 위치 추정 장치와 방법 및 이러한 방법을 수행하도록 프로그램된 컴퓨터 프로그램을 저장하는 컴퓨터 판독 가능한 기록매체
WO2020138950A1 (ko) 전자 장치 및 그 제어 방법
WO2016060458A1 (en) Remote controller apparatus and control method thereof
WO2021158062A1 (ko) 이동수단의 위치인식방법 및 위치인식시스템
WO2023140476A1 (ko) 자율 주행 알고리즘의 성능 평가 방법 및 시스템
WO2019245320A1 (ko) 이미지 센서와 복수의 지자기 센서를 융합하여 위치 보정하는 이동 로봇 장치 및 제어 방법
WO2021157904A1 (en) Electronic apparatus and controlling method thereof
WO2020197126A1 (ko) 빅셀그리드맵을 이용한 이동체의 자세 추정 방법, 이를 구현하기 위한 프로그램이 저장된 기록매체 및 이를 구현하기 위해 매체에 저장된 컴퓨터프로그램
WO2022225135A1 (ko) 로봇, 로봇 및 사용자 단말을 포함하는 시스템 및 그 제어 방법
WO2021182845A1 (ko) 위치 판단에 이용되는 데이터 처리 방법 및 이를 지원하는 전자 장치
WO2023063661A1 (ko) 학습 세트 생성 방법, 학습 세트 생성 장치, 및 학습 세트 생성 시스템
WO2021158066A1 (en) Electronic apparatus and control method thereof
WO2019151734A1 (ko) 카메라 구동 방식 변경 기반의 음성 및 얼굴 인식 장치 및 방법
WO2015170794A1 (ko) 주변 차량 탐지 장치 및 방법
WO2021080163A1 (en) Electronic device for detecting location and method thereof
WO2019124728A1 (ko) 객체를 식별하기 위한 장치 및 방법
WO2021221333A1 (ko) 맵 정보과 영상 매칭을 통한 실시간 로봇 위치 예측 방법 및 로봇
WO2020071853A1 (ko) 주행 보조 장치 및 이미지 처리 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21919866

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21919866

Country of ref document: EP

Kind code of ref document: A1