WO2024025192A1 - 주행이 가능한 소형 로봇 및 이의 제어 방법 - Google Patents

주행이 가능한 소형 로봇 및 이의 제어 방법 Download PDF

Info

Publication number
WO2024025192A1
WO2024025192A1 PCT/KR2023/009491 KR2023009491W WO2024025192A1 WO 2024025192 A1 WO2024025192 A1 WO 2024025192A1 KR 2023009491 W KR2023009491 W KR 2023009491W WO 2024025192 A1 WO2024025192 A1 WO 2024025192A1
Authority
WO
WIPO (PCT)
Prior art keywords
wheel
robot
rotation axis
driving
driving unit
Prior art date
Application number
PCT/KR2023/009491
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
Priority claimed from KR1020220128704A external-priority patent/KR20240015547A/ko
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US18/234,712 priority Critical patent/US20240036576A1/en
Publication of WO2024025192A1 publication Critical patent/WO2024025192A1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls

Definitions

  • This disclosure relates to a small robot capable of traveling and a control method thereof, and more specifically, to a robot that climbs over obstacles by eccentrically rotating the wheels of the robot and a control method thereof.
  • a robot includes a body part, one or more sensors provided in the body part, a rotatable first wheel and a second wheel respectively provided on opposite sides of the body part, A first driving unit that rotates the first wheel and the second wheel about a rotation axis, a second driving unit that eccentrically rotates the first wheel and the second wheel about a second rotation axis, and the first wheel and the It may include one or more processors that control the first driving unit and the second driving unit to rotate the second wheel so that the robot travels along a path.
  • the one or more processors may identify an obstacle that is a climbing target on the driving path based on sensing data acquired through the one or more sensors.
  • the one or more processors control the second driving unit to rotate the first wheel and the second wheel eccentrically about the second rotation axis. In order to increase the size of the wheel base of the robot based on the body part, it can be shifted from the first position to the second position.
  • a robot including a body part, a rotatable first wheel and a second wheel respectively provided on opposite sides of the body part, a first driving part, a second driving part, and one or more sensors according to an embodiment to achieve the above object.
  • the robot follows a travel path by rotating the first wheel and the second wheel based on at least one of the first rotation axis or the second rotation axis of each of the rotatable first wheel and the second wheel. It may include controlling at least one of the first driving unit and the second driving unit to drive.
  • the control method may include identifying an obstacle subject to climbing on the driving path based on sensing data acquired through the one or more sensors.
  • the control method includes controlling the second driving unit to rotate the first wheel and the second wheel so that the first wheel and the second wheel rotate eccentrically about the second rotation axis when the obstacle is identified. It may include shifting from a first position to a second position in order to increase the size of the wheel base of the robot based on the body part.
  • a robot including a body part, a rotatable first wheel and a second wheel respectively provided on opposite sides of the body part, a first driving part, a second driving part, and one or more sensors according to an embodiment to achieve the above object.
  • a non-transitory computer-readable recording medium storing computer instructions that, when executed by one or more processors, cause the robot to perform an operation, wherein the operation is performed on each of the first and second rotatable wheels. Controls at least one of the first drive unit and the second drive unit so that the robot travels along a travel path by rotating the first wheel and the second wheel based on at least one of the first rotation axis and the second rotation axis. It may include steps.
  • the operation may include identifying an obstacle subject to climbing on the driving path based on sensing data acquired through the one or more sensors.
  • the operation is performed by controlling the second driving unit to rotate the first wheel and the second wheel eccentrically about the second rotation axis, when the obstacle is identified, so that the first wheel and the second wheel are rotated eccentrically with respect to the second rotation axis. It may include shifting from a first position to a second position in order to increase the size of the wheel base of the robot based on the robot.
  • FIGS. 1A and 1B are diagrams for schematically explaining a robot control method according to an embodiment.
  • Figure 2 is a block diagram showing the configuration of a robot according to one embodiment.
  • Figure 3 is a flowchart illustrating a method for a robot to climb over an obstacle according to an embodiment.
  • Figure 4 is a flowchart illustrating a method for a robot to climb over an obstacle according to an embodiment.
  • FIG. 5A is a diagram for explaining a method of eccentrically rotating a wheel according to an embodiment.
  • Figure 5b is a diagram for explaining the operation mechanism of a robot according to one embodiment.
  • Figure 5c is a diagram for explaining the operation mechanism of a robot according to one embodiment.
  • 6A and 6B are diagrams for explaining a control method when a robot fails to climb over an obstacle, according to an embodiment.
  • Figure 7 is a diagram for explaining a control method when a robot overturns according to an embodiment.
  • Figure 8 is a diagram for explaining how a robot performs an action corresponding to an emotional expression, according to an embodiment.
  • 9A and 9B are diagrams for explaining the camera tilting effect of the present disclosure according to an embodiment.
  • Figure 10 is a block diagram showing the detailed configuration of a robot according to an embodiment.
  • expressions such as “have,” “may have,” “includes,” or “may include” refer to the presence of the corresponding feature (e.g., component such as numerical value, function, operation, or part). , and does not rule out the existence of additional features.
  • a or/and B should be understood as referring to either “A” or “B” or “A and B”.
  • expressions such as “first,” “second,” “first,” or “second,” can modify various components regardless of order and/or importance, and can refer to one component. It is only used to distinguish from other components and does not limit the components.
  • a component e.g., a first component
  • another component e.g., a second component
  • connection to it should be understood that a certain component can be connected directly to another component or connected through another component (e.g., a third component).
  • a “module” or “unit” performs at least one function or operation, and may be implemented as hardware or software, or as a combination of hardware and software. Additionally, a plurality of “modules” or a plurality of “units” may be integrated into at least one module and implemented with one or more processors (not shown), except for “modules” or “units” that need to be implemented with specific hardware. You can.
  • 'DNN deep neural network
  • 'DNN deep neural network
  • 'parameter' is a value used in the calculation process of each layer forming a neural network and may include, for example, a weight used when applying an input value to a predetermined calculation equation. Additionally, parameters can be expressed in matrix form. Parameters are values set as a result of training, and can be updated through separate training data as needed.
  • FIGS. 1A and 1B are diagrams for schematically explaining a robot control method according to an embodiment.
  • the robot 10 may already store map information corresponding to the driving space in order to drive in the space, and identifies the driving path based on the map information to drive in the space. You can. According to one example, the robot 10 may generate the minimum time path or shortest distance path to reach the destination based on pre-stored map information.
  • the robot 10 may be a ball-shaped robot, but is not limited thereto, and may be a small robot that travels a travel path using wheels.
  • a small robot may be a robot whose height is less than 30 cm, but is not limited thereto.
  • the robot 10 may include a body 15 and wheels 11.
  • the body portion 15 may constitute the central portion of the robot 10.
  • a pair of wheels 11 may be provided on both sides of the body portion 15. That is, a left wheel (or first wheel) may be provided on the left side of the body portion 15, and a right wheel (or second wheel) may be provided on the right side of the body portion 15.
  • the left wheel and the right wheel may be provided in a symmetrical form with respect to the central axis of the body portion 15.
  • the wheels 11 including the left wheel and the right wheel may each be rotatable 360 degrees.
  • Each of the left wheel and the right wheel may be provided with a contact member provided in a portion adjacent to the body portion 15.
  • the contact member may be provided to surround a portion of the outer surfaces of the left wheel and the right wheel and be in contact with the ground. Accordingly, the robot 10 can move forward or backward according to the rotation of the left and right wheels.
  • the wheel 11 including the left wheel and right wheel according to the present disclosure may be the front wheel of the robot 10 according to one example.
  • the robot 10 moves the wheel 11 provided on the robot 10 based on the rotation axis 13 of the robot 10. It can be rotated to climb over obstacles.
  • the robot 10 may identify whether it is a climb target or an avoidance target based on the characteristics of the obstacle (eg, height, size, etc.).
  • the robot 10 may be equipped with a separate rear wheel (14).
  • a separate rear wheel 14
  • the center of gravity of the robot 10 moves toward the rear wheel 14.
  • FIG. 1B a situation may occur in which the robot 10 cannot climb over the obstacle 30 and rolls over backwards, as shown in FIG. 1B. Accordingly, hereinafter, various embodiments in which the robot 10 can smoothly climb over the obstacle 30 without tipping over backwards will be described.
  • At least one configuration and/or operation included in various embodiments described below may be replaced with at least one configuration and/or operation included in other embodiments. Additionally, at least one configuration and/or operation included in various embodiments may be additionally included in other embodiments. That is, the various embodiments described below are not separate embodiments, and at least some components included in each embodiment may be combined with each other.
  • Figure 2 is a block diagram showing the configuration of a robot according to one embodiment.
  • the robot 100 may include a sensor unit 110, a first driving unit 120, a second driving unit 130, and a control unit 140.
  • the sensor unit 110 may include a plurality of sensors of various types.
  • the sensor unit 110 may measure a physical quantity or detect the operating state of the robot 100 and convert the measured or sensed information into an electrical signal.
  • the sensor unit 110 may include a camera, which may include a lens that focuses visible light and/or other optical signals reflected by an object and received into an image sensor, and an image capable of detecting visible light and/or other optical signals. May include sensors.
  • the image sensor may include a 2D pixel array divided into a plurality of pixels.
  • the camera according to one example may be implemented as a depth camera.
  • the sensor unit 110 may include a thermal imaging sensor that reads the shape as well as a distance sensor such as a LIDAR (Light Detection And Ranging) sensor and a TOF (Time of Flight) sensor.
  • LIDAR Light Detection And Ranging
  • TOF Time of Flight
  • the sensor unit 110 may include an encoder (rotary encoder), and one or more control units (140, or one or more processors) may control both wheels provided in the robot 100 through the encoder (rotary encoder).
  • RPM Revolutions per minute
  • the sensor unit 110 may include an IMU (Inertial Measurement Unit) sensor, and the control unit 140 may determine the tilt (or degree of tilt) of the robot 100 through the IMU sensor. Data can be obtained.
  • IMU Inertial Measurement Unit
  • the wheel 11 including the left wheel and right wheel according to the present disclosure may be the front wheel of the robot 100, according to an example.
  • the left wheel and right wheel may be referred to as wheel 11.
  • the wheel 11 refers to a wheel controlled by a driving unit, for example, a first driving unit 120 and a second driving unit 130, and the rear wheel 14 shown in FIG. 1 is the wheel 11. ) should be assumed to be distinct from.
  • the driving units 120 and 130 are devices capable of driving the robot 100.
  • the driving units 120 and 130 may adjust the traveling direction and traveling speed under the control of one or more control units 140.
  • the driving units 120 and 130 may be a power generator that generates power for the robot 100 to travel (e.g., a gasoline engine, diesel engine, LPG (liquefied engine) depending on the fuel (or energy source) used. petroleum gas engine, electric motor, etc.) may be included.
  • the driving units 120 and 130 may be implemented in various ways depending on the driving type (eg, wheel type, walking type, etc.) of the robot 100.
  • the first driving unit 120 may rotate the wheel 11.
  • the first driving unit 120 may be coupled to one side of the fastening portion and rotate the wheel 11 coupled to the remaining side of the fastening portion. That is, when the first driving part 120 rotates, the fastening part coupled to one side of the first driving part 120 rotates, and the wheel 11 coupled to the remaining side of the connecting member rotates accordingly.
  • the first driving unit 120 may be implemented in plural numbers and provided on both sides of the body unit 15, respectively.
  • one of the plurality of first driving units 120 may be provided on the left side of the body unit 15, and the other one of the plurality of first driving units 120 may be provided on the right wheel of the body unit 15. there is.
  • the combination of the first driving unit 120, the fastening unit, and the wheel 11 will be described in detail with reference to FIGS. 5B and 5C.
  • the center of the wheel 11 may be located on the rotation axis (or first rotation axis) of the first driving unit 120, and the first driving unit ( When 120 rotates, the fastening part coupled with the first driving part 120 also rotates based on the rotation axis of the first driving part 120, and accordingly, the wheel 11 coupled with the fastening part also rotates with the first driving part ( It rotates based on the rotation axis of 120). That is, the first driving unit 120 can rotate both wheels 11 using the center of the wheel as the rotation axis.
  • the second driving unit 130 may rotate the wheel 11.
  • the second driving unit 130 may be provided on one side of the body unit 15.
  • the second driving unit 130 is coupled to one side of the connecting member and can rotate the first driving unit 120 coupled to the remaining side of the connecting member. Accordingly, the fastening portion coupled to one side of the first driving unit 120 rotates, and the wheel 11 coupled to the remaining side of the fastening portion also rotates.
  • the combination of the second driving unit 130, the connecting member, and the wheel 11 will be described in detail with reference to FIGS. 5B and 5C.
  • the second driving unit 130 may be implemented in plural numbers and provided on both sides of the body unit 15, respectively.
  • One of the plurality of second driving units 130 may be provided on the left side of the body unit 15.
  • Another one of the plurality of second driving units 130 may be provided on the right side of the body unit 15.
  • the rotation axis of the second driving unit 130 may be provided at a position spaced apart from the rotation axis of the first driving unit 120 by a preset distance.
  • the rotation axis (or, second rotation axis) of the second driving unit 130 is spaced apart by 10 cm from the center of the wheel (or the center of the wheel located on the rotation axis of the first driving unit 120). It is provided in a position, and the left wheel and right wheel 11 can be rotated based on the provided position. That is, the rotation axis of the first drive unit 120 and the rotation axis of the second drive unit 130 may be different.
  • the first rotation axis may correspond to the center position of the wheel 11
  • the second rotation axis may correspond to a position spaced apart from the center of the wheel by a preset distance.
  • the control unit 140 (or one or more processors) is electrically connected to the sensor unit 110 and the driving units 120 and 130 to control the overall operation of the robot 100.
  • the control unit 140 may be comprised of one or more processors. Specifically, the control unit 140 may perform operations of the robot 100 according to various embodiments of the present disclosure by executing at least one instruction stored in a memory (eg, memory 195).
  • the control unit 140 includes a CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerated Processing Unit), MIC (Many Integrated Core), DSP (Digital Signal Processor), NPU (Neural Processing Unit), hardware accelerator or May include one or more machine learning accelerators.
  • the control unit 140 can control one or any combination of other components of the robot and perform operations related to communication or data processing.
  • the control unit 140 may execute one or more programs or instructions stored in memory. For example, the control unit 140 may perform a method according to an embodiment of the present disclosure by executing one or more instructions stored in the memory.
  • the plurality of operations may be performed by one processor or by a plurality of processors.
  • the first operation, the second operation, and the third operation may all be performed by the first processor.
  • the first operation and the second operation may be performed by a first processor (e.g., a general-purpose processor) and the third operation may be performed by a second processor (e.g., an artificial intelligence-specific processor).
  • the control unit 140 may be implemented as a single core processor including one core, or one or more multi-core processors (e.g., homogeneous multi-core or heterogeneous multi-core) including a plurality of cores. It can also be implemented as a multicore processor.
  • each of the plurality of cores included in the multi-core processor may include processor internal memory such as cache memory and on-chip memory, and the plurality of cores may include A common cache shared by a multi-core processor may be included.
  • each of the plurality of cores (or some of the plurality of cores) included in the multi-core processor may independently read and perform program instructions for implementing the method according to an embodiment of the present disclosure, and all of the plurality of cores may (or part of it) may be linked to read and perform program instructions for implementing the method according to an embodiment of the present disclosure.
  • the plurality of operations may be performed by one core among a plurality of cores included in a multi-core processor, or may be performed by a plurality of cores.
  • the first operation, the second operation, and the third operation are all performed by the first operation included in the multi-core processor. It may be performed by a core, and the first operation and the second operation may be performed by the first core included in the multi-core processor, and the third operation may be performed by the second core included in the multi-core processor.
  • a processor may mean a system-on-chip (SoC) in which one or more processors and other electronic components are integrated, a single-core processor, a multi-core processor, or a core included in a single-core processor or a multi-core processor.
  • SoC system-on-chip
  • the core may be implemented as a CPU, GPU, APU, MIC, DSP, NPU, hardware accelerator, or machine learning accelerator, but embodiments of the present disclosure are not limited thereto.
  • control unit 140 may cause the robot 100 to travel by rotating a wheel provided on the robot 100.
  • control unit 140 may control the first driving unit 120 to rotate the left wheel and the right wheel 11 so that the robot 100 travels along a travel path.
  • the robot 100 may already store map information corresponding to the driving space in order to drive in the space, and can drive in a specific space by identifying the driving path based on the map information and the location of the target point. there is.
  • the control unit 140 may identify the presence or absence of an obstacle subject to climbing on the driving path. According to one example, the control unit 140 may identify whether an obstacle subject to climbing exists on the driving path based on sensing data acquired through the sensor unit 110. For example, when an obstacle is identified on the driving path based on sensing data acquired through the sensor unit 110, the robot 10 determines whether it is a climb target based on the characteristics of the obstacle (e.g., height, size, etc.). You can identify whether it is an avoidance target.
  • the object to climb means, according to one example, an object to climb by shifting the left wheel and the right wheel 11, and excludes cases where an obstacle can be climbed by simply driving (for example, a low-height ledge). do.
  • the control unit 140 may identify whether an obstacle to be climbed exists within a preset distance (eg, 1 meter) from the robot 100 through an image acquired through a camera. However, it is not limited to this, and of course, the control unit 140 can identify an obstacle to be climbed that exists at a location greater than a preset distance through an image acquired through a camera. According to one embodiment, when an obstacle to be climbed is identified, the control unit 140 may control the second driving unit 130 so that both wheels rotate eccentrically about the second rotation axis.
  • eccentricity may mean that the force acts away from the central axis of the wheel.
  • Eccentric rotation may mean rotating the wheel with a position spaced a preset distance from the center (or center position) of each wheel 11 as the rotation axis.
  • the second driving unit 130 may be provided at a position corresponding to the second rotation axis.
  • the control unit 140 controls the left wheel and right wheel 11. 2 Control the second drive unit 130 to rotate eccentrically based on the rotation axis, so that the left and right wheels 11 are adjusted to the size of the wheel base of the robot 100 based on the body part (FIGS. 1, 15). It can be shifted in the increasing direction.
  • the wheel base (or inter-axle distance) may mean the distance between the centers of the front and rear wheels of the robot 100. Shifting may mean that the center of the wheel 11 moves in one direction from its current position.
  • both wheels 11 when both wheels 11 are shifted in one direction based on the body portion 15, the distance between the centers of both wheels 11 and the rear wheel 14 increases, thereby increasing the wheel base. . As the wheel base increases, the turning radius increases and driving stability and straightness increase. If the wheel 11 is shifted to increase the size of the wheel base of the robot 100, the robot 100 The probability of overturning is relatively reduced.
  • control unit 140 when the control unit 140 analyzes the acquired sensing data and identifies an obstacle to be climbed within the driving path, it controls the second driving unit 130 to turn the left and right wheels 11 around the second rotation axis. It can be rotated by a preset rotation angle as a standard. As the left wheel and right wheel 11 rotate by a preset angle based on the second rotation axis, both wheels 11 may be shifted by a preset distance based on the body portion 15.
  • control unit 140 controls the first driving unit 120 to rotate both wheels 11 about the first rotation axis while shifting both wheels 11 by a preset distance to avoid obstacles. Advancement can be performed. As the size of the wheel base increases compared to before both wheels 11 of the robot 100 are shifted, relatively stable climbing becomes possible.
  • control unit 140 may perform climbing over an obstacle while shifting only one of the wheels 11 on both sides by a preset distance.
  • the control unit 140 shifts the left wheel by a preset distance and controls the first driving unit 120 to rotate both wheels 11 about the first rotation axis to perform climbing over an obstacle. can do.
  • Figure 3 is a flowchart illustrating a method for a robot to climb over an obstacle according to an embodiment.
  • control unit 140 may control the first driving unit 120 to rotate the left wheel and the right wheel 11 so that the robot 100 travels along the travel path (S310). ).
  • the control unit 140 uses the first driving unit 120 to rotate the wheel 11 based on the first rotation axis located at the center of the wheel 11. and at least one of the second driving unit 130 can be controlled.
  • control unit 140 may identify an obstacle that is a climbing target on the driving path based on the sensing data acquired through the sensor unit 110 (S320). According to one example, the control unit 140 may obtain an image of the driving path corresponding to the driving path of the robot 100 through a camera sensor.
  • control unit 140 may identify obstacles (eg, bumps, stairs, etc.) that are subject to climbing on the driving path based on the acquired image of the driving path. For example, the control unit 140 may analyze the characteristics (eg, height, size, type, etc.) of an object included in the image to identify whether it is an object to ascend or an object to avoid.
  • obstacles eg, bumps, stairs, etc.
  • the control unit 140 may analyze the characteristics (eg, height, size, type, etc.) of an object included in the image to identify whether it is an object to ascend or an object to avoid.
  • the control unit 140 sets the identified chin as an obstacle to be climbed. can be identified.
  • the controller 140 may identify the height value of the chin based on the acquired image. If the identified chin exceeds a height value within a preset range, the controller 140 may identify the identified chin as an obstacle to be avoided.
  • control unit 140 may identify whether the identified bump exists on the driving path.
  • control unit 140 may identify whether an obstacle exists on the driving path and whether the obstacle is a climbing target based on a different type of sensor from the camera sensor.
  • control unit 140 may identify the presence or absence of an obstacle subject to climbing on the driving path based on sensing information acquired through a LiDAR (Light Detection And Ranging, LiDAR) sensor.
  • LiDAR Light Detection And Ranging
  • the control unit 140 may identify the presence or absence of an obstacle to be climbed on the driving path based on sensing information acquired through a cliff sensor.
  • the cliff sensor can detect obstacles on the floor supporting the main body of the robot 100 using various types of optical sensors.
  • the cliff sensor may be an infrared sensor, an ultrasonic sensor, an RF (Radio Frequency) sensor, or a PSD. It may be a (Position Sensitive Detector) sensor.
  • the cliff sensor may be placed on the back of the robot 100 according to an example, but is not limited thereto.
  • control unit 140 may identify an obstacle that exists within a preset distance from the floor (or back) supporting the main body of the robot 100 based on sensing information acquired through a cliff sensor.
  • the control unit 140 controls the left and right wheels 11 to rotate and shift eccentrically about the second rotation axis. 2
  • the driving unit 130 can be controlled.
  • the control unit 140 may identify the height value of the obstacle through sensing information obtained through a cliff sensor. For example, the control unit 140 may calculate the angle value between the infrared light emitting signal emitted by the cliff sensor toward the floor and the reflected signal reflected by the obstacle and calculate the height value of the obstacle based on this. there is. If the calculated height value of the obstacle is identified as being within a preset range, the control unit 140 identifies the obstacle as a climbing target, and sets the second wheel so that the left and right wheels 11 are eccentrically rotated and shifted based on the second rotation axis.
  • the driving unit 130 can be controlled.
  • the control unit 140 identifies the height value of the obstacle through an image acquired through a camera. Thus, it is possible to identify whether the obstacle is a target for climbing. If the obstacle is identified as a climbing target, the control unit 140 may control the second driving unit 130 so that the left wheel and the right wheel 11 are eccentrically rotated and shifted based on the second rotation axis.
  • control unit 140 may identify the obstacle using only the cliff sensor, or may identify the obstacle using the cliff sensor and the camera sensor (or lidar sensor), respectively.
  • control unit 140 may control the second driving unit 130 so that the left wheel and the right wheel 11 are eccentrically rotated and shifted based on the second rotation axis.
  • control unit 140 may shift the left wheel and right wheel 11 in a direction in which the size of the wheel base increases.
  • the control unit 140 moves it away from the center of the wheel 11 by a preset distance.
  • the second driving unit 130 can be controlled so that the wheels 11 on both sides rotate eccentrically based on the second rotation axis existing at the desired position.
  • control unit 140 rotates the wheels 11 180° eccentrically based on the second rotation axis located at a preset distance from the center of both wheels 11 through the second driving unit 130. By doing this, both wheels 11 can be shifted by a critical distance from their existing positions in the driving direction.
  • control unit 140 if the control unit 140 is identified as being located within a first threshold distance from an obstacle to be climbed based on the acquired sensing data, the control unit 140 moves the control unit 140 to a position spaced apart from the center of the wheel 11 by a preset distance.
  • the second driving unit 130 can be controlled so that both wheels 11 rotate eccentrically based on the existing second rotation axis.
  • control unit 140 when the control unit 140 identifies an obstacle as being located within a first threshold distance (e.g., 1M) from the robot 100 based on an image acquired through a camera, the control unit 140 controls both wheels based on the second rotation axis.
  • the second driving unit 130 can be controlled so that (11) rotates eccentrically.
  • the control unit 140 determines that the robot 100 and the obstacle are identified as being at a second threshold distance.
  • the second driving unit 130 can be controlled so that both wheels 11 rotate eccentrically based on the second rotation axis.
  • the control unit 140 may control the first driving unit 120 so that the robot 100 moves until the distance between the robot 100 and the obstacle becomes the second critical distance (for example, 10 cm). there is. Subsequently, when the control unit 140 identifies an obstacle as being located within a second critical distance from the robot 100 based on the sensing data acquired through the sensor unit 110, the wheels 11 on both sides are rotated based on the second rotation axis.
  • the second driving unit 130 can be controlled to rotate eccentrically.
  • the control unit 140 moves both wheels 11 to the first Climbing can be performed by controlling the first driving unit 120 to rotate about the rotation axis.
  • Figure 4 is a flowchart illustrating a method for a robot to climb over an obstacle according to an embodiment.
  • control unit 140 may drive the robot 100 along a travel path (S410).
  • control unit 140 may control the first driving unit 120 to rotate the left wheel and the right wheel 11 so that the robot 100 travels along a travel path.
  • the control method may identify whether an obstacle subject to climbing exists on the driving path based on sensing data acquired through the sensor unit 110 (S420). According to one example, when a chin is identified in an image acquired through the sensor unit 110, the control method may identify whether the identified chin exceeds a preset height.
  • the control method may identify whether an obstacle subject to climbing exists on the driving path based on data acquired through the lidar sensor.
  • the LIDAR sensor can detect the distance to objects (eg, obstacles, etc.) around the robot 100. Specifically, the LIDAR sensor rotates 360° and irradiates a laser toward objects around the robot 100, and when the irradiated laser is reflected and received from objects around the robot 100, the laser is received based on the time when the laser was received. The distance to an object can be detected or the distance to an object can be detected by measuring the amount of phase change of the received laser.
  • control unit 140 may obtain a distance value corresponding to an object around the robot 100 obtained through a lidar sensor, and determine whether an obstacle exists on the driving path based on the obtained distance value. can be identified. Subsequently, the control unit 140 may identify whether the height value of the identified obstacle is within a preset range based on the obtained distance value, and identify whether the identified obstacle is an obstacle to be climbed.
  • location information of obstacles to be climbed may be previously stored in one or more memories (or memories).
  • map information corresponding to the driving space may be stored in the memory, and the map information corresponding to the driving space includes location information (e.g., coordinate information) and type information (object to climb or avoid) of the obstacle. may be included.
  • the control unit 140 may identify whether an obstacle to be climbed exists on the travel path based on location information on the travel map of the robot 100 and location information about the obstacle to be climbed.
  • the control unit 140 when the control unit 140 identifies that an obstacle to be climbed exists on the travel path (S420:Y), the control unit 140 sets the second wheel so that both wheels 11 rotate eccentrically with respect to the second rotation axis.
  • the driving unit 130 can be controlled (S430). For example, the control unit 140 eccentrically rotates the wheel 11 by 180° relative to the second rotation axis located at a preset distance from the center of the wheel, thereby moving the wheel 11 from the existing position in the driving direction. It can be shifted by a preset distance.
  • the preset distance is the distance before rotation when the center of the wheel is shifted in the traveling direction by a distance that is twice the distance between the first and second rotation axes as the wheel 11 is eccentrically rotated by 180°. It refers to the distance between the center of the wheel and the center of the wheel after rotation.
  • control unit 140 may control the second driving unit 130 so that one of the wheels 11 on both sides rotates eccentrically about the second rotation axis.
  • control unit 140 may control the second driving unit 130 so that the left wheel rotates eccentrically with respect to the second rotation axis.
  • the control unit 140 controls the first driving unit 120 to rotate both wheels 11 based on the first rotation axis to climb over the obstacle (S440).
  • the control unit 140 operates the first driving unit 120 to rotate both wheels 11 with respect to the first rotation axis while both wheels 11 are rotated by a preset angle with respect to the second rotation axis. ) can be controlled.
  • the control method may control only the first driving unit 120 to perform ascending, but is not limited to this and may control each of the first driving unit 120 and the second driving unit 130.
  • the control unit 140 controls the first driving unit 120 to rotate both wheels 11 about the first rotation axis
  • the control unit 140 controls the second drive unit 120 to rotate both wheels 11 about the second rotation axis.
  • the driving unit 130 can be controlled. Accordingly, both wheels 11 rotate around the center of the wheel about the rotation axis (the first rotation axis) and at the same time rotate about the second rotation axis, thereby enabling more effective ascending.
  • control unit 140 may determine whether the robot 100 ascends (S450). According to one example, the control unit 140 is in a state where the left wheel and the right wheel 11 are shifted based on the position information of the robot 100 in the driving space and/or sensing data acquired through the sensor unit 110. It is possible to identify whether or not an obstacle is ascended.
  • the location information of the robot 100 is coordinate information corresponding to the location of the robot 100 on the driving map.
  • information about a driving map may be stored in the memory, and the control unit 140 may identify relative position information (or coordinate information) of the robot 100 within the driving map.
  • the sensor unit 110 may include a motion sensor, and the control method may identify location information of the robot 100 within the driving map using odometry. Odometry is a method of obtaining information about changes in the position of the robot 100 over time using data from a motion sensor (for example, motion information and rotation information of wheels).
  • control unit 140 is based on at least one of location information of the robot 100 in the driving map corresponding to the driving space, distance information from an obstacle, or RPM (Rounds per minute) information of both wheels 11.
  • location information of the robot 100 in the driving map corresponding to the driving space distance information from an obstacle, or RPM (Rounds per minute) information of both wheels 11.
  • the sensor unit 110 may include at least one of a proximity sensor or an encoder
  • the control unit 140 may include a proximity sensor or an encoder. RPM information of both wheels 11 can be obtained.
  • the control unit 140 determines a preset time at a position where the robot 100 fails to climb over an obstacle based on sensing data acquired from the sensor unit 110, for example, location data, distance data to an obstacle, etc. If it is determined that the robot 100 is not moving for a while, the control unit 140 may identify that the robot 100 failed to climb over the obstacle. That is, the control unit 140 can identify that the robot 100 failed to climb the obstacle when there is no change in the position of the robot 100 at the position where the robot 100 failed to climb the obstacle.
  • the robot 100 may be identified as not moving for a preset time at a position where it failed to climb over the obstacle, and if the RPM size is greater than a preset value, it may be identified as having failed to climb over the obstacle. Subsequently, according to one embodiment, when the control unit 140 identifies that the robot 100 has climbed over an obstacle (Y), the control unit 140 operates the first driving unit 120 to return the robot 100 to its normal position within the travel path and drive. Can be controlled (S460).
  • control unit 140 when the control unit 140 identifies that the robot 100 failed to climb over an obstacle (S450: N), the control unit 140 controls the second driving unit 130 to perform a crawling operation. (S470).
  • crawling refers to an operation in which both wheels 11 provided in the robot 100 rotate eccentrically for different time periods through the second driving unit 130, that is, an operation in which they rotate eccentrically alternately and/or rotate eccentrically at different angles. It means rotating motion.
  • control unit 140 may perform a crawling operation by rotating both wheels 11 eccentrically for different time periods through the second driving unit 130.
  • control unit 140 may control the first driving unit 120 to rotate the wheel 11 based on the first rotation center while performing a crawling operation. For example, while a crawling operation is performed, the control unit 140 controls the first driving unit 120 to rotate the wheel 11 based on the first rotation center, thereby causing not only eccentric rotation but also the first driving unit 120. Center rotation can also be performed simultaneously. This will be explained in detail through FIGS. 6A and 6B.
  • the control unit 140 controls at least one of the first drive unit 120 or the second drive unit 130 to climb over the obstacle (S440), and then the robot 100 clears the obstacle. You can re-determine whether you have ascended or not (S450). For example, whether to ascend or not can be determined again based on the location information of the robot 100, distance information from an obstacle, etc. If it is determined that the robot 100 has climbed over the obstacle, the control unit 140 may control the first driving unit 120 to return the robot 100 to its normal position within the travel path and drive (S460).
  • FIG. 5A is a diagram for explaining a method of eccentrically rotating a wheel according to an embodiment.
  • the control unit 140 when an obstacle subject to climbing is identified on the driving path, the control unit 140 operates the second driving unit 130 to shift both wheels 11 provided on the body 15. You can control it. For example, when the robot 100 approaches within a preset distance from an obstacle to climb, the control unit 140 may control the second driving unit 130 to shift the wheels 11 on both sides.
  • both wheels 11 can be eccentrically rotated based on the second rotation axis so that they are shifted forward.
  • the control unit 140 operates the second driving unit 130 to stop the eccentric rotation when both wheels 11 are shifted by a preset distance based on the position before eccentric rotation (or original position). You can control it.
  • the control unit 140 identifies the rotation angle at which both wheels 11 are eccentrically rotated with respect to the second rotation axis, and before both wheels 11 are eccentrically rotated based on the identified rotation angle. It is possible to identify whether the shift has occurred by a preset interval based on the position (or original position).
  • the above-mentioned interval may be calculated based on the center of both wheels 11, and the preset interval is, for example, 'after both wheels 11 are rotated 180° based on the second rotation axis. It may be the distance between 'the center position of both wheels 11' and 'the center position of both wheels 11 before both wheels 11 are rotated'.
  • the above-mentioned gap may be the size 540 of the wheel base.
  • the control unit 140 may control the second driving unit 130 so that the size 541 of the wheel base is greater than or equal to a preset distance.
  • the control unit 140 controls the first rotation axis
  • the first driving unit 120 may be controlled to rotate the wheel 530 based on (510, or the center position of the wheel 530).
  • the control unit 140 controls the body unit 15.
  • the second driving unit 130 can be controlled so that the wheels 530 on both sides are shifted.
  • both wheels 530 may be eccentrically rotated based on the second rotation axis 520 so as to shift forward.
  • control unit 140 operates the second driving unit 130 to stop the eccentric rotation when both wheels 530 are shifted by a preset distance based on the position before eccentric rotation (or original position). You can control it.
  • control unit 140 sets the distance value between 'the center position of both wheels 530 after being rotated 180° with respect to the second rotation axis' and 'the center position of both wheels 530 before rotation'.
  • the second driving unit 130 can be controlled to stop the eccentric rotation.
  • the size of the angle at which both wheels rotate relative to the second rotation axis may vary depending on user settings.
  • both rotated wheels 530 are shifted forward with respect to the body portion 15. Accordingly, the wheel base of the robot 100 has a relatively larger value compared to before the wheel is shifted, and thus the robot 100 can climb over obstacles more stably. .
  • 5B and 5C are diagrams for explaining the operation mechanism of a robot according to an embodiment.
  • the robot 100 may be provided with a body part 15, a first driving part 120, a second driving part 130, a fastening part 550, and a connecting member 560. You can.
  • the fastening portion 550 may be provided on both sides of the body portion 15, respectively.
  • the first driving unit 120 may be coupled to one side of the fastening part 550
  • the wheel 530 may be coupled to the other side of the fastening part 550.
  • Connection members 560 may be provided on both sides of the body portion 15, respectively.
  • the first driving unit 120 may be coupled to one side of the connecting member 560
  • the second driving unit 130 may be coupled to the remaining side of the connecting member 560.
  • the control unit 140 may control the first driving unit 120 to rotate the wheel 530.
  • the center of the wheel 530 may be located on the rotation axis 510 (or first rotation axis) of the first driving unit 120.
  • the control unit 140 controls the first driving unit 120 so that the first driving unit 120 rotates based on the first rotation axis 510
  • the fastening unit 550 coupled to the first driving unit 120 also It rotates based on the rotation axis 510 of the first driving unit 120, and accordingly, the wheel 530 coupled to the fastening unit 550 also rotates based on the rotation axis 510 of the first driving unit 120. I do it. That is, when the first driving unit 120 rotates based on the first rotation axis 510, the wheel 530 rotates with the center of the wheel located on the first rotation axis 510 as the rotation axis.
  • the control unit 140 may control the second driving unit 130 to rotate the wheel 530.
  • the control unit 140 controls the second driving unit 130 so that the second driving unit 130 rotates based on the rotation axis 520 (or the second rotation axis) of the second driving unit 130
  • the connecting member 560 coupled to the second driving unit 130 also rotates based on the second rotation axis 520
  • the first driving unit 120 coupled to one side of the connecting member 560 also rotates. It rotates based on the second rotation axis 520.
  • the fastening part 550 coupled to one side of the first driving part 120 and the other side of the fastening part 550
  • the wheel 530 also rotates based on the second rotation axis 520.
  • the rotation axis of the second driving unit 130 may be provided at a position spaced apart from the rotation axis 510 of the first driving unit 120 by a preset distance.
  • the rotation axis 520 (or second rotation axis) of the second driving unit 130 is provided at a position spaced apart by 10 cm from the center of the wheel, and the second driving unit 130 is provided at a position corresponding to the provided position.
  • the left wheel and right wheel 530 can be rotated based on the rotation axis 520.
  • the control unit 140 controls the second driving unit 130 to rotate the left wheel and right wheel 530 eccentrically with respect to the second rotation axis 520 to rotate the left wheel and right wheel 530.
  • the wheel base of the robot 100 can be shifted in the direction of increasing size.
  • the control unit 140 controls the second driving unit 130 to move the left and right wheels 530 to the body 15 as shown in FIG. 5C.
  • the size of the wheel base of the robot 100 can be shifted in the direction of increasing.
  • the position of the center of the wheel (or the center of the wheel corresponding to the first rotation axis 510) relative to the body portion 15 is before the wheel is shifted (501). It may be different from the position of the center of the wheel.
  • control unit 140 controls the second driving unit 130 to rotate only one of the wheels 11 on both sides for different time periods. can do.
  • control unit 140 operates in a state in which the left wheel and right wheel 11 are shifted based on location information within the driving space of the robot 100 or sensing data acquired through the sensor unit 110. It is possible to identify whether an obstacle has been climbed.
  • the control unit 140 may identify whether or not the obstacle has been climbed based on at least one of location information of the robot 100 in the driving map corresponding to the driving space, distance information to the obstacle, or RPM (Rounds per minute) information of the wheel. You can. For example, if the robot 100 is identified as not moving for a preset time at a position where it failed to climb over the obstacle, it may be identified that the robot 100 failed to climb over the obstacle.
  • the control unit 140 controls one of the left wheel and the right wheel 11 to rotate eccentrically for a first time period with respect to the second rotation axis.
  • the driving unit 130 can be controlled.
  • the first time section may be a time section from when the robot 100 is identified as failing to climb over an obstacle until a preset time (for example, 2 seconds) has elapsed.
  • the second driving unit 130 may include a motor corresponding to the left wheel and a motor corresponding to the right wheel, and the control unit 140 alternates the motor corresponding to the left wheel and the motor corresponding to the right wheel. By optimizing control, either the left wheel or the right wheel 11 can be controlled to rotate eccentrically.
  • control unit 140 may control the second driving unit 130 so that the left wheel rotates eccentrically about the second rotation axis for 2 seconds from the time when the robot 100 is identified as having failed to climb over the obstacle. .
  • the control unit 140 operates the second driving unit 130 so that the remaining one of the left wheel and the right wheel 11 rotates eccentrically during the second time period after the first time period with respect to the second rotation axis.
  • the second time section may mean a time section from when the first time section elapses to when a preset time (for example, 2 seconds) has elapsed.
  • the control unit 140 controls the robot 100 for 2 seconds from the time the first time period elapses.
  • the second driving unit 130 may be controlled so that the right wheel rotates eccentrically based on the second rotation axis.
  • control unit 140 when the robot 100 fails to climb over an obstacle, the control unit 140 operates the second driving unit 130 so that both wheels 11 are eccentrically rotated at different rotation angles with respect to the second rotation axis. can also be controlled.
  • the rotation angle is a straight line connecting the second rotation center (or, the center of the second rotation axis) and the first rotation center (or the center of the first rotation axis), and the second rotation center and the second rotation center are lowered on the floor. It is the angle formed by the straight line joining the foot of the perpendicular line. As both wheels 11 are eccentrically rotated with respect to the second rotation axis, the size of the rotation angle of both wheels 11 changes.
  • control unit 140 determines that the rotation angle of the left wheel (or the rotation angle of the first rotation center of the left wheel) is the rotation angle of the right wheel (or the rotation angle of the first rotation center of the right wheel).
  • the second driving unit 130 can be controlled to rotate eccentrically at different rotation angles. In this way, the robot 100 may attempt to climb over obstacles again by performing a crawling motion.
  • 6A and 6B are diagrams for explaining a control method when a robot fails to climb over an obstacle, according to an embodiment.
  • the control unit 140 when the robot 100 fails to climb over an obstacle, the control unit 140 operates the first driving unit 120 and the second wheel to rotate only one of the wheels 11 on both sides for different time periods.
  • the driving unit 130 can be controlled.
  • the control unit 140 when the robot 600 fails to climb over an obstacle, the control unit 140 first rotates the left wheel eccentrically based on the second rotation axis 620 for a preset time period (first time period). You can.
  • the control unit 140 may operate the first driving unit ( 120) can be controlled. That is, if the robot 600 fails to climb over an obstacle, the robot 600 may perform crawling by simultaneously performing central rotation and eccentric rotation.
  • the control unit 140 may eccentrically rotate the right wheel based on the second rotation axis 620 for a preset time period (second time period). .
  • the control unit 140 may operate the first driving unit ( 120) can be controlled.
  • control unit 140 eccentrically rotates one of the wheels on both sides based on the second rotation axis 620 and then rotates one of the wheels on both sides based on the first rotation axis 610. Either one can be rotated around its center.
  • center rotation means that one of the wheels on both sides rotates with respect to the first rotation axis 610.
  • the second driving unit 130 rotates the left wheel by a preset angle based on the second rotation axis 620.
  • the control unit 140 controls the first driving unit 120 to rotate the left wheel based on the first rotation axis 610. You can.
  • the control unit 140 may control the second driving unit 130 to rotate the right wheel by a preset angle based on the second rotation axis 620. there is. After the right wheel is rotated by a preset angle based on the second rotation axis 620, the control unit 140 controls the first driving unit 120 to rotate the right wheel based on the first rotation axis 610. You can.
  • the control unit 140 may control the second driving unit 130 so that both wheels rotate for different time periods.
  • the control unit 140 may eccentrically rotate the right wheel 632 about the second rotation axis 620 during a first time period.
  • the left wheel 633 may not rotate eccentrically during the first time period.
  • control unit 140 may eccentrically rotate the left wheel 635 based on the second rotation axis 620 during the second time period.
  • the left wheel 635 may not rotate eccentrically during the second time period.
  • control unit 140 may determine if the robot 600 fails to climb over an obstacle while the left and right wheels 11 are shifted based on location information within the driving space or acquired sensing data. , either the first driving unit 120 or the second driving unit 130 can be controlled so that each of the wheels 11 on both sides rotates for the same time period.
  • the control unit 140 causes both wheels 11 to rotate equally about the second rotation axis.
  • the second driving unit 130 may be controlled to rotate eccentrically at an angle.
  • the robot 600 can not only climb by driving one of the wheels 11 on both sides, but also climb by driving each of the wheels 11 on both sides in the same motion.
  • control unit 140 may control at least one of the first driving unit 120 or the second driving unit 130 so that both wheels 11 rotate based on different rotation axes.
  • control unit 140 when the control unit 140 identifies that the robot 600 fails to climb over an obstacle, the control unit 140 controls the first driving unit 120 to rotate one of the wheels 11 on both sides about the first rotation axis. , the other one of the wheels 11 on both sides may control the second driving unit 130 to rotate based on the second rotation axis.
  • control unit 140 may control the first driving unit 120 and the second driving unit 130 so that both wheels 11 rotate based on the first and second rotation axes, respectively. That is, of course, the wheel is not necessarily driven based on only one rotation axis.
  • the robot 600 can climb over obstacles by performing the crawling motion described above.
  • Figure 7 is a diagram for explaining a control method when a robot overturns according to an embodiment.
  • the control unit 140 may first identify whether the robot 700 has tipped over based on sensing data acquired through the sensor unit 110.
  • the sensor unit 110 may include an IMU (Inertial Measurement Unit) sensor, and the control unit 140 may obtain data about the degree of inclination of the robot 700 through the IMU sensor.
  • the control unit 140 may identify whether the robot 700 has tipped over based on sensing data acquired through the IMU sensor.
  • IMU Inertial Measurement Unit
  • the control unit 140 rotates at least one of the left wheel and the right wheel at a preset number of times and at a preset angular speed with respect to the second rotation axis. 2
  • the driving unit 130 can be controlled. According to one example, when the control unit 140 identifies that the robot 700 has tipped over toward the left wheel 701 based on the sensing data, the control unit 140 rotates the left wheel 701 a preset number of times and a preset number of times based on the second rotation axis. This can be done by controlling the second driving unit 130 to rotate at each speed.
  • the control unit 140 determines the state before the robot 700 overturns based on sensing data acquired through the IMU sensor. You can identify whether it has been done or not. According to one example, if the control unit 140 identifies that the robot 700 is in a state before overturning, it may control the first driving unit 120 so that the robot 700 travels the travel path. Meanwhile, according to one example, if the robot 700 is identified as being maintained in an overturned state, the second driving unit 130 may be controlled to rotate the left wheel 701 a preset number of times and at a preset angular speed. That is, the control unit 140 can rotate the left wheel 701 until the robot 700 returns to the state before overturning.
  • the robot 100 can overcome the robot's overturned state through eccentric rotation, and the robot can efficiently perform service.
  • Figure 8 is a diagram for explaining how a robot performs an action corresponding to an emotional expression, according to an embodiment.
  • the robot 100 may further include a memory storing motion information corresponding to a plurality of emotional expressions.
  • the emotional expression may be at least one of, for example, joy, sadness, anger, boredom, or calmness.
  • the motion information may be control information for both wheels corresponding to emotional expressions. For example, information about the eccentric rotation distance, eccentric rotation angle, driving speed, driving distance, etc. of both wheels 11 corresponding to each of the different emotional expressions may be stored.
  • LED light emission information, haptic information, audio information, etc. may be mapped and stored to each different emotional expression.
  • the control unit 140 when at least one emotional expression among a plurality of emotional expressions is identified according to a preset event, the control unit 140 generates action information corresponding to the at least one emotional expression identified based on action information stored in the memory. can be identified, and at least one of the first driver 120 or the second driver 130 can be controlled based on the identified operation information.
  • control unit 140 may identify motion information corresponding to 'joy' based on motion information stored in the memory.
  • control unit 140 operates the first driving unit (810 to 850) to perform a series of operations 810 to 850 corresponding to joy as shown in FIG. 8 based on operation information corresponding to the identified 'joy'. 120) and the second driving unit 130 can be controlled.
  • the robot 100 can express at least one emotion by eccentrically rotating both wheels.
  • 9A and 9B are diagrams for explaining the camera tilting effect of the present disclosure according to an embodiment.
  • control unit 140 may eccentrically rotate both wheels 11 to change the viewing area of the sensor unit 110 provided in the robot 100.
  • the control unit 140 rotates both wheels 911 by a preset angle based on the second rotation axis to change the viewing area of the camera 921 provided in the robot 900.
  • the control unit 140 rotates both wheels 921 further about the second rotation axis than in the case of FIG. 9A, so that the camera 922 secures a more upward field of view compared to the case of FIG. 9A.
  • the second driving unit 130 can also be controlled.
  • the sensor unit 110 may include at least one of a camera and a lidar sensor
  • the control unit 140 may include at least one of an image acquired through a camera or data acquired through a lidar sensor. Based on this, it is possible to identify whether there is an obstacle subject to climbing on the driving path.
  • control unit 140 may identify the presence or absence of an obstacle that is a target for climbing on the driving path through a learned neural network model.
  • One or more control units 140 control input data to be processed according to predefined operation rules or artificial intelligence models stored in memory.
  • Predefined operation rules or artificial intelligence models are characterized by being created through learning.
  • being created through learning means that a predefined operation rule or artificial intelligence model with desired characteristics is created by applying a learning algorithm to a large number of learning data.
  • This learning may be performed on the device itself that performs the artificial intelligence according to the present disclosure, or may be performed through a separate server/system.
  • the robot 100 may further include a memory in which a learned neural network model is stored.
  • An artificial intelligence model may be composed of multiple neural network layers. At least one layer has at least one weight value, and the operation of the layer is performed using the operation result of the previous layer and at least one defined operation.
  • Examples of neural networks include Convolutional Neural Network (CNN), Deep Neural Network (DNN), Recurrent Neural Network (RNN), Restricted Boltzmann Machine (RBM), Deep Belief Network (DBN), Bidirectional Recurrent Deep Neural Network (BRDNN), and Deep Neural Network (BRDNN).
  • CNN Convolutional Neural Network
  • DNN Deep Neural Network
  • RNN Restricted Boltzmann Machine
  • DBN Deep Belief Network
  • BBN Deep Belief Network
  • BBN Bidirectional Recurrent Deep Neural Network
  • BDN Bidirectional Recurrent Deep Neural Network
  • BDN Bidirectional Recurrent Deep Neural Network
  • BDN Bidirectional Recurrent Deep Neural Network
  • BDN Bidirectional Recurrent Deep Neural
  • a learning algorithm is a method of training a target device (eg, a robot) using a large number of learning data so that the target device can make decisions or make predictions on its own.
  • Examples of learning algorithms include supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, and the learning algorithm in the present disclosure is specified. Except, it is not limited to the examples described above.
  • control unit 140 inputs at least one of an image acquired through a camera or data acquired through a lidar sensor into a learned neural network model to determine whether an obstacle subject to climbing exists on the driving path. It can also be identified.
  • the neural network model may be learned using the image of the driving path of the robot 100 acquired through a camera and the information about the presence or absence of an obstacle to be climbed in the corresponding image as learning data. there is.
  • the neural network model may be learned using data acquired through a lidar sensor and corresponding data on the presence or absence of an obstacle that is a climbing target as learning data.
  • Figure 10 is a block diagram showing the detailed configuration of a robot according to an embodiment.
  • the robot 100' includes a sensor unit 110, a first driving unit 120, a second driving unit 130, a control unit 140, a communication interface 150, a user interface 160, and a microphone ( 170), a speaker 180, a display 190, and a memory 195.
  • a sensor unit 110 the robot 100' includes a sensor unit 110, a first driving unit 120, a second driving unit 130, a control unit 140, a communication interface 150, a user interface 160, and a microphone ( 170), a speaker 180, a display 190, and a memory 195.
  • the communication interface 150 receives various types of content as input.
  • the communication interface 150 includes AP-based Wi-Fi (Wireless LAN network), Bluetooth, 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 , streaming or downloading from an external device (e.g., source device), external storage medium (e.g., USB memory), external server (e.g., web hard drive), etc. through communication methods such as coaxial. Signals can be input.
  • an external device e.g., source device
  • external storage medium e.g., USB memory
  • external server e.g., web hard drive
  • the user interface 160 may be implemented with devices such as buttons, touch pads, mice, and keyboards, or may be implemented with a touch screen, remote control transceiver, etc. that can also perform the above-described display function and manipulation input function.
  • the remote control transceiver may receive a remote control signal from an external remote control device or transmit a remote control signal through at least one communication method among infrared communication, Bluetooth communication, or Wi-Fi communication.
  • the microphone 170 may refer to a module that acquires sound and converts it into an electrical signal, and may be a condenser microphone, ribbon microphone, moving coil microphone, piezoelectric element microphone, carbon microphone, or MEMS (Micro Electro Mechanical System) microphone. Additionally, it can be implemented in omni-directional, bi-directional, uni-directional, sub-cardioid, super-cardioid, and hyper-cardioid ways.
  • the speaker 180 includes a tweeter for reproducing high-pitched sounds, a midrange for reproducing mid-range sounds, a woofer for reproducing low-pitched sounds, a subwoofer for reproducing extremely low-pitched sounds, an enclosure for controlling resonance, and an input to the speaker. It may be composed of a crossover network that divides the electrical signal frequencies into bands.
  • the speaker 180 may output an acoustic signal to the outside of the robot 100'.
  • the speaker 180 can output multimedia playback, recording playback, various notification sounds, voice messages, etc.
  • the robot 100' may include an audio output device such as the speaker 180, or may include an output device such as an audio output terminal.
  • the speaker 180 may provide acquired information, information processed and produced based on the acquired information, response results to the user's voice, or operation results, etc. in voice form.
  • the display 190 may be implemented as a display including a self-emitting device or a display including a non-emitting device and a backlight.
  • a display including a self-emitting device or a display including a non-emitting device and a backlight.
  • LCD Liquid Crystal Display
  • OLED Organic Light Emitting Diodes
  • LED Light Emitting Diodes
  • micro LED micro LED
  • Mini LED Micro LED
  • PDP Plasma Display Panel
  • QD Quantum dot
  • QLED Quantum dot light-emitting diodes
  • the display 190 may also include a driving circuit and a backlight unit that may be implemented in the form of a-si TFT, low temperature poly silicon (LTPS) TFT, or organic TFT (OTFT).
  • LTPS low temperature poly silicon
  • OFT organic TFT
  • the display 190 is implemented as a touch screen combined with a touch sensor, a flexible display, a rollable display, a 3D display, a display in which a plurality of display modules are physically connected, etc. It can be.
  • the control unit or processor 140 may control the display 190 to output the output image obtained according to the various embodiments described above.
  • the output image may be a high-resolution image of 4K or 8K or higher.
  • the memory 195 may store data needed for various embodiments.
  • the memory 195 may be implemented as a memory embedded in the robot 100' or as a memory detachable from the robot 100' depending on the data storage purpose. 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 expansion function of the robot 100', it is attached and detachable to the robot 100'. This can be stored in available memory.
  • volatile memory e.g., 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 (e.g. NAND flash or NOR flash, etc.) ), a hard drive, or a solid state drive (SSD).
  • OTPROM one time programmable ROM
  • PROM programmable ROM
  • EPROM erasable and programmable ROM
  • EEPROM electrically erasable and programmable ROM
  • mask ROM mask ROM
  • flash ROM e.g. NAND flash or NOR flash, etc.
  • hard drive e.g. NAND flash or NOR flash, etc.
  • SSD solid state drive
  • a memory card e.g., compact flash (CF)
  • SD secure digital
  • Micro-SD micro secure digital
  • Mini-SD mini secure digital
  • xD extreme digital
  • MMC multi-media card
  • the robot can shift the wheels to increase the wheel base, thereby enabling the robot to climb without tipping over backwards.
  • the robot's service performance ability increases and user satisfaction improves.
  • the robot does not need to be equipped with a separate camera for user interaction, which also reduces costs.
  • the methods according to various embodiments of the present disclosure described above may be implemented in the form of an application that can be installed on an existing robot.
  • the methods according to various embodiments of the present disclosure described above may be performed using a deep learning-based learned neural network (or deep learned neural network), that is, a learning network model.
  • the methods according to various embodiments of the present disclosure described above may be implemented only by upgrading software or hardware for an existing robot.
  • the various embodiments of the present disclosure described above can also be performed through an embedded server provided in the robot or an external server of the robot.
  • the various embodiments described above may be implemented as software including instructions stored in a machine-readable storage media (e.g., a computer).
  • the device is a device capable of calling instructions stored from a storage medium and operating according to the called instructions, and may include a display device (eg, display device A) according to the disclosed embodiments.
  • the processor may perform the function corresponding to the instruction directly or using other components under the control of the processor.
  • Instructions may contain code generated or executed by a compiler or interpreter.
  • a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
  • 'non-transitory' only means that the storage medium does not contain signals and is tangible, and does not distinguish whether the data is stored semi-permanently or temporarily in the storage medium.
  • the methods according to various embodiments described above may be provided and included in a computer program product.
  • Computer program products are commodities and can be traded between sellers and buyers.
  • the computer program product may be distributed on a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or online through an application store (e.g. Play StoreTM).
  • an application store e.g. Play StoreTM
  • at least a portion of the computer program product may be at least temporarily stored or created temporarily in a storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server.
  • each component e.g., module or program
  • each component may be composed of a single or multiple entities, and some of the sub-components described above may be omitted, or other sub-components may be omitted. Additional components may be included in various embodiments. Alternatively or additionally, some components (e.g., modules or programs) may be integrated into a single entity and perform the same or similar functions performed by each corresponding component prior to integration. According to various embodiments, operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or at least some operations may be executed in a different order, omitted, or other operations may be added. You can.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

