WO2021065610A1 - データ処理装置、データ処理方法、ロボット - Google Patents

データ処理装置、データ処理方法、ロボット Download PDF

Info

Publication number
WO2021065610A1
WO2021065610A1 PCT/JP2020/035754 JP2020035754W WO2021065610A1 WO 2021065610 A1 WO2021065610 A1 WO 2021065610A1 JP 2020035754 W JP2020035754 W JP 2020035754W WO 2021065610 A1 WO2021065610 A1 WO 2021065610A1
Authority
WO
WIPO (PCT)
Prior art keywords
sensing
program
human sensing
algorithm
human
Prior art date
Application number
PCT/JP2020/035754
Other languages
English (en)
French (fr)
Inventor
健一 瀬田
礼史 後藤
雅弘 大塚
Original Assignee
ソニー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニー株式会社 filed Critical ソニー株式会社
Priority to JP2021550649A priority Critical patent/JPWO2021065610A1/ja
Priority to CN202080067410.1A priority patent/CN114450726A/zh
Priority to US17/636,253 priority patent/US20220288790A1/en
Publication of WO2021065610A1 publication Critical patent/WO2021065610A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/285Selection of pattern recognition techniques, e.g. of classifiers in a multi-classifier system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/95Hardware or software architectures specially adapted for image or video understanding structured as a network, e.g. client-server architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/96Management of image or video recognition tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • This technology is particularly related to data processing devices, data processing methods, and robots that enable human sensing to be performed using appropriate algorithms.
  • Patent Document 1 discloses a technique of determining a service that can be realized by a combination of a camera and a communication device and installing software that provides the service.
  • Patent Document 2 discloses a technique for updating the firmware between the imaging device and the host system when it is detected that the firmware on the imaging device is incompatible with the host system.
  • This technology was made in view of such a situation, and enables human sensing to be performed using an appropriate algorithm.
  • the data processing device of the first aspect of the present technology provides a human sensing program in which a human sensing algorithm for sensing a person based on sensor data output from a sensor mounted on a robot is defined according to human sensing conditions. It is equipped with a sensing control unit that is adaptively selected and executed.
  • the data processing device of the second aspect of the present technology provides a human sensing program in which a human sensing algorithm for sensing a person based on sensor data output from a sensor mounted on a robot is defined according to human sensing conditions. It is provided with a data processing unit that is adaptively selected and transmitted to the robot.
  • the robot of the third aspect of the present technology has a sensor that outputs sensor data representing the sensing result and a human sensing program that defines a human sensing algorithm that senses a person based on the sensor data output from the sensor.
  • a sensing control unit that adaptively selects and executes according to human sensing conditions, an operation plan setting unit that sets an operation plan based on the execution result of the human sensing program by the sensing control unit, and the operation plan. It includes an operation unit that operates according to the operation plan set by the setting unit.
  • a human sensing program in which a human sensing algorithm for sensing a person based on sensor data output from a sensor mounted on a robot is defined is adaptively according to human sensing conditions. Select and execute.
  • a human sensing program in which a human sensing algorithm for sensing a person based on sensor data output from a sensor mounted on a robot is defined is adaptively adapted to human sensing conditions. Selected and sent to the robot.
  • a human sensing program in which a human sensing algorithm for sensing a person based on the sensor data output from a sensor that outputs sensor data representing the sensing result is defined depends on the human sensing conditions.
  • the operation plan is set based on the execution result of the human sensing program, and the operation is performed according to the set operation plan.
  • FIG. 1 It is a figure which shows the configuration example of the program providing system which concerns on one Embodiment of this technology. It is a figure which shows the configuration example of a sensor device. It is a figure which shows the example of the appearance of a sensor device. It is a figure which shows the example of a sensing program. It is a figure which shows another example of a sensing program. It is a figure which shows still another example of a sensing program. It is a figure which shows the example of the update of a sensing program. It is a figure which shows the example of the update of a sensing program. It is a figure which shows another example of the update of a sensing program. It is a figure which shows the example of the sensing program set.
  • This technology enables sensing to be performed using an optimum algorithm as a sensing algorithm, which is an algorithm related to sensing, especially in a sensor device that performs human sensing.
  • FIG. 1 is a diagram showing a configuration example of a program providing system according to an embodiment of the present technology.
  • the program providing system of FIG. 1 has various devices such as a mobile terminal 2-1, an arm robot 2-2, a moving body 2-3, a cooking robot 2-4, and a transport robot 2-5 with respect to the program management server 1.
  • a mobile terminal 2-1 an arm robot 2-2
  • a moving body 2-3 a moving body 2-3
  • a cooking robot 2-4 a transport robot 2-5 with respect to the program management server 1.
  • the mobile terminal 2-1 is a smartphone.
  • Arm robot 2-2 is a double-armed robot.
  • a trolley is provided in the housing of the arm robot 2-2.
  • the arm robot 2-2 is a movable robot.
  • Mobile body 2-3 is a car.
  • the moving body 2-3 is equipped with an automatic driving function and the like.
  • Cooking robot 2-4 is a kitchen type robot.
  • the cooking robot 2-4 has a function of cooking by driving a plurality of cooking arms.
  • the cooking arm reproduces an operation similar to a human cooking operation.
  • the transport robot 2-5 is a robot that can move the object to be transported to the target position in that state by placing the object to be transported on the top plate prepared as a mounting table. Wheels are provided on the base of the transport robot 2-5.
  • Each device shown in FIG. 1 is equipped with a sensor device used for environment sensing, object sensing, human sensing, and the like.
  • FIG. 2 is a diagram showing a configuration example of a sensor device.
  • the sensor device 21 is provided with a controller 31 and a sensor group 32.
  • the controller 31 controls each sensor constituting the sensor group 32 to perform sensing of various objects such as environment sensing, object sensing, and human sensing. Sensing by the controller 31 is performed based on the sensor data output by each sensor constituting the sensor group 32.
  • the controller 31 outputs the sensing result to the device on the host side. Based on the sensing result by the controller 31, various processes are performed on the device on the host side.
  • the CPU Central Processing Unit
  • the controller 31 is also provided with a function of communicating with a device on the host side.
  • the sensor group 32 is composed of a plurality of sensors that sense various objects.
  • the sensor group 32 is composed of an RGB camera 32A, a stereo camera 32B, a ToF sensor 32C, a structured-light sensor 32D, and a LiDAR 32E.
  • the RGB camera 32A has an image sensor for RGB images.
  • the RGB camera 32A photographs the surroundings by driving the image sensor, and outputs the RGB image obtained by the imaging as sensor data.
  • the stereo camera 32B is a stereo camera type distance sensor, and has two image sensors for distance images.
  • the stereo camera 32B outputs a distance image showing the distance to the object as sensor data.
  • the ToF sensor 32C is a ToF (Time Of Flight) type distance sensor.
  • the ToF sensor 32C measures the distance to the object by the ToF method and outputs the distance information as sensor data.
  • the structured-light sensor 32D is a structured-light type distance sensor.
  • the structured-light sensor 32D measures the distance to the object by the structured-light method and outputs the distance information as sensor data.
  • LiDAR Light Detection and Ringing
  • the sensor group 32 may include a sensor different from the sensor shown in FIG. 2, such as a positioning sensor, a gyro sensor, an acceleration sensor, a temperature sensor, and an illuminance sensor.
  • a sensor different from the sensor shown in FIG. 2, such as a positioning sensor, a gyro sensor, an acceleration sensor, a temperature sensor, and an illuminance sensor.
  • the type of sensor constituting the sensor group 32 is appropriately changed depending on the device on which the sensor device 21 is mounted.
  • the sensor group 32 may be configured by one sensor.
  • the sensor device 21 may be configured by a substrate on which the controller 31 and the sensor group 32 are arranged, or as a device in which the substrate on which each sensor is arranged is housed in the housing 21A as shown in FIG. It may be done.
  • the controller 31 executes a sensing program which is a sensing program, and realizes a sensing function of various objects such as an environment, an object, and a person.
  • the sensing function of the controller 31 is realized based on the output of one sensor constituting the sensor group 32 or based on the combination of the outputs of a plurality of sensors.
  • Environmental sensing includes, for example, the following. -Shooting RGB images using RGB camera 32A-Measurement of distance to an object using output of stereo camera 32B, ToF sensor 32C, structured-light sensor 32D-Generation of 3D map using output of LiDAR32E ⁇ Estimating self-position using a 3D map
  • the environment targeted by the sensor device 21 for sensing includes various states outside the sensor device 21 or outside the device on which the sensor device 21 is mounted, which can be expressed as quantitative data by performing sensing. Includes physical state.
  • Object sensing includes, for example: -Recognition and identification of objects using RGB images taken by the RGB camera 32A-Measurement of object characteristics such as shape, size, color, and temperature
  • Objects to be sensed by the sensor device 21 include various stationary objects and moving objects around the sensor device 21 or around the device on which the sensor device 21 is mounted.
  • Human sensing includes, for example, the following. ⁇ Human recognition, human face recognition, and human identification using RGB images taken by the RGB camera 32A ⁇ Recognition of specific parts of the person such as the head, arms, hands, eyes, and nose ⁇ Bone estimation Estimating the position of a specific part including, ⁇ Estimating the physical characteristics of a person such as height and weight ⁇ Estimating the attributes of a person such as age and gender
  • the person to be sensed by the sensor device 21 includes a person who is around the sensor device 21 or around the device on which the sensor device 21 is mounted.
  • the controller 31 has a plurality of programs having different algorithms as sensing programs for realizing each sensing function.
  • FIG. 4 is a diagram showing an example of a sensing program prepared in the sensor device 21.
  • the distance measuring program A, the distance measuring program B, and the distance measuring program C are prepared as firmware that operates on the OS (Operating System).
  • the distance measurement program A, the distance measurement program B, and the distance measurement program C are sensing programs that realize the distance measurement function as a human sensing function.
  • the distance measurement program A, the distance measurement program B, and the distance measurement program C are sensing programs that realize the same distance measurement function by different sensing algorithms.
  • the ranging program A, the ranging program B, and the ranging program C define different sensing algorithms.
  • the distance measurement program A is a sensing program that measures the distance by the distance measurement algorithm A.
  • the distance measuring program B is a sensing program that measures the distance by the distance measuring algorithm B.
  • the distance measuring program C is a sensing program that measures the distance by the distance measuring algorithm C.
  • the distance measurement algorithms A to C set different parameters for the same sensor and calculate the distance by performing the same calculation based on the output of the sensor. Sensing that performs distance measurement using different parameters. It is an algorithm.
  • the distance measurement algorithms A to C use different calculation methods to measure the distance, such as setting the same parameters for the same sensor and calculating the distance by performing different calculations based on the output of the sensor. It is a sensing algorithm to be performed.
  • the distance measurement algorithms A to C are sensing algorithms that perform distance measurement using different distance sensors. May be good.
  • the distance measurement algorithm A measures the distance based on the output of the stereo camera 32B
  • the distance measurement algorithm B measures the distance based on the output of the ToF sensor 32C
  • the distance measuring algorithm C measures the distance based on the output of the structured-light sensor 32D.
  • a plurality of programs having different sensing algorithms are prepared as sensing programs for realizing the same ranging function.
  • a sensor used for distance measurement is associated with at least one of each sensing algorithm and a sensing program that defines each sensing algorithm.
  • the sensing program is executed, the operation of the associated sensor is controlled in conjunction with it.
  • the sensing condition is a condition for selecting a sensing algorithm, which is determined according to the situation of the material handling robot 2-5.
  • the distance measurement program A is executed and the distance measurement is performed using the distance measurement algorithm A.
  • the distance measurement program B is executed, and the distance measurement is performed using the distance measurement algorithm B.
  • the distance measurement program C is executed and the distance measurement is performed using the distance measurement algorithm C.
  • the distance measurement is performed by adaptively selecting the sensing algorithm (sensing program) according to the sensing conditions, it is possible to measure the distance with the optimum sensing algorithm. The same applies when the sensing target is other than the distance.
  • One sensing program defines one sensing algorithm. Choosing a sensing program is equivalent to choosing a sensing algorithm.
  • adaptively selecting the sensing algorithm means selecting the sensing algorithm associated with the sensing condition when it is detected that the condition is met.
  • Sensing algorithms that are considered to be suitable are associated with the sensing conditions according to each assumed situation. The association between the sensing condition and the sensing algorithm may be dynamically changed.
  • FIG. 5 is a diagram showing another example of the sensing program.
  • the foodstuff recognition program A, the foodstuff recognition program B, and the foodstuff recognition program C are prepared as firmware that operates on the OS.
  • the foodstuff recognition programs A to C are sensing programs that realize the foodstuff recognition function as an object sensing function.
  • the foodstuff recognition program A is a sensing program that recognizes foodstuffs by the foodstuff recognition algorithm A.
  • the foodstuff recognition program B is a sensing program that recognizes foodstuffs by the foodstuff recognition algorithm B.
  • the foodstuff recognition program C is a sensing program that recognizes foodstuffs by the foodstuff recognition algorithm C. For example, in the sensor device 21 mounted on the cooking robot 2-4, the foodstuff is recognized by selecting the sensing algorithm according to the sensing condition determined by the cooking process or the like.
  • FIG. 6 is a diagram showing still another example of the sensing program.
  • face recognition program A, face recognition program B, and face recognition program C are prepared as firmware that operates on the OS.
  • the face recognition programs A to C are sensing programs that realize a face recognition function as a human sensing function.
  • the face recognition program A is a sensing program that recognizes a face by the face recognition algorithm A.
  • the face recognition program B is a sensing program that recognizes a face by the face recognition algorithm B.
  • the face recognition program C is a sensing program that recognizes a face by the face recognition algorithm C. For example, in the sensor device 21 mounted on the cooking robot 2-4, face recognition is performed by selecting a sensing algorithm according to the sensing conditions determined by the cooking process or the like.
  • FIG. 7 is a diagram showing an example of updating the sensing program.
  • the program management server 1 provides a sensing program for each device.
  • the program management server 1 has a DB (Data Base) of a sensing program provided to each device.
  • DB Data Base
  • the distance measuring program D that performs distance measurement by the distance measuring algorithm D is provided to the mobile terminal 2-1 and the face recognition program H that performs face recognition by the face recognition algorithm H is the arm robot 2-. It is provided for 2.
  • a self-position estimation program J that performs self-position estimation by the self-position estimation algorithm J is provided for the moving body 2-3
  • an object recognition program K that performs object recognition by the object recognition algorithm K is provided to the cooking robot 2-4. It is offered against.
  • a person recognition program M that recognizes a person by the person recognition algorithm M is provided for the transport robot 2-5.
  • FIG. 8 is a diagram showing an example of updating the sensing program.
  • the distance measuring program D that measures the distance by the distance measuring algorithm D is added to the distance measuring programs A to C that perform the distance measurement by the distance measuring algorithms A to C.
  • the sensor device 21 of each device is provided with a sensing program that defines a sensing algorithm according to a general situation. Even if the sensor device 21 of each device becomes a situation that cannot be dealt with by a sensing program prepared in advance, a special situation can be obtained by adding a sensing program that defines a sensing algorithm corresponding to such a special situation. It becomes possible to correspond to.
  • FIG. 9 is a diagram showing another example of updating the sensing program.
  • FIG. 9 it is possible to update in units of sensing program sets composed of a plurality of sensing programs.
  • it is composed of a distance measuring program D that measures a distance by a distance measuring algorithm D, a distance measuring program E that measures a distance by a distance measuring algorithm E, and a distance measuring program F that measures a distance by a distance measuring algorithm F.
  • the sensing program set to be provided is provided by the program management server 1 and added.
  • the DB of the program management server 1 is prepared with a plurality of sensing program sets in which a plurality of sensing programs are grouped according to usage conditions such as location, situation, and purpose.
  • sensing program set for indoor distance measurement and a sensing program set for outdoor distance measurement are prepared.
  • These sensing program sets are location-based sensing program sets.
  • the location-based sensing program set is, for example, a set used in the sensor device 21 mounted on a device having a moving function. Even in the same room, a sensing program set may be prepared in units of smaller places such as a sensing program set for a kitchen and a sensing program set for a dining room.
  • sensing program sets for various locations such as a sensing program set for the sea, a sensing program set for mountains, and a sensing program set for trains.
  • sensing program set for distance measurement in fine weather and a sensing program set for distance measurement in rainy weather are prepared. These sensing program sets are weather-dependent sensing program sets.
  • the weather-sensitive sensing program set is, for example, a set used in the sensor device 21 mounted on a device that has a moving function and may move outdoors. It is also possible to prepare a sensing program set for each changing situation, such as a sensing program set for each time zone such as morning, day and night, a sensing program set for each brightness, and a sensing program set for each temperature.
  • sensing program sets for various purposes such as a sensing program set for running, a sensing program set for baseball, a sensing program set for cooking curry, and a sensing program set for cooking salad. It is also possible.
  • the sensor device 21 of each device can add sensing programs collectively by designating the ID of the sensing program set according to the usage conditions.
  • An ID as identification data is set in each sensing program set.
  • An ID as identification data is also set for each sensing program that constitutes the sensing program set.
  • a set of sensing programs that realize different functions may be added instead of a set of sensing programs that realize the same ranging function by different sensing algorithms.
  • the sensing program set is composed of the distance measuring program D, the face recognition program H, and the object recognition program K.
  • the distance measurement program D is a sensing program that performs distance measurement by the distance measurement algorithm D
  • the face recognition program H is a sensing program that performs face recognition by the face recognition algorithm H.
  • the object recognition program K is a sensing program that recognizes an object by the object recognition algorithm K.
  • FIG. 12 is a diagram showing an example of a sensing program set.
  • the sensing program set shown in FIG. 12 includes an algorithm manager, which is a program that controls adaptive selection of algorithms.
  • the sensor device 21 executes the algorithm manager and selects a sensing algorithm according to the sensing conditions.
  • the algorithm manager is set with a combination of information indicating the type of sensing program that controls execution and information indicating the execution order of the sensing programs. In this way, an algorithm manager may be prepared for each sensing program set.
  • FIG. 13 is a diagram showing an example of updating the sensing program.
  • a sensing program may be executed in each of the sensor device 21 and the controller 51, which is a device on the host side, to realize a predetermined function such as a distance measuring function.
  • the sensing program of the controller 51 can be updated in the same manner as the sensing program of the sensor device 21.
  • the controller 51 is a data processing device on the host side, such as the CPU of the mobile terminal 2-1 and the CPU of the PC mounted on the arm robot 2-2.
  • a sensing program for updating the firmware of the sensor device 21 and a sensing program for updating the firmware of the controller 51 may be included in one sensing program set and provided.
  • the sensing program and the sensing program set may be provided for a fee or for free.
  • a paid sensing program and a free sensing program may be mixed and included in one sensing program set.
  • the sensor device 21 is authenticated by the program management server 1 based on the key information for authentication, and the update is performed when it is confirmed that the device is a legitimate device. You may be asked. Key information for authentication is prepared as unique information in each sensor device 21.
  • the authentication of the sensor device 21 using the key information for authentication may be performed not when the sensing program is updated, but when the sensing program is executed.
  • FIG. 14 is a diagram showing an example of a sensing program provider.
  • the sensing program provided from the program management server 1 to each device is developed by, for example, a developer who has registered as a user of the service in the program providing system.
  • Information on the specifications of the sensor device 21 and development tools such as SDK (Software Development Kit) are provided to each developer by a service provider that operates a service using the program providing system.
  • Each developer develops a sensing program and a sensing program set by using the SDK, etc., and uploads them from their own computer to the program management server 1.
  • the uploaded sensing program and sensing program set are stored and managed in the sensing program DB.
  • the program management server 1 manages the usage status of each sensing program and sensing program set, such as the number of installations and the number of executions in each device.
  • the service provider may provide the developer with a predetermined incentive such as payment of an amount according to the usage situation and issuance of points.
  • FIG. 15 is a diagram showing an example of generating a sensing program set.
  • a sensing program set may be generated by an arbitrary user collecting the sensing programs developed and uploaded by each developer.
  • an indoor distance measurement program set is generated by combining the three sensing programs of the distance measurement programs A to G, the distance measurement program D, the distance measurement program E, and the distance measurement program F. There is.
  • the indoor distance measurement program set generated in this way is published on the program management server 1 as an installable sensing program set, and is installed in a predetermined device.
  • the incentive may be provided to the user who generated the sensing program set by combining a plurality of sensing programs.
  • the sensor device 21 mounted on the material handling robot 2-5 performs human sensing according to a sensing program. Is done. In order to serve food to the person who ordered it, it is necessary to recognize the people around and identify the person who ordered the food.
  • FIG. 16 is a diagram showing a state of transportation by the transportation robot 2-5.
  • FIG. 16 shows the state of the transport robot 2-5 that moves the kitchen in the building. Cooked food is placed on the top plate prepared as a stand for the objects to be transported. In this example, the transport robot 2-5 is used for serving food.
  • the transport robot 2-5 plans the movement route, avoids obstacles, etc. based on the result of human sensing by the sensor device 21, moves to the destination, and serves the food. Further, the material handling robot 2-5 controls the customer service method based on the result of human sensing by the sensor device 21.
  • FIG. 17 is an enlarged view showing the appearance of the material handling robot 2-5.
  • the transport robot 2-5 is configured by connecting an annular base portion 101 and a circular thin plate-shaped top plate 102 with a thin rod-shaped support arm 103.
  • a plurality of tires are provided on the bottom surface side of the base portion 101.
  • the base portion 101 functions as a moving portion that realizes the movement of the transport robot 2-5.
  • the radial length of the base portion 101 and the radial length of the top plate 102 are substantially the same length.
  • the support arm 103 is in an oblique state as shown in FIG.
  • the support arm 103 is composed of an arm member 103-1 and an arm member 103-2.
  • the diameter of the arm member 103-1 on the top plate 102 side is one size smaller than the diameter of the arm member 103-2 on the base portion 101 side.
  • the angle of the support arm 103 can be adjusted at each of the connecting portion between the base portion 101 and the support arm 103 and the connecting portion between the top plate 102 and the support arm 103.
  • FIG. 18 is a diagram showing an example of the posture of the transport robot 2-5 when loading food.
  • the height of the top plate 102 becomes substantially the same as the height of the top plate of the cooking robot 2-4. It has been adjusted.
  • the food is placed on the top plate 102 by the cooking arm of the cooking robot 2-4.
  • the dish prepared by the cooking operation of the cooking robot 2-4 is placed by the cooking arm.
  • the cooking robot 2-4 is provided with a plurality of cooking arms that perform various cooking operations such as cutting ingredients, baking ingredients, and serving cooked ingredients.
  • the cooking operation by the cooking arm is performed according to the cooking data that defines the content and order of the cooking operation.
  • Cooking data includes information about each cooking process leading up to the completion of cooking.
  • the dishes served by the transport robot 2-5 are the dishes prepared by the cooking robot 2-4.
  • a person-made dish may be placed on the top plate 102 by a person and served.
  • FIG. 19 is a plan view showing the layout of the space in which the transport robot 2-5 moves.
  • kitchen # 1 and hall # 2 are prepared in the restaurant where the transport robot 2-5 moves. There is a corridor # 11 between kitchen # 1 and hall # 2.
  • a garden # 21 is provided facing the hall # 2. Not only in Hall # 2, but also in Garden # 21, there will be tables for customers to eat.
  • the customer service provided by the material handling robot 2-5 includes accepting orders, serving food, and providing drinks.
  • Human sensing by the sensor device 21 mounted on the material handling robot 2-5 is performed by using an algorithm according to the human sensing conditions set according to the situation of the material handling robot 2-5 such as the place where the material handling robot 2-5 is located. ..
  • a sensing program that performs human sensing is adaptively selected according to human sensing conditions and executed in the sensor device 21.
  • FIG. 20 is a diagram showing an example of a sensing algorithm defined by a sensing program prepared in the material handling robot 2-5.
  • the transport robot 2-5 is provided with a personal identification algorithm A1 and an attribute recognition algorithm A2 as sensing algorithms used for human sensing.
  • the personal identification algorithm A1 is a sensing algorithm used to identify who the target person is the target of sensing and to recognize the attributes of the target person.
  • Subject attributes include gender and age.
  • the attributes of the subject include features that appear in appearance such as the dominant hand and the length of the hair.
  • the attribute recognition algorithm A2 is a sensing algorithm used to recognize the attributes of the target person.
  • the attribute recognition algorithm A2 does not identify the target person, but only recognizes the attributes of the target person.
  • a sensing algorithm for each situation such as an indoor sensing algorithm, an outdoor sensing algorithm, a dark place sensing algorithm, and the like is prepared.
  • the personal identification algorithm A1-1 is an indoor sensing algorithm
  • the personal identification algorithm A1-2 is an outdoor sensing algorithm
  • the personal identification algorithm A1-3 is a sensing algorithm for a dark place.
  • the attribute recognition algorithm A2-1 is an indoor sensing algorithm
  • the attribute recognition algorithm A2-2 is an outdoor sensing algorithm
  • the attribute recognition algorithm A2-3 is a sensing algorithm for a dark place.
  • the transport robot 2-5 has a sensing program that defines each individual identification algorithm A1 according to the human sensing conditions set according to the situation, and a sensing program that defines each attribute recognition algorithm A2. Be prepared. In the material handling robot 2-5, the personal identification algorithm A1 or the attribute recognition algorithm A2 according to the human sensing conditions is selected, and human sensing is performed.
  • the personal identification algorithm A1 and the attribute recognition algorithm A2 are prepared for the purpose of identifying who the target person is along with the attributes or only the attributes. This is because the algorithms are different.
  • the sensing algorithm for each situation is prepared for each of the personal identification algorithm A1 and the attribute recognition algorithm A2 because it is necessary to change the processing in order to ensure the accuracy depending on the situation such as the place where the target person is. is there.
  • a sensing algorithm that is resistant to direct sunlight is required. Since the noise differs depending on the weather such as rain or cloudy weather, a sensing algorithm corresponding to each weather is required.
  • the use case 1 is a use case in which the transport robot 2-5 confirms the entry of a customer in the restaurant shown in FIG.
  • the attribute of the customer is recognized using the attribute recognition algorithm A2. Based on the attribute recognition result, for example, the transport robot 2-5 performs a process of determining a seat to be guided.
  • Use case 2 is a use case for confirming the quantity and cooking preference when receiving an order.
  • use case 2 there are a case where the personal identification algorithm A1 is used and a case where the attribute recognition algorithm A2 is used.
  • the attribute of the customer is recognized by using the attribute recognition algorithm A2.
  • the person who accepted the order and the person who did not accept the order are identified.
  • the customer's attribute information is saved.
  • the stored information will be used for customer service such as when visiting the store next time.
  • how to accept orders is determined based on the attribute recognition result. For example, if the other party is a woman, when accepting an order, a confirmation is made as to whether or not to reduce the quantity. In addition, when the other party is a child, when proposing a recommended drink, a drink other than an alcoholic drink is suggested.
  • how to accept the order is decided according to the order history of the person. For example, processing is performed such as presenting the order details at the time of the previous visit, analyzing the person's preference from the order history, and proposing a recommended dish. In addition, processing is performed such as proposing dishes based on information on the person's tastes and allergies, and explaining menus according to the background of the person's knowledge.
  • Use case 3 is a use case for delivering (serving) food to customers in the hall.
  • the attribute of the customer is recognized by using the attribute recognition algorithm A2.
  • the food is delivered to the target person who ordered.
  • the attribute of the person who serves the food is set preferentially, the food is delivered preferentially to the person with the set attribute.
  • the process of changing the serving direction is performed according to the dominant hand of the target person.
  • FIG. 21 is a block diagram showing a configuration example of the hardware of the transport robot 2-5.
  • the transport robot 2-5 is configured by connecting the top plate elevating drive unit 122, the tire drive unit 123, the sensor group 124, and the communication unit 125 to the controller 121.
  • the sensor device 21 is also connected to the controller 121.
  • the controller 121 has a CPU, ROM, RAM, flash memory, and the like.
  • the controller 121 executes a predetermined program and controls the entire operation of the transport robot 2-5 including the sensor device 21.
  • the controller 121 corresponds to the controller 51 (FIG. 13) on the host side.
  • the top plate elevating drive unit 122 is composed of a motor provided at a connecting portion between the base portion 101 and the support arm 103, a connecting portion between the top plate 102 and the support arm 103, and the like.
  • the top plate elevating drive unit 122 drives each connecting unit.
  • the top plate elevating drive unit 122 is composed of a rail and a motor provided inside the support arm 103.
  • the top plate elevating drive unit 122 expands and contracts the support arm 103.
  • the tire drive unit 123 is composed of a motor for driving the tires provided on the bottom surface of the base unit 101.
  • the sensor group 124 is composed of various sensors such as a positioning sensor, a gyro sensor, an acceleration sensor, a temperature sensor, and an illuminance sensor.
  • the sensor data representing the detection result by the sensor group 124 is output to the controller 121.
  • the communication unit 125 is a wireless communication module such as a wireless LAN module and a mobile communication module.
  • the communication unit 125 communicates with an external device such as the program management server 1.
  • FIG. 22 is a block diagram showing a functional configuration example of the transport robot 2-5.
  • At least a part of the functional units shown in FIG. 22 is realized by executing a predetermined program by the CPU constituting the controller 121 and the CPU constituting the controller 31 of the sensor device 21.
  • a route information acquisition unit 151 a positioning control unit 152, a movement control unit 153, an attitude control unit 155, an environmental data acquisition unit 156, and an ambient state recognition unit 157 are realized.
  • the sensor device 21 is a data processing device that controls a sensing algorithm.
  • the route information acquisition unit 151 of the controller 121 controls the communication unit 125 and receives the destination and movement route information transmitted from the control device (not shown). The information received by the route information acquisition unit 151 is output to the movement control unit 153.
  • the movement route may be planned by the route information acquisition unit 151 based on the destination and the current position of the transport robot 2-5.
  • the route information acquisition unit 151 functions as an operation plan setting unit that plans the operation of the transport robot 2-5 and sets the operation plan.
  • the positioning control unit 152 detects the current position of the material handling robot 2-5. For example, the positioning control unit 152 generates a map of the space in which the cooking robots 2-4 are installed, based on the detection results of the distance sensors constituting the sensor device 21.
  • the sensor data output from the sensor device 21 is acquired by the environmental data acquisition unit 156 and supplied to the positioning control unit 152.
  • the positioning control unit 152 detects the current position by specifying its own position on the generated map.
  • the information of the current position detected by the positioning control unit 152 is output to the movement control unit 153.
  • the detection of the current position by the positioning control unit 152 may be performed based on the output of the positioning sensors constituting the sensor group 124.
  • the detection of the current position of the material handling robot 2-5 may be performed by the sensor device 21.
  • the movement control unit 153 controls the movement of the transport robot 2-5 based on the information supplied from the route information acquisition unit 151 and the current position detected by the positioning control unit 152 by controlling the tire drive unit 123. To do.
  • the movement control unit 153 controls the movement so as to avoid the obstacle when the information regarding the surrounding obstacle is supplied from the surrounding state recognition unit 157.
  • Obstacles include various moving and stationary objects such as people, furniture, and home appliances. In this way, the movement control unit 153 controls the movement of the transport robot 2-5 accompanying the transport of the transport object based on the result of human sensing by the sensor device 21.
  • the attitude control unit 155 controls the top plate elevating drive unit 122 and controls the attitude of the transport robot 2-5. Further, the attitude control unit 155 controls the moving posture of the transport robot 2-5 so as to keep the top plate 102 horizontal in conjunction with the control by the movement control unit 153.
  • the attitude control unit 155 controls the posture of the material handling robot 2-5 according to the surrounding state recognized by the surrounding state recognition unit 157. For example, the attitude control unit 155 uses the transport robot 2 so that the height of the top plate 102 approaches the height of the top plate of the cooking robot 2-4 or the top plate of the dining table recognized by the surrounding state recognition unit 157. Control the posture of -5.
  • the environmental data acquisition unit 156 controls the sensor device 21 to perform human sensing, and acquires sensor data representing the result of human sensing.
  • the sensor data acquired by the environmental data acquisition unit 156 is supplied to the positioning control unit 152 and the ambient state recognition unit 157.
  • the surrounding state recognition unit 157 recognizes the surrounding state based on the sensor data representing the result of human sensing supplied from the environmental data acquisition unit 156.
  • Information representing the recognition result by the surrounding state recognition unit 157 is supplied to the movement control unit 153 and the attitude control unit 155.
  • the surrounding state recognition unit 157 When the sensor device 21 performs detection of an obstacle, measurement of the distance to the obstacle, estimation of the direction of the obstacle, estimation of the self-position, etc., the surrounding state recognition unit 157 provides information on the obstacle to the surroundings. It is output as information indicating the recognition result of the state of.
  • the surrounding state recognition unit 157 may perform detection of obstacles, measurement of the distance to obstacles, estimation of the direction of obstacles, estimation of self-position, etc. based on the sensing result by the sensor device 21. In this case, the sensor data used for each process performed by the ambient state recognition unit 157 will be detected by the sensor device 21.
  • the content of the processing performed by the sensor device 21 is arbitrary. That is, the raw data detected by the sensor provided in the sensor device 21 may be supplied to the controller 121 as the sensor data as it is, or the raw data is processed and analyzed on the sensor device 21 side and processed. And the result of the analysis may be sensor data and supplied to the controller 121.
  • the status detection unit 201 on the sensor device 21 side detects the status of the material handling robot 2-5.
  • the situation of the transport robot 2-5 is detected based on, for example, the sensor data output by the sensors constituting the sensor group 124 or the sensor data output by the sensor provided in the sensor device 21.
  • the situation of the material handling robot 2-5 includes, for example, the operation of the material handling robot 2-5 such as what kind of operation is being performed, the place where the material handling robot 2-5 is located, the weather and temperature of the place where the material handling robot 2-5 is located. , Humidity, brightness included.
  • the situation of the material handling robot 2-5 also includes an external situation such as the situation of a person with whom the material handling robot 2-5 is communicating and the situation of obstacles around the material handling robot 2-5.
  • the situation detection unit 201 outputs information representing the situation of such a transport robot 2-5 to the sensing control unit 202.
  • the sensing control unit 202 selects a sensing algorithm according to the human sensing condition of performing human sensing in the situation detected by the situation detection unit 201, and executes a sensing program that defines the selected sensing algorithm.
  • a sensing algorithm or a sensing program is associated with each person's sensing condition.
  • the sensing control unit 202 selects a sensing algorithm or a sensing program according to the human sensing condition by using the ID as the identification data.
  • the sensing program set may be selected according to the human sensing conditions.
  • the sensing control unit 202 drives each sensor provided in the sensor device 21 by executing a sensing program, and performs human sensing based on the output of each sensor.
  • the sensing control unit 202 outputs sensor data representing the result of human sensing to the controller 121.
  • the sensing control unit 202 appropriately outputs various sensor data other than the result of human sensing.
  • step S1 the sensing control unit 202 performs the accuracy selection process.
  • the accuracy selection process selects a sensing algorithm to ensure the accuracy of human sensing. The details of the precision selection process will be described later with reference to the flowchart of FIG. 24.
  • step S2 the sensing control unit 202 performs human sensing processing.
  • the human sensing process is a process according to the use case as described above. The details of the human sensing process will be described later with reference to the flowchart of FIG. 27.
  • step S1 of FIG. 23 the precision selection process performed in step S1 of FIG. 23 will be described with reference to the flowchart of FIG. 24.
  • step S11 the situation detection unit 201 detects the location of the transport robot 2-5 based on the sensor data from the sensor group 124 or the sensor data output by each sensor constituting the sensor device 21.
  • the situation of the transport robot 2-5 may be detected by using both the sensor data from the sensor group 124 and the sensor data output by each sensor constituting the sensor device 21.
  • step S12 the sensing control unit 202 determines whether or not the location of the material handling robot 2-5 is indoors based on the detection result by the situation detection unit 201.
  • step S13 the sensing control unit 202 selects the basic algorithm for indoor use and performs human sensing.
  • the basic indoor algorithm is a sensing algorithm that performs human sensing by adjusting the shooting parameters of the RGB camera 32A, such as shutter speed and sensitivity, according to the intensity of ambient light.
  • the shutter speed is set from standard to slower, and the sensitivity is set from standard to higher.
  • step S14 the sensing control unit 202 performs indoor processing.
  • indoor processing a sensing algorithm is selected according to the indoor situation, and human sensing is performed.
  • the sensing algorithm used for human sensing is appropriately switched from the basic indoor algorithm to another sensing algorithm. Details of the indoor processing will be described later with reference to the flowchart of FIG.
  • the sensing control unit 202 selects the basic outdoor algorithm and performs human sensing in step S15.
  • the basic outdoor algorithm is a sensing algorithm that performs human sensing by adjusting the shooting parameters of the RGB camera 32A, such as shutter speed and sensitivity, according to the intensity of ambient light.
  • the shutter speed is set from standard to faster, and the sensitivity is set from standard to lower.
  • step S16 the sensing control unit 202 performs outdoor processing.
  • outdoor processing a sensing algorithm is selected according to the outdoor situation, and human sensing is performed.
  • the sensing algorithm used for human sensing is appropriately switched from the basic outdoor algorithm to another sensing algorithm. Details of the outdoor treatment will be described later with reference to the flowchart of FIG.
  • step S14 After the indoor treatment is performed in step S14 or the outdoor treatment is performed in step S16, the process returns to step S1 in FIG. 23, and the subsequent processing is repeated.
  • step S14 of FIG. 24 Next, the indoor processing performed in step S14 of FIG. 24 will be described with reference to the flowchart of FIG. 25.
  • step S21 the sensing control unit 202 determines whether or not the location of the material handling robot 2-5 is a dark location based on the detection result by the status detection unit 201.
  • the sensing control unit 202 selects a dark place algorithm according to the human sensing condition that human sensing is performed in a dark place. And perform human sensing.
  • the algorithm for dark places is, for example, a sensing algorithm in which the sensitivity of the RGB camera 32A is set higher than the standard sensitivity to shoot an RGB image, and human sensing is performed based on the RGB image obtained by the shooting.
  • the sensing control unit 202 selects a bright place algorithm according to the human sensing condition that human sensing is performed in a bright place. And perform human sensing.
  • the bright place algorithm is, for example, a sensing algorithm in which the sensitivity of the RGB camera 32A is set lower than the standard sensitivity to shoot an RGB image, and human sensing is performed based on the RGB image obtained by the shooting.
  • step S31 the sensing control unit 202 determines whether or not the weather at the place where the material handling robot 2-5 is located is fine. Whether or not the weather is fine is determined based on the situation detection result by the situation detection unit 201.
  • step S32 the sensing control unit 202 determines whether or not the location is likely to be shaded.
  • the sensing control unit 202 is an algorithm resistant to shadow noise according to the human sensing condition of performing human sensing in a location where shadows are likely to occur.
  • the sensing algorithm selected here is a sensing algorithm that adjusts the shooting parameters of the RGB camera 32A so as to expand the dynamic range of brightness, performs shooting, and performs human sensing based on the RGB image obtained by shooting. ..
  • the sensing program that defines the selected sensing algorithm is executed, and human sensing is performed. The same applies when another sensing algorithm is selected.
  • the sensing control unit 202 selects an algorithm that is strong against direct sunlight according to the human sensing condition that human sensing is performed in direct sunlight. ..
  • the sensing algorithm selected here is a sensing algorithm that adjusts the shooting parameters of the RGB camera 32A so as to increase the shutter speed and reduce the sensitivity, and then performs human sensing based on the RGB image obtained by shooting. Is.
  • step S31 determines whether the weather is fine. If it is determined in step S31 that the weather is not fine, the process proceeds to step S35.
  • step S35 the sensing control unit 202 determines whether or not it is raining. Whether or not it is raining is determined based on the situation detection result by the situation detection unit 201.
  • the sensing control unit 202 selects an algorithm that is resistant to rain noise according to the human sensing condition that human sensing is performed in a place where it is raining. ..
  • the sensing algorithm selected here is a sensing algorithm that performs human sensing based on the RGB image after noise removal after performing image processing for noise removal on the RGB image captured by the RGB camera 32A.
  • noise removal technology for example, "https://digibibo.com/blog-entry-3422.html", “http://www.robot.tu-tokyo.ac.jp/ ⁇ yamashita/paper/A” /A025Final.pdf "is disclosed.
  • the sensing control unit 202 selects an algorithm applicable to a dim place according to the human sensing condition of performing human sensing in a dim place.
  • the sensing algorithm selected here is a sensing algorithm that adjusts the shooting parameters of the RGB camera 32A so as to slow down the shutter speed and increase the sensitivity, and then performs human sensing based on the RGB image obtained by shooting. Is.
  • step S2 of FIG. 23 the human sensing process performed in step S2 of FIG. 23 will be described with reference to the flowchart of FIG. 27.
  • the process of FIG. 27 is performed, for example, after the transport robot 2-5 has moved to the vicinity of the target person who receives the order.
  • step S51 the sensing control unit 202 determines whether or not to perform personal identification when receiving an order.
  • step S52 the sensing control unit 202 performs human sensing using a personal identification algorithm according to the human sensing condition of performing personal identification.
  • step S53 the sensing control unit 202 performs human sensing using the attribute recognition algorithm according to the human sensing condition of performing attribute recognition.
  • step S54 After human sensing is performed using the algorithm selected depending on whether or not personal identification is performed, the process proceeds to step S54.
  • step S54 the controller 121 (for example, the surrounding state recognition unit 157) determines whether or not the person specified by human sensing is the first customer to visit the store based on the result of human sensing.
  • step S55 the controller 121 handles the customer for the first visit.
  • step S56 the controller 121 accepts an order based on the result of personal identification or the result of recognition of attributes. For example, if the person identified by human sensing is a woman, it is confirmed whether to reduce the amount.
  • step S54 determines whether the customer is the first customer to visit the store. If it is determined in step S54 that the customer is not the first customer to visit the store, the controller 121 responds according to the number of visits in step S57. After the customer has been dealt with in step S56 or step S57, the process proceeds to step S58.
  • step S58 when the personal identification algorithm is used, the sensing control unit 202 switches the sensing algorithm used for human sensing to the attribute recognition algorithm. After that, the process returns to step S2 of FIG. 23, and the above-described processing is repeated.
  • the process of FIG. 28 is performed after, for example, the transport robot 2-5 has moved to the vicinity of the target person (orderer) who is the serving partner.
  • step S71 the sensing control unit 202 of the sensor device 21 performs human sensing using the attribute recognition algorithm according to the human sensing condition of performing attribute recognition.
  • step S72 the controller 121 determines whether or not there is an orderer who should be served preferentially based on the result of human sensing by the sensor device 21.
  • step S73 the sensing control unit 202 searches for the orderer to be served preferentially.
  • step S72 if it is determined in step S72 that there is no orderer to be served preferentially, the sensing control unit 202 searches for the nearest orderer in step S74.
  • step S73 After the search for the orderer is performed in step S73 or step S74, the process proceeds to step S75.
  • step S75 the controller 121 (for example, the movement control unit 153) moves based on the result of human sensing by the sensor device 21. For example, the transport robot 2-5 is moved so as to approach the orderer found by the search.
  • step S76 the controller 121 determines whether or not to change the serving direction based on the result of human sensing by the sensor device 21. For example, when the position of the transport robot 2-5 is the position on the hand side opposite to the dominant hand of the orderer, it is determined that the serving direction is changed. On the contrary, when the position of the transport robot 2-5 is the position on the dominant hand side of the orderer, it is determined that the serving direction is not changed.
  • step S77 the controller 121 moves the transport robot 2-5 to change the serving direction. If it is determined in step S76 that the serving direction is not changed, the process of step S77 is skipped.
  • step S78 for example, the attitude control unit 155 of the controller 121 controls the attitude of the transport robot 2-5, adjusts the height of the top plate 102 to the height of the table used by the customer, and cooks for the orderer. Serve.
  • step S79 the sensing control unit 202 determines whether or not all the dishes have been served.
  • step S79 If it is determined in step S79 that there is a dish that has not been served, the process returns to step S72 and the above-mentioned process is repeated.
  • step S80 the sensing control unit 202 performs human sensing using the attribute recognition algorithm. After that, the process returns to step S2 of FIG. 23, and the above-described processing is repeated.
  • the transport robot 2-5 can select a sensing algorithm according to the situation such as the place where it is, and perform human sensing.
  • the material handling robot 2-5 can control various operations such as serving, based on the result of human sensing performed using a sensing algorithm selected according to the situation.
  • the use case 4 is a use case for serving a drink.
  • the attribute of the customer is recognized using the attribute recognition algorithm A2.
  • the transport robot 2-5 Based on the attribute recognition result, for example, the transport robot 2-5 performs a process of determining the type of drink to be served. For example, when the attribute of the person to be served is a child, drinks other than alcoholic drinks are served.
  • the use case 5 is a use case in which sweets such as gum and candy are delivered according to the ordered dish.
  • the attribute of the customer is recognized using the attribute recognition algorithm A2. Based on the recognition result of the attribute, for example, the transport robot 2-5 performs a process of associating and managing the attribute of the orderer and the dish ordered by the person. If someone leaves the store after eating, they will be given sweets according to the food they ordered.
  • Use case 6 is a use case for serving foodstuffs.
  • use case 6 there are a case where the personal identification algorithm A1 is used and a case where the attribute recognition algorithm A2 is used.
  • the cooking robot 2-4 serves the ingredients by driving the cooking arm and arranging the cooked ingredients at a predetermined position on the tableware. Based on the result of object sensing by the sensor device 21 or the like, the position of the cooked food, the position of the tableware, and the like are recognized and arranged.
  • the attribute recognition algorithm A2 In the case where the attribute recognition algorithm A2 is used, the attribute of the person who ordered the dish being served is recognized by using the attribute recognition algorithm A2.
  • the arrangement method is changed, for example, if the target person who ordered is a woman, use feminine tableware, and if the target person is a child, arrange for children. To.
  • the cooking robot 2-4 Based on the individual identification result, for example, the cooking robot 2-4 performs a process of changing the way of serving or changing the ingredients to be used according to the taste of the person.
  • Use case 7 is a use case for determining a menu. Cooking by the cooking robot 2-4 is performed according to the cooking data according to the menu. The cooking data includes information that defines the content and order of cooking operations of the cooking arm in each cooking process leading up to the completion of cooking.
  • the personal identification algorithm A1 is used to recognize who the target person is along with the attributes.
  • the history of the dietary content of the subject is specified, and the menu considering the nutritional balance is determined.
  • Use case 8 is a use case for cooking at home.
  • the personal identification algorithm A1 is used to recognize who the target person is along with the attributes.
  • cooking is performed using the oldest ingredients in order.
  • processing is performed to change the cooking content (taste intensity, roasting, hot water, etc.) according to the health status of the family.
  • the use case 9 is a use case for washing hands.
  • a groove for washing hands is provided at a predetermined position on the top plate of the cooking robot 2-4.
  • the groove is provided with a configuration in which water or a cleaning liquid is sprayed toward the hand.
  • the attribute recognition algorithm A2 In the case where the attribute recognition algorithm A2 is used, the attribute of the person washing the hands is recognized by using the attribute recognition algorithm A2.
  • the strength of cleaning and the type of cleaning liquid are changed according to the preference of the individual.
  • Use case 10 is a use case when the cooking robot 2-4 is used.
  • the attribute of the target person is recognized by using the attribute recognition algorithm A2.
  • the cooking robot 2-4 controls so that the child cannot use it.
  • FIG. 29 is a diagram showing an example of application of human sensing.
  • the serving system shown in FIG. 29 is a system composed of a transport robot 2-5.
  • human sensing is performed according to the use case by the process described with reference to FIG. 23.
  • the in-store surveillance system shown in FIG. 29 is a system that uses the sensor device 21 as a surveillance camera. Sensor devices 21 are attached to each position in the store. Also in the in-store monitoring system, human sensing is performed according to the use case by the same process as the process described with reference to FIG. 23.
  • FIG. 30 is a diagram showing an example of control of the sensing algorithm.
  • the selection of the sensing algorithm according to the sensing conditions is performed by the program management server 1 which is an external device.
  • the configuration of the controller 31 of FIG. 22 is realized in the program management server 1.
  • the program management server 1 is a data processing device that controls a sensing program executed by the sensor device 21 mounted on the material handling robot 2-5.
  • the transport robot 2-5 transmits the sensor data used for detecting the situation to the program management server 1, and the execution of the sensing program is requested.
  • the status detection unit 201 of the program management server 1 detects the status of the transport robot 2-5 based on the sensor data transmitted from the transport robot 2-5. Further, the human sensing condition according to the situation of the material handling robot 2-5 is determined by the sensing control unit 202, and the sensing algorithm is selected.
  • the sensing control unit 202 of the program management server 1 transmits and executes a sensing program that defines a sensing algorithm according to human sensing conditions to the sensor device 21 mounted on the material handling robot 2-5.
  • control of the sensing algorithm may be performed by an external device of the sensor device 21.
  • the controller 121 of the material handling robot 2-5 on which the sensor device 21 is mounted as an external device so that the sensing algorithm is controlled by the controller 121.
  • the program management server 1 or the controller 121 which is an external device, executes a sensing program that defines a sensing algorithm according to human sensing conditions, and transmits information indicating the execution result to the sensor device 21. Good.
  • FIG. 31 is a block diagram showing a configuration example of the hardware of the computer that realizes the program management server 1.
  • the CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • An input / output interface 1005 is further connected to the bus 1004.
  • An input unit 1006 including a keyboard and a mouse, and an output unit 1007 including a display and a speaker are connected to the input / output interface 1005.
  • the input / output interface 1005 is connected to a storage unit 1008 including a hard disk and a non-volatile memory, a communication unit 1009 including a network interface, and a drive 1010 for driving the removable media 1011.
  • the control of the sensing algorithm as described above is realized by executing a predetermined program by the CPU 1001.
  • the installed program is provided by being recorded on the removable media 1011 shown in FIG. 31 consisting of an optical disk (CD-ROM (Compact Disc-Read Only Memory), DVD (Digital Versatile Disc), etc.), a semiconductor memory, or the like. It may also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting.
  • the program can be pre-installed in the ROM 1002 or the storage unit 1008.
  • the program executed by the computer may be a program that is processed in chronological order according to the order described in this specification, or may be a program that is processed in parallel or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a device in which a plurality of modules are housed in one housing are both systems. ..
  • this technology can have a cloud computing configuration in which one function is shared by a plurality of devices via a network and jointly processed.
  • each step described in the above flowchart can be executed by one device or shared by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step can be executed by one device or shared by a plurality of devices.
  • Program management server 2-1 mobile terminal, 2-2 arm robot, 2-3 mobile body, 2-4 cooking robot, 2-5 transport robot, 21 sensor device, 31 controller, 32 sensor group, 121 controller, 124 Sensor group, 201 status detection unit, 202 sensing control unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)

