WO2024080592A1 - 맵을 공유하는 로봇 및 그의 맵 공유 방법 - Google Patents
맵을 공유하는 로봇 및 그의 맵 공유 방법 Download PDFInfo
- Publication number
- WO2024080592A1 WO2024080592A1 PCT/KR2023/013914 KR2023013914W WO2024080592A1 WO 2024080592 A1 WO2024080592 A1 WO 2024080592A1 KR 2023013914 W KR2023013914 W KR 2023013914W WO 2024080592 A1 WO2024080592 A1 WO 2024080592A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- map
- task
- processor
- sharing
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1682—Dual arm manipulator; Coordination of several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/006—Controls for manipulators by means of a wireless system for controlling one or several manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/246—Arrangements for determining position or orientation using environment maps, e.g. simultaneous localisation and mapping [SLAM]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/69—Coordinated control of the position or course of two or more vehicles
Definitions
- This disclosure relates to a robot sharing a map with another robot and a map sharing method of the robot.
- robots In general, robots have been developed for industrial purposes and are widely used in various industrial fields. Recently, the field using robots has expanded further, and they are being used not only in ordinary homes but also in various stores.
- the robot can move within the space where the robot is located.
- the robot can move using a map of the space where the robot is located.
- a robot includes a communication interface and one or more processors.
- One or more processors identify whether a task among a plurality of tasks in a game executed based on user input for sharing the map with another robot was performed by a user of the other robot.
- the processor identifies that the task has been performed, it transmits a portion of the map corresponding to the task among the maps generated by the robot to the other robot through the communication interface.
- a map sharing method for a robot includes the steps of identifying whether a task among a plurality of tasks in a game executed based on a user input for sharing a map with another robot was performed by a user of the other robot; When it is identified that the task has been performed, transmitting a portion of the map corresponding to the task among the maps generated by the robot to the other robot.
- the action includes sharing a map with another robot. Identifying whether a task among a plurality of tasks in a game executed based on a user input for the game was performed by a user of the other robot; and when the task is identified as being performed, selecting a map corresponding to the task among the maps generated by the robot. and transmitting a portion of the map to the other robot.
- FIG. 1 is a diagram for explaining a robot according to an embodiment of the present disclosure
- FIG. 2 is a block diagram for explaining the configuration of a robot according to an embodiment of the present disclosure
- 3 to 8 are diagrams for explaining a method for a robot to share a map according to an embodiment of the present disclosure
- FIG. 9 is a diagram illustrating a method for a robot to delete a map according to an embodiment of the present disclosure
- FIG. 10 is a block diagram for explaining the detailed configuration of a robot according to an embodiment of the present disclosure.
- FIG. 11 is a flowchart illustrating a method for sharing a map of a robot according to an embodiment of the present disclosure.
- expressions such as “have,” “may have,” “includes,” or “may include” indicate the presence of the corresponding feature (e.g., a numerical value, function, operation, or component such as a part). indicates, does not rule out the presence of additional features.
- expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of the items listed together.
- “A or B,” “at least one of A and B,” or “at least one of A or B” (1) includes at least one A, (2) includes at least one B, or (3) it may refer to all cases including both at least one A and at least one B.
- a component e.g., a first component
- another component e.g., a second component
- any component may be directly connected to the other component or may be connected through another component (e.g., a third component).
- a component e.g., a first component
- another component e.g., a second component
- no other component e.g., a third component
- the expression “configured to” used in the present disclosure may mean, for example, “suitable for,” “having the capacity to,” depending on the situation. ,” can be used interchangeably with “designed to,” “adapted to,” “made to,” or “capable of.”
- the term “configured (or set to)” may not necessarily mean “specifically designed to” in hardware.
- the expression “a device configured to” may mean that the device is “capable of” working with other devices or components.
- the phrase "processor configured (or set) to perform A, B, and C" refers to a processor dedicated to performing the operations (e.g., an embedded processor), or by executing one or more software programs stored on a memory device.
- 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 at least one processor, except for 'modules' or 'units' that need to be implemented with specific hardware.
- FIG. 1 is a diagram for explaining a robot according to an embodiment of the present disclosure.
- the first robot 100-1 may generate a map of the space where the first robot 100 is located.
- the space may include various places where the first robot 100-1 can move, such as a home, office, park, hotel, factory, store, etc.
- the first robot 100-1 may generate a map 10 corresponding to the space in which the first robot 100-1 is located using simultaneous localization and mapping (SLAM).
- SLAM simultaneous localization and mapping
- the first robot 100-1 can sense the surroundings of the first robot 100-1 using a sensor. For example, the first robot 100-1 generates a 3D image around the first robot 100-1 through a 3D camera, or creates a 3D image around the first robot 100-1 and the first robot 100-1 through a lidar sensor, etc. The distance between objects around the robot 100-1 can be detected. And, the first robot 100-1 can generate a map through SLAM based on the sensed data.
- the first robot 100-1 may store the generated map in the first robot 100 or on a server (not shown).
- the first robot 100-1 may share the map generated by the first robot 100 with the second robot 100-2.
- the second robot (100-2) when the first robot (100-1) performs an activity together with the second robot (100-2) in the space where the first robot (100-1) is located, the second robot (100-2) also performs the activity. You may need a map of the space. At this time, when the second robot 100-2 generates a map of the space, unnecessary time may be consumed.
- the first robot 100-1 may share the map generated by the first robot 100 with the second robot 100-2.
- the first robot 100-1 does not share the entire map with the second robot 100-2 at once, but divides the map into a plurality of areas, and maps 10-1 and 10-2 for each area. , 10-3, 10-4) can be sequentially shared with the second robot (100-2).
- the first robot 100-1 selects a portion of the map corresponding to the task to the second robot (100-2). You can share it with 100-2). For example, when the user of the second robot (100-2) performs a task four times through the game, the first robot (100-1) moves part of the map to the second robot (100-1) four times. 2), and accordingly, the second robot 100-2 can receive the entire map created by the first robot 100-1.
- the first robot 100-1 providing the map will be referred to as a master robot
- the second robot 100-2 receiving the map will be referred to as a guest robot.
- Figure 2 is a block diagram for explaining the configuration of a robot according to an embodiment of the present disclosure.
- the robot 100 includes a communication interface 110 and one or more processors 120.
- the communication interface 110 includes circuitry.
- the communication interface 110 is a component that performs communication with an electronic device.
- the communication interface 110 can transmit signals to and receive signals from the electronic device.
- the communication interface 110 can communicate with the electronic device through a network.
- the communication interface 110 may be Wi-Fi, Wi-Fi Direct, 5G, LTE (Long Term Evolution), Bluetooth, Zigbee, wired/wireless LAN (Local Area Network), WAN ( It is possible to communicate with an electronic device using at least one of the communication methods such as Wide Area Network and Ethernet.
- the communication interface 110 can communicate with other robots, the electronic device of the user of the robot 100 (hereinafter, the first electronic device), the electronic device of the user of the other robot (hereinafter, the second electronic device), and the server. You can.
- the first electronic device and the second electronic device may be portable devices that provide a display function, such as a smartphone, tablet, or wearable device (eg, smart watch).
- One or more processors 120 are electrically connected to the communication interface 110 and can control the overall operation and functions of the robot 100.
- One or more processors 120 include a Central Processing Unit (CPU), Graphics Processing Unit (GPU), Accelerated Processing Unit (APU), Many Integrated Core (MIC), Digital Signal Processor (DSP), Neural Processing Unit (NPU), and hardware. It may include one or more of an accelerator or machine learning accelerator.
- One or more processors 120 may control one or any combination of other components of the robot 100 and may perform operations related to communication or data processing.
- One or more processors 120 may execute one or more programs or instructions stored in memory. For example, one or more processors 120 may perform a method according to an embodiment of the present disclosure by executing one or more instructions stored in 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 (eg, a general-purpose processor) and the third operation may be performed by a second processor (eg, an artificial intelligence-specific processor).
- the one or more processors 120 may be implemented as a single core processor including one core, or one or more multi-cores including a plurality of cores (e.g., homogeneous multi-core or heterogeneous multi-core). It may also be implemented as a processor (multicore processor). When one or more processors 120 are implemented as multi-core processors, 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 may include a plurality of cores. A common cache shared by cores may be included in multi-core processors.
- 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 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.
- processor 120 one or more processors 120 will be referred to as processor 120.
- the robot 100 may perform the function of a master robot or a guest robot.
- Processor 120 may receive user input for sharing the map with other robots.
- the user input may include a user input for setting the mode of the robot 100 to the shared mode.
- the user input may be received through the first electronic device (ie, the electronic device of the user of the robot 100).
- the first electronic device may display a user interface (UI) for setting the mode of the robot 100 and receive a user input for selecting a sharing mode through the UI.
- the first electronic device may transmit a signal corresponding to the user input (for example, a signal representing the user input or a signal for controlling the robot 100 according to the user input) to the robot 100.
- the processor 120 can set the mode of the robot 100 to the shared mode.
- the sharing mode may be a mode for the robot 100 to share the map with other robots.
- user input for sharing a map with another robot may be input through a touch screen or button provided on the robot 100.
- the processor 120 may search for other robots existing around the robot 100 through the communication interface 110 and transmit a command requesting approval for sharing the map to the other robot.
- the processor 120 may identify the robot 100 as the master robot when the robot that has received the map generated by the robot 100 is searched.
- identification information eg, robot name, ID, etc.
- the robot 100 may be preset so that the robot 100 performs the function of a master robot.
- the processor 120 may share the map generated by the robot 100 with the other robot.
- the other robot since the other robot is a robot that receives the map generated by the robot 100, the other robot may be called a guest robot.
- the guest robot when a signal requesting approval for map sharing is received from the robot 100, the guest robot sends a notification of the map sharing request to the guest robot's display or a second electronic device (i.e., the electronic device of the user of the guest robot). It can be displayed in . Additionally, the guest robot may transmit a signal accepting the map sharing request to the robot 100 based on the user input. Additionally, the guest robot can set the guest robot's mode to the shared mode.
- the sharing modes of the robot 100 and the guest robot may include a full sharing mode (i.e., a mode for sharing the entire map) and a partial sharing mode (i.e., a mode for sharing a portion of the map). It may be possible. In this case, the robot 100 and the guest robot may set the mode to some shared mode. Additionally, as an example, the robot 100 and the guest robot may share a map without setting a separate mode.
- the processor 120 transmits a signal requesting approval for map sharing to a robot found around the robot 100.
- the processor 120 may transmit a signal requesting consent to share the map to a robot selected according to a user input among the searched robots.
- the user input may be input through the first electronic device, or through a touch screen or button provided on the robot 100.
- the processor 120 can set the sharing range of the map.
- the shared range of the map may mean the range of the map to be shared among the entire map according to the performance of the task when the task in the game is performed by the user of the guest robot.
- the processor 120 may divide the map 10 generated by the robot 100 into a plurality of areas (eg, four areas).
- the processor 120 may set the map 11 for the first area among the plurality of areas as a map to be shared with the guest robot when the first task is performed.
- the processor 120 may set the map 12 for the second area among the plurality of areas as a map to be shared with the guest robot when the second task is performed.
- the processor 120 may set the map 13 for the third area among the plurality of areas as a map to be shared with the guest robot when the third task is performed.
- the processor 120 may set the map 14 for the fourth area among the plurality of areas as a map to be shared with the guest robot when the fourth task is performed.
- the processor 120 may receive user input for setting the sharing range of the map.
- the first electronic device 200 sets the UI 410 as the range of the map to be shared first among all maps (i.e., the range of the map to be shared when performing the first task). You can receive user input to do this. In this case, the user can set the range of the map to be shared first by dragging a portion of the entire map through a touch operation on the display of the first electronic device 200. By repeating this process, the first electronic device 200 can receive user input for setting the range of the map to be shared for each task.
- the first electronic device 200 may transmit a signal corresponding to a user input for setting the map range to the robot 100. Accordingly, the processor 120 may set the sharing range of the map to be shared with the guest robot for each task based on the signal received from the first electronic device 200.
- the processor 120 may set the sharing range of the map for each guest robot.
- a robot can share a map with multiple guest robots.
- the processor 120 may receive a user input for setting the map sharing range for each guest robot, and may set the map sharing range for each guest robot according to the user input. Accordingly, the sharing range of the map may be set differently for each guest robot.
- the processor 120 identifies whether a task among a plurality of tasks in the game executed based on the user input was performed by a user of another robot, and when it is identified that the task was performed, the processor 120 identifies whether the task was performed by a user of another robot.
- a portion of the map corresponding to the task can be transmitted to another robot through the communication interface 110.
- the game may be provided through a game application installed on the first electronic device and the second electronic device.
- the processor 120 transmits a signal for executing the game application installed on the first electronic device to the first electronic device through the communication interface 110, and transmits a signal for executing the game application installed on the second electronic device. can be transmitted to the second electronic device through the communication interface 110.
- the game application installed on the second electronic device may be executed by a guest robot.
- the first electronic device and the second electronic device can run the game application installed on each electronic device.
- game applications may be linked to each other. Accordingly, the user of the robot 100 and the user of the guest robot can interact with each other and play the game.
- a task may refer to various performance units that require user action, such as missions or competitions provided in the game.
- the processor 120 may view the task as being performed by the user of the guest robot.
- the processor 120 may view the task as being performed by the user of the guest robot. there is.
- the first electronic device when the first electronic device identifies that the user of the guest robot has performed the task through the game application, it may transmit a signal indicating that the task has been performed to the robot 100.
- the processor 120 identifies whether the task has been performed based on the received command, and when the task is identified as being performed, the range of the map corresponding to the task among the entire map is based on information about the shared range of the map. can be identified, and a map of the identified range can be transmitted to the guest robot through the communication interface 110.
- the user of the robot 100 and the user of the guest robot 100-2 play a rock-paper-scissors game through the first electronic device 200 and the second electronic device 300, respectively. Assume one case.
- the processor 120 transfers the map 11 for the first area corresponding to the first task among the maps 10 to the guest robot 100-2. It can be sent to .
- the processor 120 if the processor 120 identifies the next task among the plurality of tasks as being performed by a user of another robot after the task is performed, the processor 120 communicates a portion of the map corresponding to the next task among the maps generated by the robot 100. It can be transmitted to another robot through the interface 110.
- the next task may be provided when a preset time has elapsed after the task is performed.
- the game application may provide the next mission or next match when a preset time has elapsed after the mission or match is in progress.
- the next task may be provided when a request for the next task is received.
- the game application displays a UI 610 including an icon 611 for requesting the next match, and when the icon 611 is selected, the game application provides the next match. can do.
- the user of the guest robot may select the icon 611 on the UI 610 displayed on the second electronic device 300 to request the next match.
- the user of the guest robot can perform the following tasks.
- the guest robot 100-2 may receive the map 11 for the first area from the robot 100 and store it.
- the processor 120 transfers the map 12 for the second area corresponding to the second task among the maps 10 to the guest robot 100-2. -2) It can be transmitted.
- the guest robot may receive the map 12 for the second area from the robot 100. Accordingly, the guest robot can save the map 11 for the first area and the map 12 for the second area.
- the difficulty of the next task may be the same as the difficulty of the task. That is, the difficulty of the task may be the same as that of the previously provided task.
- the difficulty of the next task may be higher than the difficulty of the task.
- the difficulty of the task may be higher than that of the previously provided task.
- the difficulty of completing the mission corresponding to the current task may be higher than the difficulty of completing the mission corresponding to the previous task.
- the difficulty of completing the mission may increase sequentially according to the task order.
- the number of wins may be sequentially increased according to task order.
- the processor 120 may sequentially transmit a portion of the map generated by the robot 100 to the other robot through the communication interface 110. You can. Accordingly, when the user of the guest robot performs all of the plurality of tasks, the guest robot 100-2 can receive the entire map generated by the robot 100, as shown in FIG. 8.
- the game is provided through a game application installed on the first electronic device and the second electronic device, but this is only an example.
- a game may be provided through a guest robot.
- the processor 120 may transmit a portion of the map to the guest robot through the communication interface 110.
- the processor 120 may transmit a map of one of the plurality of areas to the guest robot before a game task is performed.
- the guest robot moves using the map received from the robot 100 and can take pictures through a camera. Additionally, the guest robot may perform object recognition on the captured image, identify an image containing an object, and transmit the identified image to one of the first electronic device and the second electronic device.
- the first electronic device and the second electronic device may display the received image on the display of each electronic device.
- the user determines that the task has been performed and sends a user input corresponding to completion of the task to the first or second electronic device. You can enter . Accordingly, when a signal corresponding to a user input is received from the first electronic device or the second electronic device through the communication interface 110, the processor 120 identifies that the task has been performed and displays a portion of the map through the communication interface ( 110) can be transmitted to the guest robot.
- a preset object e.g., TV, etc.
- the guest robot can receive a portion of the map from the robot 100.
- the robot 100 transmits a map to another robot, but this is only an example. That is, when the map generated by the robot 100 is stored in the server, the processor 120 can set an accessible range for the map stored in the server. Accordingly, the guest robot can receive the map step by step as the task is performed.
- the processor 120 may set access to only the map of the first area among the maps stored in the server. Additionally, if it is identified that the second task has been performed, the processor 120 may set the map of the second area among the maps stored in the server to be additionally accessible.
- the processor 120 can sequentially expand the range of the accessible map each time a task is sequentially performed. Accordingly, the guest robot can connect to the server every time a task is performed and sequentially receive parts of the map corresponding to the mask.
- the processor 120 can control the robot 100 to perform an activity with another robot that moves based on the shared map.
- the activity may be a game activity that the robot 100 and another robot can perform together, such as playing tag, racing, or taking pictures while moving.
- the processor 120 may recognize the guest robot using a camera provided in the robot 100, etc. Additionally, the processor 120 may drive the plurality of wheels of the robot 100 to move along a guest robot or along a preset path using the map stored in the robot 100. Additionally, the processor 120 may photograph objects around the robot 100 using a camera.
- the guest robot may also perform operations similar to those of the robot 100 and perform game activities with the robot 100.
- the robot 100 and the guest robot each move using maps, they can each move within their own maps (that is, maps stored in the robot 100 and the guest robot, respectively).
- the guest robot may have restrictions on movement compared to the robot 100 that has the entire map.
- the user of the guest robot can request different parts of the map and play the game, allowing the guest robot to sequentially receive different parts of the map.
- the ranges in which the robot 100 and the guest robot can move may be different. Considering this, the robot 100 and the guest robot can perform activities corresponding to the map stored in the guest robot. At this time, the performed activity may be preset according to the range of the map shared with the guest robot.
- the processor 120 when the processor 120 transmits a part of the map corresponding to the task to another robot, the processor 120 sets the robot 100 to perform the first activity with the other robot that moves based on the part of the map corresponding to the task. control, and when the part of the map corresponding to the task and the part of the map corresponding to the next task are transmitted to another robot, the other robot moves based on the part of the map corresponding to the task and the part corresponding to the next task.
- the robot 100 can be controlled to perform 2 activities.
- the second activity may be different from the first activity.
- the second activity may be an activity that requires more space to move than the first activity.
- moving and taking pictures activities do not require a large space
- racing activities may require a relatively large moving space for greater fun.
- the robot 100 and the guest robot move and perform photo-taking activities
- 1/2 of the total maps are shared
- the robot 100 and guest robots can perform racing activities.
- the user may allow the guest robot to receive different parts of the map through the game.
- the robot can sequentially acquire parts of the map through the game played by the user, thereby further arousing the user's interest.
- the processor 120 may transmit a signal requesting deletion of the shared map to the other robot through the communication interface 110.
- the guest robot can delete the map provided by the robot 100.
- the processor 120 may set the mode of the robot 100 to the shared mode and transmit a portion of the map corresponding to the task in the shared mode to another robot through the communication interface 110.
- the processor 120 transmits a portion of the map corresponding to the task to another robot with the mode of the robot 100 set to the sharing mode based on the user input, and then the user input to end the sharing mode is performed. Once received, you can exit sharing mode.
- user input may be received from the first electronic device or may be input through a touch screen or button provided on the robot 100.
- the processor 120 may transmit a signal requesting deletion of the shared map to another robot, that is, a guest robot, through the communication interface 110.
- the processor 120 may transmit a signal requesting deletion of a map selected according to a user input among the maps shared with the guest robot to the guest robot through the communication interface 110.
- the robot 100 shares the maps 11, 12, and 13 for the first to third areas of the map 10 with a guest robot.
- the first electronic device 200 may display a UI 910 including maps 11, 12, and 13 for the first to third areas. Additionally, the first electronic device 200 may receive a user input for selecting a map through the UI 910 and transmit a signal corresponding to the user input to the robot 100. Accordingly, the processor 120 may transmit a signal requesting deletion of the map selected according to the user input to the guest robot, based on the signal received from the first electronic device 200.
- the robot 100 requests deletion of each part of the map, but this is only an example.
- the processor 120 may transmit a signal to delete the entire map shared with the guest robot to the guest robot through the communication interface 110.
- maps stored in the guest robot can be deleted through various methods.
- the map generated by the robot 100 may correspond to the personal information of the user of the robot 100 in that it is a map of the space where the robot 100 is located. Therefore, to protect personal information, the map stored in the guest robot can be deleted through a deletion request.
- the robot 100 may perform the functions of the guest robot described in FIGS. 1 to 9, and the operations of the robot 100 may be controlled by the processor 120.
- the guest robot redundant description of the content described in FIGS. 1 to 9 will be omitted.
- Processor 120 may receive user input for sharing the map with other robots.
- the user input may include a user input for setting the mode of the robot 100 to the shared mode.
- the processor 120 may search for other robots existing around the robot 100 through the communication interface 110 and transmit a command requesting approval for sharing the map to the other robot.
- the processor 120 may identify the robot 100 as a guest robot.
- identification information eg, robot name, ID, etc.
- the robot 100 may be preset to perform the function of a guest robot.
- the processor 120 can receive a map generated by the other robot from the other robot.
- the other robot can be called a master robot, in that it is a robot that provides the map generated by the other robot to the robot 100.
- the processor 120 may delete the map shared from the master robot.
- the processor 120 may delete the map provided by the master robot.
- the processor 120 may delete the map provided from the master robot.
- the processor 120 may delete the map provided from the master robot.
- the processor 120 identifies the location of the robot 100 acquired through the GPS module of the robot 100 as being outside the space where the master robot is located, or determines the location of the robot 100 based on the map provided from the master robot. ), if the current location cannot be identified, the robot 100 may be identified as being out of the space where the master robot is located.
- the processor 120 may store the map from the master robot in the volatile memory of the robot 100. Accordingly, when the power of the robot 100 is turned off, the map stored in the volatile memory may be deleted.
- the processor 120 can delete the map shared from the master robot even if a signal requesting deletion of the shared map is not received from the master robot. Accordingly, personal information can be protected.
- Figure 10 is a block diagram for explaining the detailed configuration of a robot according to an embodiment of the present disclosure.
- the robot 100 includes a communication interface 110, a processor 120, a memory 130, a sensor 140, a driver 150, an input interface 160, and an output unit 170. can do.
- this configuration is an example, and of course, in carrying out the present disclosure, new configurations may be added or some configurations may be omitted in addition to these configurations. Meanwhile, when describing FIG. 10, parts that overlap with parts already described will be omitted or abbreviated.
- the memory 130 may store at least one instruction regarding the robot 100. Additionally, an operating system (O/S) for driving the robot 100 may be stored in the memory 130. Additionally, the memory 130 may store various software programs or applications for operating the robot 100 according to various embodiments of the present disclosure. Additionally, the memory 130 may include volatile memory such as a frame buffer, semiconductor memory such as flash memory, or magnetic storage media such as a hard disk.
- O/S operating system
- the memory 130 may include volatile memory such as a frame buffer, semiconductor memory such as flash memory, or magnetic storage media such as a hard disk.
- the memory 130 may store various software modules for operating the robot 100 according to various embodiments of the present disclosure, and the processor 120 may execute various software modules stored in the memory 130.
- the operation of the robot 100 can be controlled.
- the term memory 130 refers to memory 130, ROM (not shown), RAM (not shown) in the processor 120, or a memory card (not shown) mounted on the robot 100 (e.g. For example, it can be used to mean including micro SD card, memory stick).
- the sensor 140 may acquire data related to the robot 100 and the surroundings of the robot 100.
- the senor 140 may include an inertial measurement unit (IMU) sensor.
- IMU inertial measurement unit
- the IMU sensor can sense the acceleration and angular velocity of the robot 100 using an accelerometer, gyroscope, magnetometer, etc.
- the senor 140 may include a wheel encoder.
- the wheel encoder can sense the rotation speed and rotation direction of each of the plurality of wheels installed in the robot 100.
- each of the plurality of wheels is rotated by a motor and may serve to move the robot 100.
- the senor 140 may include a camera.
- the camera may acquire an image by photographing the surroundings of the robot 100.
- the camera is implemented as a 3D camera and can generate 3D image information around the robot 100.
- the senor 140 may include a LiDAR sensor.
- the LiDAR sensor can rotate 360 degrees and output a laser. Additionally, when a laser is reflected and received from an object around the robot 100, the LIDAR sensor can detect the distance to the object based on the time the laser was received.
- the processor 120 may generate a map of the space where the robot 100 is located using information acquired through the sensor 140. Additionally, the processor 120 may use information acquired through the sensor 140 to identify the location of the robot 100 on the map and move the robot 100 on the map.
- the driving unit 150 can move the robot 100.
- the driving unit 130 may include a plurality of wheels 152 and a motor 151 for rotating each of the plurality of wheels.
- the motor 151 controls the plurality of wheels 152 according to the control of the processor 120, and can control various driving operations of the robot 100, such as movement, stopping, speed control, and direction change.
- Input interface 160 includes circuitry.
- the input interface 160 can receive user commands for setting or selecting various functions supported by the robot 100.
- the input interface 160 may include at least one button.
- the input interface 160 may be implemented as a touch screen that can simultaneously perform the functions of the display 171.
- the processor 120 may control the operation of the robot 100 based on the user input input through the input interface 160.
- the processor 120 operates the robot ( 100) can be controlled.
- the output unit 170 may include a display 171 and a speaker 172.
- the display 171 can display various information.
- the display 171 may be implemented as a liquid crystal display (LCD) or the like.
- the display 171 may be implemented as a touch screen that can simultaneously perform the functions of the input interface 160.
- the processor 140 may display information related to the operation of the robot 100 on the display 171.
- Speaker 172 can output audio. Specifically, the processor 120 may output various notification sounds or voice guidance messages related to the operation of the robot 100 through the speaker 172.
- FIG. 11 is a flowchart illustrating a method for sharing a map of a robot according to an embodiment of the present disclosure.
- next task among the plurality of tasks is identified as having been performed by a user of another robot after the task is performed, a portion of the map corresponding to the next task among the maps generated by the robot may be transmitted to the other robot.
- the next task may be provided when a preset time elapses after the task is performed or when a request for the next task is received.
- the difficulty of the next task may be higher than the difficulty of the task.
- the first activity can be performed with the other robot moving based on the part of the map corresponding to the task.
- the other robot moves based on the part of the map corresponding to the task and the part of the map corresponding to the next task.
- the second activity can be performed.
- the robot's mode is set to sharing mode based on user input
- a part of the map corresponding to the task is transmitted to another robot, and when the sharing mode ends, a signal requesting deletion of the shared map is sent to the other robot. It can be sent to .
- the method according to the embodiments of the present disclosure may be included and provided 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 in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)) or through an application store (e.g. Play StoreTM) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smartphones) or online.
- a portion of the computer program product e.g., a downloadable app
- a machine-readable storage medium such as the memory of a manufacturer's server, an application store's server, or a relay server. It can be temporarily stored or created temporarily.
- 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. Alternatively, other sub-components may be further 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.
- 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.
- unit or “module” used in the present disclosure includes a unit comprised of hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. You can.
- a “part” or “module” may be an integrated part, a minimum unit that performs one or more functions, or a part thereof.
- a module may be comprised of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- a non-transitory computer readable medium storing a program that sequentially performs the control method according to the present disclosure.
- a non-transitory readable medium refers to a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short period of time, such as registers, caches, and memories.
- the various applications or programs described above may be stored and provided on non-transitory readable media such as CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, etc.
- embodiments of the present disclosure 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 in a storage medium and operating according to the called instructions, and may include an electronic device (eg, robot 100) 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.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Networks & Wireless Communication (AREA)
- Instructional Devices (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
로봇이 개시된다. 본 로봇은 통신 인터페이스 및 맵을 다른 로봇과 공유하기 위한 사용자 입력에 기초하여 실행된 게임 내의 복수의 태스크 중 태스크가 다른 로봇의 사용자에 의해 수행되었는지 식별하고, 태스크가 수행된 것으로 식별되면, 로봇이 생성한 맵 중 태스크에 대응되는 맵의 일부분을 통신 인터페이스를 통해 다른 로봇으로 전송하는 하나 이상의 프로세서를 포함한다.
Description
본 개시는 다른 로봇에게 맵을 공유하는 로봇 및 그의 로봇의 맵 공유 방법에 관한 것이다.
일반적으로 로봇은 산업용으로 개발되어 여러 산업 현장에서 널리 사용되고 있다. 최근에는 로봇을 이용한 분야가 더욱 확대되어, 일반 가정집 뿐만 아니라, 다양한 매장에서도 활용되고 있다.
로봇은 로봇이 위치하는 공간 내에서 이동할 수 있다. 이 경우, 로봇은 로봇이 위치하는 공간에 대한 맵을 이용하여 이동할 수 있다.
본 개시의 일 실시 예에 따른 로봇은 통신 인터페이스 및 하나 이상의 프로세서를 포함한다. 하나 이상의 프로세서는 맵을 다른 로봇과 공유하기 위한 사용자 입력에 기초하여 실행된 게임 내의 복수의 태스크 중 태스크가 상기 다른 로봇의 사용자에 의해 수행되었는지 식별한다. 프로세서는 상기 태스크가 수행된 것으로 식별되면, 상기 로봇이 생성한 맵 중 상기 태스크에 대응되는 맵의 일부분을 상기 통신 인터페이스를 통해 상기 다른 로봇으로 전송한다.
본 개시의 일 실시 예에 따른 로봇의 맵 공유 방법은 맵을 다른 로봇과 공유하기 위한 사용자 입력에 기초하여 실행된 게임 내의 복수의 태스크 중 태스크가 상기 다른 로봇의 사용자에 의해 수행되었는지 식별하는 단계 및 상기 태스크가 수행된 것으로 식별되면, 상기 로봇이 생성한 맵 중 상기 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송하는 단계를 포함한다.
본 개시의 일 실시 예에 따른 로봇의 하나 이상의 프로세서에 의해 실행되는 경우 상기 로봇이 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체에 있어서, 상기 동작은 맵을 다른 로봇과 공유하기 위한 사용자 입력에 기초하여 실행된 게임 내의 복수의 태스크 중 태스크가 상기 다른 로봇의 사용자에 의해 수행되었는지 식별하는 단계 및 상기 태스크가 수행된 것으로 식별되면, 상기 로봇이 생성한 맵 중 상기 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송하는 단계를 포함한다.
도 1은 본 개시의 일 실시 예에 따른 로봇을 설명하기 위한 도면,
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도,
도 3 내지 도 8은 본 개시의 일 실시 예에 따른 로봇이 맵을 공유하는 방법을 설명하기 위한 도면들,
도 9는 본 개시의 일 실시 예에 따른 로봇이 맵을 삭제하는 방법을 설명하기 위한 도면,
도 10은 본개시의 일 실시 예에 따른 로봇의 세부 구성을 설명하기 위한 블록도, 그리고
도 11은 본 개시의 일 실시 예에 따른 로봇의 맵 공유 방법을 설명하기 위한 흐름도이다.
본 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 본 개시의 실시 예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시를 설명함에 있어서, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략한다.
덧붙여, 하기 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 개시의 기술적 사상의 범위가 하기 실시 예에 한정되는 것은 아니다. 오히려, 이들 실시 예는 본 개시를 더욱 충실하고 완전하게 하고, 당업자에게 본 개시의 기술적 사상을 완전하게 전달하기 위하여 제공되는 것이다.
본 개시에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 권리범위를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 개시에서 "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서 "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다.
대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
실시 예에 있어서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
한편, 도면에서의 다양한 요소와 영역은 개략적으로 그려진 것이다. 따라서, 본 발명의 기술적 사상은 첨부한 도면에 그려진 상대적인 크기나 간격에 의해 제한되지 않는다.
이하에서는 첨부한 도면을 참고하여 본 개시에 따른 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다.
도 1은 본 개시의 일 실시 예에 따른 로봇을 설명하기 위한 도면이다.
도 1을 참조하면, 제1 로봇(100-1)은 제1 로봇(100)이 위치한 공간에 대한 맵을 생성할 수 있다.
여기에서, 공간은 집, 사무실, 공원, 호텔, 공장, 상점 등과 같이 제1 로봇(100-1)이 이동할 수 있는 다양한 장소를 포함할 수 있다.
이 경우, 제1 로봇(100-1)은 SLAM(simultaneous localization and mapping)을 이용하여 제1 로봇(100-1)이 위치하는 공간에 대응되는 맵(10)을 생성할 수 있다.
이를 위해, 제1 로봇(100-1)은 센서를 이용하여 제1 로봇(100-1) 주변을 센싱할 수 있다. 예를 들어, 제1 로봇(100-1)은 3D 카메라를 통해 제1 로봇(100-1) 주변의 3D 이미지를 생성하거나, 라이다 센서 등을 통해 제1 로봇(100-1)과 제1 로봇(100-1) 주변의 객체 간의 거리를 감지할 수 있다. 그리고, 제1 로봇(100-1)은 센싱된 데이터를 바탕으로 SLAM을 통해 맵을 생성할 수 있다.
그리고, 제1 로봇(100-1)은 생성된 맵을 제1 로봇(100)에 저장하거나, 서버(미도시)에 저장할 수 있다.
한편, 제1 로봇(100-1)은 제1 로봇(100)이 생성한 맵을 제2 로봇(100-2)과 공유할 수 있다.
일 예로, 제1 로봇(100-1)이 위치한 공간에서 제1 로봇(100-1)이 제2 로봇(100-2)과 함께 액티비티를 수행하는 경우, 제2 로봇(100-2) 역시 해당 공간에 대한 맵이 필요할 수 있다. 이때, 제2 로봇(100-2)이 공간에 대한 맵을 생성하는 경우, 불필요한 시간이 소모될 수 있다.
따라서, 제1 로봇(100-1)은 제1 로봇(100)이 생성한 맵을 제2 로봇(100-2)과 공유할 수 있다. 이때, 제1 로봇(100-1)은 맵 전체를 한번에 제2 로봇(100-2)과 공유하지 않고, 맵을 복수의 영역으로 구분하고, 각 영역에 대한 맵(10-1, 10-2, 10-3, 10-4)을 순차적으로 제2 로봇(100-2)과 공유할 수 있다.
구체적으로, 들어, 제2 로봇(100-2)의 사용자가 게임을 통해 태스크를 수행(또는 완로)한 경우, 제1 로봇(100-1)은 태스크에 대응되는 맵의 일부분을 제2 로봇(100-2)과 공유할 수 있다. 예를 들어, 제2 로봇(100-2)의 사용자가 게임을 통해 4 차례의 태스크를 수행한 경우, 제1 로봇(100-1)은 4 차례에 걸쳐 맵의 일부분을 제2 로봇(100-2)과 공유하고, 이에 따라, 제2 로봇(100-2)은 제1 로봇(100-1)이 생성한 맵 전체를 수신할 수 있게 된다.
이하에서, 맵을 제공하는 제1 로봇(100-1)을 마스터(master) 로봇이라 하고, 맵을 제공받는 제2 로봇(100-2)을 게스트(guest) 로봇이라 지칭하도록 한다.
도 2는 본 개시의 일 실시 예에 따른 로봇의 구성을 설명하기 위한 블록도이다.
도 2를 참조하면, 로봇(100)은 통신 인터페이스(110) 및 하나 이상의 프로세서(120)를 포함한다.
통신 인터페이스(110)는 회로(circuitry)를 포함한다. 통신 인터페이스(110)는 전자 장치와 통신을 수행하는 구성이다. 통신 인터페이스(110)는 신호를 전자 장치로 전송하고, 신호를 전자 장치로부터 수신할 수 있다.
이 경우, 통신 인터페이스(110)는 네트워크를 통해 전자 장치와 통신할 수 있다. 예를 들어, 통신 인터페이스(110)는 Wi-Fi, Wi-Fi 다이렉트, 5G, LTE(Long Term Evolution), 블루투스(Bluetooth), 지그비(Zigbee), 유/무선 LAN(Local Area Network), WAN(Wide Area Network), 이더넷(Ethernet) 등과 같은 통신 방식 중 적어도 하나를 이용하여 전자 장치와 통신할 수 있다.
일 예로, 통신 인터페이스(110)는 다른 로봇, 로봇(100)의 사용자의 전자 장치(이하, 제1 전자 장치), 다른 로봇의 사용자의 전자 장치(이하, 제2 전자 장치) 및 서버와 통신할 수 있다. 여기에서, 제1 전자 장치 및 제2 전자 장치는 스마트폰, 태블릿, 웨어러블 장치(가령, 스마트 와치) 등과 같이, 디스플레이 기능을 제공하며 휴대 가능한 장치일 수 있다.
하나 이상의 프로세서(120)는 통신 인터페이스(110)와 전기적으로 연결되어, 로봇(100)의 전반적인 동작 및 기능을 제어할 수 있다.
하나 이상의 프로세서(120)는 CPU(Central Processing Unit), GPU(Graphics Processing Unit), APU(Accelerated Processing Unit), MIC(Many Integrated Core), DSP(Digital Signal Processor), NPU(Neural Processing Unit), 하드웨어 가속기 또는 머신 러닝 가속기 중 하나 이상을 포함할 수 있다. 하나 이상의 프로세서(120)는 로봇(100)의 다른 구성요소 중 하나 또는 임의의 조합을 제어할 수 있으며, 통신에 관한 동작 또는 데이터 처리를 수행할 수 있다. 하나 이상의 프로세서(120)는 메모리에 저장된 하나 이상의 프로그램 또는 명령어(instruction)을 실행할 수 있다. 예를 들어, 하나 이상의 프로세서(120)는 메모리에 저장된 하나 이상의 명령어를 실행함으로써, 본 개시의 일 실시 예에 따른 방법을 수행할 수 있다.
한편, 본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 하나의 프로세서에 의해 수행될 수도 있고, 복수의 프로세서에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제1 동작, 제2 동작, 제3 동작이 수행될 때, 제1 동작, 제2 동작, 및 제3 동작 모두 제1 프로세서에 의해 수행될 수도 있고, 제1 동작 및 제2 동작은 제1 프로세서(예를 들어, 범용 프로세서)에 의해 수행되고 제3 동작은 제2 프로세서(예를 들어, 인공지능 전용 프로세서)에 의해 수행될 수도 있다.
하나 이상의 프로세서(120)는 하나의 코어를 포함하는 단일 코어 프로세서(single core processor)로 구현될 수도 있고, 복수의 코어(예를 들어, 동종 멀티 코어 또는 이종 멀티 코어)를 포함하는 하나 이상의 멀티 코어 프로세서(multicore processor)로 구현될 수도 있다. 하나 이상의 프로세서(120)가 멀티 코어 프로세서로 구현되는 경우, 멀티 코어 프로세서에 포함된 복수의 코어 각각은 캐시 메모리, 온 칩(On-chip) 메모리와 같은 프로세서 내부 메모리를 포함할 수 있으며, 복수의 코어에 의해 공유되는 공통 캐시가 멀티 코어 프로세서에 포함될 수 있다. 또한, 멀티 코어 프로세서에 포함된 복수의 코어 각각(또는 복수의 코어 중 일부)은 독립적으로 본 개시의 일 실시 예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있고, 복수의 코어 전체(또는 일부)가 연계되어 본 개시의 일 실시예에 따른 방법을 구현하기 위한 프로그램 명령을 판독하여 수행할 수도 있다.
본 개시의 일 실시 예에 따른 방법이 복수의 동작을 포함하는 경우, 복수의 동작은 멀티 코어 프로세서에 포함된 복수의 코어 중 하나의 코어에 의해 수행될 수도 있고, 복수의 코어에 의해 수행될 수도 있다. 예를 들어, 일 실시 예에 따른 방법에 의해 제1 동작, 제2 동작, 및 제3 동작이 수행될 때, 제1 동작, 제2 동작, 및 제3 동작 모두 멀티 코어 프로세서에 포함된 제1 코어에 의해 수행될 수도 있고, 제1 동작 및 제2 동작은 멀티 코어 프로세서에 포함된 제1 코어에 의해 수행되고 제3 동작은 멀티 코어 프로세서에 포함된 제2 코어에 의해 수행될 수도 있다.
본 개시의 실시 예들에서, 프로세서는 하나 이상의 프로세서 및 기타 전자 부품들이 집적된 시스템 온 칩(SoC), 단일 코어 프로세서, 멀티 코어 프로세서, 또는 단일 코어 프로세서 또는 멀티 코어 프로세서에 포함된 코어를 의미할 수 있으며, 여기서 코어는 CPU, GPU, APU, MIC, DSP, NPU, 하드웨어 가속기 또는 기계 학습 가속기 등으로 구현될 수 있으나, 본 개시의 실시 예들이 이에 한정되는 것은 아니다.
이하에서는 하나 이상의 프로세서(120)를 프로세서(120)로 기재하도록 한다.
한편, 로봇(100)은 마스터 로봇의 기능을 수행하거나, 게스트 로봇의 기능을 수행할 수 있다.
먼저, 로봇(100)이 마스터 로봇의 기능을 수행하는 경우에 대해 설명하도록 한다.
프로세서(120)는 맵을 다른 로봇과 공유하기 위한 사용자 입력을 수신할 수 있다.
여기에서, 사용자 입력은 로봇(100)의 모드를 공유 모드로 설정하기 위한 사용자 입력을 포함할 수 있다. 이 경우, 사용자 입력은 제1 전자 장치(즉, 로봇(100)의 사용자의 전자 장치)를 통해 수신될 수 있다.
예를 들어, 제1 전자 장치는 로봇(100)의 모드를 설정하기 위한 UI(user interface)를 표시하고, UI를 통해 공유 모드를 선택하는 사용자 입력을 입력받을 수 있다. 이 경우, 제1 전자 장치는 사용자 입력에 대응되는 신호(가령, 사용자 입력을 나타내는 신호 또는 사용자 입력에 따라 로봇(100)을 제어하기 위한 신호)를 로봇(100)으로 전송할 수 있다. 이에 따라, 프로세서(120)는 제1 전자 장치로부터 신호가 수신되면, 로봇(100)의 모드를 공유 모드로 설정할 수 있다. 여기에서 공유 모드는 로봇(100)이 맵을 다른 로봇과 공유하기 위한 모드일 수 있다.
한편, 일 예로, 맵을 다른 로봇과 공유하기 위한 사용자 입력은 로봇(100)에 마련된 터치 스크린 또는 버튼 등을 통해 입력될 수도 있다.
그리고, 프로세서(120)는 통신 인터페이스(110)를 통해 로봇(100) 주변에 존재하는 다른 로봇을 검색하고, 다른 로봇에게 맵 공유에 대한 승낙을 요청하는 명령을 전송할 수 있다.
이 경우, 프로세서(120)는 로봇(100)이 생성한 맵을 제공받았던 로봇이 검색된 경우, 로봇(100)이 마스터 로봇인 것으로 식별할 수 있다. 이를 위해, 로봇(100)에게 이전에 맵을 제공하였던 로봇에 대한 식별 정보(가령, 로봇의 명칭, ID 등)가 로봇(100)에 저장되어 있을 수 있다. 하지만, 이는 일 예이고, 로봇(100)이 마스터 로봇의 기능을 수행하도록 로봇(100)에 미리 설정되어 있을 수도 있다.
이후, 프로세서(120)는 맵 공유 요청을 수락하는 신호가 통신 인터페이스(110)를 통해 다른 로봇으로부터 수신되면, 로봇(100)이 생성한 맵을 다른 로봇에게 공유할 수 있다. 이와 같이, 다른 로봇은 로봇(100)이 생성한 맵을 제공받는 로봇이라는 점에서, 다른 로봇은 게스트 로봇이라 명명할 수 있다.
한편, 게스트 로봇은 맵 공유에 대한 승낙을 요청하는 신호가 로봇(100)으로부터 수신되면, 맵 공유 요청에 대한 알림을 게스트 로봇의 디스플레이 또는 제2 전자 장치(즉, 게스트 로봇의 사용자의 전자 장치)에 표시할 수 있다. 그리고, 게스트 로봇은 사용자 입력에 기초하여 맵 공유 요청을 수락하는 신호를 로봇(100)으로 전송할 수 있다. 또한, 게스트 로봇은 게스트 로봇의 모드를 공유 모드로 설정할 수 있다.
한편, 일 예에서, 로봇(100) 및 게스트 로봇의 공유 모드는 전체 공유 모드(즉, 맵 전체를 공유하기 위한 모드)와 일부 공유 모드(즉, 맵의 일부분을 공유하기 위한 모드)를 포함할 수도 있다. 이 경우, 로봇(100) 및 게스트 로봇은 모드를 일부 공유 모드로 설정할 수 있다. 또한, 일 예로, 로봇(100)과 게스트 로봇은 별도의 모드 설정 없이, 맵을 공유할 수도 있다.
한편, 전술한 예에서는 프로세서(120)가 로봇(100) 주변에서 검색된 로봇에게 맵 공유에 대한 승낙을 요청하는 신호를 전송하는 것으로 설명하였다. 다만, 이는 일 예이고, 프로세서(120)는 검색된 로봇 중 사용자 입력에 따라 선택된 로봇에게 맵 공유에 대한 승낙을 요청하는 신호를 전송할 수도 있다. 이 경우, 사용자 입력은 제1 전자 장치를 통해 입력되거나, 로봇(100)에 마련된 터치 스크린 또는 버튼 등을 통해 입력될 수 있다.
그리고, 프로세서(120)는 맵의 공유 범위를 설정할 수 있다.
여기에서, 맵의 공유 범위는 게임 내의 태스크가 게스트 로봇의 사용자에 의해 수행된 경우, 태스크의 수행에 따라 전체 맵 중 공유될 맵의 범위를 의미할 수 있다.
예를 들어, 도 3을 참조하면, 프로세서(120)는 로봇(100)이 생성한 맵(10)을 복수의 영역(가령, 4 개의 영역)으로 구분할 수 있다.
이 경우, 프로세서(120)는 복수의 영역 중 제1 영역에 대한 맵(11)을 제1 태스크가 수행되면 게스트 로봇에게 공유될 맵인 것으로 설정할 수 있다. 프로세서(120)는 복수의 영역 중 제2 영역에 대한 맵(12)을 제2 태스크가 수행되면 게스트 로봇에게 공유될 맵인 것으로 설정할 수 있다. 프로세서(120)는 복수의 영역 중 제3 영역에 대한 맵(13)을 제3 태스크가 수행되면 게스트 로봇에게 공유될 맵인 것으로 설정할 수 있다. 프로세서(120)는 복수의 영역 중 제4 영역에 대한 맵(14)을 제4 태스크가 수행되면 게스트 로봇에게 공유될 맵인 것으로 설정할 수 있다.
이를 위해, 프로세서(120)는 맵의 공유 범위를 설정하기 위한 사용자 입력을 수신할 수 있다.
예를 들어, 도 4와 같이, 제1 전자 장치(200)는 UI(410)를 전체 맵 중 첫 번째로 공유될 맵의 범위(즉, 제1 태스크의 수행 시 공유될 맵의 범위)를 설정하기 위한 사용자 입력을 입력받을 수 있다. 이 경우, 사용자는 제1 전자 장치(200)의 디스플레이에 대한 터치 조작을 통해 전체 맵 중 일부 영역을 드래그하여, 첫 번째로 공유될 맵의 범위를 설정할 수 있다. 이러한 과정을 반복하여, 제1 전자 장치(200)는 각 태스크 별로 공유될 맵의 범위를 설정하기 위한 사용자 입력을 입력받을 수 있다.
그리고, 제1 전자 장치(200)는 맵의 범위를 설정하기 위한 사용자 입력에 대응되는 신호를 로봇(100)으로 전송할 수 있다. 이에 따라, 프로세서(120)는 제1 전자 장치(200)로부터 수신된 신호에 기초하여 태스크 별로 게스트 로봇에게 공유될 맵의 공유 범위를 설정할 수 있다.
한편, 프로세서(120)는 게스트 로봇 별로 맵의 공유 범위를 설정할 수도 있다. 예를 들어, 로봇은 복수의 게스트 로봇에게 맵을 공유할 수 있다. 이 경우, 프로세서(120)는 게스트 로봇 별로 맵의 공유 범위를 설정하기 위한 사용자 입력을 입력받고, 사용자 입력에 따라 게스트 로봇 별로 맵의 공유 범위를 설정할 수 있다. 이에 따라, 게스트 로봇 별로 맵의 공유 범위가 다르게 설정될 수 있다.
그리고, 프로세서(120)는 사용자 입력에 기초하여 실행된 게임 내의 복수의 태스크 중 태스크가 다른 로봇의 사용자에 의해 수행되었는지 식별하고, 태스크가 수행된 것으로 식별되면, 로봇(100)이 생성한 맵 중 태스크에 대응되는 맵의 일부분을 통신 인터페이스(110)를 통해 다른 로봇으로 전송할 수 있다.
여기에서, 게임은 제1 전자 장치 및 제2 전자 장치에 설치된 게임 어플리케이션을 통해 제공될 수 있다.
이를 위해, 프로세서(120)는 제1 전자 장치에 설치된 게임 어플리케이션을 실행하기 위한 신호를 통신 인터페이스(110)를 통해 제1 전자 장치로 전송하고, 제2 전자 장치에 설치된 게임 어플리케이션을 실행하기 위한 신호를 통신 인터페이스(110)를 통해 제2 전자 장치로 전송할 수 있다. 이 경우, 제2 전자 장치에 설치된 게임 어플리케이션은 게스트 로봇에 의해 실행될 수도 있다.
이에 따라, 제1 전자 장치 및 제2 전자 장치는 각 전자 장치에 설치된 게임 어플리케이션을 실행할 수 있다. 이때, 게임 어플리케이션은 서로 연동될 수 있다. 따라서, 로봇(100)의 사용자와 게스트 로봇의 사용자는 서로 인터렉션하며 게임을 진행할 수 있다.
한편, 태스크는 게임에서 제공되는 미션, 대결 등과 같이 사용자의 액션이 요구되는 다양한 수행 단위를 의미할 수 있다.
일 예로, 프로세서(120)는 게스트 로봇의 사용자가 로봇(100)의 사용자와 협력하여 게임 내의 미션을 완료하는 경우, 게스트 로봇의 사용자에 의해 태스크가 수행된 것으로 것으로 볼 수 있다.
일 예로, 프로세서(120)는 게스트 로봇의 사용자가 로봇(100)의 사용자와 게임 내에서 대결을 수행하고, 게스트 로봇의 사용자가 승리한 경우, 게스트 로봇의 사용자에 의해 태스크가 수행된 것으로 볼 수 있다.
이에 따라, 제1 전자 장치는 게임 어플리케이션을 통해 게스트 로봇의 사용자가 태스크를 수행한 것으로 식별되면, 태스크가 수행되었음을 나타내는 신호를 로봇(100)으로 전송할 수 있다.
이 경우, 프로세서(120)는 수신된 명령에 기초하여 태스크가 수행되었는지를 식별하고, 태스크가 수행된 것으로 식별되면, 맵의 공유 범위에 대한 정보에 기초하여 전체 맵 중 태스크에 대응되는 맵의 범위를 식별하고, 식별된 범위의 맵을 통신 인터페이스(110)를 통해 게스트 로봇으로 전송할 수 있다.
예를 들어, 도 5와 같이, 로봇(100)의 사용자와 게스트 로봇(100-2)의 사용자가 각각 제1 전자 장치(200) 및 제2 전자 장치(300)를 통해 가위바위보 게임을 진행한 경우를 가정한다.
여기에서, 게스트 로봇(100-2)의 사용자가 승리한 경우, 프로세서(120)는 맵(10) 중 제1 태스크에 대응되는 제1 영역에 대한 맵(11)을 게스트 로봇(100-2)으로 전송할 수 있다.
한편, 프로세서(120)는 태스크가 수행된 이후 복수의 태스크 중 다음 태스크가 다른 로봇의 사용자에 의해 수행된 것으로 식별되면, 로봇(100)이 생성한 맵 중 다음 태스크에 대응되는 맵의 일부분을 통신 인터페이스(110)를 통해 다른 로봇으로 전송할 수 있다.
이 경우, 다음 태스크는 태스크가 수행된 이후 기설정된 시간이 경과되면, 제공될 수 있다. 예를 들어, 게임 어플리케이션은 미션 또는 대결이 진행된 후 기설정된 시간이 경과되면, 다음 미션 또는 다음 대결을 제공할 수 있다.
또는, 다음 태스크는 다음 태스크에 대한 요청이 수신되면 제공될 수 있다. 예를 들어, 도 6과 같이, 게임 어플리케이션은 대결이 완료되면, 다음 대결을 요청하기 위한 아이콘(611)을 포함하는 UI(610)를 표시하고, 아이콘(611)이 선택되면, 다음 대결을 제공할 수 있다. 이 경우, 게스트 로봇의 사용자는 제2 전자 장치(300)에 표시된 UI(610) 상의 아이콘(611)을 선택하여, 다음 대결을 요청할 수 있다.
이에 따라, 게스트 로봇의 사용자는 다음 태스크를 수행할 수 있게 된다.
예를 들어, 도 7과 같이, 게스트 로봇(100-2)의 사용자가 로봇(100)의 사용자와 가위바위보 게임을 진행하여, 1 차례 승리한 상태인 경우를 가정한다. 이에 따라, 게스트 로봇은 제1 영역에 대한 맵(11)을 로봇(100)으로부터 수신하여 저장하고 있을 수 있다.
이때, 게스트 로봇(100-2)의 사용자가 다음 번의 게임에서도 승리한 경우, 프로세서(120)는 맵(10) 중 제2 태스크에 대응되는 제2 영역에 대한 맵(12)을 게스트 로봇(100-2)으로 전송할 수 있다. 이 경우, 게스트 로봇은 로봇(100)으로부터 제2 영역에 대한 맵(12)을 수신할 수 있다. 이에 따라, 게스트 로봇은 제1 영역에 대한 맵(11) 및 제2 영역에 대한 맵(12)을 저장할 수 있다.
한편, 다음 태스크의 난이도는 태스크의 난이도와 같을 수 있다. 즉, 태스크의 난이도는 이전에 제공된 태스크의 난이도와 같을 수 있다.
또한, 다음 태스크의 난이도는 태스크의 난이도 보다 높을 수 있다. 즉, 태스크의 난이도는 이전에 제공된 태스크의 난이도 보다 높을 수 있다.
일 예로, 게스트 로봇의 사용자가 로봇(100)의 사용자와 협력하여 게임 내의 미션을 완료하여야 하는 경우, 현재 태스크에 대응되는 미션 완료의 난이도는 이전 태스크에 대응되는 미션 완료의 난이도 보다 높을 수 있다. 이 경우, 미션 완료의 난이도는 태스크 순서에 따라 순차적으로 증가될 수 있다.
일 예로, 게스트 로봇의 사용자가 로봇(100)의 사용자와의 대결에서 승리해야하는 경우, 이전보다 현재 태스크에서 태스크의 수행을 위해 더 많은 승리 횟수가 요구될 수 있다. 이 경우, 승리 횟수는 태스크 순서에 따라 순차적으로 증가될 수 있다.
이와 같이, 프로세서(120)는 복수의 태스크가 다른 로봇의 사용자에 의해 순차적으로 수행된 것으로 식별되면, 로봇(100)이 생성한 맵의 일부분을 통신 인터페이스(110)를 통해 순차적으로 다른 로봇으로 전송할 수 있다. 이에 따라, 게스트 로봇의 사용자가 복수의 태스크를 모두 수행한 경우, 도 8과 같이, 게스트 로봇(100-2)은 로봇(100)이 생성한 맵 전체를 제공받을 수 있다.
한편, 전술한 예에서는 제1 전자 장치 및 제2 전자 장치에 설치된 게임 어플리케이션을 통해 게임이 제공되는 것으로 설명하였으나, 이는 일 예에 불과하다. 일 예로, 게임은 게스트 로봇을 통해 제공될 수 있다.
이를 위해, 프로세서(120)는 맵의 일부분을 통신 인터페이스(110)를 통해 게스트 로봇으로 전송할 수 있다. 일 예로, 프로세서(120)는 게임을 통한 태스크가 수행되기 전에, 복수의 영역 중 하나의 영역에 대한 맵을 게스트 로봇으로 전송할 수 있다.
이 경우, 게스트 로봇은 로봇(100)으로부터 수신된 맵을 이용하여 이동하며, 카메라를 통해 촬영을 수행할 수 있다. 그리고, 게스트 로봇은 촬영된 이미지에 대한 객체 인식을 수행하여 객체가 포함된 이미지를 식별하고, 식별된 이미지를 제1 전자 장치 및 제2 전자 장치 중 하나로 전송할 수 있다.
이 경우, 제1 전자 장치 및 제2 전자 장치는 게스트 로봇으로부터 이미지가 수신되면, 수신된 이미지를 각 전자 장치의 디스플레이에 표시할 수 있다.
이에 따라, 사용자는 게스트 로봇에 의해 촬영된 객체가 미리 설정된 객체(가령, TV 등)인 경우, 태스크가 수행된 것으로 판단하고, 태스트 완료에 대응되는 사용자 입력을 제1 전자 장치 또는 제2 전자 장치에 입력할 수 있다. 이에 따라, 프로세서(120)는 통신 인터페이스(110)를 통해 사용자 입력에 대응되는 신호가 제1 전자 장치 또는 제2 전자 장치로부터 수신되면, 태스크가 수행된 것으로 식별하고, 맵의 일부분을 통신 인터페이스(110)를 통해 게스트 로봇으로 전송할 수 있다.
이와 같은 게임을 통해, 게스트 로봇은 맵의 일부분을 로봇(100)으로부터 수신할 수 있게 된다.
또한, 전술한 예에서는 로봇(100)이 다른 로봇으로 맵을 전송하는 것으로 설명하였으나, 이는 일 예에 불과하다. 즉, 로봇(100)이 생성한 맵이 서버에 저장되어 있는 경우, 프로세서(120)는 서버에 저장된 맵에 대한 액세스 가능 범위를 설정할 수 있다. 이에 따라, 게스트 로봇은 태스크의 수행에 따라 단계적으로 맵을 수신할 수 있다.
일 예로, 프로세서(120)는 제1 태스크가 수행된 것으로 식별되면, 서버에 저장된 맵 중 제1 영역의 맵에 대해서만 액세스가 가능하도록 설정할 수 있다. 그리고, 프로세서(120)는 제2 태스크가 수행된 것으로 식별되면, 서버에 저장된 맵 중 제2 영역의 맵이 추가로 액세스가 가능하도록 설정할 수 있다.
이와 같이, 프로세서(120)는 태스크가 순차적으로 수행될 때마다, 액세스 가능한 맵의 범위를 순차적으로 확대시킬 수 있다. 이에 따라, 게스트 로봇은 태스크가 수행될 때마다 서버에 접속하여, 매스크에 대응되는 맵의 일부분을 순차적으로 수신할 수 있게 된다.
한편, 프로세서(120)는 맵이 공유된 후, 공유된 맵에 기초하여 이동하는 다른 로봇과 액티비티를 수행하도록 로봇(100)을 제어할 수 있다.
여기에서, 액티비티는 술래잡기, 레이싱, 이동하며 사진찍기 등과 같이 로봇(100)과 다른 로봇이 함께 수행할 수 있는 게임 액티비티일 수 있다.
이를 위해, 프로세서(120)는 로봇(100)에 마련된 카메라 등을 이용하여 게스트 로봇을 인식할 수 있다. 그리고, 프로세서(120)는 로봇(100)에 저장된 맵을 이용하여 게스트 로봇을 따라 이동하거나, 미리 설정된 경로를 따라 이동하도록 로봇(100)의 복수의 휠을 구동할 수 있다. 또한, 프로세서(120)는 카메라를 이용하여 로봇(100) 주변의 객체를 촬영할 수도 있다.
이 경우, 게스트 로봇도 로봇(100)과 유사한 동작을 수행하여, 로봇(100)과 게임 액티비티를 수행할 수 있다.
한편, 로봇(100)과 게스트 로봇은 각각 맵을 이용하여 이동한다는 점에서, 각각 자신이 가지고 있는 맵(즉, 로봇(100)과 게스트 로봇에 각각 저장된 맵) 내에서 이동할 수 있다.
따라서, 게스트 로봇이 맵 전체를 가지고 있지 않은 경우, 게스트 로봇과 로봇(100)이 같은 액티비티를 수행하더라도, 게스트 로봇은 맵 전체를 가지고 있는 로봇(100)에 비해 이동 상에 제약이 존재할 수 있다.
따라서, 게스트 로봇의 사용자는 게스트 로봇을 통해 보다 흥미있는 게임 액티비티를 즐기기 위해 맵의 다른 부분을 요청하고 게임을 진행하여, 게스트 로봇이 맵의 다른 부분을 순차적으로 수신하도록 할 수 있다.
또한, 전술한 바와 같이, 로봇(100)과 게스트 로봇이 이동 가능한 범위가 서로 다를 수 있다. 이러한 점을 고려하여, 로봇(100)과 게스트 로봇은 게스트 로봇에 저장된 맵에 대응되는 액티비티를 수행할 수 있다. 이때, 수행되는 액티비티는 게스트 로봇에게 공유된 맵의 범위에 따라 미리 설정되어 있을 수 있다.
예를 들어, 프로세서(120)는 태스크에 대응되는 맵의 일부분을 다른 로봇으로 전송한 경우, 태스크에 대응되는 맵의 일부분에 기초하여 이동하는 다른 로봇과 제1 액티비티를 수행하도록 로봇(100)을 제어하고, 태스크에 대응되는 맵의 일부분 및 다음 태스크에 대응되는 맵의 일부분을 다른 로봇으로 전송한 경우, 태스크에 대응되는 맵의 일부분 및 다음 태스크에 대응되는 일부분에 기초하여 이동하는 다른 로봇과 제2 액티비티를 수행하도록 로봇(100)을 제어할 수 있다.
여기에서, 제2 액티비티는 제1 액티비티와 다를 수 있다. 제2 액티비티는 제1 액티비티에 비해 더 많은 이동 공간이 요구되는 액티비티일 수 있다.
예를 들어, 이동하며 사진찍기 액티비티의 경우, 넓은 공간이 요구되지 않는 반면, 레이싱 액티비티는 보다 높은 재미을 위해 상대적으로 넓은 이동 공간이 필요로 할수 있다. 이에 따라, 전체 맵 중 1/4의 맵이 공유된 경우, 로봇(100)과 게스트 로봇은 이동하며 사진찍기 액티비티를 수행하고, 전체 맵 중 1/2의 맵이 공유된 경우, 로봇(100)과 게스트 로봇은 레이싱 액티비티를 수행할 수 있다. 다만, 이는 일 예일 뿐이고, 로봇(100)과 게스트 로봇이 수행하는 게임 액티비티는 다양하게 설정될 수 있다.
이 경우, 로봇(100) 및 게스트 로봇이 다른 게임 액티비티를 수행하기 위해, 사용자는 게임을 통해 게스트 로봇이 맵의 다른 부분을 수신하도록 할 수 있다.
이와 같이, 본 개시에 따르면, 사용자가 진행한 게임을 통해 로봇이 맵의 일부분을 순차적으로 획득할 수 있게 되고, 이에 따라, 사용자의 흥미를 더욱 유발시킬 수 있게 된다.
한편, 프로세서(120)는 다른 로봇이 공유된 맵을 이용하여 수행한 액티비티가 종료되면, 공유된 맵의 삭제를 요청하는 신호를 통신 인터페이스(110)를 통해 다른 로봇으로 전송할 수 있다. 이 경우, 게스트 로봇은 로봇(100)으로부터 삭제 요청이 수신되면, 로봇(100)으로부터 제공받은 맵을 삭제할 수 있다.
한편, 전술한 바와 같이, 프로세서(120)는 로봇(100)의 모드를 공유 모드로 설정하고, 공유 모드에서 태스크에 대응되는 맵의 일부분을 통신 인터페이스(110)를 통해 다른 로봇으로 전송할 수 있다. 여기에서, 프로세서(120)는 사용자 입력에 기초하여 로봇(100)의 모드가 공유 모드로 설정된 상태에서 태스크에 대응되는 맵의 일부분을 다른 로봇으로 전송한 후, 공유 모드를 종료하기 위한 사용자 입력이 수신되면, 공유 모드를 종료할 수 있다. 이 경우, 사용자 입력은 제1 전자 장치로부터 수신되거나, 로봇(100)에 마련된 터치 스크린 또는 버튼 등을 통해 입력될 수도 있다. 한편, 프로세서(120)는 공유 모드가 종료되면, 공유된 맵의 삭제의 요청하는 신호를 통신 인터페이스(110)를 통해 다른 로봇 즉, 게스트 로봇으로 전송할 수 있다.
한편, 프로세서(120)는 게스트 로봇에게 공유된 맵 중 사용자 입력에 따라 선택된 맵의 삭제를 요청하는 신호를 통신 인터페이스(110)를 통해 게스트 로봇으로 전송할 수 있다.
예를 들어, 로봇(100)이 맵(10) 중 제1 내지 제3 영역에 대한 맵(11, 12, 13)을 게스트 로봇에게 공유한 경우를 가정한다.
이 경우, 도 9와 같이, 제1 전자 장치(200)는 제1 내지 제3 영역에 대한 맵(11, 12, 13)을 포함하는 UI(910)을 표시할 수 있다. 그리고, 제1 전자 장치(200)는 UI(910)를 통해 맵을 선택하기 위한 사용자 입력을 입력받고, 사용자 입력에 대응되는 신호를 로봇(100)으로 전송할 수 있다. 이에 따라, 프로세서(120)는 제1 전자 장치(200)로부터 수신된 신호에 기초하여, 사용자 입력에 따라 선택된 맵의 삭제를 요청하는 신호를 게스트 로봇으로 전송할 수 있다.
한편, 전술한 예에서는 로봇(100)이 맵의 일부분 별로 삭제 요청하는 것으로 설명하였으나, 이는 일 예에 불과하다. 일 예로, 프로세서(120)는 게스트 로봇과 공유된 맵 전체를 삭제하기 위한 신호를 통신 인터페이스(110)를 통해 게스트 로봇으로 전송할 수도 있다.
이와 같이 다양한 방법을 통해 게스트 로봇에 저장된 맵이 삭제될 수 있다. 즉, 로봇(100)이 생성한 맵은 로봇(100)이 위치한 공간에 대한 맵이라는 점에서, 로봇(100)의 사용자의 개인 정보에 해당할 수 있다. 따라서, 개인 정보 보호를 위해, 삭제 요청을 통해 게스트 로봇에 저장된 맵이 삭제되도록 할 수 있다.
한편, 이하에서는 로봇(100)이 게스트 로봇의 기능을 수행하는 경우에 대해 설명하도록 한다.
이 경우, 로봇(100)은 도 1 내지 도 9에서 설명한 게스트 로봇의 기능을 수행할 수 있으며, 이러한 로봇(100)의 동작은 프로세서(120)에 의해 제어될 수 있다. 게스트 로봇과 관련하여, 도 1 내지 도 9에서 설명한 내용에 대한 중복 설명은 생략하도록 한다.
프로세서(120)는 맵을 다른 로봇과 공유하기 위한 사용자 입력을 수신할 수 있다. 여기에서, 사용자 입력은 로봇(100)의 모드를 공유 모드로 설정하기 위한 사용자 입력을 포함할 수 있다.
그리고, 프로세서(120)는 통신 인터페이스(110)를 통해 로봇(100) 주변에 존재하는 다른 로봇을 검색하고, 다른 로봇에게 맵 공유에 대한 승낙을 요청하는 명령을 전송할 수 있다.
이 경우, 프로세서(120)는 로봇(100)에게 맵을 제공하였던 로봇이 검색된 경우, 로봇(100)이 게스트 로봇인 것으로 식별할 수 있다. 이를 위해, 로봇(100)에게 이전에 맵을 제공하였던 로봇에 대한 식별 정보(가령, 로봇의 명칭, ID 등)가 로봇(100)에 저장되어 있을 수 있다. 하지만, 이는 일 예이고, 로봇(100)이 게스트 로봇의 기능을 수행하도록 미리 설정되어 있을 수도 있다.
이후, 프로세서(120)는 맵 공유 요청을 수락하는 신호가 통신 인터페이스(110)를 통해 다른 로봇으로부터 수신되면, 다른 로봇이 생성한 맵을 다른 로봇으로부터 제공받을 수 있다. 이와 같이, 다른 로봇은 다른 로봇이 생성한 맵을 로봇(100)에게 제공하는 로봇이라는 점에서, 다른 로봇은 마스터 로봇이라 명명할 수 있다.
한편, 프로세서(120)는 마스터 로봇으로부터 공유받은 맵을 삭제할 수 있다.
일 예로, 프로세서(120)는 마스터 로봇으로부터 제공받은 맵을 이용하여 수행한 액티비티가 종료되면, 마스터 로봇으로부터 제공받은 맵을 삭제할 수 있다.
일 예로, 프로세서(120)는 마스터 로봇과의 통신이 끊긴 경우, 마스터 로봇으로부터 제공받은 맵을 삭제할 수 있다.
일 예로, 프로세서(120)는 로봇(100)이 마스터 로봇이 위치하는 공간을 벗어난 것으로 식별되면, 마스터 로봇으로부터 제공받은 맵을 삭제할 수 있다. 이 경우, 프로세서(120)는 로봇(100)의 GPS 모듈을 통해 획득한 로봇(100)의 위치가 마스터 로봇이 위치하는 공간을 벗어난 것으로 식별되거나, 마스터 로봇으로부터 제공받은 맵에 기초하여 로봇(100)의 현재 위치를 식별할 수 없는 경우, 로봇(100)이 마스터 로봇이 위치하는 공간을 벗어난 것으로 식별할 수 있다.
일 예로, 프로세서(120)는 마스터 로봇으로부터 맵을 로봇(100)의 휘발성 메모리에 저장할 수 있다. 이에 따라, 로봇(100)의 전원이 오프되면, 휘발성 메모리에 저장된 맵은 삭제될 수 있다.
이와 같이, 프로세서(120)는 공유된 맵의 삭제를 요청하는 신호가 마스터 로봇으로부터 수신되지 않아도, 마스터 로봇으로부터 공유받은 맵을 삭제할 수 있다. 이에 따라, 개인 정보를 보호할 수 있게 된다.
도 10은 본 개시의 일 실시 예에 따른 로봇의 세부 구성을 설명하기 위한 블록도이다.
도 10을 참조하면, 로봇(100)은 통신 인터페이스(110), 프로세서(120), 메모리(130), 센서(140), 구동부(150), 입력 인터페이스(160) 및 출력부(170)를 포함할 수 있다. 그러나, 이와 같은 구성은 예시적인 것으로서, 본 개시를 실시함에 있어 이와 같은 구성에 더하여 새로운 구성이 추가되거나 일부 구성이 생략될 수 있음을 물론이다. 한편, 도 10을 설명함에 있어, 이미 설명한 부분과 중복되는 부분은 생략하거나 축약하여 설명하도록 한다.
메모리(130)는 로봇(100)에 관한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 그리고, 메모리(130)에는 로봇(100)을 구동시키기 위한 O/S(Operating System)가 저장될 수 있다. 또한, 메모리(130)에는 본 개시의 다양한 실시 예들에 따라 로봇(100)이 동작하기 위한 각종 소프트웨어 프로그램이나 애플리케이션이 저장될 수도 있다. 그리고, 메모리(130)는 프레임 버퍼와 같은 휘발성 메모리, 플래시 메모리 등과 같은 반도체 메모리나 하드디스크(Hard Disk) 등과 같은 자기 저장 매체 등을 포함할 수 있다.
구체적으로, 메모리(130)에는 본 개시의 다양한 실시 예에 따라 로봇(100)이 동작하기 위한 각종 소프트웨어 모듈이 저장될 수 있으며, 프로세서(120)는 메모리(130)에 저장된 각종 소프트웨어 모듈을 실행하여 로봇(100)의 동작을 제어할 수 있다. 한편, 본 개시에서 메모리(130)라는 용어는 메모리(130), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 로봇(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함하는 의미로 사용될 수 있다.
센서(140)는 로봇(100) 및 로봇(100) 주변과 관련된 데이터를 획득할 수 있다.
일 예로, 센서(140)는 IMU(inertial measurement unit) 센서를 포함할 수 있다. 이 경우, IMU 센서는 가속도계(accelerometer), 각속도계(gyroscope), 지자계(magnetometer) 등을 이용하여, 로봇(100)의 가속도 및 각속도 등을 센싱할 수 있다.
일 예로, 센서(140)는 휠 인코더(wheel encoder)를 포함할 수 있다. 휠 인코더는 로봇(100)에 설치된 복수의 휠 각각의 회전수 및 회전방향을 센싱할 수 있다. 여기에서, 복수의 휠 각각은 모터에 의해 회전되어, 로봇(100)을 이동시키는 역할을 수행할 수 있다.
일 예로, 센서(140)는 카메라를 포함할 수 있다. 카메라는 로봇(100) 주변을 촬영하여 이미지를 획득할 수 있다. 또한, 카메라는 3D 카메라로 구현되며, 로봇(100) 주변의 3D 이미지 정보를 생성할 수 있다.
일 예로, 센서(140)는 라이다 센서를 포함할 수 있다. 라이다 센서는 360도 회전하며 레이저를 출력할 수 있다. 그리고, 라이다 센서는 레이저가 로봇(100) 주변의 물체로부터 반사되어 수신되면, 레이저가 수신된 시간에 기초하여 물체와의 거리를 감지할 수 있다.
이 경우, 프로세서(120)는 센서(140)를 통해 획득된 정보를 이용하여 로봇(100)이 위치하는 공간에 대한 맵을 생성할 수 있다. 또한, 프로세서(120)는 센서(140)를 통해 획득된 정보를 이용하여 맵 상에서 로봇(100)의 위치를 식별하고 맵 상에서 로봇(100)을 이동시킬 수 있다.
구동부(150)는 로봇(100)을 이동시킬 수 있다. 이를 위해, 구동부(130)는 복수의 휠(152) 및 복수의 휠 각각을 회전시키기 위한 모터(151)를 포함할 수 있다. 모터(151)는 프로세서(120)의 제어에 따라 복수의 휠(152)를 제어하여, 로봇(100)의 이동, 정지, 속도 제어 및 방향 전환 등과 같은 다양한 주행 동작을 제어할 수 있다.
입력 인터페이스(160)는 회로를 포함한다. 입력 인터페이스(160)는 로봇(100)에서 지원하는 각종 기능을 설정 또는 선택하기 위한 사용자 명령을 입력받을 수 있다. 이를 위해, 입력 인터페이스(160)는 적어도 하나의 버튼을 포함할 수 있다. 또한, 입력 인터페이스(160)는 디스플레이(171)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다.
이 경우, 프로세서(120)는 입력 인터페이스(160)를 통해 입력된 사용자 입력에 기초하여 로봇(100)의 동작을 제어할 수 있다. 예를 들어, 프로세서(120)는 로봇(100)의 입력 인터페이스(160)를 통해 입력된 로봇(100)의 온/오프 명령, 로봇(100)의 기능의 온/오프 명령 등에 기초하여, 로봇(100)을 제어할 수 있다.
출력부(170)는 디스플레이(171) 및 스피커(172)를 포함할 수 있다.
디스플레이(171)는 다양한 정보를 표시할 수 있다. 이를 위해, 디스플레이(171)는 LCD(Liquid Crystal Display) 등으로 구현될 수 있다. 디스플레이(171)는 입력 인터페이스(160)의 기능을 동시에 수행할 수 있는 터치 스크린으로 구현될 수도 있다. 구체적으로, 프로세서(140)는 로봇(100)의 동작과 관련된 정보를 디스플레이(171)에 표시할 수 있다.
스피커(172)는 오디오를 출력할 수 있다. 구체적으로, 프로세서(120)는 로봇(100)의 동작과 관련된 다양한 알림음 또는 음성 안내 메시지를 스피커(172)를 통해 출력할 수 있다.
도 11은 본 개시의 일 실시 예에 따른 로봇의 맵 공유 방법을 설명하기 위한 흐름도이다.
먼저, 맵을 다른 로봇과 공유하기 위한 사용자 입력에 기초하여 실행된 게임 내의 복수의 태스크 중 태스크가 다른 로봇의 사용자에 의해 수행되었는지 식별한다(S1110).
그리고, 태스크가 수행된 것으로 식별되면, 로봇이 생성한 맵 중 태스크에 대응되는 맵의 일부분을 다른 로봇으로 전송한다(S1120).
또한, 태스크가 수행된 이후 복수의 태스크 중 다음 태스크가 다른 로봇의 사용자에 의해 수행된 것으로 식별되면, 로봇이 생성한 맵 중 다음 태스크에 대응되는 맵의 일부분을 다른 로봇으로 전송할 수 있다.
이 경우, 다음 태스크는 태스크가 수행된 이후 기설정된 시간이 경과되거나, 다음 태스크에 대한 요청이 수신되면, 제공될 수 있다.
또한, 다음 태스크의 난이도는 태스크의 난이도 보다 높을 수 있다.
한편, 태스크에 대응되는 맵의 일부분을 다른 로봇으로 전송한 경우, 태스크에 대응되는 맵의 일부분에 기초하여 이동하는 다른 로봇과 제1 액티비티를 수행할 수 있다. 또한, 태스크에 대응되는 맵의 일부분 및 다음 태스크에 대응되는 맵의 일부분을 다른 로봇으로 전송한 경우, 태스크에 대응되는 맵의 일부분 및 다음 태스크에 대응되는 맵의 일부분에 기초하여 이동하는 다른 로봇과 제2 액티비티를 수행할 수 있다.
한편, 다른 로봇이 공유된 맵을 이용하여 수행한 액티비티가 종료되면, 공유된 맵의 삭제의 요청하는 신호를 다른 로봇으로 전송할 수 있다.
또한, 사용자 입력에 기초하여 로봇의 모드가 공유 모드로 설정된 상태에서 태스크에 대응되는 맵의 일부분을 다른 로봇으로 전송한 후, 공유 모드가 종료되면, 공유된 맵의 삭제의 요청하는 신호를 다른 로봇으로 전송할 수 있다.
한편, 로봇이 맵을 공유하는 구체적인 방법에 대해서는 전술한 바 있다.
한편, 일 실시 예에 따르면, 본 개시의 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예: 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
이상에서 상술한 바와 같은 본 개시의 다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다.
다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
한편, 본 개시에서 사용된 용어 "부" 또는 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구성된 유닛을 포함하며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. "부" 또는 "모듈"은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 모듈은 ASIC(application-specific integrated circuit)으로 구성될 수 있다.
한편, 본 개시에 따른 제어 방법을 순차적으로 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다. 비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 본 개시의 실시 예는 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media)에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 로봇(100))를 포함할 수 있다.
상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접 또는 상기 프로세서의 제어 하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다.
이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
Claims (14)
- 로봇에 있어서,통신 인터페이스; 및맵을 다른 로봇과 공유하기 위한 사용자 입력에 기초하여 실행된 게임 내의 복수의 태스크 중 태스크가 상기 다른 로봇의 사용자에 의해 수행되었는지 식별하고,상기 태스크가 수행된 것으로 식별되면, 상기 로봇이 생성한 맵 중 상기 태스크에 대응되는 맵의 일부분을 상기 통신 인터페이스를 통해 상기 다른 로봇으로 전송하는 하나 이상의 프로세서;를 포함하는 로봇.
- 제1항에 있어서,상기 하나 이상의 프로세서는,상기 태스크가 수행된 이후 상기 복수의 태스크 중 다음 태스크가 상기 다른 로봇의 사용자에 의해 수행된 것으로 식별되면, 상기 로봇이 생성한 맵 중 상기 다음 태스크에 대응되는 맵의 일부분을 상기 통신 인터페이스를 통해 상기 다른 로봇으로 전송하는 로봇.
- 제2항에 있어서,상기 다음 태스크는,상기 태스크가 수행된 이후 기설정된 시간이 경과되거나, 다음 태스크에 대한 요청이 수신되면, 제공되는 로봇.
- 제2항에 있어서,상기 다음 태스크의 난이도는, 상기 태스크의 난이도 보다 높은 로봇.
- 제2항에 있어서,상기 하나 이상의 프로세서는,상기 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송한 경우, 상기 태스크에 대응되는 맵의 일부분에 기초하여 이동하는 상기 다른 로봇과 제1 액티비티를 수행하도록 상기 로봇을 제어하고,상기 태스크에 대응되는 맵의 일부분 및 상기 다음 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송한 경우, 상기 태스크에 대응되는 맵의 일부분 및 상기 다음 태스크에 대응되는 맵의 일부분에 기초하여 이동하는 상기 다른 로봇과 제2 액티비티를 수행하도록 상기 로봇을 제어하는 로봇.
- 제1항에 있어서,상기 하나 이상의 프로세서는,상기 다른 로봇이 상기 공유된 맵을 이용하여 수행한 액티비티가 종료되면, 상기 공유된 맵의 삭제의 요청하는 신호를 상기 통신 인터페이스를 통해 상기 다른 로봇으로 전송하는 로봇.
- 제1항에 있어서,상기 하나 이상의 프로세서는,상기 사용자 입력에 기초하여 상기 로봇의 모드가 공유 모드로 설정된 상태에서 상기 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송한 후, 상기 공유 모드가 종료되면, 상기 공유된 맵의 삭제의 요청하는 신호를 상기 통신 인터페이스를 통해 상기 다른 로봇으로 전송하는 로봇.
- 로봇의 맵 공유 방법에 있어서,맵을 다른 로봇과 공유하기 위한 사용자 입력에 기초하여 실행된 게임 내의 복수의 태스크 중 태스크가 상기 다른 로봇의 사용자에 의해 수행되었는지 식별하는 단계; 및상기 태스크가 수행된 것으로 식별되면, 상기 로봇이 생성한 맵 중 상기 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송하는 단계;를 포함하는 맵 공유 방법.
- 제8항에 있어서,상기 태스크가 수행된 이후 상기 복수의 태스크 중 다음 태스크가 상기 다른 로봇의 사용자에 의해 수행된 것으로 식별되면, 상기 로봇이 생성한 맵 중 상기 다음 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송하는 단계;를 더 포함하는 맵 공유 방법.
- 제9항에 있어서,상기 다음 태스크는,상기 태스크가 수행된 이후 기설정된 시간이 경과되거나, 다음 태스크에 대한 요청이 수신되면, 제공되는 맵 공유 방법.
- 제9항에 있어서,상기 다음 태스크의 난이도는, 상기 태스크의 난이도 보다 높은 맵 공유 방법.
- 제9항에 있어서,상기 태스크에 대응되는 상기 맵의 일부분을 상기 다른 로봇으로 전송한 경우, 상기 태스크에 대응되는 맵의 일부분에 기초하여 이동하는 상기 다른 로봇과 제1 액티비티를 수행하는 단계;상기 태스크에 대응되는 맵의 일부분 및 상기 다음 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송한 경우, 상기 태스크에 대응되는 맵의 일부분 및 상기 다음 태스크에 대응되는 맵의 일부분에 기초하여 이동하는 상기 다른 로봇과 제2 액티비티를 수행하는 단계;를 더 포함하는 맵 공유 방법.
- 제8항에 있어서,상기 다른 로봇이 상기 공유된 맵을 이용하여 수행한 액티비티가 종료되면, 상기 공유된 맵의 삭제의 요청하는 신호를 상기 다른 로봇으로 전송하는 단계;를 더 포함하는 맵 공유 방법.
- 제8항에 있어서,상기 사용자 입력에 기초하여 상기 로봇의 모드가 공유 모드로 설정된 상태에서 상기 태스크에 대응되는 맵의 일부분을 상기 다른 로봇으로 전송한 후, 상기 공유 모드가 종료되면, 상기 공유된 맵의 삭제의 요청하는 신호를 상기 다른 로봇으로 전송하는 단계;를 더 포함하는 맵 공유 방법.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020220130830A KR20240050884A (ko) | 2022-10-12 | 2022-10-12 | 맵을 공유하는 로봇 및 그의 맵 공유 방법 |
| KR10-2022-0130830 | 2022-10-12 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024080592A1 true WO2024080592A1 (ko) | 2024-04-18 |
Family
ID=90669509
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/KR2023/013914 Ceased WO2024080592A1 (ko) | 2022-10-12 | 2023-09-15 | 맵을 공유하는 로봇 및 그의 맵 공유 방법 |
Country Status (2)
| Country | Link |
|---|---|
| KR (1) | KR20240050884A (ko) |
| WO (1) | WO2024080592A1 (ko) |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20130052768A (ko) * | 2011-11-14 | 2013-05-23 | 한국전자통신연구원 | 소형 로봇의 다중 운용 방법 및 그 운용 시스템 |
| KR20160076158A (ko) * | 2014-12-22 | 2016-06-30 | (주)모션블루 | 완구, 그를 이용한 게임 제공 방법 및 컴퓨터 프로그램 |
| JP2021536080A (ja) * | 2018-09-04 | 2021-12-23 | アイロボット・コーポレーション | 移動ロボット用マッピングインターフェース |
| KR20220056166A (ko) * | 2020-10-08 | 2022-05-04 | 엘지전자 주식회사 | 이동 로봇 시스템 |
| JP2022143830A (ja) * | 2021-03-18 | 2022-10-03 | 日本電気株式会社 | 情報配信装置、情報配信方法、及びコンピュータプログラム |
-
2022
- 2022-10-12 KR KR1020220130830A patent/KR20240050884A/ko active Pending
-
2023
- 2023-09-15 WO PCT/KR2023/013914 patent/WO2024080592A1/ko not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20130052768A (ko) * | 2011-11-14 | 2013-05-23 | 한국전자통신연구원 | 소형 로봇의 다중 운용 방법 및 그 운용 시스템 |
| KR20160076158A (ko) * | 2014-12-22 | 2016-06-30 | (주)모션블루 | 완구, 그를 이용한 게임 제공 방법 및 컴퓨터 프로그램 |
| JP2021536080A (ja) * | 2018-09-04 | 2021-12-23 | アイロボット・コーポレーション | 移動ロボット用マッピングインターフェース |
| KR20220056166A (ko) * | 2020-10-08 | 2022-05-04 | 엘지전자 주식회사 | 이동 로봇 시스템 |
| JP2022143830A (ja) * | 2021-03-18 | 2022-10-03 | 日本電気株式会社 | 情報配信装置、情報配信方法、及びコンピュータプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| KR20240050884A (ko) | 2024-04-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2014204239A1 (en) | Electronic device for displaying lock screen and method of controlling the same | |
| WO2019125029A1 (ko) | 증강 현실을 위한 객체를 표시하기 위한 전자 장치 및 그의 동작 방법 | |
| WO2019164092A1 (ko) | 디스플레이를 통해 표시된 제 1 콘텐트에 대해 제 2 콘텐트를 외부 객체의 움직임에 따라 제공하기 위한 전자 장치 및 그의 동작 방법 | |
| WO2017150815A1 (ko) | 디스플레이의 밝기를 제어하는 방법, 전자 장치 및 컴퓨터 판독가능 기록매체 | |
| WO2020180084A1 (ko) | 타겟 이미지의 채색 완성 방법, 장치 및 컴퓨터 프로그램 | |
| WO2020116960A1 (en) | Electronic device for generating video comprising character and method thereof | |
| WO2019221518A1 (en) | Electronic device for adjusting position of content displayed on display based on ambient illuminance and method for operating same | |
| WO2020204355A1 (ko) | 전자 장치 및 그 제어 방법 | |
| WO2018182066A1 (ko) | 이미지에 동적 효과를 적용하는 방법 및 장치 | |
| WO2021149938A1 (en) | Electronic device and method for controlling robot | |
| WO2021080163A1 (en) | Electronic device for detecting location and method thereof | |
| WO2020141808A1 (ko) | 외부 장치의 콘텐트를 편집하는 전자 장치 및 방법 | |
| WO2024080592A1 (ko) | 맵을 공유하는 로봇 및 그의 맵 공유 방법 | |
| WO2018124473A1 (ko) | 이동 로봇 장치 및 그것의 동작 제어 방법 | |
| WO2022055117A1 (ko) | 전자 장치 및 이의 제어 방법 | |
| WO2022086045A1 (ko) | 전자 장치 및 이의 제어 방법 | |
| WO2019054790A1 (ko) | 콘텐츠 처리 방법 및 이를 지원하는 전자 장치 | |
| WO2021107200A1 (ko) | 이동 단말기 및 이동 단말기 제어 방법 | |
| WO2024111893A1 (ko) | 맵을 이용하여 공간을 주행하는 로봇 및 그의 위치 식별 방법 | |
| WO2024181647A1 (ko) | 사용자의 위치에 기반하여 미디어 콘텐트를 표시하기 위한 전자 장치, 방법, 및 비-일시적 컴퓨터 판독 가능 저장 매체 | |
| WO2024063328A1 (ko) | 질량부를 이용하여 무게 중심을 이동시키는 로봇 및 그의 무게 중심 이동 방법 | |
| WO2025258991A1 (ko) | 태스크를 수행하기 위해 상태에 따른 행동을 제어하는 전자 장치 및 그 제어 방법 | |
| WO2025063744A1 (ko) | 현실에서의 오브젝트 획득 및 측정에 따른 보상을 사용자에게 제공하는 오프라인-온라인 연계 시스템 및 이의 제어 방법 | |
| WO2025183376A1 (ko) | 영상을 투사하기 위한 전자 장치, 그 제어 방법 및 전자 시스템 | |
| WO2024029695A1 (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: 23877521 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23877521 Country of ref document: EP Kind code of ref document: A1 |