Robot control system, robot, robot management device, and robot control method
The robot control system addresses individual human preferences by setting drive limits based on both predetermined and user-specified zones, enhancing safety and comfort by adapting robot movements to user-specific safety zones.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- DENSO TEN LTD
- Filing Date
- 2021-12-13
- Publication Date
- 2026-04-27
AI Technical Summary
Existing robot systems fail to account for individual human preferences regarding personal space, leading to potential discomfort or negative emotions due to inconsistent safety zone settings around robots.
A robot control system that sets drive limit ranges based on both predetermined conditions and user-specific input, combining a basic restriction zone and a specified limit range to determine an actual drive limit range, ensuring safe and comfortable robot operation.
The system effectively suppresses discomfort by adapting robot movements to individual user preferences, ensuring both safety and comfort by restricting robot movements within personalized safety zones.
Smart Images

Figure 0007851716000001 
Figure 0007851716000002 
Figure 0007851716000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a robot control system, a robot, a robot management device, and a robot control method. [Background technology]
[0002] Robots that can autonomously navigate while avoiding contact with obstacles are being developed. Examples of this type of robot include cleaning robots and guidance robots. [Prior art documents] [Patent Documents]
[0003] [Patent Document 1] Japanese Patent Publication No. 2020-189367 [Overview of the Initiative] [Problems that the invention aims to solve]
[0004] Depending on the environment in which the robot operates, there is a possibility that the robot may come into contact with a person due to its movements. It is being considered to set a safety zone around the person on the robot side and restrict the robot's movements within that zone.
[0005] However, people's feelings towards robots vary, and the range set by the robot may not be optimal or appropriate for each individual. For example, a person who is favorably disposed towards robots may not experience feelings of fear or other unpleasant emotions even if the robot approaches within a radius of 1 meter. On the other hand, a person who is skeptical about the safety of robots may experience unpleasant emotions if the robot approaches within a radius of 3 meters.
[0006] The present invention aims to provide a robot control system, a robot, a robot management device, and a robot control method that contribute to suppressing discomfort and other sensations that a person may experience when operating a robot. [Means for solving the problem]
[0007] The robot control system according to the present invention is a robot comprising a robot having a body and a drive control unit for driving and controlling the body, comprising: a first setting unit that sets a first drive limit range of the body based on the position of a person based on predetermined setting conditions; a second setting unit that sets a second drive limit range of the body based on the position of a person based on input information from the person to an electronic device that moves together with the person; and a third setting unit that sets a third drive limit range in which the driving of the body is restricted based on the first drive limit range and the second drive limit range. The drive control unit drives and controls the body based on the third drive limit range. [Effects of the Invention]
[0008] According to the present invention, it is possible to provide a robot control system, a robot, a robot management device, and a robot control method that contribute to suppressing discomfort and other sensations that a person may experience when a robot is driven. [Brief explanation of the drawing]
[0009] [Figure 1] This is an overall configuration diagram of a system (robot control system) according to an embodiment of the present invention. [Figure 2] This is a diagram showing the configuration of a robot according to an embodiment of the present invention. [Figure 3] This is a configuration diagram of a server device according to an embodiment of the present invention. [Figure 4] This is a configuration diagram of a terminal device according to an embodiment of the present invention. [Figure 5] This is a partial functional block diagram of a system according to an embodiment of the present invention. [Figure 6] This figure shows a plurality of cells defined in a system operation area according to an embodiment of the present invention. [Figure 7] This is a partial configuration diagram of a robot according to an embodiment of the present invention. [Figure 8]It is a diagram showing examples of a basic restriction range, a specified restriction range, and an actual drive restriction range set based on a target person, according to an embodiment of the present invention. [Figure 9] It is a partial functional block diagram of a system according to an embodiment of the present invention. [Figure 10] It is a diagram showing examples of a basic restriction range, a specified restriction range, and an actual drive restriction range set based on a target person, according to the first embodiment belonging to the embodiment of the present invention. [Figure 11] It is a diagram showing a user interface when specifying a specified restriction range, according to the second embodiment belonging to the embodiment of the present invention. [Figure 12] It is a diagram showing three axes defined for a terminal device, according to the third embodiment belonging to the embodiment of the present invention. [Figure 13] It is a diagram showing a user interface when specifying a specified restriction range in relation to the orientation of the face or body of a target person, according to the fourth embodiment belonging to the embodiment of the present invention. [Figure 14] It is a diagram showing a database storing information on terminal positions and specified restriction ranges for each terminal device, according to the fifth embodiment belonging to the embodiment of the present invention. [Figure 15] It is a diagram showing an example of a map showing the content of a specified restriction range, according to the fifth embodiment belonging to the embodiment of the present invention. [Figure 16] It is an operation flowchart of a system focusing on the drive of a robot, according to the sixth embodiment belonging to the embodiment of the present invention. [Figure 17] It is a diagram showing a user interface when specifying a specified restriction range for each type of robot, according to the seventh embodiment belonging to the embodiment of the present invention.
Modes for Carrying Out the Invention
[0010] Hereinafter, examples of embodiments of the present invention will be specifically described with reference to the drawings. In each of the referenced figures, the same parts are denoted by the same reference numerals, and redundant descriptions relating to the same parts are omitted as a general rule. In this specification, for the sake of simplification of the description, symbols or reference numerals that refer to information, signals, physical quantities, or components may be used, and the names of the information, signals, physical quantities, or components corresponding to those symbols or reference numerals may be omitted or abbreviated. For example, the robot control unit referred to by "110" described later (see Figure 2) may be written as robot control unit 110 or abbreviated as control unit 110, but all of these refer to the same thing.
[0011] Figure 1 shows the overall configuration of System SYS according to an embodiment of the present invention. System SYS is a robot control system comprising at least a robot 100 as a component. Hereinafter, it is assumed that System SYS is configured to include the robot 100 and a server device 200. It is also possible to consider a terminal device 300 as being included as a component of System SYS. A person who possesses and operates the terminal device 300 will be referred to as the subject, and will be referred to as "PS" as appropriate. The terminal device 300 moves with the subject PS. The terminal device 300 is typically, for example, a smartphone or a wearable device. However, the terminal device 300 may be any type of portable electronic device.
[0012] Robot 100 is a machine equipped with a body BD and driven under the control of a control unit (robot control unit 110, described later) housed within or fixed to the body BD. The body BD is a rigid housing made of metal or resin. Here, it is assumed that robot 100 has a humanoid body BD (i.e., a body BD having the shape of a human). However, the shape of the body BD is arbitrary; the body BD may have the shape of an animal, or the shape of a character from a game or anime.
[0013] The robot 100, server device 200, and terminal device 300 are each wirelessly connected to a predetermined communication network NET. The communication network NET includes all or part of the following: the Internet, a wireless LAN (Local Area Network), and a short-range wireless communication line. The wireless LAN may be, for example, compliant with Wi-Fi®. The short-range wireless communication line may be, for example, compliant with Bluetooth®.
[0014] Figure 2 shows the overall configuration of robot 100. Robot 100 comprises a robot control unit 110, a memory 120, a communication processing unit 130, a surrounding information detection unit 140, an actuator unit 150, a GPS processing unit 160, and an interface unit 170. However, the GPS processing unit 160 or the interface unit 170 may not be provided in robot 100.
[0015] The robot control unit 110 is equipped with a arithmetic processing unit 110a as a hardware resource, which includes a CPU (Central Processing Unit) and a GPU (Graphics Processing Unit). The memory 120 includes non-volatile memory such as ROM (Read-only memory) or flash memory, and volatile memory such as RAM (Random Access Memory). All or part of the memory 120 may be memory built into the robot control unit 110. In the robot control unit 110, the various functional blocks described later or any functional blocks may be realized by executing a program stored in the memory 120 using the arithmetic processing unit 110a. The communication processing unit 130 realizes bidirectional communication with the other device via the communication network NET. The other device for the robot 100 (in other words, the other device for the communication processing unit 130) includes a server device 200 and a terminal device 300.
[0016] The surrounding information detection unit 140 uses sensors to observe the surroundings of the robot 100 to detect, generate, and output surrounding information (in other words, surrounding environment information representing the surrounding environment of the robot 100) that represents the state of the surroundings of the robot 100. The surrounding information detection unit 140 includes a camera 141, which is an image sensor, and a distance measuring sensor 142 as sensors for observing and detecting the surrounding state (surrounding environment) of the robot 100. The surrounding information is acquired sequentially at predetermined intervals, and the acquired surrounding information is sequentially output to the robot control unit 110. The surrounding information includes image information output from the camera 141 and distance measuring information output from the distance measuring sensor 142.
[0017] In robot 100, camera 141 is installed at a predetermined position on robot 100 and photographs the area around robot 100. Camera 141 has a shooting area (field of view) based on the position of robot 100 and generates and outputs image information (hereinafter sometimes referred to as camera 141's captured image information) representing the captured image within the shooting area. The captured image of camera 141 is sometimes referred to as a camera image. The shooting area of camera 141 in robot 100 includes at least the area in front of robot 100, and may also include the area behind, to the right, and to the left of robot 100. The front, back, left, and right directions for robot 100 are predetermined in relation to the structure of body BD. Movement of robot 100 basically refers to movement forward of robot 100. Multiple cameras may be installed on robot 100 as camera 141.
[0018] The distance measuring sensor 142 is installed at a predetermined position on the robot 100 and generates and outputs distance measurement information by measuring distances. In the robot 100, distance measurement detects the distance between the robot 100 and three-dimensional objects located around the robot 100, as well as the orientation of the three-dimensional objects relative to the robot 100. These detection results are included in the distance measurement information output from the distance measuring sensor 142. The robot control unit 110 can generate a map (two-dimensional map or three-dimensional map) showing the presence of three-dimensional objects around the robot 100 based on the distance measurement information. Three-dimensional objects for the robot 100 include people and any other three-dimensional objects (walls, chairs, etc.).
[0019] The distance measuring sensor 142 may be composed of a LIDAR (Light Detection and Ranging) that measures distance using light, or it may be composed of a radar that measures distance using radio waves. The distance measuring sensor 142 may also be composed of a combination of LIDAR and radar.
[0020] The actuator unit 150 is equipped with various actuators for driving the body BD. The operation of these actuators is controlled by the robot control unit 110. Driving the body BD means that the body BD moves, and includes the movement and rotation of the body BD. The movement of the body BD refers to the movement of the center or center of gravity of the body BD. The rotation of the body BD refers to the rotation of the body BD around its central axis, which is parallel to the vertical direction. The movement of a part of the body BD also constitutes driving the body BD. In this embodiment, unless otherwise specified, driving, movement, and rotation of the robot 100 mean driving, movement, and rotation of the body BD, and these can be considered synonymous with each other. Furthermore, in the following description, stopping the body BD, stopping the driving of the body BD, stopping the robot 100, or stopping the driving of the robot 100 means that the movement of the body BD stops. When the movement of the body BD is stopped, no change in the position of the body BD occurs.
[0021] The GPS processing unit 160 receives signals from multiple GPS satellites that form the GPS (Global Positioning System) and generates GPS position information based on the received results. The GPS position information generated by the GPS processing unit 160 represents the current position of the robot 100 in terms of longitude and latitude, or represents the current position of the robot 100 in terms of longitude, latitude and altitude. The GPS position information is generated sequentially at a predetermined period, and the generated GPS position information is output sequentially to the robot control unit 110.
[0022] The interface unit 170 is a human-machine interface between any person and the robot 100 (robot control unit 110), and includes a microphone, speaker, and display screen, etc.
[0023] Figure 3 shows the overall configuration of the server device 200. The server device 200 comprises a server control unit 210, memory 220, and communication processing unit 230. The server device 200 can function as a robot management device for managing the robot 100. Therefore, the server control unit 210 may also be called the management control unit. The server device 200 is composed of one or more computer devices connected to a communication network NET. The server device 200 may also be formed using cloud computing.
[0024] The server control unit 210 is equipped with a arithmetic processing unit 210a, including a CPU and GPU, as hardware resources. The memory 220 includes non-volatile memory such as ROM or flash memory, and volatile memory such as RAM. All or part of the memory 220 may be memory built into the server control unit 210. In the server control unit 210, the arithmetic processing unit 210a executes a program stored in the memory 220, thereby realizing each of the functional blocks described later, or any functional block. The communication processing unit 230 realizes bidirectional communication with the other device via the communication network NET. The other device for the server device 200 (in other words, the other device for the communication processing unit 230) includes the robot 100 and the terminal device 300.
[0025] Figure 4 shows the overall configuration of the terminal device 300. The terminal device 300 comprises a terminal control unit 310, a memory 320, a communication processing unit 330, an interface unit 340, a GPS processing unit 350, and a camera 360.
[0026] The terminal control unit 310 includes a processing unit 310a, including a CPU and GPU, as hardware resources. The memory 320 includes non-volatile memory such as ROM or flash memory, and volatile memory such as RAM. All or part of the memory 320 may be memory built into the terminal control unit 310. In the terminal control unit 310, the various functional blocks described later or any functional blocks may be realized by executing a program stored in the memory 320 using the processing unit 310a. The communication processing unit 330 realizes bidirectional communication with the other device via the communication network NET. The other device for the terminal device 300 (in other words, the other device for the communication processing unit 330) includes the robot 100 and the server device 200.
[0027] The interface unit 340 is a man-machine interface between the terminal device 300 (terminal control unit 310) and the target person PS, and includes a display unit 341, an operation unit 342, a speaker 343, and a microphone 344.
[0028] The display unit 341 is a display device composed of a liquid crystal display panel or the like, and can display any image under the control of the terminal control unit 310. The operation unit 342 receives input of any operation from the operator. The operator is the target person PS. The display unit 341 and the operation unit 342 may constitute a touch panel, and operations on the operation unit 342 may also be operations on the touch panel. The speaker 343 outputs any sound under the control of the terminal control unit 310. The microphone 344 picks up ambient sounds from the terminal device 300, converts the picked-up sounds into electrical signals to generate an audio signal, and outputs the generated audio signal to the terminal control unit 310. The microphone 344 primarily picks up the voice of the target person PS.
[0029] The GPS processing unit 350 receives signals from multiple GPS satellites that form a GPS and generates GPS location information based on the reception results. The GPS location information generated by the GPS processing unit 350 represents the current location of the terminal device 300 in terms of longitude and latitude, or represents the current location of the terminal device 300 in terms of longitude, latitude and altitude. The GPS location information is generated sequentially at a predetermined period, and the generated GPS location information is output sequentially to the terminal control unit 310. Since the terminal device 300 is carried by the subject PS and moves with the subject PS, the current location of the terminal device 300 represents the current location of the subject PS.
[0030] Camera 360 is installed at a predetermined position on the terminal device 300 and photographs the area around the terminal device 300. In the terminal device 300, camera 360 has a shooting area (field of view) based on the position of the terminal device 300, and generates image information representing the captured image within the shooting area and sends it to the camera control unit 310.
[0031] Although bidirectional communication between the robot 100 and the server device 200 is achieved using communication processing units 130 and 230, in the following description, the description of communication processing units 130 and 230 regarding bidirectional communication between the robot 100 and the server device 200 may be omitted. The same applies to bidirectional communication between the robot 100 and the terminal device 300, and between the server device 200 and the terminal device 300.
[0032] Furthermore, in the following description, the system application area refers to the area to which the system SYS is applied. In this embodiment, it is assumed that the robot 100 moves within the system application area. For example, an area within a facility is assumed as the system application area. The facility may be, for example, an airport facility, a commercial facility, or a factory facility.
[0033] Referring to Figure 5, the system SYS is provided with functional blocks F1 and F2. Functional blocks F1 and F2 are the robot position detection unit and the terminal position detection unit, respectively.
[0034] The robot position detection unit F1 detects the robot position, which represents the current position of the robot 100. More specifically, the robot position represents the location of a specific part within the robot 100 (for example, the center of gravity or center of the robot 100). The method for detecting the robot position is arbitrary, and known position detection technologies using Bluetooth® or Wi-Fi® communication may be used. Several methods are exemplified below.
[0035] For example, a first method for detecting the robot's position may be employed. In this first detection method, the robot's position is detected using the received signal strength at the access point. This first detection method will be explained. Multiple access points (not shown) are installed at different locations in the system application area, and these multiple access points are included as components of a communication network NET. The robot 100 (communication processing unit 130) can communicate bidirectionally with the server device 200 or terminal device 300 via any of the access points. The received signal strength of the transmission signal from the robot 100 (communication processing unit 130) at each access point is detected at each access point, and the detection result is transmitted from each access point to the server device 200. When the first method for detecting the robot's position is employed, the server control unit 210 detects the robot's position for three or more access points that have received the transmission signal from the robot 100, based on the detected received signal strength at each access point and the location information of each access point. The location information of each access point represents the location of each access point and is assumed to be known information provided to the server device 200. When the first robot position detection method is adopted, the robot position detection unit F1 is integrated into the server control unit 210.
[0036] Alternatively, for example, a second method for detecting the robot's position may be employed. In this second method, the robot's position is detected using the signal strength received by the robot 100. This second method will be described below. In the system application area, multiple beacon transmitters (not shown) are installed at different locations. Each beacon transmitter wirelessly transmits a beacon signal containing beacon location information representing its own location to the surrounding area. The communication processing unit 130 has the function of receiving beacon signals and the function of detecting the received signal strength of the beacon signals. When the second method for detecting the robot's position is employed, the robot control unit 110 detects the robot's position for three or more beacon transmitters based on the received signal strength of the beacon signals from each beacon transmitter and the beacon location information of each beacon transmitter. When the second method for detecting the robot's position is employed, a robot position detection unit F1 is included in the robot control unit 110.
[0037] Alternatively, for example, a third method for detecting the robot's position may be employed. In the third detection method, an external camera (not shown) installed in a facility within the system application area is used. The external camera is different from both the camera 141 installed on the robot 100 and the camera 360 installed on the terminal device 300. The external camera may be classified as a fixed-point camera or a surveillance camera. There may be multiple external cameras. Here, it is assumed that multiple external cameras are incorporated into or connected to the system SYS, and that the range in which the robot 100 can move is encompassed within the shooting areas of the multiple external cameras. Therefore, the robot 100 is photographed by one of the external cameras. The image information from each external camera is transmitted to the server device 200. The server control unit 210 detects the robot's position based on the image information from each external camera, map information of the system application area, and characteristic information corresponding to the appearance of the body BD. When the third method for detecting the robot's position is employed, a robot position detection unit F1 is included in the server control unit 210.
[0038] Alternatively, for example, as a fourth method for detecting the robot's position, the GPS processing unit 160 can be made to function as a robot position detection unit F1. In this case, the detection unit F1 is provided on the robot 100, and the GPS position information generated by the GPS processing unit 160 indicates the robot's position.
[0039] Alternatively, for example, a fifth method for detecting the robot's position may be employed. The robot control unit 110 related to this fifth detection method derives (detects) the robot's position by referencing the surrounding information output from the detection unit 140 and the map information 121 (see Figure 7) described later, and estimating the robot's current position using pattern matching or the like.
[0040] Regardless of the detection method used, the detected robot position information may be shared between the robot control unit 110 and the server control unit 210 via communication using the communication network NET (hereinafter, it shall be assumed that it is shared).
[0041] The terminal position detection unit F2 detects the terminal position, which represents the current location of the terminal device 300. More specifically, the terminal position represents the location of a specific part within the terminal device 300 (for example, the center of gravity or center of the terminal device 300). The method for detecting the terminal position is arbitrary, and known position detection techniques using Bluetooth® or Wi-Fi® communication may be used. Several methods are exemplified below.
[0042] For example, a first method for detecting the terminal location may be employed. In this first detection method, the terminal location is detected using the received signal strength at the access point. This first detection method will be explained below. Multiple access points (not shown) are installed at different locations in the system application area, and these multiple access points are included as components of the communication network NET. The terminal device 300 (communication processing unit 330) can communicate bidirectionally with the server device 200 or the robot 100 via any of the access points. The received signal strength of the transmission signal from the terminal device 300 (communication processing unit 330) at each access point is detected at each access point, and the detection result is transmitted from each access point to the server device 200. When the first method for detecting the terminal location is employed, the server control unit 210 detects the terminal location for three or more access points that have received the transmission signal from the terminal device 300, based on the detected received signal strength at each access point and the location information of each access point. The location information of each access point represents the location of each access point and is assumed to be known information provided to the server device 200. When the first terminal location detection method is adopted, the server control unit 210 includes a terminal location detection unit F2.
[0043] Alternatively, for example, a second method for detecting the terminal location may be employed. In this second detection method, the terminal location is detected using the received signal strength at the terminal device 300. This second detection method will be explained. In the system application area, multiple beacon transmitters (not shown) are installed at different locations. Each beacon transmitter wirelessly transmits a beacon signal containing beacon location information representing its own location toward the surrounding area. The communication processing unit 330 has the function of receiving beacon signals and the function of detecting the received signal strength of the beacon signals. When the second method for detecting the terminal location is employed, the terminal control unit 310 detects the terminal location for three or more beacon transmitters based on the received signal strength of the beacon signals from each beacon transmitter and the beacon location information of each beacon transmitter. When the second method for detecting the terminal location is employed, a terminal location detection unit F2 is included in the terminal control unit 310.
[0044] Alternatively, for example, as a third method for detecting the terminal location, the GPS processing unit 350 can be made to function as a terminal location detection unit F2. In this case, the detection unit F2 is provided in the terminal device 300, and the GPS location information generated by the GPS processing unit 350 indicates the terminal location.
[0045] Alternatively, for example, a fourth method for detecting the terminal position may be employed. In this fourth detection method, direct wireless communication is performed between the robot 100 and the electronic device 300 using Bluetooth®. The communication processing unit 130 detects the signal strength of the transmitted signal from the terminal device 300 (communication processing unit 330) and the robot control unit 110 detects the distance between the robot 100 and the terminal device 300 based on the detected received signal strength. The communication processing unit 130 is also equipped with multiple antennas. These multiple antennas receive incoming radio waves from the terminal device 300, and the robot control unit 110 estimates the direction of arrival of the radio waves based on the phase of the received radio waves. Based on the above distance detection result and the estimated direction of arrival of the radio waves, the relative positional relationship between the robot 100 and the terminal device 300 is determined, and the robot control unit 110 detects the terminal position based on that relative positional relationship and the robot position. When the fourth method for detecting the terminal position is employed, a terminal position detection unit F2 is incorporated into the robot control unit 110.
[0046] Regardless of the detection method used, the detected terminal location information may be shared between the robot control unit 110 and the server control unit 210 via communication using the communication network NET (hereinafter, it shall be assumed that it is shared).
[0047] Referring to Figure 6(a), the system application area can be considered to consist of multiple cells. Now, let us assume the X, Y, and Z axes as three mutually orthogonal linear axes. The X and Y axes are parallel to the horizontal plane, and the Z axis is parallel to the vertical direction. Assume that the X axis is parallel to the east-west direction and the Y axis is parallel to the north-south direction. Here, we ignore the existence of the Z axis direction and focus on the two dimensions parallel to the X and Y axes (extension to three dimensions will be discussed later).
[0048] The system application area is divided by multiple lines parallel to the X-axis and multiple lines parallel to the Y-axis, and each area formed by this division is called a cell. The size of a single cell is arbitrary. An origin is defined in one specific cell, and the cell in which the origin is defined is represented by the sign "CL[0,0]". A cell located at a distance of x units in the positive direction of the X-axis and a distance of y units in the positive direction of the Y-axis, relative to cell CL[0,0], is represented by "CL[x,y]". x and y are arbitrary integers. The unit distance corresponds to the size of a single cell in the X-axis direction and the size of a single cell in the Y-axis direction. The unit distance is, for example, a few centimeters to a few tens of centimeters.
[0049] Referring to Figure 6(b), the position of cell CL[x,y] is represented by (x,y). Position (x,y) can be considered to be the center position of cell CL[x,y]. The robot control unit 110 or the server control unit 210 may recognize the robot position on a cell-by-cell basis. In this case, when the robot position is within cell CL[x,y], the robot 100 is located in cell CL[x,y] and the robot position is considered to be position (x,y). Similarly, the robot control unit 110 or the server control unit 210 may recognize the terminal position on a cell-by-cell basis. In this case, when the terminal position is within cell CL[x,y], the terminal device 300 is located in cell CL[x,y] and the terminal position is considered to be position (x,y).
[0050] Figure 7 shows a partial block diagram of the robot 100 related to the drive control of body BD. Functional blocks implemented in the robot control unit 110 include a path planning unit 111, a drive control unit 112, and an image recognition unit 113. Map information 121 is stored in memory 120. Map information 121 represents information about the map within the system application area. If there are fixed obstacles (such as walls) in the system application area, the location of those obstacles is included in the map information 120. Also, if there is an area in the system application area where robot 100 is prohibited from entering, the location of that area is also included in the map information 120.
[0051] The route planning unit 111 sets the planned movement path for robot 100 (body BD) based on the current robot position, map information 121 in memory 120, a set target point, and surrounding information from the surrounding information detection unit 140. The set planned movement path represents the planned path by which robot 100 (body BD) will move from its current position to the target point. Setting the planned movement path is equivalent to planning the movement path of robot 100. Here, the target point is assumed to be pre-set for robot 100. The target point for robot 100 may also be set based on signals from the server device 200.
[0052] The drive control unit 112 drives the body BD through the control of the actuator unit 150 so that the body BD moves along the planned movement path set by the path planning unit 111. At this time, the drive control unit 112 drives the body BD while avoiding contact between the body BD and obstacles, based on the latest surrounding information sequentially output from the surrounding information detection unit 140.
[0053] The image recognition unit 113 performs image recognition processing to recognize objects within the camera 141's shooting area based on the image information captured by the camera 141. The objects to be recognized include people. That is, the image recognition unit 113 can recognize whether or not an object within the camera 141's shooting area is a person, based on the image information captured by the camera 141. The setting of the planned movement path by the route planning unit 111 and the drive control unit 112's drive control of the body BD are performed while also referring to the recognition results of the image recognition unit 113.
[0054] Here, restrictions are placed on the movement of body BD to prevent contact between body BD and a person, and to prevent a person positioned around robot 100 from experiencing fear or other negative emotions due to robot 100's approach. An overview of this restriction method will be explained with reference to Figures 8(a) to 8(c).
[0055] The predetermined safety zone for robot 100 is called the basic restriction zone. In Figure 8(a), the area within the dashed circle labeled "610" is an example of the basic restriction zone. Here, the basic restriction zone is defined as the area within a circle with radius r1 centered on the position of the target person PS. Radius r1 is, for example, 2m (meters). In the robot control unit 110 or server control unit 210, the terminal position is considered to be the position of the target person PS. The distance between robot 100 and the target person PS is referred to as distance d. Distance d corresponds to the distance between the robot position and the terminal position. The robot control unit 110 or server control unit 210 can determine distance d based on the robot position and the terminal position, or it can determine distance d based on surrounding information including distance measurement information.
[0056] The basic restriction range is set solely for the convenience of the robot, based on the structure of the robot 100, and is determined primarily for the purpose of ensuring safety (preventing contact between the person and body BD). While safety is ensured by restricting the movement of the robot 100 within the basic restriction range, people's feelings towards the approach of the robot 100 vary. For example, a person who is favorably disposed towards the robot 100 may not feel any unpleasant emotions such as fear even if the robot 100 approaches within a radius of 1 meter. On the other hand, a person who is skeptical about the safety of the robot 100 may feel unpleasant emotions even if the robot 100 approaches within a radius of 3 meters.
[0057] Considering this, the SYS system allows each individual to specify a range for which they wish to limit the movement of the robot 100 using their own terminal device. The range specified here is called the specified limit range (the movement limit range specified by the individual). The specified limit range will be explained focusing on the subject PS and the information terminal 300. The specified limit range is set based on the information that the subject PS inputs to the terminal device 300 through the interface unit 340. The information that the subject PS inputs to the terminal device 300 in order to set the specified limit range is called the specified input information (see Figure 9). In Figure 8(b), the range within the dashed circle labeled "620" is an example of the specified limit range. The specified limit range in the example in Figure 8(b) is the range within a circle with radius r2 centered on the position of the subject PS.
[0058] In the SYS system, the actual drive limit range, which is the range in which the robot 100's drive (i.e., the drive of body BD) is actually restricted, is set based on the basic limit range and the specified limit range. In Figure 8(c), the range within the dashed circle labeled "630" is an example of the actual drive limit range. In the SYS system, the logical OR of the basic limit range and the specified limit range is set as the actual drive limit range. In Figures 8(a) and (b), the basic limit range 610 and the specified limit range 620 are "r2 > r1", so the actual drive limit range 630 based on the basic limit range 610 and the specified limit range 620 is the same range as the specified limit range 620.
[0059] Figure 9 shows a partial functional block diagram of the System SYS related to range setting. The System SYS is provided with functional blocks F11, F12, and F13. Functional blocks F11, F12, and F13 are the first setting unit, second setting unit, and third setting unit, respectively. The drive control unit 112 shown in Figure 9 is the same as the one shown in Figure 7. The first setting unit F11 may be provided in the robot control unit 110 or the server control unit 210. The second setting unit F12 may be provided in the robot control unit 110 or the server control unit 210. The third setting unit F13 may be provided in the robot control unit 110 or the server control unit 210.
[0060] The first setting unit F11 sets the basic restriction range R1 based on the position of the target person PS (and therefore the terminal position) according to predetermined setting conditions. The basic restriction range 610 in Figure 8(a) is an example of the basic restriction range R1. The basic restriction range R1 is the range (first drive restriction range) in which the driving of the body BD should be restricted, which is determined and set on the robot side. By driving the robot 100 based on the basic restriction range R1, the robot 100 can be driven efficiently while ensuring safety related to the driving of the robot 100. The above setting conditions are determined considering the structure and safety of the robot 100. The basic restriction range R1 is a range that includes the terminal position, and is typically a range centered on the terminal position or center of gravity. In this embodiment, as described above, the range within a circle with radius r1 centered on the position of the target person PS is set as the basic restriction range R1. However, the external shape of the basic restriction range R1 is not limited to a circle. For example, the outline of the basic constraint range R1 may include line segments, and the outline of the basic constraint range R1 may also be a rectangle.
[0061] The second setting unit F12 sets the specified restriction range R2 based on the location of the target user PS (and therefore the terminal location) of the terminal device 300, based on the specified input information from the target user PS. The specified restriction range 620 in Figure 8(b) is an example of the specified restriction range R2. The specified restriction range R2 is the range (second drive restriction range R3) in which the drive of the body BD should be restricted, as desired (specified) by the target user PS. The specified restriction range R2 is a range that includes the terminal location, and is typically a range centered or centered on the terminal location. The outer shape of the specified restriction range 620 in Figure 8(b) is a circle, but the outer shape of the specified restriction range R2 may be arbitrary. The user interface for specifying the specified restriction range R2 will be described later.
[0062] The third setting unit F13 sets the actual drive restriction range R3, which restricts the actual driving of the robot 100 (i.e., the driving of the body BD), based on the basic restriction range R1 and the specified restriction range R2. The actual drive restriction range R3 is a range set based on the position of the target person PS (and therefore the terminal position). The actual drive restriction range 630 in Figure 8(c) is an example of the actual drive restriction range R3. The drive control unit 112 drives the body BD based on the actual drive restriction range R3 set in the third setting unit F13. In practice, for example, the route planning unit 111 can create a planned movement path based on the actual drive restriction range R3, and the drive control unit 112 can drive the body BD according to the created planned movement path.
[0063] By controlling the movement of the body BD based on the range R3 corresponding to ranges R1 and R2, it becomes possible to ensure safety and efficient movement of the robot 100 while also ensuring a sense of security for the person. In other words, discomfort that a person may experience as a result of the robot 100's movement is suppressed.
[0064] Furthermore, Patent Document 1 discloses a robot system comprising: a robot that operates in cooperation with a person; a identifying unit that identifies a person within a predetermined distance from the robot; and a control unit that slows down or stops the robot's operation when the identifying unit identifies a person within the area, wherein the control unit changes the distance based on the identification result of the identifying unit (see Claim 1 of Patent Document 1). The method in Patent Document 1 is a method for setting the "distance" to "slow down or stop the robot's operation" based solely on the robot's convenience, and does not perform actions that conform to the wishes of each individual. In the method of the present embodiment, the actual drive limit range R3 is set considering the person's wishes (specified input information), so discomfort that a person may experience as a result of the robot's operation is suppressed.
[0065] The third setting unit F13 is better configured to set the actual drive limit range R3 based on the logical OR of the basic limit range R1 and the specified limit range R2. In this case, the actual drive limit range R3 is the combined range of the basic limit range R1 and the specified limit range R2. That is, when range R3 is set based on the logical OR of ranges R1 and R2, positions that are included in both ranges R1 and R2 belong to range R3, and positions that are included in at least one of ranges R1 and R2 also belong to range R3.
[0066] This makes it possible to ensure safety related to the operation of the robot 100 and the efficient operation of the robot 100, while also ensuring a sense of security for the person (i.e., discomfort that the person may experience as a result of the operation of the robot 100 is suppressed). In the examples in Figures 8(a) to (c), the operation of the robot 100 is restricted according to the wishes of the person PS in the actual drive restriction range 630, which corresponds to the logical OR region of regions 610 and 620, thereby ensuring a sense of security for the person PS.
[0067] More specifically, for example, the drive control unit 112 may prohibit the body BD from entering the actual drive limit range R3. This ensures that the person feels safe. Prohibiting the body BD from entering the actual drive limit range R3 means that the robot's position is prohibited from entering the actual drive limit range R3. Therefore, for example, if the actual drive limit range 630 in Figure 8(c) is set, the drive control unit 112 will not perform any drive of the body BD that would narrow the distance d between the robot 100 and the person PS to a radius r2.
[0068] If the subject PS moves and moves from outside the actual drive limit range R3 to inside the actual drive limit range R3, the drive control unit 112 may immediately stop the drive of the body BD.
[0069] The first setting unit F11, the second setting unit F12, and the third setting unit F13 may all be functional blocks provided in the robot control unit 110. Alternatively, the first setting unit F11, the second setting unit F12, and the third setting unit F13 may all be functional blocks provided in the server control unit 210. Furthermore, any part of the first setting unit F11, the second setting unit F12, and the third setting unit F13 may be provided in the robot control unit 110, and the remaining setting units may be provided in the server control unit 210.
[0070] If the first setting unit F11 is provided in the robot control unit 110, the setting condition information indicating the above setting conditions is stored in the memory 120. Then, the robot control unit 110 can set the basic restriction range R1 based on the setting condition information in the memory 120 and the terminal position.
[0071] If the first setting unit F11 is provided in the server control unit 210, setting condition information indicating the above setting conditions is stored in the memory 220. Then, the server control unit 210 can set the basic restriction range R1 based on the setting condition information in the memory 220 and the terminal position. The basic restriction range R1 set by the server control unit 210 may be transmitted to the robot 100.
[0072] If the second setting unit F12 is provided in the robot control unit 110, the above-mentioned specified input information is transmitted to the robot 100 via the communication network NET. The robot control unit 110 then sets the specified restriction range R2 based on the received specified input information and the terminal position. In the example shown in Figure 8(b), the robot control unit 110 sets the specified restriction range 620 based on the specified input information indicating the value of radius r2 and the terminal position.
[0073] If the second setting unit F12 is provided in the server control unit 210, the above-mentioned specified input information is transmitted to the server device 200 via the communication network NET. The server control unit 210 then sets the specified restriction range R2 based on the received specified input information and the terminal position. The specified restriction range R2 set in the server control unit 210 may be transmitted to the robot 100. In the example of Figure 8(b), the server control unit 210 then sets the specified restriction range 620 based on the specified input information indicating the value of the radius r2 and the terminal position, and the specified restriction range 620 may be transmitted to the robot 100.
[0074] Let's consider the case where the third setting unit F13 is provided in the robot control unit 110. In this case, the third setting unit F13 sets the actual drive limit range R3 based on the basic limit range R1 set in the first setting unit F11 in the control unit 110 or control unit 210, and the specified limit range R2 set in the second setting unit F12 in the control unit 110 or control unit 210.
[0075] Let's consider the case where the third setting unit F13 is provided in the server control unit 210. In this case, the third setting unit F13 sets the actual drive limit range R3 based on the basic limit range R1 set in the first setting unit F11 in the control unit 110 or control unit 210, and the specified limit range R2 set in the second setting unit F12 in the control unit 110 or control unit 210. The actual drive limit range R3 set in the server control unit 210 is transmitted to the robot 100. That is, the settings of the third setting unit F13 are transmitted from the server device 200 (communication processing unit 230) to the robot 100 so that the body BD is driven and controlled based on the actual drive limit range R3 set in the server control unit 210.
[0076] Hereinafter, among a plurality of embodiments, some specific operation examples, application technologies, modification technologies, etc. related to the system SYS will be described. The matters described in this embodiment are applied to the following respective embodiments as long as there is no special description and no contradiction. In each embodiment, if there is a matter conflicting with the above-described matters, the description in each embodiment may be prioritized. Also, as long as there is no contradiction, among the plurality of embodiments shown below, the matters described in any one of the embodiments can also be applied to any other embodiment (that is, it is also possible to combine any two or more of the plurality of embodiments).
[0077] [First Embodiment] The first embodiment will be described. That the driving of the robot 100 (that is, the driving of the body BD) is restricted typically corresponds to, for example, the driving of the robot 100 (that is, the driving of the body BD) being stopped. However, that the driving of the robot 100 is suppressed more than the normal operation may also correspond to the restriction of the driving of the robot 100.
[0078] For example, the drive control unit 112 may be configured to drive the body BD in any one of a plurality of operation modes including a normal operation mode and a restricted operation mode. The driving of the body BD in the normal operation mode corresponds to the normal operation, and the driving of the body BD is not restricted in the normal operation. The driving of the body BD is restricted in the restricted operation mode. In the normal operation mode, the drive control unit 112 allows the body BD to move at a maximum speed of S REF The speed S REF is a pre-defined speed. In the restricted operation mode, the drive control unit 112 regulates the maximum speed of the movement of the body BD to the speed S LIM The speed S[[ID=十七]] LIM is smaller than the speed S REF For example, the speeds S REF , S LIM are, respectively, 5 km / h and 1 km / h. The speed S LIM may be a speed pre-determined without depending on the specified input information by the subject PS, or may be a speed specified by the specified input information. The speed S LIM may be zero, and the speed S LIMIf this value is zero, the robot 100 will stop moving (i.e., the body BD will stop moving) in the restricted operation mode.
[0079] For example, consider a case where the body BD is composed of a first part and a second part connected to each other, and the body BD is configured so that the second part can be rotationally driven around the first part as an axis. The first part and the second part are, for example, an arm support and an arm. In this case, the drive control unit 112 allows rotational driving of the second part in the normal operation mode, while prohibiting rotational driving of the second part in the restricted operation mode. Prohibiting rotational driving of the second part also constitutes a restriction on the driving of the robot 100 (i.e., the driving of the body BD).
[0080] The user PS can specify the drive restrictions of the robot 100 in stages using the specified input information. An example of this is given with reference to Figures 10(a) to (c). For example, the basic restriction range 610 for the basic restriction range R1 is assumed to be the range within a circle with radius r1 centered on the user PS's position (see Figure 10(a)). In the example in Figure 10(b), the user PS inputs the specified input information to the terminal device 300 to specify the first specified restriction range 620_1 and the second specified restriction range 620_2. The second specified restriction range 620_2 is the range within a circle with radius r2_2 centered on the user PS's position. The first specified restriction range 620_1 corresponds to the shaded area in Figure 10(b) and is the range within the circle with radius r2_1 centered on the user PS's position, excluding the second specified restriction range 620_2. Based on the specified input information, the second setting unit F12 (see Figure 9) sets the ranges 620_1 and 620_2 as the specified restriction range R2.
[0081] The sizes of radii r2_1 and r2_2 are specified in the specified input information. Here, we assume that "r2_1>r2_2>r1". Then, by performing a logical OR operation in the third setting unit F13 (Figure 9), the actual drive limit range R3 becomes the combined range of ranges 630_1 and 630_2 in Figure 10(c). Ranges 630_1 and 630_2 are the same as the specified limit ranges 620_1 and 620_2, respectively. Ranges 630_1 and 630_2 can also be considered to correspond to the first and second actual drive limit ranges.
[0082] In the specified input information, the restrictions on the driving of the robot 100 (i.e., the driving of the body BD) are specified for each of the specified restriction ranges 620_1 and 620_2. The drive control unit 112 drives the body BD based on the actual drive restriction range R3 which reflects the specified content.
[0083] This allows for precise drive restrictions tailored to the user's (PS) needs, providing the user with a sufficient sense of security or satisfaction.
[0084] For example, the target PS specifies in the designated input information that body BD should stop within range 620_2, and that body BD's movement speed should be at its maximum speed S within range 620_1. LIM Let's assume that it is specified that it will be up to a certain point. As described above, in the examples in Figures 10(a) to (c), ranges 630_1 and 630_2 are the same as the specified limit ranges 620_1 and 620_2, respectively. Therefore, when the distance d (see Figure 8(a)) is greater than the radius r2_1, the drive control unit 112 operates in normal operation mode and sets the movement speed of the body BD to a maximum speed S. REF It can be increased to speed S. Also, when the robot 100 is positioned in a position that satisfies "r2_1>d≧r2_2", the drive control unit 112 operates in a restricted operation mode and sets the maximum speed of movement of the body BD to speed S. LIMThe body BD is driven or made driveable while being restricted to a certain extent. The drive control unit 112 then prohibits the body BD from entering the range 630_2. Therefore, the drive control unit 112 will not perform any driving of the body BD that would make the distance d smaller than the size of the radius r2_2. If the subject PS moves and enters the range 630_2 from outside the range 630_2, the drive control unit 112 may immediately stop driving the body BD.
[0085] In the examples in Figures 10(a) to (c), the specified restriction range is set in two stages, but it is also possible to set the specified restriction range in three or more stages. That is, the second setting unit F12 may set two or more specified restriction ranges as the specified restriction range R2 based on the specified input information. The two or more specified restriction ranges that are set do not overlap with each other.
[0086] [Second Example] A second embodiment will be described. Referring to Figures 11(a) and (b), the user interface for specifying the specified limit range R2 will be described.
[0087] With a specific application program running in the arithmetic processing unit 310a of the terminal device 300, the target user PS inputs a predetermined operation to the interface unit 340, causing the terminal device 300 to enter an input-receiving state where it can receive specified input information from the target user PS. In the input-receiving state, the target user PS inputs the specified input information to the terminal device 300 by inputting an operation to the touch panel formed by the display screen 341 and the operation unit 342. In the example in Figure 11(a), the specified input information is entered so that the outer shape of the specified restriction range R2 is a circle, and the radius of the circle is also included in the specified input information. In the example in Figure 11(b), the specified input information is entered so that the outer shape of the specified restriction range R2 is a rectangle, and the length of each side of the rectangle is also included in the specified input information. In the example in Figure 11(b), of the four sides forming the rectangle, two sides are parallel to the X-axis, and the remaining two sides are parallel to the Y-axis. Whether the lengths of the two sides in the former case match or not does not matter.
[0088] In addition, the target user PS can arbitrarily specify the external shape of the designated restriction range R2. However, for safety reasons, the application program may be configured so that it is not possible to input an operation to specify a designated restriction range R2 that is smaller than the basic restriction range R1. More specifically, it is preferable that restrictions be placed on the operation to specify the designated restriction range R2 so that the designated restriction range R2 based on the specified input information always encompasses the entire basic restriction range R1, or that the designated restriction range R2 coincides with the basic restriction range R1. In this case, when the basic restriction range R1 and the designated restriction range R2 are superimposed based on the position of the target user PS (terminal position), the entire basic restriction range R1 is encompassed within the designated restriction range R2, or the designated restriction range R2 coincides with the basic restriction range R1.
[0089] [Third Embodiment] A third embodiment will be described. When a rectangle is specified as the outer shape of the specified restriction range R2, the orientation of each side of the rectangle may be freely specified. This will be explained.
[0090] Referring to Figure 12, we assume that there are first to third axes passing through predetermined specific positions within the terminal device 300. The first to third axes are orthogonal to each other. Here, we assume that the first and second axes are parallel to the display screen 341, and the third axis is orthogonal to the display screen 341.
[0091] In the input reception state described above, assume that the specified input information is entered such that the outer shape of the specified restriction range R2 is a rectangle, as in the example in Figure 11(b). Of the four sides forming this rectangle, two sides are parallel to the first axis, and the remaining two sides are parallel to the third axis. Whether the lengths of the two sides in the former and the two sides in the latter are the same or different is irrelevant. Furthermore, the terminal device 300 is assumed to be equipped with an orientation sensor (not shown) for detecting the relationship between the east-west direction (i.e., the X-axis direction) and the north-south direction (i.e., the Y-axis direction) and the directions of the first to third axes. The detection result of the orientation sensor is transmitted to the server device 200 and the robot 100. Therefore, the server device 200 and the robot 100 can recognize the relationship between the direction in which each side of the rectangle, which is the outer shape of the specified restriction range R2, extends and the directions of the X and Y axes. By referring to this recognition result, the actual drive restriction range R3 according to the specified restriction range R2 can be set. Although a rectangle was used as an example, the target user PS can arbitrarily specify the outline shape of the designated restriction range R2.
[0092] [Fourth embodiment] A fourth embodiment will be described. The shape of the specified restriction range R2 may be specified in relation to the orientation of the subject PS's face or body. This makes it possible to impose drive restrictions on the robot 100 that are more specifically tailored to the subject PS's wishes. For example, it becomes possible to strongly restrict the robot 100's entry in the direction of the subject PS's movement or line of sight.
[0093] In the subject's positional position (PS), the direction of the face is the direction the face is facing. In the subject's positional position (PS), the direction of the body is perpendicular to the midline of the subject's position, and is the direction from the chest of the subject's position toward the front of the subject's position (starting from the chest and moving toward a position directly facing the chest).
[0094] Refer to Figure 13. In the fourth embodiment, unless otherwise specified, it is assumed that in the input reception state described above, the specified input information is entered such that the outline shape of the specified restriction range R2 is a rectangle 660. The rectangle 660 consists of opposite sides 661 and 662 and opposite sides 663 and 664. Sides 661 and 662 are parallel to the orientation of the subject PS's face and body. In Figure 13, the dashed line 666 is parallel to the orientation of the subject PS's face and body. The subject PS can freely specify the length of each side (661 to 664) in the specified input information. The position 665 of the subject PS corresponds to the terminal position, and position 665 is located inside the rectangle 660. In the specified input information, the relationship between the rectangle 660 and the position 665 of the subject PS can be arbitrarily specified. In the example in Figure 13, edge 663 is positioned in the direction of the subject PS's face and body as viewed from position 665, and the distance between position 665 and edge 663 is greater than the distance between position 665 and edge 664. That is, in the example in Figure 13, the designated restriction range R2 is set to an area that is larger on the side in the direction of movement of the subject PS than on the opposite side.
[0095] In the robot 100, the image recognition unit 113 detects the orientation of the subject PS's face or body based on the image information captured by the camera 141 when the subject PS is within the camera's shooting area. The second setting unit F12 sets the specified restriction range R2 based on the position of the subject PS (i.e., the terminal position) based on the specified input information, and in doing so, sets the specified restriction range R2 having a rectangular shape 660 by referring to the detection result of the image recognition unit 113. That is, the second setting unit F12 can set the specified restriction range R2 having a shape corresponding to the orientation of the subject PS's face or body based on the specified input information. In this example, the specified restriction range R2 having the shape of a rectangle 660 is set. The third setting unit F13 sets the actual drive restriction range R3, which reflects the shape of the rectangle 660, based on the basic restriction range R1 and the specified restriction range R2.
[0096] The drive control unit 112 controls the drive of the body BD based on the actual drive limit range R3, while referring to the recognition result of the image recognition unit 112 (detection result of the face orientation or body orientation of the current subject PS). If the entire basic limit range R1 is contained within the designated limit range R2, the actual drive limit range R3 will be the same as the designated limit range R2 which has an outer shape of a rectangle 660. In this case, the drive control unit 112 will consider the current terminal position as position 665 and control the drive of the body BD so that the robot position does not enter the actual drive limit range R3 which corresponds to the rectangle 660.
[0097] [Fifth Example] A fifth embodiment will now be described. The second setting unit F12 may have a database DB that shows the contents of the specified restriction range R2, or may be connected to the database DB. An example of the database DB is shown in Figure 14. The database DB may be stored in memory 220 (see Figure 3). Up to this point, we have basically focused only on one target person PS, but if there are two or more people in the system operation area, each of the multiple people can function as a target person PS. Each target person PS moves around carrying a terminal device 300. Each terminal device 300 is assigned a terminal ID, which is unique identification information, and when each terminal device 300 transmits any signal or information to any device (server device 200, robot 100, or access point, etc.), it includes its own terminal ID in the signal or information it transmits. Here, for the sake of making the explanation more concrete, we will focus on the first to third target person PS, which are three people. The terminal ID of the first terminal device 300 owned by the first subject PS is "0001", the terminal ID of the second terminal device 300 owned by the second subject PS is "0002", and the terminal ID of the third terminal device 300 owned by the third subject PS is "0003".
[0098] The terminal location detection unit F2 (Figure 5) detects the terminal location for each terminal device 300, and the detection result is sent to the second setting unit F12 and stored in the database DB. The detected terminal location for a particular terminal device 300 is associated with the terminal ID of that terminal device 300 and stored in the database DB. In the database DB, terminal locations may be managed on a cell-by-cell basis. In the database DB of the example in Figure 14, terminal locations are managed on a cell-by-cell basis, and the terminal locations of the first, second, and third terminal devices 300 are (x1,y1), (x2,y2), and (x3,y3), respectively. The cells to which terminal locations (x1,y1), (x2,y2), and (x3,y3) belong are CL[x1,y1], CL[x2,y2], and CL[x3,y3], respectively (see Figures 6(a) and 6(b)). x1~x3 and y1~y3 have arbitrary integer values.
[0099] The database DB stores information indicating the specified limit range R2 for each terminal device 300. Here, as shown in the first embodiment, it is assumed that the content of the robot 100's drive limit can be specified in stages. However, for the sake of simplicity, we will consider only up to two stages of specification.
[0100] For the first terminal device 300, only a single designated restriction range is included in the designated restriction range R2, and the contents of the single designated restriction range are stored in the database DB as the contents of the first designated restriction range and associated with the terminal ID of the first terminal device 300. In the example in Figure 14, the designated restriction range R2 for the first terminal device 300 is the area within a circle with radius r2 centered on the terminal position, where radius r2 is 3m, and the database DB indicates that entry of body BD into the designated restriction range R2 is prohibited.
[0101] For the second terminal device 300, the first and second designated restriction ranges are included in the designated restriction range R2, and the contents of these first and second designated restriction ranges are stored in the database DB in association with the terminal ID of the second terminal device 300. In the example in Figure 14, the first and second designated restriction ranges for the second terminal device 300 correspond to the first designated restriction range 620_1 and the second designated restriction range 620_2 in Figure 10(b), respectively. However, in the numerical example in Figure 14, the radius r2_1 is 4m and the radius r2_2 is 3m. In the database DB in Figure 14, it is defined that the movement speed of the body BD is limited to a maximum of 1km / h in the first designated restriction range of the second terminal device 300, and that the entry of the body BD into the second designated restriction range of the second terminal device 300 is prohibited.
[0102] For the third terminal device 300, the first and second specified restriction ranges are included in the specified restriction range R2, and the contents of these first and second specified restriction ranges are stored in the database DB in association with the terminal ID of the third terminal device 300. In the example in Figure 14, the first and second specified restriction ranges for the third terminal device 300 are identified in the map MM in Figure 15. Map MM can be understood as part of the database DB. For convenience, the cell to which the terminal position (x3, y3) of the third terminal device 300 belongs will now be called the reference cell. The reference cell corresponds to cell CL[x3, y3] (see Figures 6(a) and 6(b)). In map MM, a numerical value is assigned to each cell, and the assignment of a numerical value indicates whether each cell belongs to the first or second specified restriction range. In Figure 15, the numerical value "99" corresponds to the reference cell, the numerical value "2" corresponds to a cell belonging to the second specified restriction range, and the numerical value "1" corresponds to a cell belonging to the first specified restriction range. The value "0" corresponds to a cell that does not belong to any of the specified restriction ranges.
[0103] Based on the specified input information for the third terminal device 300, the area surrounding the reference cell is set as the specified restriction range R2 of the third terminal device 300. In the example in Figure 15, a total of eight cells adjacent to and surrounding the reference cell constitute the second specified restriction range for the third terminal device 300. In the example in Figure 15, a total of twelve cells adjacent to and surrounding any of the above eight cells constitute the first specified restriction range for the third terminal device 300. In the database DB in Figure 14, it is defined that the movement speed of the body BD is limited to a maximum of 1 km / h in the first specified restriction range of the third terminal device 300, and that the entry of the body BD into the second specified restriction range of the third terminal device 300 is prohibited.
[0104] [Sixth Example] A sixth embodiment will be described. In this sixth embodiment, the operation flow of the system SYS, focusing on the driving of the robot 100, will be described. Figure 16 shows a flowchart of this operation, and the operation flow will be explained according to this flowchart.
[0105] Let's start from the point where robot 100 is at the initial location. First, in step S11, sensing processing is performed. In sensing processing, the state of the area around robot 100 is determined based on sensing information. In this determination, the presence and location of people around robot 100 are detected, as well as the presence and location of objects other than people around robot 100. Each person around robot 100 corresponds to a target person PS. The surrounding information output from the surrounding information detection unit 140 of robot 100 is included in the sensing information. Sensing processing is typically performed by the robot control unit 110, but it may also be performed by the server control unit 210. The robot control unit 110 and the server control unit 210 may cooperate to perform the sensing processing. Sensing information may also include image information captured by the external camera mentioned above.
[0106] In step S12, following step S11, the robot control unit 110 or the server control unit 210 acquires restriction information output from each terminal device 300. The restriction information output from the i-th terminal device 300 includes the specified input information entered into the i-th terminal device 300 and the terminal ID of the i-th terminal device 300. i represents any integer. The restriction information from each terminal device 300 is sent to the second setting unit F12 (see Figure 9).
[0107] Subsequently, in step S13, the block consisting of the first setting unit F11, the second setting unit F12, and the third setting unit F13 refers to the restriction information for each terminal device 300 and sets the actual drive restriction range R3 for each terminal device 300 (i.e., for each target user PS). The settings in step S13 are sent to the route planning unit 111.
[0108] In the subsequent step S14, the route planning unit 111 sets the planned movement path for the robot 100 (body BD) based on the actual drive restriction range R3 set in step S13 for each terminal device 300. The planned movement path set here does not pass through the area where the robot 100 is prohibited from entering, as defined by the actual drive restriction range R3. The planned movement path is also created based on the current robot position, map information 121 in memory 120, target points, surrounding information (surrounding information from surrounding information detection unit 140), etc.
[0109] Subsequently, in step S15, the drive control unit 112 drives the body BD through the control of the actuator unit 150 so that the body BD moves along the planned movement path set in step S14. As a result, the body BD starts moving from the initial point toward the target point.
[0110] The processes in steps S11 to S15 may be executed repeatedly, thereby appropriately modifying or updating the planned movement path in accordance with the latest surrounding conditions of the robot 100, which may change moment by moment.
[0111] [Seventh Example] A seventh embodiment will be described. Multiple types of robots 100 may be operated in the system SYS. It can be assumed that multiple types of robots 100 are provided in the system SYS. The multiple types of robots 100 include, for example, a security robot 100, a cleaning robot 100, and a character-type robot 100. The security robot 100, the cleaning robot 100, and the character-type robot 100 correspond to the first, second, and third types of robots 100, respectively.
[0112] The first setting unit F11 may set a basic limit range R1 for each type of robot 100. For example, when the basic limit range R1 is defined by a radius r1 as in the example in Figure 8(a), the radius r1 for the i-th type robot 100 and the radius r1 for the j-th type robot 100 may be different from each other. Here, i and j are different integers.
[0113] The user PS can input specified input information into the terminal device 300 to define the specified limit range R2 for each type of robot 100. Figures 17(a) and (b) show examples of the display on the display screen 341 for each type of robot 100 in the input reception state. The second setting unit F12 may set the specified limit range R2 for each type of robot 100 based on the specified input information. For example, when the specified limit range R2 is defined by a radius r2 as in the example in Figure 8(b), the radius r2 for the i-th type robot 100 and the radius r2 for the j-th type robot 100 may be different from each other. As shown in Figures 17(a) and (b), it is also possible to set the outer shape of the specified limit range R2 to a circle for the i-th type robot 100 and to set the outer shape of the specified limit range R2 to a rectangle for the j-th type robot 100.
[0114] The third setting unit F13 may set the actual drive limit range R3 for each type of robot 100 based on the basic limit range R1 and the specified limit range R2. The method for setting the actual drive limit range R3 based on the basic limit range R1 and the specified limit range R2 is as described above, and this setting method is applied to each type of robot 100.
[0115] The basic restriction range R1 necessary for ensuring safety may differ depending on the type of robot 100. Safety is ensured by setting the necessary basic restriction range R1 for each type of robot 100. Here, the classification of robot types 100 may be based not only on the role or function of a security robot, but also on the robot's appearance. This is because the sense of familiarity or caution a person feels towards a robot 100 may differ depending on the type of robot 100 or its appearance. For example, a person might not want a security robot 100 to approach them, but might want a character-type robot 100 to come as close as possible. By making it possible to set a specified restriction range R2 for each type of robot 100, an appropriate specified restriction range R2 for each person can be set for each type of robot 100. Then, by setting an actual drive restriction range R3 for each type of robot 100, the robot 100 can be driven in accordance with the person's wishes while ensuring safety.
[0116] [Eighth Example] An eighth embodiment will now be described. In the above descriptions, the existence of the Z-axis direction was ignored, and attention was focused on two dimensions parallel to the X and Y axes. The method shown in this embodiment can also be applied when extended to three dimensions.
[0117] When extended to three dimensions, the terminal position is indicated by the position in the X, Y, and Z axes of the terminal device 300, and similarly, the robot position is indicated by the position in the X, Y, and Z axes of the robot 100.
[0118] When extended to three dimensions, the basic limit range R1, the specified limit range R2, and the actual driving limit range R3 are three-dimensional spaces with size in the X, Y, and Z axis directions, respectively.
[0119] When extended to three dimensions, the system application area is also a three-dimensional space with size along the X, Y, and Z axes. Each cell also has size along the X, Y, and Z axes, and this type of cell can be called a voxel.
[0120] For example, when the system application area is an area within a multi-story commercial facility, extending it to three dimensions is beneficial. More specifically, for instance, if robot 100 is located on the second floor of the commercial facility, it is not necessary to drive and control robot 100 while considering the position of a person located on the first floor. With three-dimensional extension, even if the X and Y axis components of the position of a person on the first floor approximate or coincide with the X and Y axis components of the position of robot 100 on the second floor, there is no restriction on the driving of robot 100 (assuming the distance between the first and second floors is greater than the magnitude of the Z axis direction of the actual driving restriction range R3).
[0121] [Ninth Example] The ninth embodiment will be described. The ninth embodiment will describe modifications and other techniques to the above-described content.
[0122] The terminal device detected by the terminal position detection unit F2 represents the current position of the terminal device 300 as an absolute position. The absolute position of the terminal device 300 represents the position of the terminal device 300 in terms of latitude and longitude, or in terms of latitude, longitude and altitude. However, the terminal device detected by the terminal position detection unit F2 may also represent the current position of the terminal device 300 as a relative position. The relative position of the terminal device 300 is the relative position of the terminal device 300 as seen from the position of the robot 100. In any case, the positional relationship between the robot 100 and the terminal device 300 is determined by the terminal position.
[0123] In the SYS system, the server control unit 210 may be used to set the planned movement route. In this case, a route planning unit 111 is provided in the server control unit 210, and information indicating the set planned movement route is transmitted from the server device 200 to the robot 100.
[0124] If the subject PS moves and enters the actual drive limit range R3 from outside the R3, the robot control unit 110 may perform an alarm process. For example, the alarm process includes outputting a predetermined warning sound from a speaker (not shown) provided on the interface unit 170 of the robot 100. The alarm process may also include notification processing that outputs a notification signal to a pre-set contact. The contact here may be a security company or the management or operating company of the system SYS. The notification process may be a 119 emergency call in Japan. This is because if the subject PS enters the actual drive limit range R3 from outside the R3, there is a possibility that the subject PS has fallen into the R3.
[0125] A program that causes a computer to execute any of the methods described in the embodiments of the present invention, and a recording medium that stores such a program and is computer-readable and non-volatile, are included within the scope of the embodiments of the present invention. Any processing in the embodiments of the present invention may be implemented by hardware such as a semiconductor integrated circuit, software corresponding to the above-mentioned program, or a combination of hardware and software.
[0126] The embodiments of the present invention can be modified in various ways as appropriate within the scope of the technical idea set forth in the claims. The embodiments described above are merely examples of embodiments of the present invention, and the meaning of the terms of the present invention or each constituent element is not limited to those described above. The specific numerical values shown in the above description are merely examples and can, of course, be changed to various numerical values. [Explanation of Symbols]
[0127] SYS System (Robot Control System) 100 robots BD Body 110 Robot Control Unit 111 Route Planning Department 112 Drive Control Unit 113 Image Recognition Unit 120 memory 130 Communication Processing Unit 140 Peripheral Information Detection Unit 141 Camera 142 Distance measuring sensor 150 Actuator section 160 GPS Processing Unit 200 Server Devices 210 Server Control Unit 220 memory 230 Communication Processing Unit 300 terminal devices 310 Terminal Control Unit 320 memory 330 Communication Processing Unit 340 Interface section 350 GPS processing unit 360 Camera F1 Robot position detection unit F2 Terminal position detection unit F11 1st Setting Section F12 Second Setting Section F13 Third Setting Section
Claims
1. A robot control system comprising a robot having a body and a drive control unit for driving and controlling the body, comprising a range setting unit, The range setting unit sets the first drive limit range of the body based on the position of the subject, based on predetermined setting conditions. The subject operates the interface of an electronic device that moves with the subject, and based on the input information specified by the subject, a second drive limit range of the body is set relative to the position of the subject. A third drive limit range is set in which the driving of the body is restricted based on the first drive limit range and the second drive limit range. The drive control unit controls the drive of the body based on the third drive limit range. , robot control system.
2. A robot control system comprising a robot having a body and a drive control unit for driving and controlling the body, comprising a range setting unit, The range setting unit sets the first drive limit range of the body based on the position of the subject, based on predetermined setting conditions. Based on the input information from the subject to the electronic device that moves with the subject, a second drive limit range of the body is set based on the position of the subject. A third drive limit range is set in which the driving of the body is restricted based on the first drive limit range and the second drive limit range. The drive control unit controls the drive of the body based on the third drive limit range, The range setting unit is capable of setting a plurality of second drive limit ranges based on the input information, When the plurality of second drive limit ranges are set, the drive limit content for the body in each second drive limit range is specified based on the input information, and the drive control unit controls the drive of the body based on the third drive limit range that reflects the specified content. , robot control system.
3. The range setting unit sets the third drive limit range based on the logical OR of the first drive limit range and the second drive limit range. or the robot control system according to claim 1 or 2.
4. The drive control unit prohibits the body from entering the third drive limiting range. or the robot control system according to any one of claims 1 to 3.
5. Multiple types of robots are provided as the aforementioned robots. The range setting unit is configured to set the first drive limit range, the second drive limit range, and the third drive limit range for each type of robot. or a robot control system according to any one of claims 1 to 4.
6. The robot is equipped with a robot management device that is wirelessly connected to the robot, The range setting unit is provided on the robot, The range setting unit is provided in the robot management device, or Of the range setting unit, a portion is provided on the robot and the remainder is provided on the robot management device. or a robot control system according to any one of claims 1 to 4.
7. It comprises a body, a drive control unit for controlling the drive of the body, and a range setting unit, The range setting unit sets the first drive limit range of the body based on the position of the subject, based on predetermined setting conditions. The subject operates the interface of an electronic device that moves with the subject, and based on the input information specified by the subject, a second drive limit range of the body is set relative to the position of the subject. A third drive limit range is set in which the driving of the body is restricted based on the first drive limit range and the second drive limit range. The drive control unit controls the drive of the body based on the third drive limit range. ,robot.
8. A robot management device wirelessly connected to a robot comprising a body and a drive control unit for driving and controlling the body, comprising a management control unit and a communication processing unit, The aforementioned control unit, Based on predetermined setting conditions, the first drive limit range of the body is set with respect to the position of the subject. The subject operates the interface of an electronic device that moves with the subject, and based on the input information specified by the subject, a second drive limit range of the body is set relative to the position of the subject. A third drive limit range is set in which the driving of the body is restricted based on the first drive limit range and the second drive limit range. The communication processing unit transmits to the robot the settings of the management control unit based on the third drive limit range so that the body is driven according to the third drive limit range. , robot management device.
9. A robot control method for controlling a robot equipped with a body, A first setting step involves setting a first drive limit range of the body based on the position of the subject, based on predetermined setting conditions. A second setting step involves setting a second drive limit range of the body based on the position of the subject, based on input information specified by the subject, by having the subject operate the interface of an electronic device that moves together with the subject, A third setting step of setting a third drive limit range in which the driving of the body is restricted based on the first drive limit range and the second drive limit range, The drive control step includes controlling the drive of the body based on the third drive limit range. Robot control methods.
Citation Information
Patent Citations
Robot system
JP2020189367A
Safety control module for a robot assembly and method of same
US20200391386A1