Abstract

本技術は、適切なアルゴリズムを用いて、人のセンシングを行うことができるようにするデータ処理装置、データ処理方法、ロボットに関する。 本技術の一側面のデータ処理装置は、ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択して実行する。本技術は、各種の装置に搭載されるセンサデバイスに適用することができる。

Description

データ処理装置、データ処理方法、ロボット
 本技術は、特に、適切なアルゴリズムを用いて、人のセンシングを行うことができるようにしたデータ処理装置、データ処理方法、ロボットに関する。
 従来、機能の追加や他のデバイスとの互換性の確保といった観点から、デバイスのソフトウェアを更新する技術が各種提案されている。
 例えば、特許文献1には、カメラと通信装置の組み合わせによって実現可能なサービスを判定し、そのサービスを提供するソフトウェアをインストールする技術が開示されている。
 また、特許文献2には、撮像デバイス上のファームウェアがホスト・システムと互換性がないことを検出した場合に、撮像デバイスとホスト・システムとの間でファームウェアを更新する技術が開示されている。
特開2007-286850号公報 特表2002-504724号公報
 カメラなどの撮像デバイスのソフトウェアを変更する技術については各種開示されているものの、センシングを行うデバイスのソフトウェアを、センシング対象の状況などに応じて適応的に変更することについては開示されていない。
 本技術はこのような状況に鑑みてなされたものであり、適切なアルゴリズムを用いて、人のセンシングを行うことができるようにするものである。
 本技術の第1の側面のデータ処理装置は、ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択して実行するセンシング制御部を備える。
 本技術の第2の側面のデータ処理装置は、ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択し、前記ロボットに対して送信するデータ処理部を備える。
 本技術の第3の側面のロボットは、センシング結果を表すセンサデータを出力するセンサと、前記センサから出力された前記センサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択して実行するセンシング制御部と、前記センシング制御部による前記人センシングプログラムの実行結果に基づいて、動作計画を設定する動作計画設定部と、前記動作計画設定部により設定された前記動作計画に従って動作を行う動作部とを備える。
 本技術の第1の側面においては、ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムが、人センシング条件に応じて適応的に選択して実行される。
 本技術の第2の側面においては、ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムが、人センシング条件に応じて適応的に選択され、ロボットに対して送信される。
 本技術の第3の側面においては、センシング結果を表すセンサデータを出力するセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムが、人センシング条件に応じて適応的に選択して実行され、人センシングプログラムの実行結果に基づいて、動作計画が設定され、設定された動作計画に従って動作が行われる。