로봇이 개시된다. 로봇은, 바디부, 바디부에 구비된 하나 이상의 센서, 바디부의 반대 측에 각각 마련된 회전 가능한 제1 휠(Wheel) 및 제2 휠, 제1 회전 축을 기준으로 제1 휠 및 제2 휠을 회전시키는 제1 구동부, 제2 회전 축을 기준으로 제1 휠 및 제2 휠을 편심 회전시키는 제2 구동부 및 제1 휠 및 제2 휠을 회전시켜 로봇이 경로를 따라 주행하도록 제1 구동부 및 제2 구동부를 제어하고, 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월(Climbing) 대상이 되는 장애물을 식별하고, 장애물이 식별되면, 제1 휠 및 제2 휠이 제2 회전 축을 기준으로 편심 회전되도록, 제2 구동부를 제어하여 제1 휠 및 제2 휠을 바디부를 기준으로 로봇의 휠 베이스(Wheel Base) 크기를 증가시키기 위하여 제1 위치에서 제2 위치로 시프팅(shifting)시키는 하나 이상의 프로세서를 포함한다.

Description

주행이 가능한 소형 로봇 및 이의 제어 방법
본 개시는 주행이 가능한 소형 로봇 및 그 제어 방법에 관한 것으로, 더욱 상세하게는 로봇의 휠을 편심 회전시켜 장애물을 승월(Climbing)하는 로봇 및 이의 제어 방법에 관한 것이다.
전자 기술의 발달에 힘입어 다양한 유형의 전자 기기가 개발 및 보급되고 있으며, 최근에는 사용자 등에게 서비스를 제공하는 로봇에 대한 기술 개발이 활발해지고 있다. 사용자에게 서비스를 제공하기 위하여 특정 공간을 주행하는 로봇의 경우, 주행 경로 내의 장애물을 승월(Climbing)하여 주행하는 상황이 발생할 수 있다.
구 형태의 로봇의 경우, 로봇의 형태적 특성상 장애물을 승월시 주행 방향의 반대 방향으로 전복되는 상황이 발생할 수 있다. 로봇이 전복되면, 로봇은 사용자에게 서비스를 제공하는 것이 불가능하며, 사용자는 로봇을 다시 세워주어야 하는 번거로움이 요구될 수 있다. 이에 따라, 로봇이 전복되지 않도록 하면서 주행 경로 내의 장애물을 승월할 수 있는 방안이 요구된다.
이상과 같은 목적을 달성하기 위한 일 실시 예에 따른 로봇은 바디부, 상기 바디부에 구비된 하나 이상의 센서, 상기 바디부의 반대 측에 각각 마련된 회전 가능한 제1 휠(Wheel) 및 제2 휠, 제1 회전 축을 기준으로 상기 제1 휠 및 상기 제2 휠을 회전시키는 제1 구동부, 제2 회전 축을 기준으로 상기 제1 휠 및 상기 제2 휠을 편심 회전시키는 제2 구동부 및 상기 제1 휠 및 상기 제2 휠을 회전시켜 상기 로봇이 경로를 따라 주행하도록 상기 제1 구동부 및 상기 제2 구동부를 제어하는 하나 이상의 프로세서를 포함할 수 있다.
상기 하나 이상의 프로세서는, 상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 주행 경로 상에 승월(Climbing) 대상이 되는 장애물을 식별할 수 있다.
상기 하나 이상의 프로세서는, 상기 장애물이 식별되면, 상기 제1 휠 및 상기 제2 휠이 상기 제2 회전 축을 기준으로 편심 회전되도록, 상기 제2 구동부를 제어하여 상기 제1 휠 및 상기 제2 휠을 상기 바디부를 기준으로 상기 로봇의 휠 베이스(Wheel Base) 크기를 증가시키기 위하여 제1 위치에서 제2 위치로 시프팅(shifting)시킬 수 있다.
이상과 같은 목적을 달성하기 위한 일 실시 예에 따른 바디부, 상기 바디부의 반대 측에 각각 마련된 회전 가능한 제1 휠 및 제2 휠, 제1 구동부, 제2 구동부 및 하나 이상의 센서를 포함하는 로봇은, 상기 회전 가능한 제1 휠(Wheel) 및 제2 휠 각각의 제1 회전 축 또는 제2 회전 축 중 적어도 하나를 기준으로 상기 제1 휠 및 상기 제2 휠을 회전시켜 상기 로봇이 주행 경로를 따라 주행하도록 상기 제1 구동부 및 상기 제2 구동부 중 적어도 하나를 제어하는 단계를 포함할 수 있다.
상기 제어 방법은, 상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 주행 경로 상에 승월(Climbing) 대상이 되는 장애물을 식별하는 단계;를 포함할 수 있다.
상기 제어 방법은, 상기 장애물이 식별되면, 상기 제1 휠 및 상기 제2 휠이 상기 제2 회전 축을 기준으로 편심 회전되도록, 상기 제2 구동부를 제어하여 상기 제1 휠 및 상기 제2 휠을 상기 바디부를 기준으로 상기 로봇의 휠 베이스(Wheel Base) 크기를 증가시키기 위하여 제1 위치에서 제2 위치로 시프팅(shifting)시키는 단계를 포함할 수 있다.
이상과 같은 목적을 달성하기 위한 일 실시 예에 따른 바디부, 상기 바디부의 반대 측에 각각 마련된 회전 가능한 제1 휠 및 제2 휠, 제1 구동부, 제2 구동부 및 하나 이상의 센서를 포함하는 로봇의 하나 이상의 프로세서에 의해 실행되는 경우 상기 로봇이 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 기록 매체에 있어서, 상기 동작은, 상기 회전 가능한 제1 휠(Wheel) 및 제2 휠 각각의 제1 회전 축 또는 제2 회전 축 중 적어도 하나를 기준으로 상기 제1 휠 및 상기 제2 휠을 회전시켜 상기 로봇이 주행 경로를 따라 주행하도록 상기 제1 구동부 및 상기 제2 구동부 중 적어도 하나를 제어하는 단계를 포함할 수 있다.
상기 동작은, 상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 주행 경로 상에 승월(Climbing) 대상이 되는 장애물을 식별하는 단계를 포함할 수 있다.
상기 동작은, 상기 장애물이 식별되면, 상기 제1 휠 및 상기 제2 휠이 상기 제2 회전 축을 기준으로 편심 회전되도록, 상기 제2 구동부를 제어하여 상기 제1 휠 및 상기 제2 휠을 상기 바디부를 기준으로 상기 로봇의 휠 베이스(Wheel Base) 크기를 증가시키기 위하여 제1 위치에서 제2 위치로 시프팅(shifting)시키는 단계를 포함할 수 있다.
본 발명의 특정 실시예의 상기 및 기타 측면, 특징 및 이점은 첨부된 도면과 함께 다음의 설명으로부터 더욱 명백해질 것이다:
도 1a 및 1b는 일 실시 예에 따른 로봇의 제어 방법을 개략적으로 설명하기 위한 도면이다.
도 2는 일 실시 예에 따른 로봇의 구성을 나타내는 블록도이다.
도 3은 일 실시 예에 따른 로봇이 장애물을 승월하는 방법을 설명하기 위한 흐름도이다.
도 4는 일 실시 예에 따른 로봇이 장애물을 승월하는 방법을 설명하기 위한 흐름도이다.
도 5a는 일 실시 예에 따른 휠을 편심 회전시키는 방법을 설명하기 위한 도면이다.
도 5b는 일 실시 예에 따른 로봇의 동작 메커니즘을 설명하기 위한 도면이다.
도 5c는 일 실시 예에 따른 로봇의 동작 메커니즘을 설명하기 위한 도면이다.
도 6a 및 6b는 일 실시 예에 따른 로봇이 장애물을 승월하지 못한 경우의 제어 방법을 설명하기 위한 도면이다.
도 7은 일 실시 예에 따른 로봇이 전복된 경우의 제어 방법을 설명하기 위한 도면이다.
도 8은 일 실시 예에 따른 로봇이 감정 표현에 대응되는 동작을 수행하는 방법을 설명하기 위한 도면이다.
도 9a 및 9b는 일 실시 예에 따른 본 개시의 카메라 틸팅(Tilting) 효과를 설명하기 위한 도면이다.
도 10은 일 실시 예에 따른 로봇의 세부 구성을 나타내는 블록도이다.
본 발명의 실시예는 첨부된 도면을 참조하여 아래에서 더 상세히 설명될 것이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 명세서에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
A 또는/및 B 중 적어도 하나라는 표현은 "A" 또는 "B" 또는 "A 및 B" 중 어느 하나를 나타내는 것으로 이해되어야 한다.
본 명세서에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 어떤 구성요소가 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "구성되다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시에서 "모듈" 혹은 "부"는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 "모듈" 혹은 복수의 "부"는 특정한 하드웨어로 구현될 필요가 있는 "모듈" 혹은 "부"를 제외하고는 적어도 하나의 모듈로 일체화되어 하나 이상의 프로세서(미도시)로 구현될 수 있다.
또한, 본 명세서에서 'DNN(deep neural network)'은 뇌 신경을 모사한 인공 신경망 모델의 대표적인 예시로써, 특정 알고리즘을 사용한 인공 신경망 모델로 한정되지 않는다.
또한, 본 명세서에서 '파라미터'는 뉴럴 네트워크를 이루는 각 레이어의 연산 과정에서 이용되는 값으로서 예를 들어, 입력 값을 소정 연산식에 적용할 때 이용되는 가중치를 포함할 수 있다. 또한, 파라미터는 매트릭스 형태로 표현될 수 있다. 파라미터는 훈련의 결과로 설정되는 값으로서, 필요에 따라 별도의 훈련 데이터(training data)를 통해 갱신될 수 있다.
도 1a 및 1b은 일 실시 예에 따른 로봇의 제어 방법을 개략적으로 설명하기 위한 도면이다.
도 1a에 따르면, 일 실시 예에 따라, 로봇(10)은 공간을 주행하기 위해 주행 공간에 대응되는 맵 정보를 기 저장하고 있을 수 있으며, 맵 정보에 기초하여 주행 경로를 식별하여 공간을 주행할 수 있다. 일 예에 따라 로봇(10)은 기 저장된 맵 정보에 기초하여 목적지까지 도달하기 위한 최소 시간 경로 또는 최단 거리 경로를 생성할 수 있다.
일 예에 따라, 로봇(10)은 볼(ball) 형태의 로봇일 수 있으나 이에 한정되지 않으며, 휠을 이용하여 주행 경로를 주행하는 소형 로봇일 수 있다. 일 예에 따라 소형 로봇은 로봇의 높이가 30cm 미만인 로봇일 수 있으나 이에 한정되지는 않는다.
일 실시 예에 따라, 로봇(10)은 바디부(15) 및 휠(11)을 포함할 수 있다. 일 예에 따라, 바디부(15)는 로봇(10)의 중앙 부분을 구성할 수 있다. 바디부(15)의 양 측에는 한 쌍의 휠(11)이 구비될 수 있다. 즉, 바디부(15)의 좌측에는 좌측 휠(또는, 제1 휠)이 구비되고, 바디부(15)의 우측에는 우측 휠(또는, 제2 휠)이 구비될 수 있다. 예를 들어, 좌측 휠 및 우측 휠은 바디부(15)의 중심축을 기준으로 서로 대칭 형태로 구비될 수 있다.
좌측 휠 및 우측 휠을 포함하는 휠(11)은 각각 360도 회전 가능하도록 구비될 수 있다. 좌측 휠 및 우측 휠 각각에는 바디부(15)와 인접한 부분에 구비되는 접촉 부재가 구비될 수 있다. 예를 들어, 접촉 부재는 좌측 휠 및 우측 휠의 외면의 일부를 둘러싸도록 마련되고 지면과 접촉될 수 있다. 이에 따라, 로봇(10)은 좌측 휠 및 우측 휠의 회전에 따라 전방 또는 후방으로 이동할 수 있게 된다. 본 개시에 따른 좌측 휠 및 우측 휠을 포함하는 휠(11)은 일 예에 따라 로봇(10)의 전륜(Front Wheel)일 수 있다.
일 실시 예에 따라 로봇(10)은 식별된 주행 경로 상에 승월 대상이 되는 장애물이 식별되면, 로봇(10)의 회전 축(13)을 기준으로 로봇(10)에 구비된 휠(11)을 회전시켜 장애물을 승월할 수 있다. 예를 들어, 로봇(10)은 주행 경로 상에서 장애물이 식별되면, 장애물의 특성(예를 들어, 높이, 크기 등)에 기초하여 승월 대상인지 회피 대상인지 식별할 수 있다.
일 예에 따라 로봇(10)은 별도의 후륜(rear wheel, 14)을 구비할 수 있다. 도 1a와 같이 로봇(10)이 장애물(30)을 승월하는 경우, 장애물(30)과 후륜(14) 사이의 거리(12)가 감소함에 따라 로봇(10)의 무게 중심이 후륜(14)의 뒤에 위치하는 경우, 도 1b와 같이 로봇(10)이 장애물(30)을 승월하지 못하고 후방으로로 전복되는 상황이 발생될 수 있다. 이에 따라, 이하에서는 로봇(10)이 후방으로 전복되지 않고 장애물(30)을 원활히 승월할 수 있는 다양한 실시 예에 대하여 설명하도록 한다.
이하에서 설명되는 다양한 실시 예들에 포함된 적어도 하나의 구성 및/또는 동작은 다른 실시 예에 포함된 적어도 하나의 구성 및/또는 동작으로 치환될 수 있다. 또한, 다양한 실시 예들에 포함된 적어도 하나의 구성 및/또는 동작은 다른 실시 예에 추가적으로 포함될 수 있다. 즉, 이하에서 설명되는 다양한 실시 예들은 서로 분리된 실시 예가 아니며 각 실시 예들에 포함된 적어도 일부 구성이 서로 조합될 수 있다.
도 2는 일 실시 예에 따른 로봇의 구성을 나타내는 블록도이다.
도 2에 따르면, 로봇(100)은 센서부(110), 제1 구동부(120), 제2 구동부(130) 및 제어부(140)를 포함할 수 있다.
센서부(110, 또는 적어도 하나의 센서)는 다양한 타입의 복수의 센서를 포함할 수 있다. 센서부(110)는 물리량을 계측하거나 로봇(100)의 작동 상태를 감지하여, 계측 또는 감지된 정보를 전기 신호로 변환할 수 있다. 센서부(110)는 카메라를 포함할 수 있으며, 카메라는 오브젝트에 의해 반사되어 수신되는 가시광 및/또는 기타 광학 신호를 이미지 센서로 포커싱하는 렌즈 및 가시광 및/또는 기타 광학 신호를 감지할 수 있는 이미지 센서를 포함할 수 있다. 여기서, 이미지 센서는 복수의 픽셀로 구분되는 2D의 픽셀 어레이를 포함할 수 있다. 일 예에 따른 카메라는 뎁스 카메라로 구현될 수 있다. 또한, 일 예에 따라 센서부(110)는 라이더(LIDAR, Light Detection And Ranging) 센서 및 TOF(Time of Flight) 센서와 같은 거리 센서뿐 아니라 형태를 판독하는 열 화상 센서를 포함할 수 있다.
일 예에 따라 센서부(110)는 엔코더(Rotary Encoder)를 포함할 수 있으며, 하나 이상의 제어부(140, 또는, 하나 이상의 프로세서)는 엔코더(Rotary Encoder)를 통해 로봇(100)에 구비된 양측 휠(도 1, 11)의 RPM(Revolutions per minute) 정보를 획득할 수 있다.
또는, 일 예에 따라, 센서부(110)는 IMU(Inertial Measurement Unit) 센서를 포함할 수 있으며, 제어부(140)는 IMU 센서를 통해 로봇(100)의 기울기(또는, 기울어진 정도)에 대한 데이터를 획득할 수 있다.
본 개시에 따른 좌측 휠 및 우측 휠을 포함하는 휠(11)은 일 예에 따라 로봇(100)의 전륜(Front Wheel)일 수 있다. 이하에서는 설명의 편의를 위하여 좌측 휠 및 우측 휠을 휠(11)로 명명할 수 있다. 본 개시에서 휠(11)은 구동부, 예를 들어, 제1 구동부(120) 및 제2 구동부(130)에 의해 제어되는 휠을 의미하며, 도 1에 도시된 후륜(14)은 휠(11))과 구별되는 것으로 상정하도록 한다.
제1 구동부(120) 및 제2 구동부(130)를 포함하는 구동부(120, 130)는 로봇(100)을 주행시킬 수 있는 장치이다. 구동부(120, 130)는 하나 이상의 제어부(140)의 제어에 따라 주행 방향 및 주행 속도를 조절할 수 있다. 일 예에 따른 구동부(120, 130)는 로봇(100)이 주행하기 위한 동력을 발생시키는 동력발생장치(예: 사용 연료(또는 에너지원)에 따라 가솔린 엔진(engine), 디젤 엔진, LPG(liquefied petroleum gas) 엔진, 전기 모터 등)를 포함할 수 있다. 여기서, 구동부(120, 130)는 로봇(100)의 주행 타입(예: 휠 타입, 보행 타입 등)에 따라 다양한 방식으로 구현될 수 있다.
일 실시 예에 따라, 제1 구동부(120)는 휠(11)을 회전시킬 수 있다. 일 예에 따라, 제1 구동부(120)는 체결부의 일 측에 결합되어 체결부의 나머지 일 측에 결합된 휠(11)을 회전시킬 수 있다. 즉, 제1 구동부(120)가 회전하게 되면 제1 구동부(120)의 일 측에 결합된 체결부가 회전하게 되며, 이에 따라 연결 부재의 나머지 일 측에 결합된 휠(11)이 회전하게 된다.
일 예에 따라, 제1 구동부(120)는 복수 개로 구현되어 바디부(15)의 양 측에 각각 구비될 수 있다. 예를 들어, 복수의 제1 구동부(120) 중 하나는 바디부(15)의 좌측 에 구비되고, 복수의 제1 구동부(120) 중 다른 하나는 바디부(15)의 우측 휠 에 구비될 수 있다. 제1 구동부(120)와 체결부 및 휠(11)의 결합에 관하여는 도 5b 및 5c를 통해 자세히 설명하도록 한다.
일 예에 따라 휠(11)의 중심은 제1 구동부(120)의 회전 축(또는, 제1 회전 축) 상에 위치할 수 있으며, 제1 구동부(120)의 회전 축을 기준으로 제1 구동부(120)가 회전하게 되면, 제1 구동부(120)와 결합된 체결부 역시 제1 구동부(120)의 회전 축을 기준으로 회전하게 되고, 이에 따라 체결부와 결합된 휠(11) 역시 제1 구동부(120)의 회전 축을 기준으로 회전하게 된다. 즉, 제1 구동부(120)는 휠의 중심을 회전 축으로 하여 양측 휠(11)을 회전시킬 수 있다.
일 실시 예에 따라, 제2 구동부(130)는 휠(11)을 회전시킬 수 있다.
일 예에 따라, 제2 구동부(130)는 바디부(15)의 일 측에 구비될 수 있다. 제2 구동부(130)는 연결 부재의 일 측에 결합되어 연결 부재의 나머지 일 측에 결합된 제1 구동부(120)를 회전시킬 수 있다. 이에 따라 제1 구동부(120)의 일 측에 결합된 체결부가 회전하게 되며, 체결부의 나머지 일 측에 결합된 휠(11) 역시 회전하게 된다. 제2 구동부(130)와 연결 부재 및 휠(11)의 결합에 관하여는 도 5b 및 5c를 통해 자세히 설명하도록 한다.
일 예에 따라, 제2 구동부(130)는 복수 개로 구현되어 바디부(15)의 양 측에 각각 구비될 수 있다. 복수의 제2 구동부(130) 중 하나는 바디부(15)의 좌측 에 구비될 수 있다. 복수의 제2 구동부(130) 중 다른 하나는 바디부(15)의 우측 에 구비될 수 있다.
한편, 일 예에 따라 제2 구동부(130)의 회전 축은 제1 구동부(120)의 회전 축으로부터 기 설정된 거리만큼 이격된 위치에 구비될 수 있다. 예를 들어, 제2 구동부(130)의 회전 축(또는, 제2 회전 축)은 휠의 중심(또는, 제1 구동부(120)의 회전 축 상에 위치하는 휠의 중심)으로부터 10cm만큼 이격된 위치에 구비되어, 구비된 위치를 기준으로 좌측 휠 및 우측 휠(11)을 회전시킬 수 있다. 즉, 제1 구동부(120)의 회전 축과 제2 구동부(130)의 회전 축은 상이할 수 있다. 다시 말해, 제1 회전 축은 휠(11)의 중심 위치에 대응되고, 제2 회전 축은 휠의 중심으로부터 기 설정된 거리만큼 이격된 위치에 대응될 수 있다. 다만, 이에 한정되는 것은 아니다.
제어부(140, 또는 하나 이상의 프로세서)는 센서부(110) 및 구동부(120 및 130)와 전기적으로 연결되어 로봇(100)의 전반적인 동작을 제어한다. 제어부(140)는 하나 또는 복수의 프로세서로 구성될 수 있다. 구체적으로, 제어부(140)는 메모리(예를 들어, 메모리 195)에 저장된 적어도 하나의 인스트럭션을 실행함으로써, 본 개시의 다양한 실시 예에 따른 로봇(100)의 동작을 수행할 수 있다.
제어부(140)는 CPU (Central Processing Unit), GPU (Graphics Processing Unit), APU (Accelerated Processing Unit), MIC (Many Integrated Core), DSP (Digital Signal Processor), NPU (Neural Processing Unit), 하드웨어 가속기 또는 머신 러닝 가속기 중 하나 이상을 포함할 수 있다. 제어부(140)는 로봇의 다른 구성요소 중 하나 또는 임의의 조합을 제어할 수 있으며, 통신에 관한 동작 또는 데이터 처리를 수행할 수 있다. 제어부(140)는 메모리에 저장된 하나 이상의 프로그램 또는 명령어(instruction)을 실행할 수 있다. 예를 들어, 제어부(140)는 메모리에 저장된 하나 이상의 명령어를 실행함으로써, 본 개시의 일 실시 예에 따른 방법을 수행할 수 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 하나의 프로세서에 의해 수행될 수도 있고, 복수의 프로세서에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제 1 동작, 제 2 동작, 제 3 동작이 수행될 때, 제 1 동작, 제 2 동작, 및 제 3 동작 모두 제 1 프로세서에 의해 수행될 수도 있고, 제 1 동작 및 제 2 동작은 제 1 프로세서(예를 들어, 범용 프로세서)에 의해 수행되고 제 3 동작은 제 2 프로세서(예를 들어, 인공지능 전용 프로세서)에 의해 수행될 수도 있다.
제어부(140)는 하나의 코어를 포함하는 단일 코어 프로세서(single core processor)로 구현될 수도 있고, 복수의 코어(예를 들어, 동종 멀티 코어 또는 이종 멀티 코어)를 포함하는 하나 이상의 멀티 코어 프로세서(multicore processor)로 구현될 수도 있다. 제어부(140)가 멀티 코어 프로세서로 구현되는 경우, 멀티 코어 프로세서에 포함된 복수의 코어 각각은 캐시 메모리, 온 칩(On-chip) 메모리와 같은 프로세서 내부 메모리를 포함할 수 있으며, 복수의 코어에 의해 공유되는 공통 캐시가 멀티 코어 프로세서에 포함될 수 있다. 또한, 멀티 코어 프로세서에 포함된 복수의 코어 각각(또는 복수의 코어 중 일부)은 독립적으로 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있고, 복수의 코어 전체(또는 일부)가 연계되어 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 멀티 코어 프로세서에 포함된 복수의 코어 중 하나의 코어에 의해 수행될 수도 있고, 복수의 코어에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제 1 동작, 제 2 동작, 및 제 3 동작이 수행될 때, 제 1 동작, 제2 동작, 및 제3 동작 모두 멀티 코어 프로세서에 포함된 제 1 코어에 의해 수행될 수도 있고, 제 1 동작 및 제 2 동작은 멀티 코어 프로세서에 포함된 제 1 코어에 의해 수행되고 제 3 동작은 멀티 코어 프로세서에 포함된 제 2 코어에 의해 수행될 수도 있다.
본 개시의 실시 예들에서, 프로세서는 하나 이상의 프로세서 및 기타 전자 부품들이 집적된 시스템 온 칩(SoC), 단일 코어 프로세서, 멀티 코어 프로세서, 또는 단일 코어 프로세서 또는 멀티 코어 프로세서에 포함된 코어를 의미할 수 있으며, 여기서 코어는 CPU, GPU, APU, MIC, DSP, NPU, 하드웨어 가속기 또는 기계 학습 가속기 등으로 구현될 수 있으나, 본 개시의 실시 예들이 이에 한정되는 것은 아니다.
일 실시 예에 따라, 제어부(140)는 로봇(100)에 구비된 휠을 회전시켜 로봇(100)을 주행시킬 수 있다. 일 예에 따라, 제어부(140)는 좌측 휠 및 우측 휠(11)을 회전시켜 로봇(100)이 주행 경로를 따라 주행하도록 제1 구동부(120)를 제어할 수 있다.
일 예에 따라 로봇(100)은 공간을 주행하기 위해 주행 공간에 대응되는 맵 정보를 기 저장하고 있을 수 있으며, 맵 정보 및 목표 지점의 위치에 기초하여 주행 경로를 식별하여 특정 공간을 주행할 수 있다.
일 실시 예에 따라, 제어부(140)는 주행 경로 상에 승월(Climbing) 대상이 되는 장애물의 존재 여부를 식별할 수 있다. 일 예에 따라, 제어부(140)는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월 대상이 되는 장애물이 존재하는지 여부를 식별할 수 있다. 예를 들어, 로봇(10)은 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에서 장애물이 식별되면, 장애물의 특성(예를 들어, 높이, 크기 등)에 기초하여 승월 대상인지 회피 대상인지 식별할 수 있다. 여기서, 승월 대상은 일 예에 따라 좌측 휠 및 우측 휠(11)을 시프팅시켜 승월하는 대상이라는 의미이며 단순 주행으로 장애물을 승월할 수 있는 경우(예를 들어, 낮은 높이의 턱)는 제외하도록 한다.
예를 들어, 제어부(140)는 카메라를 통해 획득된 이미지를 통해 로봇(100)으로부터 기 설정된 거리(예를 들어, 1 미터) 내에 승월 대상이 되는 장애물이 존재하는지 여부를 식별할 수 있다. 다만, 이에 한정되는 것은 아니며, 제어부(140)는 카메라를 통해 획득된 이미지를 통해 기 설정된 거리 이상이 되는 위치에 존재하는 승월 대상 장애물을 식별할 수 있음은 물론이다. 일 실시 예에 따라, 제어부(140)는 승월 대상이 되는 장애물이 식별되면, 양측 휠이 제2 회전 축을 기준으로 편심 회전되도록 제2 구동부(130)를 제어할 수 있다. 여기서, 편심은 힘의 작용이 휠의 중심 축에서 벗어나 작용하는 것을 의미할 수 있다. 편심 회전은 휠(11) 각각의 중심(또는, 중심 위치)로부터 기 설정된 거리만큼 이격된 위치를 회전 축으로 하여 휠을 회전시키는 것을 의미할 수 있다. 예를 들어, 제2 회전 축의 위치가 휠의 중심으로부터 기 설정된 거리만큼 이격된 위치이므로 제2 회전 축을 기준으로 양측 휠이 회전되면 양측 휠이 편심 회전하게 될 수 있다. 일 예에 따라 제2 구동부(130)는 제2 회전 축에 대응되는 위치에 구비될 수 있다.
일 예에 따라, 제어부(140)는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 식별되면, 좌측 휠 및 우측 휠(11)이 제2 회전 축을 기준으로 편심 회전되도록 제2 구동부(130)를 제어하여 좌측 휠 및 우측 휠(11)을 바디부(도 1, 15)를 기준으로 로봇(100)의 휠 베이스(Wheel Base) 크기가 증가하는 방향으로 시프팅(shifting)시킬 수 있다. 여기서, 휠 베이스(또는 축간 거리)는 로봇(100)의 전륜(Front Wheel)과 후륜(Rear Wheel)의 각 중심 사이의 거리를 의미할 수 있다. 시프팅은 휠(11)의 중심이 현재 위치로부터 일 방향으로 이동하는 것을 의미할 수 있다. 일 예에 따라 양측 휠(11)이 바디부(15)를 기준으로 일 방향으로 시프팅되면, 양측 휠(11) 및 후륜(14)의 중심 사이의 거리가 증가하게 되므로 휠 베이스가 증가하게 된다. 휠 베이스가 증가하게 되면 회전 반경이 증가하여 주행 안정성, 직진성이 증가한다는 점에서 로봇(100)의 휠 베이스(Wheel Base)의 크기가 증가하도록 휠(11)을 시프팅하게 되면 로봇(100)이 전복될 확률이 상대적으로 감소하게 된다.
예를 들어, 제어부(140)는 획득된 센싱 데이터를 분석하여 주행 경로 내에 승월 대상이 되는 장애물이 식별되면, 제2 구동부(130)를 제어하여 좌측 휠 및 우측 휠(11)을 제2 회전 축을 기준으로 기 설정된 회전 각도만큼 회전시킬 수 있다. 좌측 휠 및 우측 휠(11)이 제2 회전 축을 기준으로 기 설정된 각도만큼 회전함에 따라, 양측 휠(11)은 바디부(15)를 기준으로 기 설정된 거리만큼 시프팅될 수 있다.
일 실시 예에 따라, 제어부(140)는 양측 휠(11)을 기 설정된 거리만큼 시프팅시키면서 제1 구동부(120)를 제어하여 제1 회전 축을 기준으로 양측 휠(11)를 회전시킴으로써 장애물에 대한 승월을 수행할 수 있다. 로봇(100)의 양측 휠(11)이 시프팅되기 이전에 비하여 휠 베이스의 크기가 증가함에 따라, 상대적으로 안정적인 승월이 가능하게 된다.
또는, 일 실시 예에 따라 제어부(140)는 양측 휠(11) 중 어느 하나만을 기 설정된 거리만큼 시프팅시키면서 장애물에 대한 승월을 수행할 수도 있다. 일 예에 따라, 제어부(140)는 좌측 휠을 기 설정된 거리만큼 시프팅시키고, 제1 구동부(120)를 제어하여 제1 회전 축을 기준으로 양측 휠(11)을 회전시킴으로써 장애물에 대한 승월을 수행할 수 있다.
도 3은 일 실시 예에 따른 로봇이 장애물을 승월하는 방법을 설명하기 위한 흐름도이다.
도 3에 따르면, 일 실시 예에 따라 제어부(140)는 좌측 휠 및 우측 휠(11)을 회전시켜 로봇(100)이 주행 경로를 따라 주행하도록 제1 구동부(120)를 제어할 수 있다(S310).
일 예에 따라, 로봇(100)이 주행 경로를 따라 주행하기 위해, 제어부(140)는 휠(11)의 중심에 위치한 제1 회전 축을 기준으로 휠(11)이 회전하도록 제1 구동부(120) 및 제2 구동부(130) 중 적어도 하나를 제어할 수 있다.
이어서, 일 실시 예에 따라 제어부(140)는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월(Climbing) 대상이 되는 장애물을 식별할 수 있다(S320). 일 예에 따라 제어부(140)는 카메라 센서를 통해 로봇(100)의 주행 경로에 대응되는 주행 경로에 대한 이미지를 획득할 수 있다.
일 예에 따라, 제어부(140)는 획득된 주행 경로에 대한 이미지에 기초하여 주행 경로 상에 승월 대상이 되는 장애물(예를 들어, 방지 턱, 계단 등)을 식별할 수 있다. 예를 들어, 제어부(140)는 이미지에 포함된 오브젝트의 특성(예를 들어, 높이, 크기, 타입 등)을 분석하여 승월 대상인지 회피 대상인지 식별할 수 있다.
예를 들어, 제어부(140)는 획득된 이미지 내에 턱이 식별된 경우, 획득된 이미지에 기초하여 식별된 턱이 기 설정된 범위 이내의 높이 값인 것으로 식별되면, 식별된 턱을 승월 대상이 되는 장애물로 식별할 수 있다.
예를 들어, 제어부(140)는 획득된 이미지 내에 턱이 식별된 경우, 획득된 이미지에 기초하여 턱의 높이 값을 식별할 수 있다. 제어부(140)는 식별된 턱이 기 설정된 범위 내의 높이 값을 초과하는 경우, 식별된 턱을 회피 대상이 되는 장애물로 식별할 수도 있다.
이 후, 제어부(140)는 식별된 턱이 주행 경로 상에 존재하는지 여부를 식별할 수 있다.
또는, 일 예에 따라 제어부(140)는 카메라 센서와 상이한 타입의 센서에 기초하여 주행 경로 상에 장애물의 존재 여부 및 장애물이 승월 대상인지 여부를 식별할 수도 있다.
예를 들어, 제어부(140)는 라이더(Light Detection And Ranging, LiDAR) 센서를 통해 획득되는 센싱 정보에 기초하여 주행 경로 상에 승월 대상이 되는 장애물의 존재 여부를 식별할 수 있다.
또는, 제어부(140)는 클리프 센서(Cliff Sensor)를 통해 획득되는 센싱 정보에 기초하여 주행 경로 상에 승월 대상이 되는 장애물의 존재 여부를 식별할 수 있다. 클리프 센서는 다양한 타입의 광 센서를 이용하여 로봇(100)의 본체를 지지하는 바닥의 장애물을 감지할 수 있으며, 일 예에 따라 클리프 센서는 적외선 센서, 초음파 센서, RF(Radio Frequency) 센서 또는 PSD(Position Sensitive Detector) 센서일 수 있다. 클리프 센서는 일 예에 따라 로봇(100)의 배면에 배치될 수 있으나, 이에 한정되는 것은 아니다.
예를 들어, 제어부(140)는 클리프 센서를 통해 획득되는 센싱 정보에 기초하여 로봇(100)의 본체를 지지하는 바닥(또는, 배면)으로부터 기 설정된 거리 내에 존재하는 장애물을 식별할 수도 있다. 제어부(140)는 클리프 센서를 통해 로봇(100)의 본체를 지지하는 바닥으로부터 기 설정된 거리 내에 장애물이 식별되면, 좌측 휠 및 우측 휠(11)이 제2 회전 축을 기준으로 편심 회전되어 시프트되도록 제2 구동부(130)를 제어할 수 있다.
또는, 제어부(140)는 클리프 센서를 통해 획득된 센싱 정보를 통하여 장애물의 높이 값을 식별할 수도 있다. 예를 들어, 제어부(140)는 클리프 센서가 바닥면을 향해 발광한 적외선의 발광 신호와 장애물에 의해 반사되어 수신되는 반사 신호 간의 각도 값을 산출하고, 이에 기초하여 장애물의 높이 값을 산출할 수 있다. 제어부(140)는 산출된 장애물의 높이 값이 기 설정된 범위 내인 것으로 식별되면, 장애물이 승월 대상인 것으로 식별하고, 좌측 휠 및 우측 휠(11)이 제2 회전 축을 기준으로 편심 회전되어 시프트되도록 제2 구동부(130)를 제어할 수 있다.
또는, 예를 들어 제어부(140)는 클리프 센서를 통해 획득되는 센싱 정보에 기초하여 본체를 지지하는 바닥으로부터 기 설정된 거리 내에 장애물이 식별되면, 카메라를 통해 획득된 이미지를 통해 장애물의 높이 값을 식별하여, 장애물이 승월 대상인지 여부를 식별할 수 있다. 장애물이 승월 대상인 것으로 식별되면, 제어부(140)는 좌측 휠 및 우측 휠(11)이 제2 회전 축을 기준으로 편심 회전되어 시프트되도록 제2 구동부(130)를 제어할 수 있다.
즉, 제어부(140)는 클리프 센서만을 이용하여 장애물을 식별하거나, 클리프 센서와 카메라 센서(또는, 라이더 센서)를 각각 이용하여 장애물을 식별할 수도 있다.
이어서, 일 실시 예에 따라 제어부(140)는 좌측 휠 및 우측 휠(11)이 제2 회전 축을 기준으로 편심 회전되어 시프트되도록 제2 구동부(130)를 제어할 수 있다. 예를 들어, 제어부(140)는 휠 베이스(Wheel Base) 크기가 증가하는 방향으로 좌측 휠 및 우측 휠(11)을 시프팅(shifting)시킬 수 있다.
일 예에 따라, 제어부(140)는 획득된 센싱 데이터에 기초하여 승월 대상이 되는 장애물이 주행 경로 상에 위치하는 것으로 식별되면(S320: Y), 휠(11)의 중심으로부터 기 설정된 거리만큼 이격된 위치에 존재하는 제2 회전 축을 기준으로 양측 휠(11)이 편심 회전되도록 제2 구동부(130)를 제어할 수 있다.
예를 들어, 제어부(140)는 제2 구동부(130)를 통해 양측 휠(11)의 중심으로부터 기 설정된 거리만큼 이격된 위치에 존재하는 제2 회전 축을 기준으로 휠(11)을 180°편심 회전시켜, 양측 휠(11)을 기존 위치로부터 주행 방향으로 임계 거리만큼 시프팅시킬 수 있다.
또는, 일 예에 따라 제어부(140)는 획득된 센싱 데이터에 기초하여 승월 대상이 되는 장애물로부터 제1 임계 거리 내에 위치하는 것으로 식별되면, 휠(11)의 중심으로부터 기 설정된 거리만큼 이격된 위치에 존재하는 제2 회전 축을 기준으로 양측 휠(11)이 편심 회전되도록 제2 구동부(130)를 제어할 수 있다.
예를 들어, 제어부(140)는 카메라를 통해 획득된 이미지에 기초하여 장애물이 로봇(100)으로부터 제1 임계 거리(예를 들어, 1M) 내에 위치한 것으로 식별되면, 제2 회전 축을 기준으로 양측 휠(11)이 편심 회전되도록 제2 구동부(130)를 제어할 수 있다.
또는, 일 예에 따라 제어부(140)는 획득된 센싱 데이터에 기초하여 승월 대상이 되는 장애물이 주행 경로 상에 존재하는 것으로 식별되는 경우, 로봇(100)과 장애물이 제2 임계 거리인 것으로 식별되면 제2 회전 축을 기준으로 양측 휠(11)이 편심 회전되도록 제2 구동부(130)를 제어할 수 있다.
예를 들어, 주행 경로 상에 위치하는 장애물이 로봇(100)과 제1 임계 거리만큼 이격된 위치에 존재하는 경우를 상정한다. 이 경우, 제어부(140)는 로봇(100)과 장애물 사이의 거리가 제2 임계 거리(예를 들어, 10cm)가 되는 시점까지 로봇(100)이 이동하도록 제1 구동부(120)를 제어할 수 있다. 이어서, 제어부(140)는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 장애물이 로봇(100)과 제2 임계 거리 내에 위치한 것으로 식별되면, 제2 회전 축을 기준으로 양측 휠(11)이 편심 회전되도록 제2 구동부(130)를 제어할 수 있다.
이어서, 일 실시 예에 따라 양측 휠(11)이 바디부(15)를 기준으로 휠 베이스(Wheel Base) 크기가 증가하는 방향으로 시프팅되면, 제어부(140)는 양측 휠(11)이 제1 회전 축을 기준으로 회전하도록 제1 구동부(120)를 제어하여 승월을 수행할 수 있다.
이 경우, 양측 휠(11)이 기존 위치로부터 주행 방향으로 시프팅됨에 따라, 양측 휠(11)의 중심으로부터 후륜(14)까지의 거리, 즉 휠 베이스의 크기는 증가하게 되며, 이에 따라 로봇(100)은 이전보다 상대적으로 수월하게 장애물을 승월할 수 있게 된다.
도 4는 일 실시 예에 따른 로봇이 장애물을 승월하는 방법을 설명하기 위한 흐름도이다.
먼저 일 실시 예에 따라, 제어부(140)는 주행 경로를 따라 로봇(100)을 주행시킬 수 있다(S410). 일 예에 따라, 제어부(140)는 좌측 휠 및 우측 휠(11)을 회전시켜 로봇(100)이 주행 경로를 따라 주행하도록 제1 구동부(120)를 제어할 수 있다.
이어서, 일 실시 예에 따라 제어 방법은 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 존재하는지 여부를 식별할 수 있다(S420). 일 예에 따라, 제어 방법은 센서부(110)를 통해 획득된 이미지 내에 턱이 식별된 경우, 식별된 턱이 기 설정된 높이를 초과하는지 여부를 식별할 수 있다.
다만, 이에 한정되는 것은 아니며 센서부(110)가 라이더 센서로 구현된 경우, 제어 방법은 라이더 센서를 통해 획득된 데이터에 기초하여 주행 경로 상에 승월 대상이 되는 장애물이 존재하는지 여부를 식별할 수도 있다. 라이다 센서는 로봇(100) 주변의 오브젝트(예를 들어, 장애물 등)와의 거리를 감지할 수 있다. 구체적으로, 라이다 센서는 360° 회전하며 로봇(100) 주변의 오브젝트를 향하여 레이저를 조사하고, 조사된 레이저가 로봇(100) 주변의 오브젝트로부터 반사되어 수신되면, 레이저가 수신된 시간에 기초하여 오브젝트와의 거리를 감지하거나, 수신된 레이저의 위상 변화 량을 측정하여 오브젝트와의 거리를 감지할 수 있다.
예를 들어, 제어부(140)는 라이다 센서를 통해 획득된 로봇(100) 주변의 오브젝트에 대응되는 거리 값을 획득할 수 있으며, 획득된 거리 값에 기초하여 주행 경로 상에 장애물의 존재 여부를 식별할 수 있다. 이어서, 제어부(140)는 획득된 거리 값에 기초하여 식별된 장애물의 높이 값이 기 설정된 범위 내인지 여부를 식별하여, 식별된 장애물이 승월 대상이 되는 장애물인지 여부를 식별할 수 있다.
또는, 일 예에 따라 하나 이상의 메모리(또는, 메모리)에 승월 대상이 되는 장애물의 위치 정보가 기 저장되어 있을 수 있다. 예를 들어, 메모리에는 주행 공간에 대응되는 맵 정보가 저장되어 있을 수 있으며, 주행 공간에 대응되는 맵 정보에는 장애물의 위치 정보(예를 들어, 좌표 정보) 및 타입 정보(승월 대상 또는 회피 대상)가 포함되어 있을 수도 있다. 제어부(140)는 로봇(100)의 주행 맵 상의 위치 정보 및 승월 대상이 되는 장애물에 대한 위치 정보에 기초하여 승월 대상이 되는 장애물이 주행 경로 상에 존재하는지 여부를 식별할 수도 있다.
이어서, 일 실시 예에 따라 제어부(140)는 승월 대상이 되는 장애물이 주행 경로 상에 존재하는 것으로 식별되면(S420:Y), 양측 휠(11)이 제2 회전 축을 기준으로 편심 회전되도록 제2 구동부(130)를 제어할 수 있다(S430). 예를 들어, 제어부(140)는 휠의 중심으로부터 기 설정된 거리만큼 이격된 위치에 존재하는 제2 회전 축을 기준으로 휠(11)을 180°편심 회전시켜, 휠(11)을 기존 위치로부터 주행 방향으로 기 설정된 거리만큼 시프팅시킬 수 있다. 여기서, 기 설정된 거리는, 휠(11)이 180°편심 회전됨에 따라 휠의 중심이 제1 회전 축과 제2 회전 축 사이의 거리의 두 배가 되는 거리만큼 주행 방향으로 시프팅되는 경우, 회전되기 전의 휠의 중심과 회전된 이후의 휠의 중심 사이의 거리를 의미한다.
또는, 제어부(140)는 장애물이 주행 경로 상에 존재하는 것으로 식별되면, 양측 휠(11) 중 어느 하나가 제2 회전 축을 기준으로 편심 회전되도록 제2 구동부(130)를 제어할 수도 있다. 예를 들어, 제어부(140)는 좌측 휠이 제2 회전 축을 기준으로 편심 회전되도록 제2 구동부(130)를 제어할 수도 있다.
이어서, 일 실시 예에 따라 제어부(140)는 제1 회전 축을 기준으로 양측 휠(11)이 회전되도록 제1 구동부(120)를 제어하여 장애물을 승월할 수 있다(S440). 일 예에 따라, 제어부(140)는 양측 휠(11)이 제2 회전 축을 기준으로 기 설정된 각도만큼 회전된 상태에서, 제1 회전 축을 기준으로 양측 휠(11)이 회전되도록 제1 구동부(120)를 제어할 수 있다.
이 경우, 일 예에 따라 제어 방법은 승월을 수행하기 위하여 제1 구동부(120)만을 제어할 수 있으나, 이에 한정되지 않으며 제1 구동부(120) 및 제2 구동부(130) 각각을 제어할 수도 있다. 예를 들어, 제어부(140)는 제1 회전 축을 기준으로 양측 휠(11)이 회전되도록 제1 구동부(120)를 제어하는 동안, 제2 회전 축을 기준으로 양측 휠(11)이 회전되도록 제2 구동부(130)를 제어할 수 있다. 이에 따라, 양측 휠(11)은 휠의 중심을 회전축(제1 회전 축)을 기준으로 회전함과 동시에 제2 회전 축을 기준으로 회전함으로써, 보다 효과적으로 승월을 수행할 수 있게 된다.
이어서, 일 실시 예에 따라 제어부(140)는 로봇(100)의 승월 여부를 판단할 수 있다(S450). 일 예에 따라, 제어부(140)는 주행 공간 내 로봇(100)의 위치 정보 및/또는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 좌측 휠 및 우측 휠(11)이 시프팅된 상태에서 장애물의 승월 여부를 식별할 수 있다.
여기서, 로봇(100)의 위치 정보는 주행 맵 상에서의 로봇(100)의 위치에 대응되는 좌표 정보이다. 일 예에 따라, 메모리에는 주행 맵에 대한 정보가 저장되어 있을 수 있으며, 제어부(140)는 주행 맵 내에서 로봇(100)의 상대적인 위치 정보(또는, 좌표 정보)를 식별할 수 있다. 일 예에 따라, 센서부(110)는 모션 센서를 포함할 수 있으며, 제어 방법은 Odometry를 이용하여 주행 맵 내 로봇(100)의 위치 정보를 식별할 수 있다. Odometry란 모션 센서의 데이터(예를 들어, 바퀴의 모션 정보 및 회전 정보)를 사용하여 로봇(100)의 시간에 따른 위치 변화에 대한 정보를 획득하는 방법이다.
일 예에 따라, 제어부(140)는 주행 공간에 대응되는 주행 맵 내 로봇(100)의 위치 정보, 장애물과의 거리 정보 또는 양측 휠(11)의 RPM(Rounds per minute) 정보 중 적어도 하나에 기초하여, 로봇(100)이 기 설정된 시간 동안 움직이지 않는 것으로 식별되면, 로봇(100)이 장애물을 승월하지 못한 것으로 식별할 수 있다.
일 예에 따라 센서부(110)는 근접 센서(Proximity Sensor) 또는 엔코더(Rotary Encoder) 중 적어도 하나를 포함할 수 있으며, 제어부(140)는 근접 센서(Proximity Sensor) 또는 엔코더(Rotary Encoder)를 통해 양측 휠(11)의 RPM 정보를 획득할 수 있다.
일 예에 따라, 제어부(140)는 센서부(110)로부터 획득된 센싱 데이터, 예를 들어 위치 데이터, 장애물과의 거리 데이터 등에 기초하여 로봇(100)이 장애물을 승월하지 못한 위치에서 기 설정된 시간 동안 움직이지 않는 것으로 식별되면, 제어부(140)는 로봇(100)이 장애물을 승월하지 못한 것으로 식별할 수 있다. 즉, 제어부(140)는 장애물을 승월하지 못한 위치에서 로봇(100)의 위치에 변동이 없는 경우, 로봇(100)이 장애물을 승월하지 못한 것으로 식별할 수 있는 것이다. 경우에 따라 로봇(100)이 장애물을 승월하지 못한 위치에서 기 설정된 시간 동안 움직이지 않는 것으로 식별되고, RPM 크기가 기 설정된 값 이상인 경우 장애물을 승월하지 못한 것으로 식별할 수도 있다. 이어서, 일 실시 예에 따라 제어부(140)는 로봇(100)이 장애물을 승월한 것으로 식별되면(Y), 주행 경로 내의 정상 위치로 로봇(100)이 복귀하여 주행하도록 제1 구동부(120)를 제어할 수 있다(S460).
한편, 일 실시 예에 따라 제어부(140)는 로봇(100)이 장애물을 승월하지 못한 것으로 식별되면(S450: N), 제2 구동부(130)를 제어하여 크롤링(crawling) 동작을 수행할 수 있다(S470).
여기서, 크롤링이란 로봇(100)에 구비된 양측 휠(11)이 제2 구동부(130)를 통해 상이한 시간 구간 동안 각각 편심 회전하는 동작 즉, 교번적으로 편심 회전하는 동작 및/또는 상이한 각도로 편심 회전하는 동작을 의미한다.
일 예에 따라, 제어부(140)는 양측 휠(11)이 제2 구동부(130)를 통해 상이한 시간 구간 동안 각각 편심 회전시켜 크롤링 동작을 수행할 수 있다.
한편, 일 예에 따라 제어부(140)는 크롤링 동작을 수행하면서 제1 구동부(120)를 제어하여 휠(11)을 제1 회전 중심을 기준으로 회전시킬 수도 있다. 예를 들어, 제어부(140)는 크롤링 동작이 수행되는 동안, 제1 구동부(120)를 제어하여 휠(11)을 제1 회전 중심을 기준으로 회전시킴으로써 편심 회전뿐만 아니라 제1 구동부(120)를 통한 중심 회전을 동시에 수행할 수도 있다. 이에 대하여는 도 6a 및 6b를 통해 자세히 설명하도록 한다.
이어서, 일 실시 예에 따라 제어부(140)는 제1 구동부(120) 또는 제2 구동부(130) 중 적어도 하나를 제어하여 장애물의 승월을 수행하고(S440), 이 후 로봇(100)이 장애물을 승월하였는지 여부를 다시 판단할 수 있다(S450). 예를 들어, 로봇(100)의 위치 정보, 장애물과의 거리 정보 등에 기초하여 승월 여부를 다시 판단할 수 있다. 제어부(140)는 로봇(100)이 장애물을 승월한 것으로 판단되면, 주행 경로 내의 정상 위치로 로봇(100)이 복귀하여 주행하도록 제1 구동부(120)를 제어할 수 있다(S460).
도 5a는 일 실시 예에 따른 휠을 편심 회전시키는 방법을 설명하기 위한 도면이다.
일 실시 예에 따라 제어부(140)는 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 식별되면, 바디부(15)에 구비된 양측 휠(11)이 시프팅되도록 제2 구동부(130)를 제어할 수 있다. 예를 들어, 로봇(100)이 승월 대상 장애물로부터 기 설정된 거리 내로 접근하면 제어부(140)는 양측 휠(11)이 시프팅되도록 제2 구동부(130)를 제어할 수 있다.
일 예에 따라, 제어부(140)는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 식별되면, 양측 휠(11)이 바디부(15)를 기준으로 전방으로 시프팅(shifting)되도록 양측 휠(11)을 제2 회전 축을 기준으로 편심 회전시킬 수 있다. 이어서, 일 예에 따라 제어부(140)는 양측 휠(11)이 편심 회전되기 이전 위치(또는, 원 위치)를 기준으로 기 설정된 간격만큼 시프팅되면 편심 회전이 중지되도록 제2 구동부(130)를 제어할 수 있다. 이 경우, 일 예에 따라 제어부(140)는 양측 휠(11)이 제2 회전 축을 기준으로 편심 회전되는 회전 각도를 식별하고, 식별된 회전 각도에 기초하여 양측 휠(11)이 편심 회전되기 이전 위치(또는, 원 위치)를 기준으로 기 설정된 간격만큼 시프팅되었는지 여부를 식별할 수 있다.
여기서, 일 예에 따라 상술한 간격은 양측 휠(11)의 중심을 기준으로 산출될 수 있으며, 기 설정된 간격은 예를 들어 '양측 휠(11)이 제2 회전 축을 기준으로 180° 회전된 후의 양측 휠(11)의 중심 위치' 및 '양측 휠(11)이 회전되기 이전의 양측 휠(11)의 중심 위치' 사이의 거리일 수 있다.
또는, 일 예에 따라 상술한 간격은 휠 베이스의 크기(540)일 수도 있다. 일 예에 따라 제어부(140)는 휠 베이스의 크기(541)가 기 설정된 간격 이상이 되도록 제2 구동부(130)를 제어할 수도 있다.
도 5a에 따르면, 일 실시 예에 따라 제어부(140)는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 식별되지 않는 경우, 제1 회전축(510, 또는 휠(530)의 중심 위치)을 기준으로 휠(530)이 회전되도록 제1 구동부(120)를 제어할 수 있다.
이 후, 일 실시 예에 따라 제어부(140)는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 식별되는 경우, 바디부(15)에 구비된 양측 휠(530)이 시프팅되도록 제2 구동부(130)를 제어할 수 있다.
일 예에 따라, 제어부(140)는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 식별되면, 양측 휠(530)이 바디부(15)를 기준으로 전방으로 시프팅(shifting)되도록 양측 휠(530)을 제2 회전 축(520)을 기준으로 편심 회전시킬 수 있다.
이어서, 일 예에 따라 제어부(140)는 양측 휠(530)이 편심 회전되기 이전 위치(또는, 원 위치)를 기준으로 기 설정된 간격만큼 시프팅되면 편심 회전이 중지되도록 제2 구동부(130)를 제어할 수 있다.
예를 들어, 제어부(140)는 '제2 회전 축을 기준으로 180° 회전된 후의 양측 휠(530)의 중심 위치' 및 '회전되기 이전의 양측 휠(530)의 중심 위치' 사이의 거리 값을 산출하고, 산출된 거리 값이 기 설정된 간격 크기 이상인 것으로 식별되면 편심 회전이 중지되도록 제2 구동부(130)를 제어할 수 있다. 다만 이에 한정되는 것은 아니며, 사용자 설정에 따라 양쪽 휠이 제2 회전 축을 기준으로 회전되는 각도의 크기는 달라질 수 있다.
상술한 예에 따라 양쪽 휠이 제2 회전 축을 기준으로 기 설정된 각도만큼 회전되면, 회전된 양쪽 휠(530)은 바디부(15)를 기준으로 전방으로 시프팅(shifting)된다. 이에 따라, 로봇(100)의 휠 베이스(Wheel base)는 휠이 시프팅되기 이전과 비교하여 상대적으로 더 큰 값을 갖게 되며, 이에 따라 로봇(100)은 더욱 안정적으로 장애물을 승월할 수 있게 된다.
도 5b 및 5c는 일 실시 예에 따른 로봇의 동작 메커니즘을 설명하기 위한 도면이다.
도 5b에 따르면, 일 실시 예에 따라, 로봇(100)에는 바디부(15), 제1 구동부(120), 제2 구동부(130), 체결부(550) 및 연결 부재(560)가 구비될 수 있다.
체결부(550)는 바디부(15)의 양측에 각각 구비될 수 있다. 일 예에 따라, 체결부(550)의 일 측에는 제1 구동부(120)가 결합될 수 있으며, 체결부(550)의 나머지 일 측에는 휠(530)이 결합될 수 있다. 다만, 이에 한정되는 것은 아니다.
연결 부재(560)는 바디부(15)의 양측에 각각 구비될 수 있다. 일 예에 따라, 연결 부재(560)의 일 측에는 제1 구동부(120)가 결합될 수 있으며, 연결 부재(560)의 나머지 일 측에는 제2 구동부(130)가 결합될 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 일 실시 예에 따라 제어부(140)는 제1 구동부(120)를 제어하여 휠(530)을 회전시킬 수 있다. 일 예에 따라 휠(530)의 중심은 제1 구동부(120)의 회전 축(510, 또는, 제1 회전 축) 상에 위치할 수 있다. 제어부(140)가 제1 구동부(120)를 제어하여 제1 구동부(120)가 제1 회전 축(510)을 기준으로 회전하게 되면, 제1 구동부(120)와 결합된 체결부(550) 역시 제1 구동부(120)의 회전 축(510)을 기준으로 회전하게 되고, 이에 따라 체결부(550)와 결합된 휠(530) 역시 제1 구동부(120)의 회전 축(510)을 기준으로 회전하게 된다. 즉, 제1 구동부(120)가 제1 회전 축(510)을 기준으로 회전하게 되면, 휠(530)은 제1 회전 축(510) 상에 위치한 휠의 중심을 회전 축으로 하여 회전하게 된다.
일 실시 예에 따라, 제어부(140)는 제2 구동부(130)를 제어하여 휠(530)을 회전시킬 수 있다. 일 예에 따라, 제어부(140)가 제2 구동부(130)를 제어하여 제2 구동부(130)가 제2 구동부(130)의 회전 축(520, 또는 제2 회전 축)을 기준으로 회전하게 되면, 제2 구동부(130)와 결합된 연결 부재(560) 역시 제2 회전 축(520)을 기준으로 회전하게 되고, 이에 따라 연결 부재(560)의 일 측에 결합된 제1 구동부(120) 역시 제2 회전 축(520)을 기준으로 회전하게 된다. 제1 구동부(120)가 제2 회전축(520)을 기준으로 회전하게 되면, 제1 구동부(120)의 일 측에 결합된 체결부(550) 및 체결부(550)의 나머지 일 측에 결합된 휠(530) 역시 제2 회전 축(520)을 기준으로 회전하게 된다.
한편, 도 5c에 따르면, 일 실시 예에 따라, 제2 구동부(130)의 회전 축은 제1 구동부(120)의 회전 축(510)으로부터 기 설정된 거리만큼 이격된 위치에 구비될 수 있다. 일 예에 따라, 제2 구동부(130)의 회전 축(520, 또는 제2 회전 축)은 휠의 중심으로부터 10cm만큼 이격된 위치에 구비되어, 제2 구동부(130)는 구비된 위치에 대응되는 회전 축(520)을 기준으로 좌측 휠 및 우측 휠(530)을 회전시킬 수 있다.
일 예에 따라, 제어부(140)는 좌측 휠 및 우측 휠(530)이 제2 회전 축(520)을 기준으로 편심 회전되도록 제2 구동부(130)를 제어하여 좌측 휠 및 우측 휠(530)을 바디부(도 1, 15)를 기준으로 로봇(100)의 휠 베이스(Wheel Base) 크기가 증가하는 방향으로 시프팅(shifting)시킬 수 있다. 예를 들어, 제어부(140)는 주행 경로 상에 장애물이 식별되면, 도 5c에 도시된 바와 같이 제2 구동부(130)를 제어하여 좌측 휠 및 우측 휠(530)을 바디부(15)를 기준으로 로봇(100)의 휠 베이스(Wheel Base) 크기가 증가하는 방향으로 시프팅(shifting)시킬 수 있다. 휠이 시프팅된 경우(503), 바디부(15)를 기준으로 휠의 중심(또는, 제1 회전 축(510)에 대응되는 휠의 중심)의 위치는 휠이 시프팅되기 이전(501)의 휠의 중심의 위치와 상이할 수 있다.
도 2로 돌아와서, 일 실시 예에 따르면, 제어부(140)는 로봇(100)이 장애물을 승월하지 못한 경우, 상이한 시간 구간 동안 양측 휠(11) 중 어느 하나만 회전하도록 제2 구동부(130)를 제어할 수 있다.
일 예에 따라, 먼저 제어부(140)는 로봇(100)의 주행 공간 내 위치 정보 또는 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 좌측 휠 및 우측 휠(11)이 시프팅된 상태에서 장애물을 승월하였는지 여부를 식별할 수 있다.
제어부(140)는 주행 공간에 대응되는 주행 맵 내 로봇(100)의 위치 정보, 장애물과의 거리 정보 또는 휠의 RPM(Rounds per minute) 정보 중 적어도 하나에 기초하여 장애물을 승월하였는지 여부를 식별할 수 있다. 예를 들어, 로봇(100)이 장애물을 승월하지 못한 위치에서 기 설정된 시간 동안 움직이지 않는 것으로 식별되면, 로봇(100)이 장애물을 승월하지 못한 것으로 식별할 수 있다.
일 예에 따라 로봇(100)이 장애물을 승월하지 못한 것으로 식별되면, 제어부(140)는 좌측 휠 및 우측 휠(11) 중 어느 하나가 제2 회전 축을 기준으로 제1 시간 구간 동안 편심 회전되도록 제2 구동부(130)를 제어할 수 있다. 여기서, 일 예에 따라 제1 시간 구간은 로봇(100)이 장애물을 승월하지 못한 것으로 식별된 때로부터 기 설정된 시간(예를 들어, 2초)이 경과한 시점까지의 시간 구간일 수 있다. 예를 들어, 제2 구동부(130)는 좌측 휠에 대응되는 모터 및 우측 휠에 대응되는 모터를 포함할 수 있으며, 제어부(140)는 좌측 휠에 대응되는 모터 및 우측 휠에 대응되는 모터를 교번적으로 제어하여 좌측 휠 및 우측 휠(11) 중 어느 하나가 편심 회전하도록 제어할 수 있다.
예를 들어, 제어부(140)는 로봇(100)이 장애물을 승월하지 못한 것으로 식별된 시점으로부터 2초 동안 좌측 휠이 제2 회전 축을 기준으로 편심 회전되도록 제2 구동부(130)를 제어할 수 있다.
이어서, 일 예에 따라 제어부(140)는 좌측 휠 및 우측 휠(11) 중 나머지 하나가 제2 회전 축을 기준으로 제1 시간 구간 이후의 제2 시간 구간 동안 편심 회전되도록 제2 구동부(130)를 제어할 수 있다. 여기서, 일 예에 따라 제2 시간 구간은 제1 시간 구간이 경과한 때로부터 기 설정된 시간(예를 들어, 2초)이 경과한 시점까지의 시간 구간을 의미할 수 있다.
예를 들어, 제어부(140)는 로봇(100)이 장애물을 승월하지 못한 것으로 식별되어 좌측 휠이 2초 동안 제2 회전 축을 기준으로 편심 회전되면, 제1 시간 구간이 경과한 시점으로부터 2초 동안 우측 휠이 제2 회전 축을 기준으로 편심 회전되도록 제2 구동부(130)를 제어할 수 있다.
한편, 일 실시 예에 따라, 제어부(140)는 로봇(100)이 장애물을 승월하지 못한 경우, 양측 휠(11)이 제2 회전 축을 기준으로 상이한 회전 각도로 편심 회전되도록 제2 구동부(130)를 제어할 수도 있다.
여기서, 회전 각도는 제2 회전 중심(또는, 제2 회전 축의 중심)과 제1 회전 중심(또는, 제1 회전 축의 중심)을 이은 직선 및 제2 회전 중심과 제2 회전 중심이 바닥면에 내린 수선의 발을 이은 직선이 이루는 각도이다. 양측 휠(11)이 제2 회전 축을 기준으로 편심 회전됨에 따라 양측 휠(11)의 회전 각도의 크기가 변경된다.
일 예에 따라, 제어부(140)는 좌측 휠의 회전 각도(또는, 좌측 휠의 제1 회전 중심의 회전 각도)가 우측 휠의 회전 각도(또는, 우측 휠의 제1 회전 중심의 회전 각도)가 상이한 회전 각도로 편심 회전되도록 제2 구동부(130)를 제어할 수 있다. 이와 같이 로봇(100)은 크롤링 동작을 수행하여 다시 장애물 승월을 시도할 수 있다.
도 6a 및 6b는 일 실시 예에 따른 로봇이 장애물을 승월하지 못한 경우 제어 방법을 설명하기 위한 도면이다.
도 6a에 따르면, 일 실시 예에 따라 제어부(140)는 로봇(100)이 장애물을 승월하지 못한 경우, 상이한 시간 구간동안 양측 휠(11) 중 어느 하나만 회전하도록 제1 구동부(120) 및 제2 구동부(130)를 제어할 수 있다.
일 예에 따라, 로봇(600)이 장애물을 승월하지 못한 경우, 제어부(140)는 먼저 좌측 휠을 기 설정된 시간 구간(제1 시간 구간)동안 제2 회전 축(620)을 기준으로 편심 회전시킬 수 있다. 이 경우, 일 예에 따라 제어부(140)는 좌측 휠이 제2 회전 축(620)을 기준으로 편심 회전하는 동안, 좌측 휠이 제1 회전 축(610)을 기준으로 중심 회전하도록 제1 구동부(120)를 제어할 수 있다. 즉, 로봇(600)이 장애물을 승월하지 못한 경우, 로봇(600)은 중심 회전 및 편심 회전을 동시에 수행하여 크롤링을 수행할 수도 있다.
이어서, 일 예에 따라, 제1 시간 구간이 경과한 경우, 제어부(140)는 우측 휠을 기 설정된 시간 구간(제2 시간 구간)동안 제2 회전 축(620)을 기준으로 편심 회전시킬 수 있다. 이 경우, 일 예에 따라 제어부(140)는 우측 휠이 제2 회전 축(620)을 기준으로 편심 회전하는 동안, 우측 휠이 제1 회전 축(610)을 기준으로 중심 회전하도록 제1 구동부(120)를 제어할 수 있다.
다만, 이에 한정되는 것은 아니며, 일 예에 따라 제어부(140)는 제2 회전 축(620)을 기준으로 양측 휠 중 어느 하나를 편심 회전시킨 후 제1 회전 축(610)을 기준으로 양측 휠 중 어느 하나를 중심 회전시킬 수도 있다. 여기서, 중심 회전이란 제1 회전 축(610)을 기준으로 양측 휠 중 어느 하나가 회전하는 것을 의미한다.
예를 들어, 먼저, 제어부(140)는 로봇(600)이 장애물을 승월하지 못한 것으로 식별된 경우, 제2 회전 축(620)을 기준으로 좌측 휠이 기 설정된 각도만큼 회전되도록 제2 구동부(130)를 제어할 수 있다. 좌측 휠이 제2 회전 축(620)을 기준으로 기 설정된 각도만큼 회전된 후, 제어부(140)는 좌측 휠이 제1 회전 축(610)을 기준으로 회전되도록 제1 구동부(120)를 제어할 수 있다.
이어서, 제어부(140)는 좌측 휠이 제1 시간 구간동안 회전된 것으로 식별되면, 제2 회전 축(620)을 기준으로 우측 휠이 기 설정된 각도만큼 회전되도록 제2 구동부(130)를 제어할 수 있다. 우측 휠이 제2 회전 축(620)을 기준으로 기 설정된 각도만큼 회전된 후, 제어부(140)는 우측 휠이 제1 회전 축(610)을 기준으로 회전되도록 제1 구동부(120)를 제어할 수 있다.
도 6b에 따르면, 일 실시 예에 따라 제어부(140)는 양측 휠이 상이한 시간 구간동안 회전되도록 제2 구동부(130)를 제어할 수 있다. 일 예에 따라, 제어부(140)는 로봇(600)이 장애물을 승월하지 못한 것으로 식별된 경우, 우측 휠(632)을 제1 시간 구간동안 제2 회전 축(620)을 기준으로 편심 회전시킬 수 있다. 이 경우, 좌측 휠(633)은 제1 시간 구간동안 편심 회전하지 않을 수 있다.
이어서, 제1 시간 구간 경과 후, 제어부(140)는 좌측 휠(635)을 제2 시간 구간 동안 제2 회전 축(620)을 기준으로 편심 회전시킬 수 있다. 이 경우, 좌측 휠(635)은 제2 시간 구간동안 편심 회전하지 않을 수 있다.
또는, 일 실시 예에 따라 제어부(140)는 주행 공간 내 위치 정보 또는 획득된 센싱 데이터에 기초하여 좌측 휠 및 우측 휠(11)이 시프팅된 상태에서 로봇(600)이 장애물을 승월하지 못한 경우, 양측 휠(11) 각각이 동일한 시간 구간 동안 회전되도록 제1 구동부(120) 및 제2 구동부(130) 중 어느 하나를 제어할 수 있다.
일 예에 따라, 제어부(140)는 좌측 휠 및 우측 휠(11)이 시프팅된 상태에서 로봇(600)이 장애물을 승월하지 못한 경우, 양측 휠(11)이 제2 회전 축을 기준으로 동일한 회전 각도로 편심 회전되도록 제2 구동부(130)를 제어할 수도 있다.
즉, 로봇(600)은 양측 휠(11) 중 어느 하나만을 구동시켜 승월을 수행할 수 있을 뿐만 아니라, 양측 휠(11) 각각을 동일한 동작으로 구동시켜 승월을 수행할 수 있음은 물론이다.
또는, 일 실시 예에 따라 제어부(140)는 양측 휠(11)이 상이한 회전 축을 기준으로 회전되도록 제1 구동부(120) 또는 제2 구동부(130) 중 적어도 하나를 제어할 수 있다.
일 예에 따라, 제어부(140)는 로봇(600)이 장애물을 승월하지 못한 것으로 식별되면, 양측 휠(11) 중 어느 하나는 제1 회전 축을 기준으로 회전되도록 제1 구동부(120)를 제어하고, 양측 휠(11) 중 다른 하나는 제2 회전 축을 기준으로 회전되도록 제2 구동부(130)를 제어할 수도 있다.
또는, 일 예에 따라 제어부(140)는 양측 휠(11)이 제1 회전 축 및 제2 회전축 각각을 기준으로 회전되도록 제1 구동부(120) 및 제2 구동부(130)를 제어할 수도 있다. 즉, 휠은 반드시 어느 하나의 회전 축만을 기준으로 구동되는 것이 아님은 물론이다.
이에 따라, 로봇(600)은 양측 휠의 시프팅을 이용하여 승월을 수행하지 못하였더라도, 상술한 크롤링 동작을 수행하여 장애물을 승월할 수 있게 된다.
도 7은 일 실시 예에 따른 로봇이 전복된 경우의 제어 방법을 설명하기 위한 도면이다.
도 7에 따르면, 일 실시 예에 따라 제어부(140)는 먼저 센서부(110)를 통해 획득된 센싱 데이터에 기초하여 로봇(700)의 전복 여부를 식별할 수 있다. 일 예에 따라, 센서부(110)는 IMU(Inertial Measurement Unit) 센서를 포함할 수 있으며, 제어부(140)는 IMU 센서를 통해 로봇(700)의 기울어진 정도에 대한 데이터를 획득할 수 있다. 제어부(140)는 IMU 센서를 통해 획득된 센싱 데이터에 기초하여 로봇(700)의 전복 여부를 식별할 수 있다.
이어서, 로봇(700)이 전복된 것으로 식별되면, 일 실시 예에 따라 제어부(140)는 좌측 휠 및 우측 휠 중 적어도 하나가 제2 회전 축을 기준으로 기 설정된 횟수 및 기 설정된 각 속도로 회전하도록 제2 구동부(130)를 제어할 수 있다. 일 예에 따라, 제어부(140)는 센싱 데이터에 기초하여 로봇(700)이 좌측 휠(701) 쪽으로 전복된 것으로 식별되면, 좌측 휠(701)을 제2 회전 축을 기준으로 기 설정된 횟수 및 기 설정된 각 속도로 회전하도록 제2 구동부(130)를 제어하여, 할 수 있다.
좌측 휠(701)이 기 설정된 횟수 및 기 설정된 각 속도로 회전한 후, 일 실시 예에 따라 제어부(140)는 IMU 센서를 통해 획득된 센싱 데이터에 기초하여 로봇(700)이 전복되기 이전의 상태가 되었는지 여부를 식별할 수 있다. 일 예에 따라 제어부(140)는 로봇(700)이 전복되기 이전의 상태가 된 것으로 식별되면, 로봇(700)이 주행 경로를 주행하도록 제1 구동부(120)를 제어할 수 있다. 한편, 일 예에 따라 로봇(700)이 전복된 상태가 유지된 것으로 식별되면, 좌측 휠(701)이 기 설정된 횟수 및 기 설정된 각 속도로 회전되도록 제2 구동부(130)를 제어할 수 있다. 즉, 제어부(140)는 로봇(700)이 전복되기 이전의 상태가 될 때까지 좌측 휠(701)을 회전시킬 수 있다.
상술한 예에 따라, 로봇(100)은 편심 회전을 통하여 로봇의 전복 상태를 극복할 수 있게 되며, 로봇의 효율적인 서비스 수행이 가능하게 된다.
도 8은 일 실시 예에 따른 로봇이 감정 표현에 대응되는 동작을 수행하는 방법을 설명하기 위한 도면이다.
도 8에 따르면, 일 실시 예에 따라 로봇(100)은 복수의 감정 표현에 대응되는 동작 정보가 저장된 메모리를 더 포함할 수 있다. 여기서, 감정 표현은 예를 들어 기쁨, 슬픔, 화남, 지루함 또는 평온 중 적어도 하나일 수 있다. 동작 정보는 감정 표현에 대응되는 양측 휠에 대한 제어 정보일 수 있다. 예를 들어, 상이한 감정 표현 각각에 대응되는 양측 휠(11)의 편심 회전 거리, 편심 회전 각, 주행 속도, 주행 거리 등에 대한 정보가 저장되어 있을 수 있다. 그 밖에 LED 발광 정보, 햅틱 정보, 오디오 정보 등이 상이한 감정 표현 각각에 맵핑되어 저장되어 있을 수 있다.
일 실시 예에 따라, 제어부(140)는 기 설정된 이벤트에 따라 복수의 감정 표현 중 적어도 하나의 감정 표현이 식별되면, 메모리에 저장된 동작 정보에 기초하여 식별된 적어도 하나의 감정 표현에 대응되는 동작 정보를 식별하고, 식별된 동작 정보에 기초하여 제1 구동부(120) 또는 제2 구동부(130) 중 적어도 하나를 제어할 수 있다.
일 예에 따라, 제어부(140)는 먼저 기 설정된 이벤트에 따라 기쁨에 대응되는 감정 표현이 식별되면, 메모리에 저장된 동작 정보에 기초하여 '기쁨'에 대응되는 동작 정보를 식별할 수 있다.
이어서, 일 예에 따라 제어부(140)는 식별된 '기쁨'에 대응되는 동작 정보에 기초하여 도 8에 도시된 바와 같이 기쁨에 대응되는 일련의 동작(810 내지 850)을 수행하도록 제1 구동부(120) 및 제2 구동부(130)를 제어할 수 있다.
이에 따라, 로봇(100)은 양측 휠을 편심 회전시킴으로서 적어도 하나의 감정을 표현할 수 있게 된다.
도 9a 및 9b는 일 실시 예에 따른 본 개시의 카메라 틸팅(Tilting) 효과를 설명하기 위한 도면이다.
종래의 주행이 가능한 소형 로봇의 경우, 로봇의 형태로 인해 주행용 뎁스 카메라(Depth Camera)와 함께 별도의 사람 인식용 카메라가 필요하였다. 이는, 로봇에 구비된 카메라 등의 시야 확보용 센서의 경우 센서의 위치가 지면과 상대적으로 가깝기 때문에 주행용 뎁스 카메라만으로는 사람을 인식하기 위한 화각을 확보하기 어렵기 때문이다.
한편, 일 실시 예에 따라 제어부(140)는 양측 휠(11)을 편심 회전시켜 로봇(100)에 구비된 센서부(110)의 시야 영역을 변경시킬 수 있다.
일 예에 따라, 도 9a에 따르면, 제어부(140)는 양측 휠(911)을 제2 회전 축을 기준으로 기 설정된 각도만큼 회전시켜 로봇(900)에 구비된 카메라(921)의 시야 영역을 변경시킬 수 있다. 즉, 로봇(900)이 양측 휠(911)을 제2 회전 축으로 기 설정된 각도만큼 회전시킴으로써 카메라(921)가 상대적으로 상부에 대응되는 시야 영역을 확보할 수 있게 된다. 또는, 도 9b에 따라 제어부(140)는 도 9a의 경우보다 양측 휠(921)을 제2 회전 축을 기준으로 더욱 회전시켜, 카메라(922)가 도 9a의 경우에 비해 더욱 상측의 시야를 확보하도록 제2 구동부(130)를 제어할 수도 있다.
이에 따라, 가까운 거리에서 사람(또는, 오브젝트)을 인식하여 사람과 인터렉션(interaction)을 수행하는 로봇의 경우에도, 별도로 카메라의 화각 변경을 위한 구동원을 구비할 필요 없이 하나의 카메라만으로 주행 경로에 대한 시야 확보 및 사람과의 인터렉션을 모두 수행할 수 있게 되며, 이에 따른 비용 절감의 효과를 기대할 수 있다.
도 2로 돌아와서, 일 실시 예에 따라 센서부(110)는 카메라 및 라이더 센서 중 적어도 하나를 포함할 수 있으며, 제어부(140)는 카메라를 통해 획득된 이미지 또는 라이더 센서를 통해 획득된 데이터 중 적어도 하나에 기초하여 주행 경로 상에 승월 대상이 되는 장애물이 존재하는지 여부를 식별할 수 있다.
이 경우, 일 예에 따라 제어부(140)는 학습된 신경망 모델을 통해 주행 경로 상에 승월 대상이 되는 장애물의 존재 여부를 식별할 수 있다.
하나 이상의 제어부(140)는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 기 정의된 동작 규칙 또는 인공지능 모델(또는, 신경망 모델)은 학습을 통해 만들어진 것을 특징으로 한다.
여기서, 학습을 통해 만들어진다는 것은, 다수의 학습 데이터들에 학습 알고리즘을 적용함으로써, 원하는 특성의 기정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버/시스템을 통해 이루어 질 수도 있다.
일 예에 따라, 로봇(100)은 학습된 신경망 모델이 저장된 메모리를 더 포함할 수 있다. 인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 적어도 하나의 레이어는 적어도 하나의 가중치(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 적어도 하나의 정의된 연산을 통해 레이어의 연산을 수행한다. 신경망의 예로는, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 및 심층 Q-네트워크 (Deep Q-Networks), Transformer가 있으며, 본 개시에서의 신경망은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
학습 알고리즘은, 다수의 학습 데이터들을 이용하여 소정의 대상 기기(예컨대, 로봇)을 훈련시켜 소정의 대상 기기 스스로 결정을 내리거나 예측을 할 수 있도록 하는 방법이다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으며, 본 개시에서의 학습 알고리즘은 명시한 경우를 제외하고 전술한 예에 한정되지 않는다.
일 예에 따라, 제어부(140)는 카메라를 통해 획득된 이미지 또는 라이더 센서를 통해 획득된 데이터 중 적어도 하나를 학습된 신경망 모델에 입력하여 주행 경로 상에 승월 대상이 되는 장애물이 에 존재하는지 여부를 식별할 수도 있다.
이 경우, 일 예에 따라 신경망 모델은 카메라를 통해 획득된 로봇(100)의 주행 경로에 대한 이미지 및 이에 대응되는 이미지 내 승월 대상이 되는 장애물의 존재 여부에 대한 정보를 학습 데이터로 하여 학습될 수 있다. 또는, 일 예에 따라 신경망 모델은 라이더 센서를 통해 획득된 데이터 및 이에 대응되는 승월 대상이 되는 장애물의 존재 여부에 대한 데이터를 학습 데이터로 하여 학습될 수도 있다.
도 10은 일 실시 예에 따른 로봇의 세부 구성을 나타내는 블록도이다.
도 10에 따르면, 로봇(100')은 센서부(110), 제1 구동부(120), 제2 구동부(130), 제어부(140), 통신 인터페이스(150), 사용자 인터페이스(160), 마이크(170), 스피커(180), 디스플레이(190) 및 메모리(195)를 포함할 수 있다. 도 10에 도시된 구성 중 도 2에 도시된 구성과 중복되는 구성에 대하여는 자세한 설명을 생략하도록 한다.
통신 인터페이스(150)는 다양한 타입의 컨텐츠를 입력받는다. 예를 들어 통신 인터페이스(150)는 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 메모리), 외부 서버(예를 들어 웹 하드) 등으로부터 스트리밍 또는 다운로드 방식으로 신호를 입력받을 수 있다.
사용자 인터페이스(160)는 버튼, 터치 패드, 마우스 및 키보드와 같은 장치로 구현되거나, 상술한 디스플레이 기능 및 조작 입력 기능도 함께 수행 가능한 터치 스크린, 리모콘 송수신부 등으로 구현될 수 있다. 리모콘 송수신부는 적외선 통신, 블루투스 통신 또는 와이파이 통신 중 적어도 하나의 통신 방식을 통해 외부 원격 제어 장치로부터 리모콘 신호를 수신하거나, 리모콘 신호를 송신할 수 있다.
마이크(170)는 소리를 획득하여 전기 신호로 변환하는 모듈을 의미할 수 있으며, 콘덴서 마이크, 리본 마이크, 무빙코일 마이크, 압전소자 마이크, 카본 마이크, MEMS(Micro Electro Mechanical System) 마이크일 수 있다. 또한, 무지향성, 양지향성, 단일지향성, 서브 카디오이드(Sub Cardioid), 슈퍼 카디오이드(Super Cardioid), 하이퍼 카디오이드(Hyper Cardioid)의 방식으로 구현될 수 있다.
스피커(180)는, 고음역대 소리 재생을 위한 트위터, 중음역대 소리 재생을 위한 미드레인지, 저음역대 소리 재생을 위한 우퍼, 극저음역대 소리 재생을 위한 서브우퍼, 공진을 제어하기 위한 인클로저, 스피커에 입력되는 전기 신호 주파수를 대역 별로 나누는 크로스오버 네트워크 등으로 이루어질 수 있다.
스피커(180)는, 음향 신호를 로봇(100')의 외부로 출력할 수 있다. 스피커(180)는 멀티미디어 재생, 녹음 재생, 각종 알림음, 음성 메시지 등을 출력할 수 있다. 로봇(100')은 스피커(180)와 같은 오디오 출력 장치를 포함할 수 있으나, 오디오 출력 단자와 같은 출력 장치를 포함할 수 있다. 특히, 스피커(180)는 획득한 정보, 획득한 정보에 기초하여 가공·생산한 정보, 사용자 음성에 대한 응답 결과 또는 동작 결과 등을 음성 형태로 제공할 수 있다.
디스플레이(190)는 자발광 소자를 포함하는 디스플레이 또는, 비자발광 소자 및 백라이트를 포함하는 디스플레이로 구현될 수 있다. 예를 들어, LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, LED(Light Emitting Diodes), 마이크로 LED(micro LED), Mini LED, PDP(Plasma Display Panel), QD(Quantum dot) 디스플레이, QLED(Quantum dot light-emitting diodes) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 디스플레이(190) 내에는 a-si TFT, LTPS(low temperature poly silicon) TFT, OTFT(organic TFT) 등과 같은 형태로 구현될 수 있는 구동 회로, 백라이트 유닛 등도 함께 포함될 수 있다. 한편, 디스플레이(190)는 터치 센서와 결합된 터치 스크린, 플렉시블 디스플레이(flexible display), 롤러블 디스플레이(rollable display), 3차원 디스플레이(3D display), 복수의 디스플레이 모듈이 물리적으로 연결된 디스플레이 등으로 구현될 수 있다. 제어부 또는 프로세서(140)는 상술한 다양한 실시 예에 따라 획득된 출력 영상을 출력하도록 디스플레이(190)를 제어할 수 있다. 여기서, 출력 영상은, 4K 또는 8K 이상의 고해상도 영상일 수 있다.
메모리(195)는 다양한 실시 예를 위해 필요한 데이터를 저장할 수 있다. 메모리(195)는 데이터 저장 용도에 따라 로봇(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 메모리) 등과 같은 형태로 구현될 수 있다.
상술한 다양한 실시 예에 따르면, 로봇은 휠을 시프팅하여 휠 베이스를 증가시킬 수 있으며, 이에 따라 로봇이 뒤로 전복되지 않고 승월을 수행할 수 있게 된다. 이에 따라 로봇의 서비스 수행 능력이 상승하여 사용자의 만족도가 향상된다.
또한, 휠을 시프팅하여 뎁스 카메라의 화각을 변경시킬 수도 있게 된다. 이에 따라 로봇은 사용자 인터렉션을 위한 별도 카메라를 구비하지 않아도 되며, 이에 따라 비용 절감 효과도 발생한다.
상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 설치 가능한 어플리케이션 형태로 구현될 수 있다. 또는 상술한 본 개시의 다양한 실시 예들에 따른 방법들은 딥 러닝 기반의 학습된 신경망(또는 심층 학습된 신경망) 즉, 학습 네트워크 모델을 이용하여 수행될 수 있다. 또한, 상술한 본 개시의 다양한 실시 예들에 따른 방법들은, 기존 로봇에 대한 소프트웨어 업그레이드, 또는 하드웨어 업그레이드 만으로도 구현될 수 있다. 또한, 상술한 본 개시의 다양한 실시 예들은 로봇에 구비된 임베디드 서버, 또는 로봇의 외부 서버를 통해 수행되는 것도 가능하다.
본 개시의 일시 예에 따르면, 이상에서 설명된 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 디스플레이 장치(예: 디스플레이 장치(A))를 포함할 수 있다. 명령이 프로세서 또는 제어부에 의해 실행될 경우, 프로세서가 직접, 또는 프로세서의 제어 하에 다른 구성요소들을 이용하여 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장매체가 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다.
또한, 일 실시 예에 따르면, 이상에서 설명된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
또한, 상술한 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시에 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.

Claims (15)

  1. 로봇에 있어서,
    바디부;
    상기 바디부에 구비된 하나 이상의 센서;
    상기 바디부의 반대 측에 각각 마련된 회전 가능한 제1 휠(Wheel) 및 제2 휠;
    제1 회전 축을 기준으로 상기 제1 휠 및 상기 제2 휠을 회전시키는 제1 구동부;
    제2 회전 축을 기준으로 상기 제1 휠 및 상기 제2 휠을 편심 회전시키는 제2 구동부; 및
    상기 제1 휠 및 상기 제2 휠을 회전시켜 상기 로봇이 경로를 따라 주행하도록 상기 제1 구동부 및 상기 제2 구동부를 제어하고,
    상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 주행 경로 상에 승월(Climbing) 대상이 되는 장애물을 식별하고,
    상기 장애물이 식별되면, 상기 제1 휠 및 상기 제2 휠이 상기 제2 회전 축을 기준으로 편심 회전되도록, 상기 제2 구동부를 제어하여 상기 제1 휠 및 상기 제2 휠을 상기 바디부를 기준으로 상기 로봇의 휠 베이스(Wheel Base) 크기를 증가시키기 위하여 제1 위치에서 제2 위치로 시프팅(shifting)시키는 하나 이상의 프로세서;를 포함하는 로봇.
  2. 제1항에 있어서,
    상기 제어부는,
    상기 로봇의 주행 공간 내 위치 정보 또는 상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 제1 휠 및 상기 제2 휠이 상기 제2 위치로 시프팅된 상태에서 상기 장애물을 승월하지 못한 것으로 식별되면, 상기 제1 휠은 상기 제2 회전 축을 기준으로 제1 회전 각도로 편심 회전되고 상기 제2 휠은 상기 제2 회전 축을 기준으로 제2 회전 각도로 편심 회전되도록 상기 제2 구동부를 제어하는, 로봇.
  3. 제2항에 있어서,
    상기 제어부는,
    주행 공간에 대응되는 주행 맵 내 상기 로봇의 위치 정보 또는 상기 휠의 RPM(Revolutions per minute) 정보 중 적어도 하나에 기초하여 상기 로봇이 기 설정된 시간 동안 움직이지 않는 것으로 식별되면, 상기 로봇이 상기 장애물을 승월하지 못한 것으로 식별하는, 로봇.
  4. 제1항에 있어서,
    상기 제어부는,
    상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 식별되면, 상기 제1 휠 및 상기 제2 휠이 상기 바디부를 기준으로 전방으로 시프팅(shifting)되도록 상기 제1 휠 및 상기 제2 휠을 상기 제2 회전 축을 기준으로 편심 회전시키고, 상기 제1 휠 및 상기 제2 휠이 원 위치를 기준으로 기 설정된 간격 또는 기 설정된 회전 각도만큼 시프팅되면 상기 편심 회전이 중지되도록 상기 제2 구동부를 제어하는, 로봇.
  5. 제1항에 있어서,
    복수의 감정 표현에 대응되는 동작 정보가 저장된 하나 이상의 메모리;를 더 포함하며,
    상기 제어부는,
    기 설정된 이벤트에 따라 상기 복수의 감정 표현 중 적어도 하나의 감정 표현이 식별되면, 상기 메모리에 저장된 동작 정보에 기초하여 상기 식별된 적어도 하나의 감정 표현에 대응되는 동작 정보를 식별하고, 상기 식별된 동작 정보에 기초하여 상기 제1 구동부 또는 상기 제2 구동부 중 적어도 하나를 제어하는, 로봇.
  6. 제1항에 있어서,
    상기 하나 이상의 센서는 카메라 및 라이더 센서 중 적어도 하나를 포함하며,
    상기 제어부는,
    상기 카메라를 통해 획득된 이미지 또는 상기 라이더 센서를 통해 획득된 데이터 중 적어도 하나에 기초하여 상기 주행 경로 상에 승월 대상이 되는 장애물이 존재하는지 여부를 식별하는, 로봇.
  7. 제6항에 있어서,
    상기 로봇은,
    학습된 신경망 모델이 저장된 하나 이상의 메모리;를 더 포함하며,
    상기 제어부는,
    상기 획득된 이미지 또는 상기 획득된 데이터 중 적어도 하나를 상기 학습된 신경망 모델에 입력하여 상기 주행 경로 상에 승월 대상이 되는 장애물이 존재하는지 여부를 식별하는, 로봇.
  8. 제1항에 있어서,
    상기 제어부는,
    상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 로봇의 전복 여부를 식별하고,
    상기 로봇이 전복된 것으로 식별되면, 상기 제1 휠 및 상기 제2 휠 중 적어도 하나가 상기 제2 회전 축을 기준으로 기 설정된 횟수 및 기 설정된 각 속도로 회전하도록 상기 제2 구동부를 제어하는, 로봇.
  9. 제1항에 있어서,
    상기 제1 회전 축은, 상기 휠의 중심 위치에 대응되고,
    상기 제2 회전 축은, 상기 휠의 중심으로부터 기 설정된 거리만큼 이격된 위치에 대응되는, 로봇.
  10. 바디부, 상기 바디부의 반대 측에 각각 마련된 회전 가능한 제1 휠 및 제2 휠, 제1 구동부, 제2 구동부 및 하나 이상의 센서를 포함하는 로봇의 제어 방법에 있어서,
    상기 회전 가능한 제1 휠(Wheel) 및 제2 휠 각각의 제1 회전 축 또는 제2 회전 축 중 적어도 하나를 기준으로 상기 제1 휠 및 상기 제2 휠을 회전시켜 상기 로봇이 주행 경로를 따라 주행하도록 상기 제1 구동부 및 상기 제2 구동부 중 적어도 하나를 제어하는 단계;
    상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 주행 경로 상에 승월(Climbing) 대상이 되는 장애물을 식별하는 단계; 및
    상기 장애물이 식별되면, 상기 제1 휠 및 상기 제2 휠이 상기 제2 회전 축을 기준으로 편심 회전되도록, 상기 제2 구동부를 제어하여 상기 제1 휠 및 상기 제2 휠을 상기 바디부를 기준으로 상기 로봇의 휠 베이스(Wheel Base) 크기를 증가시키기 위하여 제1 위치에서 제2 위치로 시프팅(shifting)시키는 단계;를 포함하는, 제어 방법.
  11. 제10항에 있어서,
    상기 제어 방법은,
    상기 로봇의 주행 공간 내 위치 정보 또는 상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 제1 휠 및 상기 제2 휠이 상기 제2 위치로 시프팅된 상태에서 상기 장애물을 승월하지 못한 것으로 식별되면, 상기 제1 휠은 상기 제2 회전 축을 기준으로 제1 회전 각도로 편심 회전되고 상기 제2 휠은 상기 제2 회전 축을 기준으로 제2 회전 각도로 편심 회전되도록 상기 제2 구동부를 제어하는 단계;를 더 포함하는, 제어 방법.
  12. 제11항에 있어서,
    상기 제2 구동부를 제어하는 단계는,
    주행 공간에 대응되는 주행 맵 내 상기 로봇의 위치 정보 및 상기 휠의 RPM(Revolutions per minute) 정보에 기초하여 상기 로봇이 기 설정된 시간 동안 움직이지 않는 것으로 식별되면, 상기 로봇이 상기 장애물을 승월하지 못한 것으로 식별하는, 제어 방법.
  13. 제10항에 있어서,
    상기 시프팅(shifting)시키는 단계는,
    상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 주행 경로 상에 승월(Climbing) 대상이 되는 장애물이 식별되면, 상기 제1 휠 및 상기 제2 휠이 상기 바디부를 기준으로 전방으로 시프팅되도록 상기 제1 휠 및 상기 제2 휠이 상기 제2 회전 축을 기준으로 편심 회전되도록 상기 제2 구동부를 제어하는 단계; 및
    상기 제1 휠 및 상기 제2 휠이 원 위치를 기준으로 기 설정된 간격 또는 기 설정된 회전 각도만큼 시프팅되면 상기 편심 회전을 중지시키는 단계;를 더 포함하는, 제어 방법.
  14. 제10항에 있어서,
    기 설정된 이벤트에 따라 복수의 감정 표현 중 적어도 하나의 감정 표현이 식별되면, 하나 이상의 메모리에 저장된 동작 정보에 기초하여 상기 식별된 적어도 하나의 감정 표현에 대응되는 동작 정보를 식별하는 단계; 및
    상기 식별된 동작 정보에 기초하여 상기 제1 구동부 또는 상기 제2 구동부 중 적어도 하나를 제어하는 단계;를 더 포함하는, 제어 방법.
  15. 바디부, 상기 바디부의 반대 측에 각각 마련된 회전 가능한 제1 휠 및 제2 휠, 제1 구동부, 제2 구동부 및 하나 이상의 센서를 포함하는 로봇의 하나 이상의 프로세서에 의해 실행되는 경우 상기 로봇이 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 기록 매체에 있어서, 상기 동작은,
    상기 회전 가능한 제1 휠(Wheel) 및 제2 휠 각각의 제1 회전 축 또는 제2 회전 축 중 적어도 하나를 기준으로 상기 제1 휠 및 상기 제2 휠을 회전시켜 상기 로봇이 주행 경로를 따라 주행하도록 상기 제1 구동부 및 상기 제2 구동부 중 적어도 하나를 제어하는 단계;
    상기 하나 이상의 센서를 통해 획득된 센싱 데이터에 기초하여 상기 주행 경로 상에 승월(Climbing) 대상이 되는 장애물을 식별하는 단계; 및
    상기 장애물이 식별되면, 상기 제1 휠 및 상기 제2 휠이 상기 제2 회전 축을 기준으로 편심 회전되도록, 상기 제2 구동부를 제어하여 상기 제1 휠 및 상기 제2 휠을 상기 바디부를 기준으로 상기 로봇의 휠 베이스(Wheel Base) 크기를 증가시키기 위하여 제1 위치에서 제2 위치로 시프팅(shifting)시키는 단계;를 포함하는, 컴퓨터 판독 가능 기록 매체.
PCT/KR2023/009491 2022-07-27 2023-07-05 주행이 가능한 소형 로봇 및 이의 제어 방법 WO2024025192A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/234,712 US20240036576A1 (en) 2022-07-27 2023-08-16 Small robot capable of running and control method thereof

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0093541 2022-07-27
KR20220093541 2022-07-27
KR1020220128704A KR20240015547A (ko) 2022-07-27 2022-10-07 주행이 가능한 소형 로봇 및 이의 제어 방법
KR10-2022-0128704 2022-10-07

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/234,712 Continuation US20240036576A1 (en) 2022-07-27 2023-08-16 Small robot capable of running and control method thereof

Publications (1)

Publication Number Publication Date
WO2024025192A1 true WO2024025192A1 (ko) 2024-02-01

Family

ID=89706752

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2023/009491 WO2024025192A1 (ko) 2022-07-27 2023-07-05 주행이 가능한 소형 로봇 및 이의 제어 방법

Country Status (1)

Country Link
WO (1) WO2024025192A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110260417A1 (en) * 2010-04-27 2011-10-27 Ulrich Alber Gmbh Stair-climbing device
US20150129328A1 (en) * 2011-02-07 2015-05-14 Mobility 2000 (Australia) Limited Step-Climbing Attachment for a Wheeled Chair
KR20160107663A (ko) * 2015-03-05 2016-09-19 삼성전자주식회사 청소 로봇 및 그 제어 방법
JP2019063543A (ja) * 2016-07-11 2019-04-25 Groove X株式会社 自律行動型ロボット
KR20220067627A (ko) * 2020-11-17 2022-05-25 삼성전자주식회사 이동 로봇 장치 및 이의 제어 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110260417A1 (en) * 2010-04-27 2011-10-27 Ulrich Alber Gmbh Stair-climbing device
US20150129328A1 (en) * 2011-02-07 2015-05-14 Mobility 2000 (Australia) Limited Step-Climbing Attachment for a Wheeled Chair
KR20160107663A (ko) * 2015-03-05 2016-09-19 삼성전자주식회사 청소 로봇 및 그 제어 방법
JP2019063543A (ja) * 2016-07-11 2019-04-25 Groove X株式会社 自律行動型ロボット
KR20220067627A (ko) * 2020-11-17 2022-05-25 삼성전자주식회사 이동 로봇 장치 및 이의 제어 방법

Similar Documents

Publication Publication Date Title
WO2018093055A1 (en) Mobile robot system and mobile robot
EP3668768A1 (en) Device and method for assisting with driving of vehicle
WO2013094821A1 (ko) 원격 제어 방법, 시스템 및 원격 제어 사용자 인터페이스
WO2019235743A1 (ko) 장애물 회피에 기반하여 경유 지점을 주행하는 로봇 및 주행하는 방법
WO2019208950A1 (ko) 사용자에게 서비스를 제공하는 이동형 로봇 장치 및 방법
WO2019066401A1 (ko) 전자 장치 및 그의 지오펜스 관리 방법
WO2019031825A1 (ko) 전자 장치 및 그 동작 방법
WO2018030567A1 (ko) Hmd 및 그 hmd의 제어 방법
WO2020262721A1 (ko) 인공 지능을 이용하여, 복수의 로봇들을 제어하는 관제 시스템
WO2021206221A1 (en) Artificial intelligence apparatus using a plurality of output layers and method for same
WO2018135745A1 (ko) 차량 주변의 객체를 나타내는 영상을 생성하는 방법 및 장치
WO2022035054A1 (ko) 로봇 및 이의 제어 방법
WO2024025192A1 (ko) 주행이 가능한 소형 로봇 및 이의 제어 방법
WO2020256169A1 (ko) 인공 지능을 이용하여, 안내 서비스를 제공하는 로봇 및 그의 동작 방법
WO2016047824A1 (ko) 화상 정보 영사 장치 및 그 영사 장치의 제어 방법
WO2020204500A1 (en) Electronic apparatus and method for assisting with driving of vehicle
WO2020204355A1 (ko) 전자 장치 및 그 제어 방법
WO2021107200A1 (ko) 이동 단말기 및 이동 단말기 제어 방법
WO2024043516A1 (ko) 특정 공간을 주행하는 로봇 및 이의 제어 방법
WO2024039009A1 (ko) 안전 기능을 수행하는 전자 장치 및 그 제어 방법
WO2024058411A1 (ko) 특정 공간을 주행하는 로봇 및 이의 제어 방법
WO2020022617A1 (ko) 복수의 방향으로 배치된 복수의 배열 안테나들을 이용하여 외부 오브젝트를 감지하는 전자 장치 및 그에 관한 방법
WO2024085544A1 (ko) 로봇 및 이의 제어 방법
WO2024043719A1 (ko) 에스컬레이터에서 하차하는 로봇 및 그 제어 방법
WO2024043552A1 (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: 23846851

Country of ref document: EP

Kind code of ref document: A1