本技術の一実施形態に係るプログラム提供システムの構成例を示す図である。 センサデバイスの構成例を示す図である。 センサデバイスの外観の例を示す図である。 センシングプログラムの例を示す図である。 センシングプログラムの他の例を示す図である。 センシングプログラムのさらに他の例を示す図である。 センシングプログラムの更新の例を示す図である。 センシングプログラムの更新の例を示す図である。 センシングプログラムの更新の他の例を示す図である。 センシングプログラムセットの例を示す図である。 センシングプログラムセットの例を示す図である。 センシングプログラムセットの例を示す図である。 センシングプログラムの更新の例を示す図である。 センシングプログラムの提供元の例を示す図である。 センシングプログラムセットの生成の例を示す図である。 運搬ロボットによる運搬の様子を示す図である。 運搬ロボットの外観を拡大して示す図である。 料理を載せるときの運搬ロボットの姿勢の例を示す図である。 運搬ロボットが移動する空間のレイアウトを示す平面図である。 センシングアルゴリズムの例を示す図である。 運搬ロボットのハードウェアの構成例を示すブロック図である。 運搬ロボットの機能構成例を示すブロック図である。 運搬ロボットの処理について説明するフローチャートである。 図23のステップS1において行われる精度選択処理について説明するフローチャートである。 図24のステップS14において行われる屋内処理について説明するフローチャートである。 図24のステップS16において行われる屋外処理について説明するフローチャートである。 図23のステップS2において行われる人センシング処理について説明するフローチャートである。 図23のステップS2において行われる人センシング処理について説明するフローチャートである。 人センシングの適用例を示す図である。 センシングアルゴリズムの制御の例を示す図である。 プログラム管理サーバを実現するコンピュータのハードウェアの構成例を示すブロック図である。
<本技術の概要>
 本技術は、ロボット、移動体、スマートフォンなどの各種の装置に搭載されるセンサデバイスにおいて、最適なアルゴリズムを用いてセンシングを行うことが以下のような要因によって困難である点に着目し、その解決方法を実現するものである。
 要因
 ・要素技術の種類が多い
 ・要素技術の成熟度が様々
 ・コストのバリエーションが多い
 ・用途のバリエーションが多い
 ・システムの設計と実装の難易度が高い
 ・ユーザの要求の種類が多い
 ・プロセッサのパワー、消費電力、回路規模等の、実装上の制約が多い
 ・センシング対象の種類が多い
 本技術は、特に、人のセンシングを行うセンサデバイスにおいて、センシングに関するアルゴリズムであるセンシングアルゴリズムとして、最適なアルゴリズムを用いてセンシングを行うことができるようにするものである。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.プログラム提供システム
 2.センシングプログラムのユースケース
 3.運搬ロボットの構成と動作
 4.他のユースケース
 5.変形例
<プログラム提供システム>
 図1は、本技術の一実施形態に係るプログラム提供システムの構成例を示す図である。
 図1のプログラム提供システムは、プログラム管理サーバ1に対して、携帯端末2-1、アームロボット2-2、移動体2-3、調理ロボット2-4、運搬ロボット2-5などの各種の装置が、インターネットなどよりなるネットワーク11を介して接続されることによって構成される。
 携帯端末2-1はスマートフォンである。
 アームロボット2-2は、双腕型のロボットである。アームロボット2-2の筐体には台車が設けられている。アームロボット2-2は移動可能なロボットである。
 移動体2-3は自動車である。移動体2-3には、自動運転の機能などが搭載される。
 調理ロボット2-4は、キッチン型のロボットである。調理ロボット2-4は、複数の調理アームを駆動させることによって調理を行う機能を有する。調理アームにより、人が行う調理動作と同様の動作が再現される。
 運搬ロボット2-5は、載置台として用意された天板の上に運搬対象物を載せ、その状態のまま、目的とする位置まで移動可能なロボットである。運搬ロボット2-5のベース部には車輪が設けられる。
 図1に示す各装置には、環境のセンシング、物体のセンシング、人のセンシングなどに用いられるセンサデバイスが搭載される。
 図2は、センサデバイスの構成例を示す図である。
 図2に示すように、センサデバイス21には、コントローラ31とセンサ群32が設けられる。
 コントローラ31は、センサ群32を構成する各センサを制御して、環境のセンシング、物体のセンシング、人のセンシングなどの、各種の対象のセンシングを行う。コントローラ31によるセンシングは、センサ群32を構成する各センサが出力するセンサデータに基づいて行われる。
 コントローラ31は、センシング結果をホスト側のデバイスに出力する。コントローラ31によるセンシング結果に基づいて、ホスト側のデバイスにおいて各種の処理が行われる。センサデバイス21が携帯端末2-1に搭載される場合、携帯端末2-1のCPU(Central Processing Unit)がホスト側のデバイスとなる。コントローラ31には、ホスト側のデバイスとの間で通信を行う機能も設けられる。
 センサ群32は、各種の対象のセンシングを行う複数のセンサにより構成される。図2の例においては、センサ群32は、RGBカメラ32A、ステレオカメラ32B、ToFセンサ32C、structured-lightセンサ32D、および、LiDAR32Eにより構成される。
 RGBカメラ32Aは、RGB画像用のイメージセンサを有する。RGBカメラ32Aは、イメージセンサを駆動させることによって周囲の様子を撮影し、撮影によって得られたRGB画像をセンサデータとして出力する。
 ステレオカメラ32Bは、ステレオカメラ方式の距離センサであり、距離画像用の2つのイメージセンサを有する。ステレオカメラ32Bは、対象物までの距離を表す距離画像をセンサデータとして出力する。
 ToFセンサ32Cは、ToF(Time Of Flight)方式の距離センサである。ToFセンサ32Cは、対象物までの距離をToF方式で計測し、距離情報をセンサデータとして出力する。
 structured-lightセンサ32Dは、structured-light方式の距離センサである。structured-lightセンサ32Dは、対象物までの距離をstructured-light方式で計測し、距離情報をセンサデータとして出力する。
 LiDAR(Light Detection and Ranging)32Eは、対象物の各点の3次元位置を計測し、計測結果を表す情報をセンサデータとして出力する。
 測位センサ、ジャイロセンサ、加速度センサ、温度センサ、照度センサなどの、図2に示すセンサとは異なるセンサがセンサ群32に含まれるようにしてもよい。
 センサデバイス21が搭載される装置によって、センサ群32を構成するセンサの種類は適宜変更される。1つのセンサによってセンサ群32が構成されるようにしてもよい。
 センサデバイス21は、コントローラ31とセンサ群32を配置した基板によって構成されるようにしてもよいし、図3に示すような、各センサを配置した基板を筐体21A内に収納した装置として構成されるようにしてもよい。
 このような構成を有するセンサデバイス21において、コントローラ31は、センシング用のプログラムであるセンシングプログラムを実行し、環境、物体、人などの各種の対象のセンシング機能を実現する。コントローラ31のセンシング機能は、センサ群32を構成する1つのセンサの出力に基づいて、または、複数のセンサの出力の組み合わせに基づいて実現される。
 環境センシング(環境のセンシング)には、例えば以下のものが含まれる。
 ・RGBカメラ32Aを利用したRGB画像の撮影
 ・ステレオカメラ32B、ToFセンサ32C、structured-lightセンサ32Dの出力を利用した、対象物までの距離の計測
 ・LiDAR32Eの出力を利用した3次元マップの生成
 ・3次元マップを用いた自己位置の推定
 センサデバイス21がセンシングの対象とする環境には、センサデバイス21の外部またはセンサデバイス21が搭載された装置の外部の状態であって、センシングを行うことによって定量的なデータとして表現可能な様々な物理状態が含まれる。
 物体センシング(物体のセンシング)には、例えば以下のものが含まれる。
 ・RGBカメラ32Aにより撮影されたRGB画像を用いた対象物の認識、識別
 ・形状、大きさ、色、温度などの、対象物の特性の計測
 センサデバイス21がセンシングの対象とする物体には、センサデバイス21の周囲またはセンサデバイス21が搭載された装置の周囲にある各種の静止物体と動作物体が含まれる。
 人センシング(人のセンシング)には、例えば以下のものが含まれる。
 ・RGBカメラ32Aにより撮影されたRGB画像を用いた人の認識、人の顔の認識、人の識別
 ・頭部、腕、手、目、鼻などの、人物の特定の部位の認識
 ・ボーン推定を含む、特定の部位の位置の推定
 ・身長、体重などの人の身体的な特徴の推定
 ・年齢、性別などの人の属性の推定
 センサデバイス21がセンシングの対象とする人には、センサデバイス21の周囲またはセンサデバイス21が搭載された装置の周囲にいる人が含まれる。
 コントローラ31は、それぞれのセンシング機能を実現するためのセンシングプログラムとして、アルゴリズムが異なる複数のプログラムを有している。
 図4は、センサデバイス21に用意されるセンシングプログラムの例を示す図である。
 図4の例においては、測距プログラムA、測距プログラムB、測距プログラムCがOS(Operating System)上で動作するファームウェアとして用意されている。測距プログラムA、測距プログラムB、測距プログラムCは、人センシング機能としての測距機能を実現するセンシングプログラムである。
 測距プログラムA、測距プログラムB、測距プログラムCは、同じ測距機能を、それぞれ異なるセンシングアルゴリズムによって実現するセンシングプログラムである。測距プログラムA、測距プログラムB、測距プログラムCは、それぞれ異なるセンシングアルゴリズムを規定する。
 測距プログラムAは、測距アルゴリズムAによって測距を行うセンシングプログラムである。測距プログラムBは、測距アルゴリズムBによって測距を行うセンシングプログラムである。測距プログラムCは、測距アルゴリズムCによって測距を行うセンシングプログラムである。
 例えば、測距アルゴリズムA乃至Cは、同じセンサに異なるパラメータを設定し、センサの出力に基づいて同じ計算を行うことによって距離を算出するといったように、それぞれ異なるパラメータを用いて測距を行うセンシングアルゴリズムである。
 また、測距アルゴリズムA乃至Cは、同じセンサに対して同じパラメータを設定し、センサの出力に基づいて異なる計算を行うことによって距離を算出するといったように、異なる計算方法を用いて測距を行うセンシングアルゴリズムである。
 ステレオカメラ32B、ToFセンサ32C、structured-lightセンサ32Dなどの複数の距離センサが用意されている場合、測距アルゴリズムA乃至Cが、それぞれ異なる距離センサを用いて測距を行うセンシングアルゴリズムであってもよい。
 この場合、例えば、測距アルゴリズムAはステレオカメラ32Bの出力に基づいて測距を行い、測距アルゴリズムBはToFセンサ32Cの出力に基づいて測距を行う。また、測距アルゴリズムCは、structured-lightセンサ32Dの出力に基づいて測距を行う。
 このように、センサデバイス21には、同じ測距機能を実現するためのセンシングプログラムとして、センシングアルゴリズムが異なる複数のプログラムが用意される。それぞれのセンシングアルゴリズムと、それぞれのセンシングアルゴリズムを規定するセンシングプログラムとのうちの少なくともいずれかに対しては、測距に用いるセンサが紐付けられている。センシングプログラムが実行された場合、そのことに連動して、紐付けられているセンサの動作が制御される。
 例えば運搬ロボット2-5に搭載されたセンサデバイス21においては、センシング条件に応じたセンシングアルゴリズムを選択して測距が行われる。センシング条件は、運搬ロボット2-5の状況に応じて決定される、センシングアルゴリズムの選択の条件である。
 例えば、測距アルゴリズムAに適した状況になった場合、測距プログラムAが実行され、測距アルゴリズムAを用いて測距が行われる。また、測距アルゴリズムBに適した状況になった場合、測距プログラムBが実行され、測距アルゴリズムBを用いて測距が行われる。測距アルゴリズムCに適した状況になった場合、測距プログラムCが実行され、測距アルゴリズムCを用いて測距が行われる。
 センシング条件に応じたセンシングアルゴリズム(センシングプログラム)を適応的に選択して測距が行われるため、最適なセンシングアルゴリズムでの測距が可能となる。センシング対象が距離以外の場合も同様である。
 1つのセンシングプログラムは、1つのセンシングアルゴリズムを規定する。センシングプログラムを選択することは、センシングアルゴリズムを選択することに相当する。
 なお、センシングアルゴリズムを適応的に選択することは、センシング条件に対して紐付けられているセンシングアルゴリズムを、その条件になったことが検出されたときに選択することを意味する。想定されるそれぞれの状況に応じたセンシング条件に対しては、適していると考えられるセンシングアルゴリズムが紐付けられている。センシング条件とセンシングアルゴリズムの紐付けが動的に変更されるようにしてもよい。
 図5は、センシングプログラムの他の例を示す図である。
 図5の例においては、食材認識プログラムA、食材認識プログラムB、食材認識プログラムCがOS上で動作するファームウェアとして用意されている。食材認識プログラムA乃至Cは、物体センシング機能としての食材認識機能を実現するセンシングプログラムである。
 食材認識プログラムAは、食材認識アルゴリズムAによって食材認識を行うセンシングプログラムである。食材認識プログラムBは、食材認識アルゴリズムBによって食材認識を行うセンシングプログラムである。食材認識プログラムCは、食材認識アルゴリズムCによって食材認識を行うセンシングプログラムである。例えば調理ロボット2-4に搭載されたセンサデバイス21においては、調理工程などにより決定されるセンシング条件に応じたセンシングアルゴリズムを選択して食材の認識が行われる。
 図6は、センシングプログラムのさらに他の例を示す図である。
 図6の例においては、顔認識プログラムA、顔認識プログラムB、顔認識プログラムCがOS上で動作するファームウェアとして用意されている。顔認識プログラムA乃至Cは、人センシング機能としての顔認識機能を実現するセンシングプログラムである。
 顔認識プログラムAは、顔認識アルゴリズムAによって顔認識を行うセンシングプログラムである。顔認識プログラムBは、顔認識アルゴリズムBによって顔認識を行うセンシングプログラムである。顔認識プログラムCは、顔認識アルゴリズムCによって顔認識を行うセンシングプログラムである。例えば調理ロボット2-4に搭載されたセンサデバイス21においては、調理工程などにより決定されるセンシング条件に応じたセンシングアルゴリズムを選択して顔の認識が行われる。
・センシングプログラムの更新
 図1のプログラム提供システムにおいては、各装置のセンサデバイス21にファームウェアとして用意されるセンシングプログラムの更新が可能とされる。
 図7は、センシングプログラムの更新の例を示す図である。
 図7の矢印で示すように、プログラム管理サーバ1は、各装置に対してセンシングプログラムを提供する。プログラム管理サーバ1は、各装置に提供するセンシングプログラムのDB(Data Base)を有している。
 図7の例においては、測距アルゴリズムDによって測距を行う測距プログラムDが携帯端末2-1に対して提供され、顔認識アルゴリズムHによって顔認識を行う顔認識プログラムHがアームロボット2-2に対して提供されている。
 また、自己位置推定アルゴリズムJによって自己位置推定を行う自己位置推定プログラムJが移動体2-3に対して提供され、物体認識アルゴリズムKによって物体認識を行う物体認識プログラムKが調理ロボット2-4に対して提供されている。人物認識アルゴリズムMによって人物認識を行う人物認識プログラムMが運搬ロボット2-5に対して提供されている。
 図8は、センシングプログラムの更新の例を示す図である。
 各装置のセンサデバイス21においては、図8のAに示すようにセンシングプログラムを追加することが可能とされる。図8のAの例においては、測距アルゴリズムA乃至Cによって測距を行う測距プログラムA乃至Cに対して、測距アルゴリズムDによって測距を行う測距プログラムDが追加されている。
 各装置のセンサデバイス21には、デフォルトの状態では、一般的な状況に応じたセンシングアルゴリズムを規定するセンシングプログラムが用意されている。各装置のセンサデバイス21は、あらかじめ用意されているセンシングプログラムでは対応できない状況になった場合でも、そのような特殊な状況に応じたセンシングアルゴリズムを規定するセンシングプログラムを追加することにより、特殊な状況に対応することが可能となる。
 また、図8のBに示すように、不要になったプログラムを削除(アンインストール)することも可能とされる。図8のBの例においては、破線の枠で示すように、測距プログラムA乃至Cのうちの測距プログラムCが削除されている。
 図9は、センシングプログラムの更新の他の例を示す図である。
 図9に示すように、複数のセンシングプログラムから構成されるセンシングプログラムセット単位での更新も可能とされる。図9の例においては、測距アルゴリズムDによって測距を行う測距プログラムD、測距アルゴリズムEによって測距を行う測距プログラムE、測距アルゴリズムFによって測距を行う測距プログラムFから構成されるセンシングプログラムセットがプログラム管理サーバ1から提供され、追加されている。
 プログラム管理サーバ1のDBには、図10に示すように、複数のセンシングプログラムを場所、状況、目的などの使用条件毎にまとめたセンシングプログラムセットが複数用意されている。
 図10の例においては、屋内測距用のセンシングプログラムセットと屋外測距用のセンシングプログラムセットが用意されている。これらのセンシングプログラムセットは、場所に応じたセンシングプログラムセットである。
 場所に応じたセンシングプログラムセットは、例えば、移動機能を有する装置に搭載されたセンサデバイス21において用いられるセットとなる。同じ屋内でも、キッチン用のセンシングプログラムセット、ダイニングルーム用のセンシングプログラムセットといったように、さらに細かい場所の単位でセンシングプログラムセットが用意されるようにしてもよい。
 海用のセンシングプログラムセット、山用のセンシングプログラムセット、電車内用のセンシングプログラムセットといったように、様々な場所毎のセンシングプログラムセットを用意することも可能である。
 また、図10の例においては、晴天時測距用のセンシングプログラムセットと雨天時測距用のセンシングプログラムセットが用意されている。これらのセンシングプログラムセットは、天気に応じたセンシングプログラムセットである。
 天気に応じたセンシングプログラムセットは、例えば、移動機能を有しており、屋外に移動する可能性がある装置に搭載されたセンサデバイス21において用いられるセットとなる。朝昼夜などの時間帯毎のセンシングプログラムセット、明るさ毎のセンシングプログラムセット、気温毎のセンシングプログラムセットといったように、変化する様々な状況毎のセンシングプログラムセットを用意することも可能である。
 ランニング時用のセンシングプログラムセット、野球時用のセンシングプログラムセット、カレーの調理時用のセンシングプログラムセット、サラダの調理時用のセンシングプログラムセットといったように、様々な目的毎のセンシングプログラムセットを用意することも可能である。
 各装置のセンサデバイス21は、使用条件に応じたセンシングプログラムセットのIDを指定することによって、センシングプログラムをまとめて追加することが可能となる。それぞれのセンシングプログラムセットには、識別データとしてのIDが設定されている。センシングプログラムセットを構成するそれぞれのセンシングプログラムにも、識別データとしてのIDが設定されている。
 同じ測距機能を異なるセンシングアルゴリズムによって実現するセンシングプログラムのセットではなく、図11に示すように、異なる機能を実現するセンシングプログラムのセットが追加されるようにしてもよい。
 図11の例においては、測距プログラムD、顔認識プログラムH、物体認識プログラムKによってセンシングプログラムセットが構成されている。測距プログラムDは、測距アルゴリズムDによって測距を行うセンシングプログラムであり、顔認識プログラムHは、顔認識アルゴリズムHによって顔認識を行うセンシングプログラムである。物体認識プログラムKは、物体認識アルゴリズムKによって物体認識を行うセンシングプログラムである。
 図12は、センシングプログラムセットの例を示す図である。
 図12に示すセンシングプログラムセットには、アルゴリズムの適応的な選択を制御するプログラムであるアルゴリズムマネージャが含まれている。
 センサデバイス21は、アルゴリズムマネージャを実行し、センシング条件に応じたセンシングアルゴリズムを選択することになる。アルゴリズムマネージャには、実行を制御するセンシングプログラムの種類を表す情報と、センシングプログラムの実行順を表す情報との組み合わせが設定されている。このように、センシングプログラムセット毎にアルゴリズムマネージャが用意されるようにしてもよい。
 図13は、センシングプログラムの更新の例を示す図である。
 センサデバイス21とホスト側のデバイスであるコントローラ51とのそれぞれにおいてセンシングプログラムが実行され、測距機能などの所定の機能が実現されるようにしてもよい。この場合、コントローラ51のセンシングプログラムについても、センサデバイス21のセンシングプログラムと同様にして更新することが可能とされる。コントローラ51は、例えば、携帯端末2-1のCPU、アームロボット2-2に搭載されたPCのCPUなどの、ホスト側のデータ処理装置である。
 センサデバイス21のファームウェアを更新するセンシングプログラムと、コントローラ51のファームウェアを更新するセンシングプログラムが1つのセンシングプログラムセットに含められ、提供されるようにしてもよい。
 センシングプログラムとセンシングプログラムセットの提供が、有料で行われるようにしてもよいし、無料で行われるようにしてもよい。1つのセンシングプログラムセットの中に、有料のセンシングプログラムと無料のセンシングプログラムが混在して含まれるようにしてもよい。
 以上のようにして行われるセンシングプログラムの更新時、認証用の鍵情報に基づいてセンサデバイス21の認証がプログラム管理サーバ1により行われ、正当なデバイスであることが確認された場合に更新が行われるようにしてもよい。それぞれのセンサデバイス21には、認証用の鍵情報が固有の情報として用意される。
 認証用の鍵情報を用いたセンサデバイス21の認証が、センシングプログラムの更新時に行われるのではなく、センシングプログラムの実行時に行われるようにしてもよい。
・センシングプログラムの提供元
 図14は、センシングプログラムの提供元の例を示す図である。
 プログラム管理サーバ1から各装置に対して提供されるセンシングプログラムは、図14に示すように、例えば、プログラム提供システムにおけるサービスのユーザ登録を行った開発者により開発される。各開発者には、センサデバイス21の仕様に関する情報、SDK(Software Development Kit)などの開発ツールが、プログラム提供システムを利用したサービスを運営するサービス事業者により提供される。
 各開発者は、SDKを利用するなどしてセンシングプログラムやセンシングプログラムセットを開発し、自身のコンピュータからプログラム管理サーバ1にアップロードする。アップロードされたセンシングプログラムとセンシングプログラムセットはセンシングプログラムDBに記憶され、管理される。
 プログラム管理サーバ1は、インストール回数、各装置における実行回数などの、それぞれのセンシングプログラムとセンシングプログラムセットの使用状況を管理する。サービス事業者から開発者に対して、使用状況に応じた金額の支払い、ポイントの発行などの、所定のインセンティブが提供されるようにしてもよい。
 図15は、センシングプログラムセットの生成の例を示す図である。
 各開発者により開発され、アップロードされたセンシングプログラムを任意のユーザがまとめることによってセンシングプログラムセットが生成されるようにしてもよい。
 図15の例においては、測距プログラムA乃至Gのうち、測距プログラムD、測距プログラムE、測距プログラムFの3つのセンシングプログラムをまとめることによって、屋内測距用プログラムセットが生成されている。
 このようにして生成された屋内測距用プログラムセットは、インストール可能なセンシングプログラムセットとしてプログラム管理サーバ1において公開され、所定の装置にインストールされる。
 複数のセンシングプログラムをまとめることによってセンシングプログラムセットを生成したユーザに対しても、インセンティブが提供されるようにしてもよい。
<センシングプログラムのユースケース>
・運搬ロボットのユースケース
 ここで、人センシングのユースケースについて説明する。
 例えば、運搬ロボット2-5がレストランなどの店内において料理を運搬対象物として運搬する、すなわち、料理を配膳する場合、運搬ロボット2-5に搭載されたセンサデバイス21においては、センシングプログラムに従って人センシングが行われる。注文した人に料理を配膳するためには、周りにいる人を認識して、料理を注文した人を特定する必要がある。
 図16は、運搬ロボット2-5による運搬の様子を示す図である。
 図16には、建物の中のキッチンを移動する運搬ロボット2-5の様子が示されている。運搬対象物の載置台として用意された天板の上には調理済みの料理が置かれている。この例においては、料理を配膳する用途に運搬ロボット2-5が用いられている。
 運搬ロボット2-5は、センサデバイス21による人センシングの結果に基づいて、移動経路の計画、障害物の回避などを行い、目的地まで移動して配膳を行う。また、運搬ロボット2-5は、センサデバイス21による人センシングの結果に基づいて、接客の仕方を制御する。
 図17は、運搬ロボット2-5の外観を拡大して示す図である。
 図17に示すように、運搬ロボット2-5は、環状のベース部101と、円形薄板状の天板102を、細い棒状の支持アーム103で連結することによって構成される。ベース部101の底面側には複数のタイヤが設けられる。ベース部101は、運搬ロボット2-5の移動を実現する移動部として機能する。
 ベース部101の径方向の長さと天板102の径方向の長さは略同一の長さである。ベース部101の略真上に天板102がある場合、図17に示すように支持アーム103は斜めの状態になる。
 支持アーム103は、アーム部材103-1とアーム部材103-2から構成される。天板102側のアーム部材103-1の径は、ベース部101側のアーム部材103-2の径より一回り小さい。アーム部材103-1がアーム部材103-2の内側に伸縮部103Aにおいて収納されることによって、双方向の矢印で示すように、支持アーム103の長さが調整される。
 支持アーム103は、ベース部101と支持アーム103の連結部分、および、天板102と支持アーム103の連結部分のそれぞれの部分において角度を調整することが可能とされる。
 図18は、料理を載せるときの運搬ロボット2-5の姿勢の例を示す図である。
 図18の例においては、支持アーム103を略垂直とし、長さを最大の長さとすることによって、天板102の高さが、調理ロボット2-4の天板の高さと略同じ高さに調整されている。
 運搬ロボット2-5の状態がこのような状態にあるときに、調理ロボット2-4の調理アームによって、料理が天板102に載せられる。図18の例においては、調理ロボット2-4の調理動作によって出来上がった料理が、調理アームにより載せられている。
 図18に示すように、調理ロボット2-4には、食材を切る、食材を焼く、調理済みの食材を盛り付ける、などの各種の調理動作を行う調理アームが複数設けられる。調理アームによる調理動作は、調理動作の内容や順番を規定した調理データに従って行われる。調理データには、料理の完成に至るまでのそれぞれの調理工程に関する情報が含まれる。
 このように、運搬ロボット2-5が配膳する料理は、調理ロボット2-4により作られた料理である。人により作られた料理が人によって天板102に載せられ、配膳されるようにしてもよい。
 図19は、運搬ロボット2-5が移動する空間のレイアウトを示す平面図である。
 図19に示すように、運搬ロボット2-5が移動するレストランには、キッチン#1とホール#2が用意される。キッチン#1とホール#2の間には廊下#11がある。
 破線で範囲を示す図19の建物の外には、ホール#2に面する形で庭#21が設けられる。ホール#2だけでなく庭#21にも、客が食事を行うテーブルなどが用意される。
 このような空間を運搬ロボット2-5が移動し、接客を行う場合について説明する。運搬ロボット2-5が行う接客には、注文の受け付け、料理の配膳、飲み物の提供などが含まれる。
 運搬ロボット2-5に搭載されたセンサデバイス21による人センシングは、運搬ロボット2-5がいる場所などの運搬ロボット2-5の状況により設定される人センシング条件に応じたアルゴリズムを用いて行われる。人センシングを行うセンシングプログラムが、人センシング条件に応じて適応的に選択され、センサデバイス21において実行される。
・センシングアルゴリズムの具体例
 図20は、運搬ロボット2-5に用意されるセンシングプログラムにより規定されるセンシングアルゴリズムの例を示す図である。
 図20に示すように、運搬ロボット2-5には、人センシングに用いるセンシングアルゴリズムとして、個人識別アルゴリズムA1と属性認識アルゴリズムA2が用意される。
 個人識別アルゴリズムA1は、センシング対象となっている対象者がだれであるのかを識別することと、対象者の属性を認識することに用いられるセンシングアルゴリズムである。対象者の属性には、性別と年齢が含まれる。また、対象者の属性には、利き手、髪の毛の長さなどの外観に現れる特徴も含まれる。
 一方、属性認識アルゴリズムA2は、対象者の属性を認識することに用いられるセンシングアルゴリズムである。属性認識アルゴリズムA2によっては、対象者の識別は行われずに、対象者の属性の認識だけが行われる。
 また、個人識別アルゴリズムA1と属性認識アルゴリズムA2のそれぞれについて、屋内用のセンシングアルゴリズム、屋外用のセンシングアルゴリズム、暗所用のセンシングアルゴリズム、・・といったような、状況毎のセンシングアルゴリズムが用意される。
 図20において、例えば、個人識別アルゴリズムA1-1は屋内用のセンシングアルゴリズムであり、個人識別アルゴリズムA1-2は屋外用のセンシングアルゴリズムである。また、個人識別アルゴリズムA1-3は暗所用のセンシングアルゴリズムである。
 同様に、属性認識アルゴリズムA2-1は屋内用のセンシングアルゴリズムであり、属性認識アルゴリズムA2-2は屋外用のセンシングアルゴリズムである。また、属性認識アルゴリズムA2-3は暗所用のセンシングアルゴリズムである。
 このように、運搬ロボット2-5には、状況に応じて設定される人センシング条件に応じたそれぞれの個人識別アルゴリズムA1を規定するセンシングプログラムと、それぞれの属性認識アルゴリズムA2を規定するセンシングプログラムが用意される。運搬ロボット2-5においては、人センシング条件に応じた個人識別アルゴリズムA1、または属性認識アルゴリズムA2が選択され、人センシングが行われる。
 個人識別アルゴリズムA1と属性認識アルゴリズムA2が用意されるのは、属性とともに対象者が誰であるのかを特定する必要があるのか、属性だけを特定する必要があるのかといった目的によって、必要となるセンシングアルゴリズムが異なるためである。
 また、個人識別アルゴリズムA1と属性認識アルゴリズムA2のそれぞれについて状況毎のセンシングアルゴリズムが用意されるのは、対象者のいる場所などの状況によって、精度を確保するために処理を変える必要があるためである。
 例えば、人センシングを行う場所が暗い場所である場合には、暗所(ノイズ)に強いセンシングアルゴリズムが必要となる。
 また、人センシングを行う場所が屋外である場合には、直射日光に強いセンシングアルゴリズムが必要となる。雨や曇りといった天気によってもノイズが異なることから、それぞれの天気に応じたセンシングアルゴリズムが必要となる。
 さらに、時間の経過、天気の急変により照度が変化することから、それぞれの照度に応じたセンシングアルゴリズムが必要となる。
 ここで、個人識別アルゴリズムA1と属性認識アルゴリズムA2のユースケース毎の切り替えについて説明する。
・ユースケース1
 ユースケース1は、図19のレストランにおいて、客の入店を運搬ロボット2-5が確認するユースケースである。
 ユースケース1においては、属性認識アルゴリズムA2を用いて客の属性が認識される。属性の認識結果に基づいて、例えば、案内する席を決定する処理が運搬ロボット2-5により行われる。
・ユースケース2
 ユースケース2は、注文を受けるときに、量や調理の好みを確認するユースケースである。ユースケース2においては、個人識別アルゴリズムA1を用いるケースと属性認識アルゴリズムA2を用いるケースとがある。
 属性認識アルゴリズムA2を用いるケースにおいては、属性認識アルゴリズムA2を用いて客の属性が認識される。
 属性の認識結果に基づいて、例えば、注文を受け付けた人と、受け付けていない人が識別される。
 また、属性の認識結果に基づいて、客の属性の情報が保存される。保存された情報は、次の来店時などの接客に用いられる。
 さらに、属性の認識結果に基づいて、注文の受け付け方が決定される。例えば相手が女性の場合、注文を受け付けるときに、量を減らすかどうかの確認が行われる。また、相手が子どもの場合、おすすめの飲み物を提案するときに、アルコール系の飲み物以外の飲み物の提案が行われる。
 個人識別アルゴリズムA1を用いるケースにおいては、個人識別アルゴリズムA1を用いて、対象者が誰であるのかが属性とともに認識される。
 個人の識別結果に基づいて、その人の注文履歴に応じて、注文の受け付け方が決定される。例えば、前回来店時の注文内容を提示したり、注文履歴からその人の好みを分析し、おすすめの料理を提案したりする処理が行われる。また、その人の好みやアレルギーに関する情報に基づいて料理を提案したり、その人の知識のバックグラウンドに合わせてメニューを説明したりする処理が行われる。
・ユースケース3
 ユースケース3は、ホールにいる客に料理を届ける(配膳する)ユースケースである。ユースケース3においては、属性認識アルゴリズムA2を用いて客の属性が認識される。
 属性の認識結果に基づいて、例えば、注文した対象者に対して料理が届けられる。また、優先的に配膳する人の属性が設定されている場合、設定されている属性の人に対して優先的に料理が届けられる。対象者の利き手に合わせて、配膳する方向を変える処理が行われる。
 以上のようなユースケースに応じた一連の処理についてはフローチャートを参照して後述する。
<運搬ロボットの構成と動作>
・運搬ロボットの構成
 図21は、運搬ロボット2-5のハードウェアの構成例を示すブロック図である。
 運搬ロボット2-5は、コントローラ121に対して、天板昇降駆動部122、タイヤ駆動部123、センサ群124、および通信部125が接続されることによって構成される。コントローラ121には、センサデバイス21も接続される。
 コントローラ121は、CPU,ROM,RAM、フラッシュメモリなどを有する。コントローラ121は、所定のプログラムを実行し、センサデバイス21を含む、運搬ロボット2-5の全体の動作を制御する。コントローラ121が、ホスト側のコントローラ51(図13)に相当する。
 天板昇降駆動部122は、ベース部101と支持アーム103の連結部、天板102と支持アーム103の連結部などに設けられたモータなどにより構成される。天板昇降駆動部122は、それぞれの連結部を駆動させる。
 また、天板昇降駆動部122は、支持アーム103の内部に設けられたレールやモータにより構成される。天板昇降駆動部122は、支持アーム103を伸縮させる。
 タイヤ駆動部123は、ベース部101の底面に設けられたタイヤを駆動させるモータにより構成される。
 センサ群124は、測位センサ、ジャイロセンサ、加速度センサ、温度センサ、照度センサなどの各種のセンサにより構成される。センサ群124による検出結果を表すセンサデータはコントローラ121に出力される。
 通信部125は、無線LANモジュール、携帯通信モジュールなどの無線通信モジュールである。通信部125は、プログラム管理サーバ1などの外部の装置との間で通信を行う。
 図22は、運搬ロボット2-5の機能構成例を示すブロック図である。
 図22に示す機能部のうちの少なくとも一部は、コントローラ121を構成するCPUと、センサデバイス21のコントローラ31を構成するCPUにより所定のプログラムが実行されることによって実現される。
 コントローラ121においては、経路情報取得部151、測位制御部152、移動制御部153、姿勢制御部155、環境データ取得部156、および周囲状態認識部157が実現される。
 一方、センサデバイス21のコントローラ31においては、状況検出部201とセンシング制御部202が実現される。センサデバイス21は、センシングアルゴリズムを制御するデータ処理装置である。
 コントローラ121の経路情報取得部151は、通信部125を制御し、図示せぬ制御装置から送信されてきた目的地と移動経路の情報を受信する。経路情報取得部151により受信された情報は移動制御部153に出力される。
 運搬対象物が用意されたタイミングなどにおいて、目的地と運搬ロボット2-5の現在の位置に基づいて、移動経路が経路情報取得部151により計画されるようにしてもよい。
 この場合、経路情報取得部151は、運搬ロボット2-5の動作を計画し、動作計画を設定する動作計画設定部として機能する。
 測位制御部152は、運搬ロボット2-5の現在位置を検出する。例えば、測位制御部152は、センサデバイス21を構成する距離センサによる検出結果に基づいて、調理ロボット2-4が設置されている空間の地図を生成する。センサデバイス21の出力となるセンサデータは、環境データ取得部156により取得され、測位制御部152に供給されてくる。
 測位制御部152は、生成した地図における自身の位置を特定することによって、現在位置を検出する。測位制御部152により検出された現在位置の情報は移動制御部153に出力される。測位制御部152による現在位置の検出が、センサ群124を構成する測位センサの出力に基づいて行われるようにしてもよい。運搬ロボット2-5の現在位置の検出が、センサデバイス21により行われるようにしてもよい。
 移動制御部153は、タイヤ駆動部123を制御することによって、経路情報取得部151から供給された情報と、測位制御部152により検出された現在位置に基づいて運搬ロボット2-5の移動を制御する。
 また、移動制御部153は、周囲にある障害物に関する情報が周囲状態認識部157から供給された場合、障害物を回避するように移動を制御する。障害物には、人、家具、家電製品などの各種の動作物体と静止物体とが含まれる。このように、移動制御部153は、センサデバイス21による人センシングの結果に基づいて、運搬対象物の運搬に伴う運搬ロボット2-5の移動を制御する。
 姿勢制御部155は、天板昇降駆動部122を制御し、運搬ロボット2-5の姿勢を制御する。また、姿勢制御部155は、移動制御部153による制御と連動して、天板102の水平を保つように運搬ロボット2-5の移動中の姿勢を制御する。
 姿勢制御部155は、周囲状態認識部157により認識された周囲の状態に応じて、運搬ロボット2-5の姿勢を制御する。例えば、姿勢制御部155は、周囲状態認識部157により認識された、調理ロボット2-4の天板やダイニングテーブルの天板の高さに天板102の高さを近づけるように、運搬ロボット2-5の姿勢を制御する。
 環境データ取得部156は、センサデバイス21を制御して人センシングを行わせるとともに、人センシングの結果を表すセンサデータを取得する。環境データ取得部156により取得されたセンサデータは測位制御部152と周囲状態認識部157に供給される。
 周囲状態認識部157は、環境データ取得部156から供給された、人センシングの結果を表すセンサデータに基づいて周囲の状態を認識する。周囲状態認識部157による認識結果を表す情報は移動制御部153と姿勢制御部155に供給される。
 障害物の検知、障害物までの距離の計測、障害物の方向の推定、自己位置の推定などがセンサデバイス21により行われている場合、周囲状態認識部157は、障害物に関する情報を、周囲の状態の認識結果を表す情報として出力する。
 障害物の検知、障害物までの距離の計測、障害物の方向の推定、自己位置の推定などが、センサデバイス21によるセンシング結果に基づいて周囲状態認識部157により行われるようにしてもよい。この場合、周囲状態認識部157が行う各処理に用いられるセンサデータが、センサデバイス21によって検出されることになる。
 このように、センサデバイス21において行われる処理の内容は任意である。すなわち、センサデバイス21に設けられたセンサにより検出されたrawデータがそのままセンサデータとしてコントローラ121に供給されるようにしてもよいし、rawデータの加工や解析がセンサデバイス21側で行われ、加工や解析の結果がセンサデータしてコントローラ121に供給されるようにしてもよい。
 センサデバイス21側の状況検出部201は、運搬ロボット2-5の状況を検出する。運搬ロボット2-5の状況は、例えば、センサ群124を構成するセンサが出力するセンサデータ、または、センサデバイス21に設けられたセンサが出力するセンサデータに基づいて検出される。
 運搬ロボット2-5の状況には、例えば、どのような動作を行っているかといった運搬ロボット2-5の動作、運搬ロボット2-5がいる場所、運搬ロボット2-5がいる場所の天気、温度、湿度、明るさが含まれる。また、運搬ロボット2-5の状況には、運搬ロボット2-5がコミュニケーションをとっている人物の状況、運搬ロボット2-5の周囲にある障害物の状況などの外部の状況も含まれる。
 状況検出部201は、このような運搬ロボット2-5の状況を表す情報をセンシング制御部202に出力する。
 センシング制御部202は、状況検出部201により検出された状況において人センシングを行うという人センシング条件に応じてセンシングアルゴリズムを選択し、選択したセンシングアルゴリズムを規定するセンシングプログラムを実行する。
 例えば、それぞれの人センシング条件に対しては、センシングアルゴリズム、または、センシングプログラムが紐付けられている。センシング制御部202は、識別データとしてのIDを用いて、人センシング条件に応じたセンシングアルゴリズム、または、センシングプログラムを選択する。人センシング条件に応じて、センシングプログラムセットが選択されるようにしてもよい。
 センシング制御部202は、センシングプログラムを実行することによって、センサデバイス21に設けられた各センサを駆動させ、各センサの出力に基づいて人センシングを行う。センシング制御部202は、人センシングの結果を表すセンサデータをコントローラ121に出力する。センシング制御部202は、適宜、人センシングの結果以外の各種のセンサデータを出力する。
・運搬ロボットの動作
 図23のフローチャートを参照して、運搬ロボット2-5の処理について説明する。
 ステップS1において、センシング制御部202は精度選択処理を行う。精度選択処理により、人センシングの精度を確保するためのセンシングアルゴリズムの選択が行われる。精度選択処理の詳細については、図24のフローチャートを参照して後述する。
 ステップS2において、センシング制御部202は人センシング処理を行う。人センシング処理は、上述したようなユースケースに応じた処理となる。人センシング処理の詳細については、図27のフローチャートを参照して後述する。
 次に、図24のフローチャートを参照して、図23のステップS1において行われる精度選択処理について説明する。
 ステップS11において、状況検出部201は、センサ群124からのセンサデータ、または、センサデバイス21を構成する各センサが出力するセンサデータに基づいて、運搬ロボット2-5の場所を検出する。センサ群124からのセンサデータと、センサデバイス21を構成する各センサが出力するセンサデータとの双方のセンサデータを用いて、運搬ロボット2-5の状況が検出されるようにしてもよい。
 ステップS12において、センシング制御部202は、状況検出部201による検出結果に基づいて、運搬ロボット2-5のいる場所が屋内であるか否かを判定する。
 運搬ロボット2-5のいる場所が屋内であるとステップS12において判定した場合、ステップS13において、センシング制御部202は、屋内用基本アルゴリズムを選択し、人センシングを行う。
 屋内用基本アルゴリズムは、シャッタースピード、感度などの、RGBカメラ32Aの撮影パラメータを環境光の強さに応じて調整し、人センシングを行うセンシングアルゴリズムである。シャッタースピードは、標準から遅めのスピードに設定され、感度は、標準から高めの感度に設定される。
 ステップS14において、センシング制御部202は屋内処理を行う。屋内処理においては、屋内の状況に応じてセンシングアルゴリズムが選択され、人センシングが行われる。人センシングに用いるセンシングアルゴリズムが、屋内用基本アルゴリズムから、他のセンシングアルゴリズムに適宜切り替えられる。屋内処理の詳細については図25のフローチャートを参照して後述する。
 一方、運搬ロボット2-5の場所が屋内ではない、すなわち屋外であるとステップS12において判定した場合、ステップS15において、センシング制御部202は、屋外用基本アルゴリズムを選択し、人センシングを行う。
 屋外用基本アルゴリズムは、シャッタースピード、感度などの、RGBカメラ32Aの撮影パラメータを環境光の強さに応じて調整し、人センシングを行うセンシングアルゴリズムである。シャッタースピードは、標準から速めのスピードに設定され、感度は、標準から低めの感度に設定される。
 ステップS16において、センシング制御部202は屋外処理を行う。屋外処理においては、屋外の状況に応じてセンシングアルゴリズムが選択され、人センシングが行われる。人センシングに用いるセンシングアルゴリズムが、屋外用基本アルゴリズムから、他のセンシングアルゴリズムに適宜切り替えられる。屋外処理の詳細については図26のフローチャートを参照して後述する。
 ステップS14において屋内処理が行われた後、または、ステップS16において屋外処理が行われた後、図23のステップS1に戻り、それ以降の処理が繰り返される。
 次に、図25のフローチャートを参照して、図24のステップS14において行われる屋内処理について説明する。
 ステップS21において、センシング制御部202は、状況検出部201による検出結果に基づいて、運搬ロボット2-5の場所が暗い場所であるか否かを判定する。
 運搬ロボット2-5の場所が暗い場所であるとステップS21において判定した場合、ステップS22において、センシング制御部202は、暗い場所で人センシングを行うという人センシング条件に応じて、暗所用アルゴリズムを選択し、人センシングを行う。暗所用アルゴリズムは、例えば、RGBカメラ32Aの感度を標準の感度より高く設定してRGB画像の撮影を行い、撮影によって得られたRGB画像に基づいて人センシングを行うセンシングアルゴリズムである。
 運搬ロボット2-5の場所が暗い場所ではないとステップS21において判定した場合、ステップS23において、センシング制御部202は、明るい場所で人センシングを行うという人センシング条件に応じて、明所用アルゴリズムを選択し、人センシングを行う。明所用アルゴリズムは、例えば、RGBカメラ32Aの感度を標準の感度より低く設定してRGB画像の撮影を行い、撮影によって得られたRGB画像に基づいて人センシングを行うセンシングアルゴリズムである。
 運搬ロボット2-5の場所に応じて選択されたセンシングアルゴリズムを用いて人センシングが行われた後、処理は図24のステップS14に戻り、それ以降の処理が行われる。
 次に、図26のフローチャートを参照して、図24のステップS16において行われる屋外処理について説明する。
 ステップS31において、センシング制御部202は、運搬ロボット2-5がいる場所の天気が快晴であるか否かを判定する。天気が快晴であるか否かの判定が、状況検出部201による状況の検出結果に基づいて行われる。
 運搬ロボット2-5の場所の天気が快晴であるとステップS31において判定した場合、ステップS32において、センシング制御部202は、影が発生しやすい場所であるか否かを判定する。
 影が発生しやすい場所であるとステップS32において判定した場合、ステップS33において、センシング制御部202は、影が発生しやすい場所で人センシングを行うという人センシング条件に応じて、影ノイズに強いアルゴリズムを選択する。ここで選択されるセンシングアルゴリズムは、輝度のダイナミックレンジを拡張するようにRGBカメラ32Aの撮影パラメータを調整して撮影を行い、撮影によって得られたRGB画像に基づいて人センシングを行うセンシングアルゴリズムである。
 センシングアルゴリズムが選択された後、選択されたセンシングアルゴリズムを規定するセンシングプログラムが実行され、人センシングが行われる。他のセンシングアルゴリズムが選択された場合も同様である。
 影が発生しやすい場所ではないとステップS32において判定した場合、ステップS34において、センシング制御部202は、直射日光下で人センシングを行うという人センシング条件に応じて、直射日光に強いアルゴリズムを選択する。ここで選択されるセンシングアルゴリズムは、シャッタースピードを速くするとともに感度を落とすようにRGBカメラ32Aの撮影パラメータを調整して撮影を行い、撮影によって得られたRGB画像に基づいて人センシングを行うセンシングアルゴリズムである。
 一方、天気が快晴ではないとステップS31において判定した場合、処理はステップS35に進む。
 ステップS35において、センシング制御部202は、雨が降っているか否かを判定する。雨が降っているか否かの判定が、状況検出部201による状況の検出結果に基づいて行われる。
 雨が降っているとステップS35において判定した場合、ステップS36において、センシング制御部202は、雨が降っている場所で人センシングを行うという人センシング条件に応じて、雨ノイズに強いアルゴリズムを選択する。ここで選択されるセンシングアルゴリズムは、RGBカメラ32Aにより撮影されたRGB画像に対するノイズ除去の画像処理を行った後に、ノイズ除去後のRGB画像に基づいて人センシングを行うセンシングアルゴリズムである。
 ノイズ除去には公知の技術が用いられる。ノイズ除去の技術については、例えば、「https://digibibo.com/blog-entry-3422.html」、「http://www.robot.t.u-tokyo.ac.jp/~yamashita/paper/A/A025Final.pdf」に開示されている。
 雨が降っていないとステップS35において判定した場合、ステップS37において、センシング制御部202は、薄暗い場所で人センシングを行うという人センシング条件に応じて、薄暗い場所に適応可能なアルゴリズムを選択する。ここで選択されるセンシングアルゴリズムは、シャッタースピードを遅くするとともに感度を上げるようにRGBカメラ32Aの撮影パラメータを調整して撮影を行い、撮影によって得られたRGB画像に基づいて人センシングを行うセンシングアルゴリズムである。
 運搬ロボット2-5の場所に応じて選択されたセンシングアルゴリズムを用いて人センシングが行われた後、図24のステップS16に戻り、それ以降の処理が行われる。
 次に、図27のフローチャートを参照して、図23のステップS2において行われる人センシング処理について説明する。
 ここでは、ユースケース2として説明したように、注文を受ける運搬ロボット2-5の処理について説明する。図27の処理は、例えば、注文を受ける対象者の近傍まで運搬ロボット2-5が移動した後に行われる。
 ステップS51において、センシング制御部202は、注文を受けるときに個人識別を行うか否かを判定する。
 個人識別を行うとステップS51において判定した場合、ステップS52において、センシング制御部202は、個人識別を行うという人センシング条件に応じて、個人識別アルゴリズムを用いて人センシングを行う。
 個人識別を行わないとステップS51において判定した場合、ステップS53において、センシング制御部202は、属性認識を行うという人センシング条件に応じて、属性認識アルゴリズムを用いて人センシングを行う。
 個人識別を行うか否かに応じて選択されたアルゴリズムを用いて人センシングが行われた後、処理はステップS54に進む。
 ステップS54において、コントローラ121(例えば周囲状態認識部157)は、人センシングにより特定した人が、初めて来店した客であるか否かを人センシングの結果に基づいて判定する。
 初めて来店した客であるとステップS54において判定した場合、ステップS55において、コントローラ121は、初来店客用の対応を行う。
 ステップS56において、コントローラ121は、個人識別の結果、または属性の認識結果に基づいて、注文を受け付ける。例えば、人センシングにより特定した人が女性の場合、量を減らすかどうかの確認が行われる。
 一方、初めて来店した客ではないとステップS54において判定した場合、ステップS57において、コントローラ121は、来店回数に応じた対応を行う。ステップS56またはステップS57において客の対応が行われた後、処理はステップS58に進む。
 ステップS58において、センシング制御部202は、個人識別アルゴリズムを用いている場合には、人センシングに用いるセンシングアルゴリズムを、属性認識アルゴリズムに切り替える。その後、図23のステップS2に戻り、上述した処理が繰り返される。
 次に、図28のフローチャートを参照して、図23のステップS2において行われる他の人センシング処理について説明する。
 ここでは、ユースケース3として説明したように、料理を配膳する運搬ロボット2-5の処理について説明する。図28の処理は、例えば、配膳相手となる対象者(注文者)の近傍まで運搬ロボット2-5が移動した後に行われる。
 ステップS71において、センサデバイス21のセンシング制御部202は、属性認識を行うという人センシング条件に応じて、属性認識アルゴリズムを用いて人センシングを行う。
 ステップS72において、コントローラ121は、センサデバイス21による人センシングの結果に基づいて、優先的に配膳すべき注文者がいるか否かを判定する。
 優先的に配膳すべき注文者がいるとステップS72において判定された場合、ステップS73において、センシング制御部202は、優先的に配膳すべき注文者の探索を行う。
 一方、優先的に配膳すべき注文者がいないとステップS72において判定した場合、ステップS74において、センシング制御部202は、最も近い注文者の探索を行う。
 ステップS73またはステップS74において注文者の探索が行われた後、処理はステップS75に進む。
 ステップS75において、コントローラ121(例えば移動制御部153)は、センサデバイス21による人センシングの結果に基づいて移動する。例えば、探索により見つかった注文者に近づくように運搬ロボット2-5の移動が行われる。
 ステップS76において、コントローラ121は、センサデバイス21による人センシングの結果に基づいて、配膳方向を変更するか否かを判定する。例えば、運搬ロボット2-5の位置が注文者の利き手と反対の手側の位置である場合、配膳方向を変更するものとして判定される。反対に、運搬ロボット2-5の位置が注文者の利き手側の位置である場合、配膳方向を変更しないものとして判定される。
 配膳方向を変更するとステップS76において判定した場合、ステップS77において、コントローラ121は、運搬ロボット2-5を移動させ、配膳方向を変更する。配膳方向を変更しないとステップS76において判定された場合、ステップS77の処理はスキップされる。
 ステップS78において、コントローラ121の例えば姿勢制御部155は、運搬ロボット2-5の姿勢を制御し、天板102の高さを客が使っているテーブルの高さに合わせ、注文者に対して料理を配膳する。
 ステップS79において、センシング制御部202は、全ての料理を配膳したか否かを判定する。
 配膳していない料理があるとステップS79において判定した場合、ステップS72に戻り、上述した処理が繰り返される。
 一方、全ての料理を配膳したとステップS79において判定した場合、ステップS80において、センシング制御部202は、属性認識アルゴリズムを用いて人センシングを行う。その後、図23のステップS2に戻り、上述した処理が繰り返される。
 以上の処理により、運搬ロボット2-5は、自分のいる場所などの状況に応じてセンシングアルゴリズムを選択し、人センシングを行うことができる。また、運搬ロボット2-5は、状況に応じて選択したセンシングアルゴリズムを用いて行われた人センシングの結果に基づいて、配膳などの各種の動作を制御することができる。
<他のユースケース>
 運搬ロボット2-5による人センシングの他のユースケースについて説明する。
・ユースケース4
 ユースケース4は、ドリンクを配膳するユースケースである。
 ユースケース4においては、属性認識アルゴリズムA2を用いて客の属性が認識される。属性の認識結果に基づいて、例えば、配膳するドリンクの種類を決定する処理が運搬ロボット2-5により行われる。例えば、配膳対象とする人の属性が子どもである場合、アルコール系のドリンク以外のドリンクが配膳される。
・ユースケース5
 ユースケース5は、注文した料理に合わせて、ガムやアメなどのお菓子を渡すユースケースである。
 ユースケース5においては、属性認識アルゴリズムA2を用いて客の属性が認識される。属性の認識結果に基づいて、例えば、注文者の属性と、その人が注文した料理とを紐付けて管理する処理が運搬ロボット2-5により行われる。食事を終えて店舗を出る人がいる場合、注文した料理に応じてお菓子が渡される。
 以上においては、運搬ロボット2-5による人センシングのユースケースについて説明したが、他の装置による人センシングについても、同様にして各種のユースケースが想定される。
 ここでは、調理ロボット2-4による人センシングのユースケースについて説明する。
・ユースケース6
 ユースケース6は、食材の盛り付けを行うときのユースケースである。ユースケース6においては、個人識別アルゴリズムA1を用いるケースと属性認識アルゴリズムA2を用いるケースとがある。
 なお、調理ロボット2-4による食材の盛り付けは、調理アームを駆動させ、調理済みの食材を食器の所定の位置に配置することによって行われる。センサデバイス21などによる物体センシングの結果に基づいて、調理済みの食材の位置、食器の位置などが認識され、盛り付けが行われる。
 属性認識アルゴリズムA2を用いるケースにおいては、属性認識アルゴリズムA2を用いて、盛り付けを行っている料理を注文した人の属性が認識される。
 属性の認識結果に基づいて、例えば、注文した対象者が女性である場合には女性らしい食器を使う、対象者が子どもである場合には子ども向けの盛り付けを行うといったように盛り付け方が変更される。
 個人識別アルゴリズムA1を用いるケースにおいては、個人識別アルゴリズムA1を用いて、対象者が誰であるのかが属性とともに認識される。
 個人の識別結果に基づいて、例えば、その人の好みに応じて盛り付け方を変えたり、使用する食材を変えたりする処理が調理ロボット2-4により行われる。
・ユースケース7
 ユースケース7は、メニューを決めるときのユースケースである。調理ロボット2-4による調理は、メニューに応じた調理データに従って行われる。調理データには、料理の完成に至るまでのそれぞれの調理工程における、調理アームの調理動作の内容や順番を規定した情報が含まれる。
 ユースケース7においては、個人識別アルゴリズムA1を用いて、対象者が誰であるのかが属性とともに認識される。
 個人の識別結果に基づいて、例えば、対象者の食事内容の履歴が特定され、栄養バランスを考慮したメニューが決定される。
・ユースケース8
 ユースケース8は、家庭において調理を行うときのユースケースである。ユースケース8においては、個人識別アルゴリズムA1を用いて、対象者が誰であるのかが属性とともに認識される。
 個人の識別結果に基づいて、例えば、家族しかいないことが特定された場合には、古い食材から順に用いて調理が行われる。また、家族の健康状況にあわせて、調理内容(味の濃さ・焼き加減・湯で加減など)を変える処理が行われる。
・ユースケース9
 ユースケース9は、手を洗うときのユースケースである。調理ロボット2-4の天板の所定の位置には、手を洗う溝が用意されている。溝には、水や洗浄液を手に向けて噴射する構成が設けられる。
 ユースケース9においては、個人識別アルゴリズムA1を用いるケースと属性認識アルゴリズムA2を用いるケースとがある。
 属性認識アルゴリズムA2を用いるケースにおいては、属性認識アルゴリズムA2を用いて、手を洗っている人の属性が認識される。
 属性の認識結果に基づいて、例えば、手を洗っている人が女性や子どもである場合には水の勢いを抑えて手の洗浄が行われる。
 個人識別アルゴリズムA1を用いるケースにおいては、個人識別アルゴリズムA1を用いて、対象者が誰であるのかが属性とともに認識される。
 個人の識別結果に基づいて、例えば、その人の好みに応じて洗浄の強さや洗浄液の種類が変更される。
・ユースケース10
 ユースケース10は、調理ロボット2-4を使用するときのユースケースである。ユースケース10においては、属性認識アルゴリズムA2を用いて対象者の属性が認識される。
 属性の認識結果に基づいて、例えば、子どもが使用することができないような制御が調理ロボット2-4により行われる。
<変形例>
・他のシステムに対する適用例
 図29は、人センシングの適用例を示す図である。
 1つの店舗に設けられる複数のシステムにおいてそれぞれ人センシングが行われる場合、図29に示すように、ユースケースに応じた人センシングがシステム毎に規定される。
 図29に示す配膳系システムは、運搬ロボット2-5により構成されるシステムである。配膳系システムにおいては、図23を参照して説明した処理によって、ユースケースに応じた人センシングが行われる。
 図29に示す店内監視系システムは、センサデバイス21を監視カメラとして用いるシステムである。店内の各位置にセンサデバイス21が取り付けられる。店内監視系システムにおいても、図23を参照して説明した処理と同様の処理によって、ユースケースに応じた人センシングが行われる。
・センシングアルゴリズムの選択が外部から行われる場合の例
 人センシング条件に応じたセンシングアルゴリズムの選択が、センサデバイス21内で行われるものとしたが、センサデバイス21が搭載された装置の外部の装置により行われるようにしてもよい。
 図30は、センシングアルゴリズムの制御の例を示す図である。
 図30の例においては、センシング条件に応じたセンシングアルゴリズムの選択が外部の装置であるプログラム管理サーバ1により行われる。この場合、図22のコントローラ31の構成は、プログラム管理サーバ1において実現される。プログラム管理サーバ1は、運搬ロボット2-5に搭載されたセンサデバイス21が実行するセンシングプログラムを制御するデータ処理装置である。
 矢印#1で示すように、運搬ロボット2-5からプログラム管理サーバ1に対しては、状況の検出に用いられるセンサデータが送信され、センシングプログラムの実行が要求される。
 プログラム管理サーバ1の状況検出部201においては、運搬ロボット2-5から送信されてきたセンサデータに基づいて運搬ロボット2-5の状況が検出される。また、運搬ロボット2-5の状況に応じた人センシング条件がセンシング制御部202により決定され、センシングアルゴリズムが選択される。
 プログラム管理サーバ1のセンシング制御部202は、運搬ロボット2-5に搭載されたセンサデバイス21に対して、人センシング条件に応じたセンシングアルゴリズムを規定するセンシングプログラムを送信し、実行させる。
 このように、センシングアルゴリズムの制御が、センサデバイス21の外部の装置により行われるようにしてもよい。例えば、センサデバイス21が搭載された運搬ロボット2-5のコントローラ121を外部の装置として、コントローラ121によってセンシングアルゴリズムの制御が行われるようにすることも可能である。
 外部の装置であるプログラム管理サーバ1やコントローラ121によって、人センシング条件に応じたセンシングアルゴリズムを規定するセンシングプログラムが実行され、実行結果を表す情報がセンサデバイス21に対して送信されるようにしてもよい。
 図31は、プログラム管理サーバ1を実現するコンピュータのハードウェアの構成例を示すブロック図である。
 CPU(Central Processing Unit)1001、ROM(Read Only Memory)1002、RAM(Random Access Memory)1003は、バス1004により相互に接続されている。
 バス1004には、さらに、入出力インタフェース1005が接続されている。入出力インタフェース1005には、キーボード、マウスなどよりなる入力部1006、ディスプレイ、スピーカなどよりなる出力部1007が接続される。また、入出力インタフェース1005には、ハードディスクや不揮発性のメモリなどよりなる記憶部1008、ネットワークインタフェースなどよりなる通信部1009、リムーバブルメディア1011を駆動するドライブ1010が接続される。
 上述したようなセンシングアルゴリズムの制御は、CPU1001により所定のプログラムが実行されることによって実現される。
・プログラムの例
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、汎用のパーソナルコンピュータなどにインストールされる。
 インストールされるプログラムは、光ディスク(CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)等)や半導体メモリなどよりなる図31に示されるリムーバブルメディア1011に記録して提供される。また、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供されるようにしてもよい。プログラムは、ROM1002や記憶部1008に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 なお、本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
 1 プログラム管理サーバ, 2-1 携帯端末, 2-2 アームロボット, 2-3 移動体, 2-4 調理ロボット, 2-5 運搬ロボット, 21 センサデバイス, 31 コントローラ, 32 センサ群, 121 コントローラ, 124 センサ群, 201 状況検出部, 202 センシング制御部

Claims (19)

  1.  ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択して実行するセンシング制御部を備える
     データ処理装置。
  2.  前記センシング制御部は、ネットワーク経由で取得した前記人センシングプログラムを選択する
     請求項1に記載のデータ処理装置。
  3.  前記センシング制御部は、複数の前記人センシングプログラムの組み合わせを含む人センシングプログラムセットから、実行する前記人センシングプログラムを選択する
     請求項1に記載のデータ処理装置。
  4.  前記人センシングプログラムセットは、前記人センシングプログラムに規定された前記人センシングアルゴリズムの種類を表す情報と、前記人センシングプログラムの実行順を表す情報との組み合わせを含む
     請求項3に記載のデータ処理装置。
  5.  前記センシング制御部は、ネットワーク経由で取得した前記人センシングプログラムセットに含まれる前記人センシングプログラムを選択する
     請求項3に記載のデータ処理装置。
  6.  前記センシング制御部は、前記人センシングプログラムセットを識別する識別データを用いて、前記人センシングプログラムセットを選択する
     請求項5に記載のデータ処理装置。
  7.  複数の前記人センシングプログラムに規定された前記人センシングアルゴリズムは、同じセンサに対して異なるパラメータを設定して出力されたセンサデータに適用されるアルゴリズムである
     請求項3に記載のデータ処理装置。
  8.  複数の前記人センシングプログラムに規定された前記人センシングアルゴリズムは、同じセンサに対して同じパラメータを設定して出力されたセンサデータに適用されるアルゴリズムである
     請求項3に記載のデータ処理装置。
  9.  複数の前記人センシングプログラムに規定された前記人センシングアルゴリズムは、異なるセンサから出力されたセンサデータに適用されるアルゴリズムである
     請求項3に記載のデータ処理装置。
  10.  前記人センシングプログラム、および、前記人センシングプログラムに規定された前記人センシングアルゴリズムのうちの少なくともいずれかは、センサと紐付けられており、
     前記センシング制御部は、前記人センシングプログラムを選択して実行することに連動して、複数のセンサの動作を制御する
     請求項9に記載のデータ処理装置。
  11.  前記センシング制御部による前記人センシングプログラムの実行結果に基づいて、運搬対象物の運搬に伴う移動部による移動の状態を制御する移動制御部をさらに備える
     請求項1に記載のデータ処理装置。
  12.  前記運搬対象物を載置する天板と、
     前記天板を支持する伸縮可能な支持部と、
     前記支持部に接続された前記移動部と、
     をさらに備え、
     前記移動制御部は、前記センシング制御部による前記人センシングプログラムの実行結果に基づいて、前記天板の状態および前記支持部の状態を含む姿勢状態と、前記移動部による移動の状態とを制御する
     請求項11に記載のデータ処理装置。
  13.  前記天板は、調理工程に従って駆動する調理システムの調理アームまたは人により載せられた前記運搬対象物を載置する
     請求項12に記載のデータ処理装置。
  14.  データ処理装置が、
     ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択して実行する
     データ処理方法。
  15.  ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択し、前記ロボットに対して送信するデータ処理部を備える
     データ処理装置。
  16.  前記データ処理部は、前記ロボットからの要求に応じて、前記人センシングプログラムを送信する
     請求項15に記載のデータ処理装置。
  17.  前記データ処理部は、前記ロボットからの要求に応じて、前記人センシングプログラムを実行する
     請求項15に記載のデータ処理装置。
  18.  データ処理装置が、
     ロボットに実装されるセンサから出力されたセンサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択し、
     選択した前記人センシングプログラムを前記ロボットに対して送信する
     データ処理方法。
  19.  センシング結果を表すセンサデータを出力するセンサと、
     前記センサから出力された前記センサデータに基づいて人をセンシングする人センシングアルゴリズムが規定された人センシングプログラムを、人センシング条件に応じて適応的に選択して実行するセンシング制御部と、
     前記センシング制御部による前記人センシングプログラムの実行結果に基づいて、動作計画を設定する動作計画設定部と、
     前記動作計画設定部により設定された前記動作計画に従って動作を行う動作部と
     を備えるロボット。
PCT/JP2020/035754 2019-10-03 2020-09-23 データ処理装置、データ処理方法、ロボット WO2021065610A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2021550649A JPWO2021065610A1 (ja) 2019-10-03 2020-09-23
CN202080067410.1A CN114450726A (zh) 2019-10-03 2020-09-23 数据处理装置、数据处理方法和机器人
US17/636,253 US20220288790A1 (en) 2019-10-03 2020-09-23 Data processing device, data processing method, and robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019183085 2019-10-03
JP2019-183085 2019-10-03

Publications (1)

Publication Number Publication Date
WO2021065610A1 true WO2021065610A1 (ja) 2021-04-08

Family

ID=75337326

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/035754 WO2021065610A1 (ja) 2019-10-03 2020-09-23 データ処理装置、データ処理方法、ロボット

Country Status (4)

Country Link
US (1) US20220288790A1 (ja)
JP (1) JPWO2021065610A1 (ja)
CN (1) CN114450726A (ja)
WO (1) WO2021065610A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023007277A (ja) * 2021-06-29 2023-01-18 ベア ロボティクス インク ロボットを制御するための方法、システムおよび非一過性のコンピュータ読み取り可能な記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008068342A (ja) * 2006-09-13 2008-03-27 Hitachi Ltd 運搬システム
JP2011198021A (ja) * 2010-03-19 2011-10-06 Nec Corp 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
WO2018112495A2 (de) * 2016-12-22 2018-06-28 RobArt GmbH Autonomer mobiler roboter und verfahren zum steuern eines autonomen mobilen roboters

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127087B2 (en) * 2000-03-27 2006-10-24 Microsoft Corporation Pose-invariant face recognition system and process
KR100543706B1 (ko) * 2003-11-28 2006-01-20 삼성전자주식회사 비젼기반 사람 검출방법 및 장치
JP4210270B2 (ja) * 2005-06-07 2009-01-14 ファナック株式会社 ロボット制御装置及びロボット制御方法
US20150199917A1 (en) * 2012-11-12 2015-07-16 Barry J. French Fitness assessment method and system
US20210001810A1 (en) * 2019-07-02 2021-01-07 Duelight Llc System, method, and computer program for enabling operation based on user authorization
US20150314454A1 (en) * 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device
US9542626B2 (en) * 2013-09-06 2017-01-10 Toyota Jidosha Kabushiki Kaisha Augmenting layer-based object detection with deep convolutional neural networks
US9737990B2 (en) * 2014-05-16 2017-08-22 Microsoft Technology Licensing, Llc Program synthesis for robotic tasks
KR20180102637A (ko) * 2016-01-12 2018-09-17 프린스톤 아이덴티티, 인크. 바이오메트릭 분석의 시스템 및 방법
JP6681800B2 (ja) * 2016-07-15 2020-04-15 株式会社日立製作所 制御装置、制御システム、および制御方法
US10068135B2 (en) * 2016-12-22 2018-09-04 TCL Research America Inc. Face detection, identification, and tracking system for robotic devices
WO2018121750A1 (en) * 2016-12-29 2018-07-05 Kwan Kin Keung Kevin Monitoring and tracking system, method, article and device
US10586106B2 (en) * 2017-02-02 2020-03-10 Microsoft Technology Licensing, Llc Responsive spatial audio cloud
DE102017006529A1 (de) * 2017-07-11 2019-01-17 Drägerwerk AG & Co. KGaA Verfahren, Vorrichtung und Computerprogramm zur Erfassung von optischen Bilddaten einer Patientenumgebung und zur Erkennung einer Patientenüberprüfung
WO2019050615A1 (en) * 2017-09-11 2019-03-14 Zume, Inc. CONFIGURABLE OVEN GRID SYSTEM
US10898999B1 (en) * 2017-09-18 2021-01-26 X Development Llc Selective human-robot interaction
KR102500634B1 (ko) * 2018-01-05 2023-02-16 엘지전자 주식회사 안내 로봇 및 그의 동작 방법
US11615623B2 (en) * 2018-02-19 2023-03-28 Nortek Security & Control Llc Object detection in edge devices for barrier operation and parcel delivery
US10438477B1 (en) * 2018-03-16 2019-10-08 Sean Michael Siembab Surrounding intelligent motion sensor
US20220050473A1 (en) * 2018-09-21 2022-02-17 Starship Technologies Oü Method and system for modifying image data captured by mobile robots
CN114494768A (zh) * 2018-10-29 2022-05-13 赫克斯冈技术中心 对设施进行监视的监视系统和方法、计算机程序产品
US20220016757A1 (en) * 2018-12-07 2022-01-20 Sony Group Corporation Information processing device, information processing method, and program
WO2020242487A1 (en) * 2019-05-31 2020-12-03 Siemens Aktiengesellschaft Method for dynamic multi-dimensional spatio-temporal human machine interaction and feedback
KR20210001627A (ko) * 2019-06-28 2021-01-06 엘지전자 주식회사 로봇 시스템 및 그 제어방법
KR20190104482A (ko) * 2019-08-21 2019-09-10 엘지전자 주식회사 로봇 시스템 및 그 제어방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008068342A (ja) * 2006-09-13 2008-03-27 Hitachi Ltd 運搬システム
JP2011198021A (ja) * 2010-03-19 2011-10-06 Nec Corp 情報処理装置、情報処理システム、情報処理方法及び情報処理プログラム
WO2018112495A2 (de) * 2016-12-22 2018-06-28 RobArt GmbH Autonomer mobiler roboter und verfahren zum steuern eines autonomen mobilen roboters

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023007277A (ja) * 2021-06-29 2023-01-18 ベア ロボティクス インク ロボットを制御するための方法、システムおよび非一過性のコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
JPWO2021065610A1 (ja) 2021-04-08
CN114450726A (zh) 2022-05-06
US20220288790A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US10869003B2 (en) Using a scene illuminating infrared emitter array in a video monitoring camera for depth determination
US10008003B2 (en) Simulating an infrared emitter array in a video monitoring camera to construct a lookup table for depth determination
US9571757B2 (en) Using infrared images of a monitored scene to identify windows
US9554064B2 (en) Using a depth map of a monitored scene to identify floors, walls, and ceilings
US9424601B2 (en) Method, computer program product, and system for providing a sensor-based environment
US20160364966A1 (en) Using Scene Information From a Security Camera to Reduce False Security Alerts
US20210196081A1 (en) Systems and methods for automated cooking
KR20170133448A (ko) 정보 생성 방법 및 디바이스
EP3582200A1 (fr) Procédé de détermination d'un équipement à commander par un objet de commande associé à un référentiel, et dispositif de commande associé
US20190294129A1 (en) Work support system and information processing method
CN107969150A (zh) 用于辅助家庭中用户的设备
US20220211188A1 (en) Controlling elements of furnishing units
WO2021065610A1 (ja) データ処理装置、データ処理方法、ロボット
CN105046597A (zh) 基于互联网的智能餐厅系统
US20170316190A1 (en) System and method for supporting operations in a retail store
WO2021065608A1 (ja) データ処理装置、データ処理方法、ロボット
US11224110B2 (en) Device management system and device management method
US20220318816A1 (en) Speech, camera and projector system for monitoring grocery usage
KR102637589B1 (ko) 로봇을 이용하여 광고 콘텐츠를 제공하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN110782372A (zh) 一种全自动无人服务机器人智能中餐厅
WO2021065609A1 (ja) データ処理装置、データ処理方法、調理ロボット
JP7388309B2 (ja) 遠隔ショッピングシステム、遠隔ショッピング方法、及びプログラム
EP3308365B1 (en) Using infrared images of a monitored scene to identify false alert regions
US20230154029A1 (en) Home appliance having interior space for accommodating tray at various heights and method of obtaining image by home appliance
KR20180067317A (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: 20872478

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021550649

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20872478

Country of ref document: EP

Kind code of ref document: A1