WO2020012944A1 - 制御装置、制御方法、およびプログラム - Google Patents

制御装置、制御方法、およびプログラム Download PDF

Info

Publication number
WO2020012944A1
WO2020012944A1 PCT/JP2019/025041 JP2019025041W WO2020012944A1 WO 2020012944 A1 WO2020012944 A1 WO 2020012944A1 JP 2019025041 W JP2019025041 W JP 2019025041W WO 2020012944 A1 WO2020012944 A1 WO 2020012944A1
Authority
WO
WIPO (PCT)
Prior art keywords
price
value
control device
unit
planning unit
Prior art date
Application number
PCT/JP2019/025041
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 US17/250,305 priority Critical patent/US20210165412A1/en
Publication of WO2020012944A1 publication Critical patent/WO2020012944A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0217Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0251Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft
    • G05D1/106Change initiated in response to external conditions, e.g. avoidance of elevated terrain or of no-fly zones

Definitions

  • the present technology relates to a control device, a control method, and a program, and more particularly, to a control device, a control method, and a program capable of planning a behavior of a moving object according to a value of a surrounding object.
  • AI Artificial Intelligence
  • Patent Literature 1 discloses a technique for planning a movement path of a robot so as to minimize damage when objects in the vicinity collide with each other.
  • the moving path of the robot is planned so as to minimize damage due to collision between objects, adhesion of odor, and the like.
  • Patent Document 2 discloses a technique of planning an action so as to avoid a periphery of an object whose position and orientation are uncertain. For example, a grid map (Grid Map) in which weights are set according to the uncertainty of the position and orientation is generated, and a route is determined.
  • Grid Map grid map
  • the present technology has been made in view of such a situation, and is to make it possible to plan the behavior of a moving object according to the value of an object around.
  • a control device is based on a sensor data detected by a moving object, a value estimating unit that estimates a value of an object around the moving object, and based on the estimated value of the object. And an action planning unit for planning the action of the mobile object.
  • a value of an object around the moving object is estimated based on sensor data detected by the moving object, and the behavior of the moving object is determined based on the estimated value of the object. Is planned.
  • the behavior of the moving object can be planned according to the value of the surrounding objects.
  • FIG. 3 is a block diagram illustrating a hardware configuration example of a robot.
  • FIG. 3 is a block diagram illustrating a functional configuration example of a control unit. It is a block diagram which shows the example of a structure of an object price estimation part.
  • FIG. 4 is a diagram illustrating an example of estimating a region where an object is captured. It is a block diagram which shows the example of a structure of a price estimation part. It is a figure showing an example of calculation of a local feature-value. It is a block diagram which shows the other example of a structure of a price estimation part. It is a block diagram showing an example of composition of an action plan part.
  • FIG. 1 It is a figure showing an example of a price map. It is a figure showing an example of a plan of a movement course. It is a flowchart explaining the process of the robot which plans a movement path. It is a figure showing an example of appearance of a robot. It is a figure showing an example of a posture at the time of movement. It is a block diagram showing an example of composition of an action plan part which plans a state at the time of movement. It is a figure showing an example of a price map. It is a flowchart explaining the process of the robot which plans the attitude
  • FIG. 1 It is a figure showing an example of a plan of a movement course. It is a flowchart explaining the process of the robot which plans a movement path. It is a figure showing an example of appearance of a robot. It is a figure showing an example of a posture at the time of movement. It is a block diagram showing
  • FIG. 3 is a diagram illustrating an example of an external appearance of a robot having an object gripping mechanism. It is a figure showing an example of a grasp style of an object. It is a block diagram showing an example of composition of an action plan part which plans a way of grasping.
  • FIG. 3 is a diagram illustrating an example of an object to be grasped. It is a flowchart explaining the process of the robot which plans a holding style.
  • FIG. 10 is a diagram illustrating another example of the appearance of the robot having the object gripping mechanism. It is a figure showing an example of measurement of flatness. It is a figure showing an example of a measurement result of flatness. It is a figure showing the example of composition of a control system.
  • FIG. 18 is a block diagram illustrating a configuration example of a computer.
  • FIG. 1 is a diagram illustrating an example of an environment in which a robot according to an embodiment of the present technology acts.
  • the robot 1 exists in a certain room such as a living room.
  • the robot 1 is a dog-type robot that can walk on four legs.
  • the robot 1 executes a predetermined program by a built-in computer, and autonomously takes various actions including movement according to the surrounding situation.
  • the robot 1 is a mobile object that can move autonomously.
  • a robot capable of quadrupedal walking is assumed to be a moving object, but various robots capable of autonomous movement, such as a robot capable of bipedal walking, a so-called drone that is an unmanned flight aircraft, etc. May be used in place of the robot 1.
  • Various actions taken by the robot 1 are controlled according to a plan generated by the robot 1 itself.
  • the value of each object shown in an image captured by a camera mounted on the robot 1 is estimated, and future actions are sequentially planned based on the estimated value of the object.
  • a route passing near the chair O2 and passing as far as possible from the pot O1 moves. Planned as a route.
  • the robot 1 After planning the movement route, the robot 1 will move to the destination by passing near the chair O2 and passing as far as possible from the pot O1.
  • the movement route of the robot 1 is planned in consideration of the value of the object such as the price.
  • a part of the body of the robot 1 may collide with surrounding objects.
  • various action plans other than the movement route plan are set in consideration of the value of the object.
  • a plan of a state at the time of moving to a destination and a plan of a gripping method of gripping an object are set in consideration of the value of the object.
  • the value of an object may be determined by using the time of manufacture of the object, the owner of the object, the design of the object, the size of the object, and the color of the object as indices.
  • an object whose owner is an adult is evaluated as having a high value, and an object whose owner is a child is regarded as having a lower value than an object whose owner is an adult. Be evaluated.
  • the user may be able to set the value of each object in the environment in which the robot 1 behaves. Even when an object has a low value based on an objective index such as a price, there is an object having a high value depending on the subjectivity of the user. By allowing the user to set the value of the object by himself / herself, it becomes possible to cause the robot 1 to carefully handle various objects that are valuable to the user.
  • FIG. 2 is a block diagram illustrating a hardware configuration example of the robot 1.
  • the robot 1 is configured by connecting the input / output unit 32, the driving unit 33, the wireless communication unit 34, and the power supply unit 35 to the control unit 31.
  • the control unit 31 is configured by a computer having a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, and the like.
  • the control unit 31 executes a predetermined program by the CPU and controls the entire operation of the robot 1.
  • the computer configuring the control unit 31 functions as a control device that controls the operation of the robot 1.
  • control unit 31 recognizes the surrounding objects based on the captured image supplied from the camera 41 of the input / output unit 32, and estimates the price of the objects.
  • the control unit 31 plans an action based on the estimated price of the object, and controls each unit of the driving unit 33 so as to take an action according to the plan.
  • the input / output unit 32 includes a camera 41, a microphone (microphone) 42, a speaker 43, a touch sensor 44, and an LED 45.
  • the camera 41 corresponds to the eyes of the robot 1 and sequentially captures the surrounding environment.
  • the camera 41 outputs data of a captured image, which is a still image or a moving image, obtained by shooting to the control unit 31.
  • the microphone 42 corresponds to the ear of the robot 1 and detects an environmental sound.
  • the microphone 42 outputs environmental sound data to the control unit 31.
  • the speaker 43 corresponds to the mouth of the robot 1 and outputs a predetermined sound such as an uttered voice, a sound effect, and BGM.
  • the touch sensor 44 is provided at a predetermined site such as the head or the back.
  • the touch sensor 44 detects that the user has touched, and outputs information representing the content of the contact by the user to the control unit 31.
  • the LED 45 is provided in each part of the robot 1 such as an eye position.
  • the LED 45 emits light under the control of the control unit 31, and presents information to the user.
  • a small display such as an LCD and an organic EL display may be provided.
  • Various eye images may be displayed on a display provided at the position of the eyes, whereby various facial expressions may be expressed.
  • the input / output unit 32 is provided with various modules such as a distance measuring sensor for measuring a distance to a surrounding object and a positioning sensor such as a GPS.
  • the drive unit 33 drives according to the control of the control unit 31 to realize the action of the robot 1.
  • the drive unit 33 is configured by a plurality of drive units provided for each joint axis such as roll, pitch, and yaw.
  • Each drive unit is provided at each joint of the robot 1, for example.
  • Each drive unit is configured by a combination of a motor that rotates around an axis, an encoder that detects the rotational position of the motor, and a driver that adaptively controls the rotational position and rotational speed of the motor based on the output of the encoder.
  • the hardware configuration of the robot 1 is determined by the number of drive units, the positions of the drive units, and the like.
  • drive units 51-1 to 51-n are provided.
  • the drive unit 51-1 includes a motor 61-1, an encoder 62-1 and a driver 63-1.
  • the drive units 51-2 to 51-n have the same configuration as the drive unit 51-1.
  • the wireless communication unit 34 is a wireless communication module such as a wireless LAN module and a mobile communication module compatible with LTE (Long Term Evolution).
  • the wireless communication unit 34 communicates with an external device such as a device connected to an indoor network or a server on the Internet.
  • the wireless communication unit 34 transmits the data supplied from the control unit 31 to an external device, and receives data transmitted from the external device.
  • the power supply unit 35 supplies power to each unit in the robot 1.
  • the power supply unit 35 includes a charge battery 71 and a charge / discharge control unit 72 that manages a charge / discharge state of the charge battery 71.
  • FIG. 3 is a block diagram showing a functional configuration example of the control unit 31.
  • the control unit 31 includes a scene image acquisition unit 101, an object price estimation unit 102, an action planning unit 103, and a drive control unit 104. At least a part of the functional units shown in FIG. 3 is realized by executing a predetermined program by the CPU constituting the control unit 31.
  • the scene image acquisition unit 101 acquires a captured image captured by the camera 41 as a scene image representing a surrounding situation (scene). The acquisition of the scene image by the scene image acquisition unit 101 is repeatedly performed at a predetermined cycle. The scene image acquired by the scene image acquisition unit 101 is supplied to the object price estimation unit 102 and the action planning unit 103.
  • the object price estimating unit 102 analyzes the scene image and estimates an area where the object is shown.
  • the object price estimating unit 102 generates a small image by extracting the estimated region from the entire scene image, and estimates the price of an object appearing in the small image.
  • the object price estimation unit 102 outputs information on the estimated price to the action planning unit 103.
  • the object price estimating unit 102 functions as a value estimating unit that estimates the price as the value of the object.
  • the action planning unit 103 plans a moving route and a moving state. And various actions such as planning how to grasp an object.
  • the action planning unit 103 outputs information on the planned action to the drive control unit 104.
  • the drive control unit 104 controls each drive unit of the drive unit 33 according to the plan represented by the information supplied from the behavior plan unit 103, and implements the behavior of the robot 1.
  • FIG. 4 is a block diagram showing a configuration example of the object price estimation unit 102.
  • the object price estimating unit 102 includes an object area estimating unit 111 and a price estimating unit 112.
  • the object area estimation unit 111 analyzes the scene image supplied from the scene image acquisition unit 101 and groups pixels having similar colors and luminances.
  • the object region estimating unit 111 estimates, for example, a rectangular region surrounding a group of similar pixels as a region where an object is captured.
  • the object region estimating unit 111 generates a small image in which the object is captured by extracting a rectangular region estimated as a region in which the object is captured from the scene image.
  • FIG. 5 is a diagram illustrating an example of estimating a region where an object is captured.
  • a rectangular area where the pot O1 is shown and a rectangular area where the chair O2 is shown are set as shown by the tip of arrow # 1.
  • Each rectangular area is extracted from the scene image, and a small image p1 showing the pot O1 and a small image p2 showing the chair O2 are generated as indicated by the tip of arrow # 2.
  • the rectangular region may be set using such an inference device.
  • the price estimating unit 112 estimates the price of the object appearing in the small image supplied from the object area estimating unit 111, and outputs information on the estimated price.
  • FIG. 6 is a block diagram showing a configuration example of the price estimation unit 112.
  • the price estimating unit 112 includes a local feature calculating unit 121, a price searching unit 122, and a feature-price DB 123.
  • the local feature calculating unit 121 calculates a local feature vector including information on the local feature of each unit as illustrated in FIG. 7 by analyzing the small image. In the example of FIG. 7, the local feature amount of each part of the pot O1 appearing in the small image p1 is obtained. The local feature amount calculation unit 121 outputs the local feature amount vector to the price search unit 122.
  • the price search unit 122 searches the feature amount-price DB 123 and acquires a price corresponding to the local feature amount vector supplied from the local feature amount calculation unit 121.
  • the feature amount-price DB 123 is a DB including information in which local feature amount vectors are associated with prices.
  • the information of the feature value-price DB 123 is updated by, for example, a system that estimates a price using a local feature value vector as a query.
  • a system extracts local features such as Histogram of Gradient (HoG), and uses a classifier such as k-neighbor search, Support Vector Machine and Bug of Words to calculate the price corresponding to the local features.
  • the system for estimating is prepared in, for example, a predetermined server.
  • Communication between the robot 1 and the server on the Internet is performed at a predetermined timing, and the information in the feature amount-price DB 123 is updated based on the information transmitted from the server.
  • a system for updating the information of the feature amount-price DB 123 may be provided in the robot 1, and the information of the feature amount-price DB 123 may be updated by the robot 1 itself.
  • FIG. 8 is a block diagram showing another configuration example of the price estimation unit 112.
  • the price estimation neural network 131 receives a small image as input and outputs an estimated price of an object appearing in the small image.
  • the price estimation neural network 131 is an inference unit generated by performing learning such as so-called Deep Learning using small images as learning data and prices as teacher data.
  • the price estimation neural network 131 may be generated by learning without teacher data.
  • the learning of the price estimation neural network 131 may be performed in the robot 1 or may be performed by a server on the Internet.
  • ⁇ Movement path planning> An example in which a movement route is planned as a plan of the action of the robot 1 will be described.
  • FIG. 9 is a block diagram showing a configuration example of the action planning unit 103.
  • the action planning unit 103 includes an obstacle detection unit 141 and a route planning unit 142.
  • the scene image output from the scene image acquisition unit 101 is input to the obstacle detection unit 141, and the information on the estimated price output from the object price estimation unit 102 is input to the route planning unit 142.
  • the obstacle detection unit 141 analyzes the scene image and detects surrounding obstacles.
  • the obstacle includes a wall surface of a room, furniture, and an object whose price is to be estimated.
  • the obstacle detection unit 141 outputs information indicating the position, size, and the like of the obstacle to the route planning unit 142.
  • the route planning unit 142 plans a moving route from the position of the robot 1 to the destination based on the obstacle detected by the obstacle detection unit 141 and the price of each object estimated by the object price estimation unit 102. .
  • the price of each object estimated by the object price estimation unit 102 may be represented by a price map as shown in FIG.
  • the price map is information generated by mapping a price to an area corresponding to the position of the object.
  • the hatched area is an area where no object with a price higher than a predetermined price is placed.
  • the left vertical rectangle area shown in light color is an area where objects with a price of 3,000 yen are placed, and the right vertical area shown in dark color is 3 million yen. This is the area where objects of price are placed.
  • Such a price map is generated by the object price estimating unit 102 and is input to the route planning unit 142 as information on the estimated price.
  • an initial route such as the shortest route when avoiding an obstacle and heading to the destination is set, and the initial route is placed along the route. It is planned by modifying based on the price of the object. The correction of the initial route is performed, for example, so as to secure a distance corresponding to the price of the object.
  • FIG. 11 is a diagram illustrating an example of a travel route plan.
  • ⁇ Rectangular ranges shown in FIGS. 11A and 11B correspond to a part of the room where the robot 1 exists.
  • the position of the pot O1 placed in the room is represented by a hatched triangle, and the position of the chair O2 is represented by a hatched circle.
  • the route # 11 shown in FIG. 11A is an initial route from the position P1 of the robot 1 to the destination G.
  • the shortest route for avoiding an obstacle and heading to a destination without considering the value of the object is set as the route # 11.
  • ⁇ ⁇ Route # 12 shown in FIG. 11B is a travel route to destination G planned in consideration of the value of the object.
  • the modification of the route # 11 is performed based on the prices of the pot O1 and the chair O2, and as shown in FIG. 11B, a route that maximizes the distance to the more expensive pot O1 and passes near the chair O2. Is planned.
  • the moving route may be planned by performing weighting according to the price of the pot O1 and the price of the chair O2. For example, if the price of the pot O1 is ten times the price of the chair O2, the distance between the robot 1 and the pot O1 (the coordinates of the robot 1 and the coordinates of the end of the pot O1) is always the distance between the robot 1 and the chair O2. The movement route is planned to be 10 times the distance (the coordinates of the robot 1 and the coordinates of the end of the chair O2).
  • the route planning unit 142 in FIG. 9 outputs information on the travel route planned as described above.
  • the drive control unit 104 performs control for moving the robot 1 according to the movement route planned by the route planning unit 142.
  • step S1 the scene image obtaining unit 101 obtains a scene image captured by the camera 41.
  • step S2 the object area estimating unit 111 extracts a rectangular area in which the object is captured from the scene image, and generates a small image.
  • step S3 the price estimating unit 112 estimates the price of each of the objects appearing in all the small images generated by the object area estimating unit 111.
  • step S4 the price estimating unit 112 generates a price map based on the estimated prices of the respective objects.
  • step S5 the route planning unit 142 plans the travel route to the destination based on the price map as described above, and ends the process.
  • the position of the obstacle detected by the obstacle detection unit 141 is appropriately considered.
  • the robot 1 can plan a path passing through a position distant from the expensive object as a movement path. In addition, the robot 1 can reduce the possibility of damaging expensive objects by moving along such a moving path.
  • FIG. 13 is a diagram illustrating an example of the external appearance of the robot 1.
  • the robot 1 has the housing 11 having a rectangular shape with rounded corners in a top view.
  • the robot 1 is a moving body that can move forward, backward, left, and right as indicated by arrows.
  • a mechanism for movement, such as wheels, is provided on the bottom surface (not shown) of the housing 11.
  • the robot 1 also moves in a posture in which the front surface 11A or the back surface 11B faces the moving direction as indicated by the up and down arrows, and moves the left side surface 11C or the right side surface 11D in the moving direction as indicated by the left and right arrows. It is also possible to move in a posture facing the camera.
  • the posture and the movement style at the time of movement are planned based on the price of the surrounding objects.
  • the width of the housing 11 in the moving direction differs depending on the posture during movement.
  • the width of the housing 11 when moving in a posture in which the front surface 11A or the back surface 11B is directly opposed to the moving direction is the width of the housing 11 when moving in a posture in which the left surface 11C or the right surface 11D is directly opposed in the moving direction. Wider width.
  • FIG. 14 is a diagram illustrating an example of a posture during movement.
  • FIGS. 14A and 14B vertically long shelves s1 and s2 are placed in parallel in plan view. It is assumed that various objects are arranged on the shelves s1 and s2, and the price of each object is estimated. It is assumed that the movement path of the robot 1 is set as a path passing between the shelves s1 and s2.
  • FIG. 14A shows a posture when the price of the objects arranged on the shelves s1 and s2 is lower than a predetermined price
  • FIG. 14B shows a posture when the price of the objects is higher than the predetermined price.
  • a price serving as a threshold for determining the posture is set in advance.
  • a posture in which the front surface 11A or the back surface 11B is directly opposed to the movement direction is planned as the posture during movement.
  • FIG. 14B The posture of FIG. 14B in which the left side surface 11C or the right side surface 11D is directly opposed in the movement direction is compared with the posture of FIG. 14A in which the front surface 11A or the back surface 11B is directly opposed in the movement direction.
  • the width of the body 11 is small and the distance between the shelves s1 and s2 can be maximized.
  • the former posture is a posture that is less likely to hit the shelves s1 and s2 than the latter posture.
  • the posture at the time of movement is switched based on the price of the object along the movement route.
  • FIG. 15 is a block diagram showing a configuration example of the action planning unit 103 for planning a state at the time of movement.
  • the configuration of the action planning unit 103 shown in FIG. 15 differs from the configuration of the action planning unit 103 shown in FIG. 9 in that a moving state planning unit 151 is provided instead of the route planning unit 142.
  • the scene image output from the scene image acquisition unit 101 is input to the obstacle detection unit 141, and the information on the estimated price output from the object price estimation unit 102 is input to the moving state planning unit 151. Descriptions that overlap with the description of FIG. 9 will be omitted as appropriate.
  • the moving state planning unit 151 specifies the price of the object along the moving route based on the information supplied from the object price estimating unit 102.
  • the moving state planning unit 151 plans a moving route in the same manner as the route planning unit 142 in FIG. 9 and compares the price of the object along the moving route with the price of the threshold value, thereby establishing a path between the two objects. Determine the posture when passing.
  • FIG. 16 is a diagram showing an example of a price map including positions where shelves s1 and s2 are installed.
  • the areas of the shelves s1 and s2 are represented as light-colored areas.
  • the total of the prices of the objects arranged on the shelf s1 is 300,000 yen, which is higher than the threshold price.
  • the total price of the objects arranged on the shelf s2 is also set at 300,000 yen, which is higher than the threshold price.
  • the estimated price of each object estimated by the object price estimation unit 102 may be represented by a price map as shown in FIG.
  • the movement state planning unit 151 determines the posture when passing between the two objects, the movement state planning unit 151 outputs information on the movement state, including the movement posture.
  • the information output from the traveling state planning unit 151 includes information on the traveling route.
  • control for moving the robot 1 in the posture planned by the moving state plan unit 151 is performed.
  • a small image is generated by extracting a region in which the object appears from the scene image, and the price of each object appearing in the small image is estimated.
  • a price map as described with reference to FIG. 16 is generated based on the estimated price, and a moving route is set based on the price map.
  • step S56 the moving state planning unit 151 determines whether there is an object on both sides of the moving object and the price of the object on both sides is higher than a threshold.
  • step S57 the moving state planning unit 151 determines to move in the normal posture.
  • the normal posture here is a posture in which the front surface 11A or the back surface 11B faces the moving direction as described with reference to FIG.
  • step S58 the moving state planning unit 151 determines to move in a safe posture.
  • the safe posture here is a posture in which the left side surface 11C or the right side surface 11D faces the moving direction as described with reference to FIG. 14B.
  • step S57 or step S58 After the posture is determined in step S57 or step S58, the processing is terminated. According to the plan including the posture determined as described above, the posture of the robot 1 at the time of movement is controlled.
  • FIG. 18 is a diagram illustrating an example of a movement mode of the robot 1.
  • the arm 11 of the robot 1 is provided with four arms 12-1 to 12-4.
  • the arm 12-1 and the arm 12-2 can be made to extend from the side surface or the bottom surface of the housing 11 by, for example, moving a connecting portion with the housing 11. You.
  • the arm 12-3 and the arm 12-4 are provided so as to extend from the bottom surface of the housing 11.
  • FIG. 18 shows a movement mode when the price of the object is lower than a predetermined price
  • FIG. 18B shows a movement mode when the price of the object is higher than the predetermined price.
  • a price which is a threshold value for determining the movement mode, is set in advance.
  • a mode of bipedal walking using the arm 12-3 and the arm 12-4 is planned as the moving mode.
  • the arm 12-1 and the arm 12-2 extend from the side surface of the housing 11, and the two arms of the arm 12-3 and the arm 12-4 are used as a moving mechanism. Have been.
  • the arms 12-1 and 12-2 extend from the bottom surface of the housing 11, and four arms 12-1 to 12-4 are used as a moving mechanism. ing.
  • the movement state planning unit 151 plans the movement style by switching the number of mechanisms used for movement based on the price of the surrounding objects.
  • the bipedal movement mode shown in FIG. 18A is less stable than the quadrupedal movement mode shown in FIG. 18B, but can be moved at a high speed.
  • an arm is used as a mechanism used for movement and the movement mode is controlled by switching the number of arms.
  • the movement mode is controlled by switching the number of tires. You may make it so. For example, when moving near a cheap object, a two-wheeled movement mode is selected. When moving near a high-priced object, a four-wheeled movement mode is selected.
  • a movement mode using arms or tires is selected, and when moving near high-priced objects, a movement mode that flies over objects is selected.
  • the type of the mechanism used for movement may be switched.
  • a state other than the posture and the movement mode may be planned based on the price of the object.
  • the moving speed of the robot 1 when the moving speed of the robot 1 is low, the moving speed is set to a low speed when passing near a high-priced object, and the moving speed is set to be high when passing near a low-priced object.
  • a mode in which protection of an object is prioritized and a mode in which movement at the shortest distance or movement at the highest speed is prioritized may be automatically switched. Further, the user may be allowed to select a mode to be prioritized.
  • ⁇ Gripping plan> An example of a case of planning how to grasp an object will be described as a plan of the action of the robot 1.
  • FIG. 19 is a diagram illustrating an example of the appearance of the robot 1 having the object gripping mechanism.
  • the robot 1 has the housing 11 which is a rounded vertically long rectangle in a side view.
  • the housing 11 On the front face 11A of the housing 11, two arms 12-1 and 12-2 are provided as a mechanism for gripping an object.
  • a moving mechanism such as wheels is provided on the bottom surface 11E of the housing 11.
  • the robot 1 in FIG. 19 has a transport function that can hold an object or the like placed in a room by driving the arms 12-1 and 12-2 and transport the object or the like to a predetermined position in that state. It is a moving body having.
  • the way of gripping the object is planned based on the price of the object to be gripped.
  • the gripping style of the object includes, for example, a style of gripping one object using one arm and a style of gripping one object using two arms.
  • FIG. 20 is a diagram illustrating an example of an object holding style.
  • ⁇ Circle around (A) ⁇ in FIG. 20 shows a gripping style when the price of the object is lower than a predetermined price
  • (B) in FIG. 20 shows a gripping style when the price of the object is higher than the predetermined price.
  • a price serving as a threshold value for determining a gripping style is set in advance.
  • a mode of gripping one object using one arm is planned as a grip mode.
  • the glass O31 is gripped using the arm 12-1, and the dish O32 is gripped using the arm 12-2.
  • Each of the glass O31 and the dish O32 is an object whose estimated price is lower than the price set as the threshold.
  • the container O41 is gripped by using the arms 12-1 and 12-2.
  • the vessel O41 is an object whose estimated price is higher than the price set as the threshold.
  • the holding style is planned by switching the number of mechanisms used for holding based on the price of the object to be held.
  • FIG. 21 is a block diagram illustrating a configuration example of the action planning unit 103 that plans a gripping manner.
  • the action planning unit 103 includes a gripping region estimation unit 161 and a gripping planning unit 162.
  • the scene image output from the scene image acquisition unit 101 is input to the gripping region estimation unit 161, and the information on the estimated price output from the object price estimation unit 102 is input to the gripping planning unit 162.
  • the gripping region estimating unit 161 analyzes a scene image and detects a gripping region in which an object to be gripped appears.
  • the gripping region estimation unit 161 outputs information indicating the position, size, and the like of the object to be gripped to the gripping planning unit 162.
  • the grasping plan unit 162 specifies the price of the object to be grasped based on the information supplied from the object price estimation unit 102.
  • FIG. 22 is a diagram illustrating an example of an object to be grasped.
  • the area surrounded by the vertically long rectangular frame is detected by the gripping area estimation unit 161 as a gripping area in which the pot O1 as the object to be gripped is captured. Further, it is specified that the price of the pot O1 is 3 million yen based on the information supplied from the object price estimation unit 102.
  • the grasping planning unit 162 plans the grasping style based on the price of the object to be grasped.
  • the gripping planning unit 162 outputs a gripping plan including information on a gripping method, including information for specifying a position at which an object to be gripped by each arm is to be gripped, information for specifying a movement route to a destination, and the like.
  • the drive control unit 104 performs control for driving the arms 12-1 and 12-2 according to the gripping style planned by the gripping planning unit 162.
  • step S101 the scene image obtaining unit 101 obtains a scene image captured by the camera 41.
  • step S102 the gripping region estimating unit 161 analyzes the scene image, determines an object to be gripped, and detects a region where the object to be gripped appears.
  • the grasping plan unit 162 specifies the price of the object to be grasped based on the price of each object estimated by the object price estimation unit 102.
  • the object price estimating unit 102 estimates the price of each surrounding object, and supplies information on the estimated price to the grip planning unit 162.
  • step S ⁇ b> 104 the gripping planning unit 162 determines whether the price of the object to be gripped is higher than a threshold.
  • step S105 the grasping planning unit 162 determines to grasp with one arm. That is, as described with reference to FIG. 20A, a style in which one object is gripped using one arm is planned as a gripping style.
  • step S106 the grasping planning unit 162 determines to grasp with both arms. That is, as described with reference to FIG. 20B, a style in which one object is gripped using two arms is planned as a gripping style.
  • step S105 or step S106 After the number of mechanisms used for gripping the object is determined in step S105 or step S106, the process ends. According to the plan including the gripping style determined as described above, the gripping manner of the robot 1 is controlled.
  • FIG. 24 is a diagram showing another example of the appearance of the robot 1 having the object gripping mechanism.
  • the propeller 13 for flying the robot 1 is provided on the upper surface 11F of the housing 11. That is, the robot 1 shown in FIG. 24 is a drone that can fly while holding an object.
  • a depth sensor 14 including a stereo camera, a ToF (Time of Flight) sensor, and the like is provided below the front surface 11A of the housing.
  • the height of each position on the mounting surface is measured by the depth sensor 14, and the flatness (horizontality) is calculated.
  • the flatness of each position on the tabletop which is the mounting surface of the object being held, is calculated.
  • the placement position of the grasped object is planned based on the flatness of each position on the placement surface and the price of the grasped object.
  • the placement position of the object is determined even if the flatness is lower than the threshold value (position oblique to the horizontal). Is made possible.
  • the placement position is planned by the grasping planning unit 162 based on the price of the grasped object, and the operation of placing the object is controlled.
  • a position with a high degree of flatness is a safe position because it is less likely to slide down than a position on a slope.
  • FIG. 25 is a diagram showing an example of measurement of flatness.
  • each position of the top plate is measured by using one end of the arm 12-2 as a manipulator and bringing the tip of the arm 12-2 into contact with the top plate. .
  • FIG. 26 By moving the arm 12-2 as shown by the arrow # 21 with the tip in contact with the table top, a measurement result as shown in FIG. 26 is obtained.
  • the horizontal axis in FIG. 26 represents the position of the table on the tabletop, and the vertical axis represents the height from the ground surface.
  • the difference between the height of the reference position and the heights of a plurality of positions around the reference position is calculated from the measurement result as shown in FIG. 26, and the flatness is calculated based on the difference in height. Is calculated.
  • various methods can be adopted as a method of measuring the flatness.
  • the degree of unevenness of the plane, the degree of slipperiness, the height, the color, and the like may be measured, and the placement position may be planned.
  • a position lower than the threshold value can be determined as the placement position of the grasped object.
  • the mounting position of the object when considering the color of the mounting surface in the mounting position, for an object higher than the threshold price, only the position where the object stands out when the object is placed, such as white or yellow, is the mounting position of the object. It is possible to determine as.
  • the placement position may be determined in consideration of the color of the grasped object itself.
  • the placement position For objects cheaper than the threshold price, it is possible to determine the placement position even at the end of the table, and for high objects, only the position near the center of the table can be determined as the placement position. You may do so.
  • the speed of the mounting operation of the robot 1 is set such that the speed of the mounting operation is set to a low speed when placing an object with a high price, and the speed of the mounting operation is set to a high speed when placing an object with a low price. May be planned based on the price of the object.
  • the behavior of the robot 1 may be planned by an external device based on the price of an object around the robot 1.
  • FIG. 27 is a diagram illustrating a configuration example of a control system.
  • the control system in FIG. 27 is configured by connecting the robot 1 and the control server 201 via a network 202 such as the Internet.
  • the robot 1 and the control server 201 communicate via a network 202.
  • the behavior of the robot 1 is planned by the control server 201, which is a device external to the robot 1.
  • Each functional unit of the control unit 31 in FIG. 3 is realized in the control server 201 by executing a predetermined program.
  • the control unit 31 of the control server 201 plans the behavior of the robot 1 based on the data transmitted from the robot 1 as described above, and transmits information on the planned behavior to the robot 1.
  • Various data such as captured image data is repeatedly transmitted from the robot 1 to the control server 201.
  • the robot 1 will take an action according to the value of the surrounding objects as described above in accordance with the plan represented by the information transmitted from the control server 201.
  • the control server 201 functions as a control device that plans and controls the behavior of the robot 1.
  • the price of the object is estimated based on the captured image captured by the camera of the robot 1, but the price of the object may be estimated based on sensor data other than the captured image. .
  • the value of the object can be estimated based on various sensor data such as the distance to the object measured by the distance sensor and the temperature of the object measured by the temperature sensor.
  • FIG. 28 is a block diagram illustrating a configuration example of hardware of a computer that executes the series of processes described above by a program.
  • the control server 201 of FIG. 27 also has a configuration similar to the configuration shown in FIG.
  • a CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the input / output interface 1005 is further connected to the bus 1004.
  • the input / output interface 1005 is connected to an input unit 1006 including a keyboard and a mouse, and an output unit 1007 including a display and a speaker.
  • a storage unit 1008 such as a hard disk or a non-volatile memory
  • a communication unit 1009 such as a network interface
  • a drive 1010 for driving the removable medium 1011 are connected to the input / output interface 1005.
  • the CPU 1001 loads a program stored in the storage unit 1008 into the RAM 1003 via the input / output interface 1005 and the bus 1004 and executes the program, for example. Is performed.
  • the program executed by the CPU 1001 is recorded on, for example, the removable medium 1011 or provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital broadcasting, and is installed in the storage unit 1008.
  • the program executed by the computer may be a program in which processing is performed in chronological order according to the order described in this specification, or may be performed in parallel or at a necessary timing such as when a call is made. It may be a program that performs processing.
  • a system means a set of a plurality of components (devices, modules (parts), and the like), and it does not matter whether all components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device housing a plurality of modules in one housing are all systems. .
  • the present technology can take a configuration of cloud computing in which one function is shared by a plurality of devices via a network, and processing is performed jointly.
  • each step described in the above-described flowchart can be executed by a single device, or can be shared and executed by a plurality of devices.
  • one step includes a plurality of processes
  • the plurality of processes included in the one step may be executed by one device or may be shared and executed by a plurality of devices.
  • the present technology can also have the following configurations.
  • a value estimating unit that estimates the value of an object around the moving body, And a behavior planning unit that plans behavior of the moving object based on the estimated value of the object.
  • the action planning unit plans a movement route to a destination.
  • the action planning unit plans the movement route in which a distance according to a value of the object is secured.
  • the action planning unit plans the movement path passing near the lower-value object than the higher-value object.
  • the moving body has a mechanism for gripping the object, The control device according to (1), wherein the action planning unit plans a gripping style of the object.
  • the action planning unit plans a style that uses a greater number of the mechanisms when gripping the object having a high value than when gripping the object having a low value.
  • the moving body has a mechanism for gripping the object, The control device according to (1), wherein the behavior planning unit plans how to place the grasped object.
  • the control device (14) The control device according to (13), wherein the action planning unit plans a placement position of the object as a method of placing the object.
  • the behavior planning unit plans a position having a higher flatness as a placement position than when the low-value object is placed.
  • the control device according to any one of (1) to (15), further including an acquisition unit configured to acquire, as the sensor data, a captured image that is an image captured by a camera provided on the moving body.
  • An area estimating unit that estimates an area in which the object is captured from the captured image, The control device according to (16), wherein the value estimating unit analyzes the estimated region and estimates a value of the object.
  • the control device is Based on the sensor data detected by the moving body, estimate the value of the object around the moving body, A control method for planning an action of the moving body based on the estimated value of the object. (19) On the computer, Based on the sensor data detected by the moving body, estimate the value of the object around the moving body, A program for executing a process of planning an action of the moving object based on the estimated value of the object.

Abstract

本技術は、移動体の行動を周囲にある物体の価値に応じて計画することができるようにする制御装置、制御方法、およびプログラムに関する。 本技術の一実施形態に係る制御装置は、移動体により検出されたセンサデータに基づいて、移動体の周囲にある物体の価値を推定し、推定された物体の価値に基づいて、前記移動体の行動を計画する。本技術は、自律的に行動することが可能なロボットに適用することができる。

Description

制御装置、制御方法、およびプログラム
 本技術は、制御装置、制御方法、およびプログラムに関し、特に、移動体の行動を周囲にある物体の価値に応じて計画することができるようにした制御装置、制御方法、およびプログラムに関する。
 AI(Artificial Intelligence)などの進歩により、周囲の環境に応じて自律的に行動するロボットが普及してきている。
 特許文献1には、周囲にある物体同士が衝突した際の被害を最小化するようにロボットの移動経路を計画する技術が開示されている。物体同士の衝突による破損、匂いの付着などを最小化するように、ロボットの移動経路が計画される。
 特許文献2には、位置姿勢が不確実な物体の周辺を避けるように行動を計画する技術が開示されている。例えば、位置姿勢の不確実に応じた重みが設定されたグリッドマップ(Grid Map)を生成し、経路を策定するようになされている。
国際公開第2010/004744号 特開2005-032196号公報
 ロボットが行動する環境には様々な物体が存在し、それらの価値は同じではない。ユーザにとって価値のある物体については、近づかないようにしたり、安全性の高い方法で把持したりするなど、丁寧に扱うような動作が求められる。
 本技術はこのような状況に鑑みてなされたものであり、移動体の行動を周囲にある物体の価値に応じて計画することができるようにするものである。
 本技術の一側面の制御装置は、移動体により検出されたセンサデータに基づいて、前記移動体の周囲にある物体の価値を推定する価値推定部と、推定された前記物体の価値に基づいて、前記移動体の行動を計画する行動計画部とを備える。
 本技術の一側面においては、移動体により検出されたセンサデータに基づいて、前記移動体の周囲にある物体の価値が推定され、推定された前記物体の価値に基づいて、前記移動体の行動が計画される。
 本技術によれば、移動体の行動を周囲にある物体の価値に応じて計画することができる。
 なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の一実施形態に係るロボットが行動する環境の例を示す図である。 ロボットのハードウェア構成例を示すブロック図である。 制御部の機能構成例を示すブロック図である。 物体価格推定部の構成例を示すブロック図である。 物体が写る領域の推定の例を示す図である。 価格推定部の構成例を示すブロック図である。 局所特徴量の算出の例を示す図である。 価格推定部の他の構成例を示すブロック図である。 行動計画部の構成例を示すブロック図である。 価格マップの例を示す図である。 移動経路の計画の例を示す図である。 移動経路を計画するロボットの処理について説明するフローチャートである。 ロボットの外観の例を示す図である。 移動時の姿勢の例を示す図である。 移動時の状態を計画する行動計画部の構成例を示すブロック図である。 価格マップの例を示す図である。 移動時の姿勢を計画するロボットの処理について説明するフローチャートである。 ロボットの移動様式の例を示す図である。 物体の把持機構を有するロボットの外観の例を示す図である。 物体の把持様式の例を示す図である。 把持の仕方を計画する行動計画部の構成例を示すブロック図である。 把持対象の物体の例を示す図である。 把持様式を計画するロボットの処理について説明するフローチャートである。 物体の把持機構を有するロボットの他の外観の例を示す図である。 平面度の測定の例を示す図である。 平面度の測定結果の例を示す図である。 制御システムの構成例を示す図である。 コンピュータの構成例を示すブロック図である。
 以下、本技術を実施するための形態について説明する。説明は以下の順序で行う。
 1.物体の価値に基づく行動計画
 2.ロボットの構成例
 3.移動経路計画
 4.移動時の状態に関する計画
 5.把持の仕方の計画
 6.変形例
<物体の価値に基づく行動計画>
 図1は、本技術の一実施形態に係るロボットが行動する環境の例を示す図である。
 図1の例においては、リビングルームなどのある部屋にロボット1が存在する。ロボット1は、四足歩行が可能な犬型のロボットである。
 ロボット1は、内蔵するコンピュータによって所定のプログラムを実行し、移動を含む各種の行動を周囲の状況などに応じて自律的にとる。ロボット1は、自律的な移動が可能な移動体である。
 この例においては、四足歩行が可能なロボットが移動体とされているが、二足歩行が可能なロボット、無人飛行が可能な航空機であるいわゆるドローンなどの、自律的に移動が可能な各種の移動体がロボット1に代えて用いられるようにしてもよい。
 ロボット1が行動する室内には様々な物体が存在する。図1の例においては、壺O1と椅子O2がロボット1の周囲の床に置かれている。
 ロボット1がとる各種の行動は、ロボット1自身により生成された計画に従って制御される。ロボット1においては、ロボット1に搭載されたカメラにより撮影された画像に写るそれぞれの物体の価値が推定され、推定された物体の価値に基づいて、将来の行動が順次計画される。
 例えば、目的地が壺O1と椅子O2の先にあり、壺O1の方が、椅子O2より高価な物である場合、椅子O2の近くを通り、壺O1からできるだけ離れた位置を通る経路が移動経路として計画される。
 ロボット1は、移動経路の計画後、椅子O2の近くを通り、壺O1からできるだけ離れた位置を通るようにして、目的地まで移動することになる。
 このように、ロボット1の移動経路は、価格などの、物体の価値を考慮して計画される。
 ロボット1が自律的に行動することにより、ロボット1の体の一部が周囲の物体にぶつかることがある。高価な物体からなるべく離れた位置を通る経路が移動経路として計画されるようにすることにより、そのような高価な物体にぶつかり、破損してしまう可能性を低減させることが可能となる。
 移動経路の計画以外の各種の行動の計画も、同様にして、物体の価値を考慮して設定される。後述するように、目的地まで移動する場合の移動時の状態の計画、物体を把持する場合の把持の仕方の計画が、物体の価値を考慮して設定される。
 以下においては、主に、物体の価値が、物体の価格を基準として評価されるものとして説明するが、物体の価値を決める指標は価格に限られるものではない。
 例えば、物体の製造時期、物体の所有者、物体のデザイン、物体の大きさ、物体の色を指標として、物体の価値が決まるようにしてもよい。
 物体の製造時期を指標とする場合、例えば、新しい物体は価値が高いものとして評価され、古い物体は、新しい物体より価値が低いものとして評価される。
 また、物体の所有者を指標とする場合、所有者が大人である物体は価値が高いものとして評価され、所有者が子どもである物体は、所有者が大人である物体より価値が低いものとして評価される。
 ロボット1が行動する環境内にあるそれぞれの物体の価値をユーザが自ら設定することができるようにしてもよい。価格などの客観的な指標を基準にした場合には価値が低い物体であっても、ユーザの主観によっては価値が高い物体もある。物体の価値をユーザが自ら設定できるようにすることにより、ユーザにとって価値のある各種の物体をロボット1に丁寧に扱わせることが可能となる。
<ロボットの構成例>
 図2は、ロボット1のハードウェア構成例を示すブロック図である。
 図2に示すように、ロボット1は、制御部31に対して、入出力部32、駆動部33、無線通信部34、および電源部35が接続されることによって構成される。
 制御部31は、CPU(Central Processing Unit),ROM(Read Only Memory),RAM(Random Access Memory)、フラッシュメモリなどを有するコンピュータにより構成される。制御部31は、CPUにより所定のプログラムを実行し、ロボット1の全体の動作を制御する。制御部31を構成するコンピュータは、ロボット1の動作を制御する制御装置として機能する。
 例えば、制御部31は、入出力部32のカメラ41から供給された撮影画像に基づいて周囲にある物体を認識し、物体の価格を推定する。制御部31は、推定した物体の価格に基づいて行動を計画し、計画に従った行動をとるように、駆動部33の各部を制御する。
 入出力部32は、カメラ41、マイク(マイクロフォン)42、スピーカ43、タッチセンサ44、およびLED45により構成される。
 カメラ41は、ロボット1の目に相当し、周囲の環境を順次撮影する。カメラ41は、撮影によって得られた静止画像または動画像である撮影画像のデータを制御部31に出力する。
 マイク42は、ロボット1の耳に相当し、環境音を検出する。マイク42は、環境音のデータを制御部31に出力する。
 スピーカ43は、ロボット1の口に相当し、発話音声、効果音、BGMなどの所定の音を出力する。
 タッチセンサ44は、頭部や背中などの所定の部位に設けられる。タッチセンサ44は、ユーザが触れたことを検出し、ユーザによる接触の内容を表す情報を制御部31に出力する。
 LED45は、目の位置などのロボット1の各部に設けられる。LED45は、制御部31による制御に従って発光し、ユーザに情報を提示する。LED45に代えて、LCD、有機ELディスプレイなどの小型のディスプレイが設けられるようにしてもよい。目の位置に設けられたディスプレイに各種の目の画像が表示され、それにより、各種の表情が表現されるようにしてもよい。
 入出力部32には、周囲にある物体までの距離を測定する測距センサ、GPSなどの測位センサなどの各種のモジュールが設けられる。
 駆動部33は、制御部31による制御に従って駆動し、ロボット1の行動を実現する。駆動部33は、ロール、ピッチ、ヨーなどの関節軸毎に設けられた複数の駆動ユニットにより構成される。
 各駆動ユニットは、例えばロボット1のそれぞれの関節に設けられる。各駆動ユニットは、軸回りの回転動作を行うモータ、モータの回転位置を検出するエンコーダ、および、エンコーダの出力に基づいてモータの回転位置や回転速度を適応的に制御するドライバの組み合わせによって構成される。駆動ユニットの数、駆動ユニットの位置などによって、ロボット1のハードウェア構成が定まる。
 図2の例においては、駆動ユニット51-1乃至51-nが設けられる。例えば駆動ユニット51-1は、モータ61-1、エンコーダ62-1、ドライバ63-1により構成される。駆動ユニット51-2乃至51-nも、駆動ユニット51-1と同様の構成を有する。
 無線通信部34は、無線LANモジュール、LTE(Long Term Evolution)に対応した携帯通信モジュールなどの無線通信モジュールである。無線通信部34は、室内のネットワークに接続された機器やインターネット上のサーバなどの外部の装置との間で通信を行う。無線通信部34は、制御部31から供給されたデータを外部の装置に送信し、外部の装置から送信されてきたデータを受信する。
 電源部35は、ロボット1内の各部に対して給電を行う。電源部35は、充電バッテリ71と、充電バッテリ71の充放電状態を管理する充放電制御部72とで構成される。
 図3は、制御部31の機能構成例を示すブロック図である。
 図3に示すように、制御部31は、シーン画像取得部101、物体価格推定部102、行動計画部103、および駆動制御部104から構成される。図3に示す機能部のうちの少なくとも一部は、制御部31を構成するCPUにより所定のプログラムが実行されることによって実現される。
 シーン画像取得部101は、カメラ41により撮影された撮影画像を、周囲の状況(シーン)を表すシーン画像として取得する。シーン画像取得部101によるシーン画像の取得は、所定の周期で繰り返し行われる。シーン画像取得部101により取得されたシーン画像は、物体価格推定部102と行動計画部103に供給される。
 物体価格推定部102は、シーン画像を解析し、物体が写っている領域を推定する。物体価格推定部102は、推定した領域をシーン画像全体から抽出することによって小画像を生成し、小画像に写る物体の価格を推定する。物体価格推定部102は、推定価格の情報を行動計画部103に出力する。このように、物体価格推定部102は、価格を物体の価値として推定する価値推定部として機能する。
 行動計画部103は、シーン画像取得部101から供給されたシーン画像と、物体価格推定部102から供給された情報により表される推定価格に基づいて、移動経路の計画、移動中の状態の計画、物体の把持の仕方の計画などの、各種の行動を計画する。行動計画部103は、計画した行動に関する情報を駆動制御部104に出力する。
 駆動制御部104は、行動計画部103から供給された情報により表される計画に従って駆動部33の各駆動ユニットを制御し、ロボット1の行動を実現する。
 図4は、物体価格推定部102の構成例を示すブロック図である。
 図4に示すように、物体価格推定部102は、物体領域推定部111と価格推定部112から構成される。
 物体領域推定部111は、シーン画像取得部101から供給されたシーン画像を解析し、色・輝度が類似する画素をグルーピングする。物体領域推定部111は、例えば、類似する画素のグループを囲む矩形領域を、物体が写る領域として推定する。物体領域推定部111は、物体が写る領域として推定した矩形領域をシーン画像から抽出することによって、物体が写る小画像を生成する。
 図5は、物体が写る領域の推定の例を示す図である。
 図5の左端に示すシーン画像が入力された場合、矢印#1の先に示すように、壺O1が写る矩形領域と椅子O2が写る矩形領域が設定される。それぞれの矩形領域がシーン画像から抽出され、矢印#2の先に示すように、壺O1が写る小画像p1と、椅子O2が写る小画像p2が生成される。
 シーン画像を入力とし、物体を囲む矩形領域を出力する推論器が学習によって予め生成されている場合、そのような推論器を用いて矩形領域の設定が行われるようにしてもよい。
 物体領域推定部111により生成された小画像は、図4の価格推定部112に供給される。
 価格推定部112は、物体領域推定部111から供給された小画像に写る物体の価格を推定し、推定価格の情報を出力する。
 図6は、価格推定部112の構成例を示すブロック図である。
 図6に示すように、価格推定部112は、局所特徴量算出部121、価格探索部122、および特徴量-価格DB123から構成される。
 局所特徴量算出部121は、小画像を解析することによって、図7に示すような各部の局所特徴量の情報を含む局所特徴量ベクトルを算出する。図7の例においては、小画像p1に写る壺O1の各部の局所特徴量が求められている。局所特徴量算出部121は、局所特徴量ベクトルを価格探索部122に出力する。
 価格探索部122は、特徴量-価格DB123を探索し、局所特徴量算出部121から供給された局所特徴量ベクトルに対応する価格を取得する。特徴量-価格DB123は、局所特徴量ベクトルと価格を対応付けた情報からなるDBである。
 特徴量-価格DB123の情報は、例えば、局所特徴量ベクトルをクエリとして価格を推定するシステムによって更新される。このようなシステムは、Histogram of Gradient(HoG)などの局所特徴量を抽出し、k-近傍探索、Support Vector Machine、Bug of Wordsなどの分類器を用いることにより、局所特徴量に対応する価格を推定するシステムとして例えば所定のサーバに用意される。
 ロボット1とインターネット上のサーバの間では所定のタイミングで通信が行われ、サーバから送信されてきた情報に基づいて、特徴量-価格DB123の情報が更新される。特徴量-価格DB123の情報を更新するシステムがロボット1内に設けられ、ロボット1自身により特徴量-価格DB123の情報が更新されるようにしてもよい。
 図8は、価格推定部112の他の構成例を示すブロック図である。
 図8に示す価格推定部112は、価格推定ニューラルネットワーク131から構成される。価格推定ニューラルネットワーク131は、小画像を入力とし、小画像に写る物体の推定価格を出力する。
 価格推定ニューラルネットワーク131は、例えば、小画像を学習用データ、価格を教師データとした、いわゆるDeep Learningなどの学習が行われることにより生成される推論器である。教師データのない学習によって価格推定ニューラルネットワーク131が生成されるようにしてもよい。価格推定ニューラルネットワーク131の学習がロボット1内で行われるようにしてもよいし、インターネット上のサーバにより行われるようにしてもよい。
<移動経路計画>
 ロボット1の行動の計画として、移動経路を計画する場合の例について説明する。
 図9は、行動計画部103の構成例を示すブロック図である。
 図9に示すように、行動計画部103は、障害物検出部141と経路計画部142から構成される。シーン画像取得部101から出力されたシーン画像は障害物検出部141に入力され、物体価格推定部102から出力された推定価格の情報は経路計画部142に入力される。
 障害物検出部141は、シーン画像を解析し、周囲にある障害物を検出する。障害物には、部屋の壁面、家具、価格推定の対象となる物体が含まれる。障害物検出部141は、障害物の位置、大きさなどを表す情報を経路計画部142に出力する。
 経路計画部142は、ロボット1の位置から目的地までの移動経路を、障害物検出部141により検出された障害物と、物体価格推定部102により推定された各物体の価格に基づいて計画する。
 物体価格推定部102により推定された各物体の価格が、図10に示すような価格マップにより表されるようにしてもよい。価格マップは、物体の位置に対応する領域に、価格をマッピングすることにより生成される情報である。
 図10の価格マップにおいて、斜線を付して示す領域は所定の価格以上の価格の物体が置かれていない領域である。一方、薄い色を付して示す左側の縦長長方形の領域は三千円の価格の物体が置かれている領域であり、濃い色を付して示す右側の縦長長方形の領域は三百万円の価格の物体が置かれている領域である。
 このような価格マップが物体価格推定部102により生成され、推定価格の情報として経路計画部142に対して入力される。
 図9の説明に戻り、目的地までの移動経路は、例えば、障害物を避けて目的地に向かう場合の最短経路などの初期経路を設定し、初期経路を、経路に沿って置かれている物体の価格に基づいて修正することにより計画される。初期経路の修正は、例えば、物体の価格に応じた距離を確保するようにして行われる。
 図11は、移動経路の計画の例を示す図である。
 図11のA,Bに示す矩形の範囲が、ロボット1が存在する室内の一部の範囲に相当する。室内に置かれている壺O1の位置が斜線を付した三角形により表され、椅子O2の位置が斜線を付した円により表される。
 図11のAに示す経路#11は、ロボット1の位置P1から目的地Gまでの初期経路である。例えば、物体の価値を考慮せずに、障害物を避けて目的地に向かう場合の最短経路が経路#11として設定される。
 目的地Gに移動するためには壺O1と椅子O2の間を通ることになる。物体の価値を考慮しない場合、壺O1と椅子O2の中間位置を通るような初期経路が設定される。
 図11のBに示す経路#12は、物体の価値を考慮して計画される目的地Gまでの移動経路である。経路#11の修正が壺O1と椅子O2の価格に基づいて行われ、図11のBに示すように、より価格が高い壺O1との距離を最大化し、椅子O2の近くを通るような経路が計画される。
 壺O1の価格と椅子O2の価格に応じた重み付けが行われることによって移動経路が計画されるようにしてもよい。例えば、壺O1の価格が椅子O2の価格の10倍の価格である場合、ロボット1と壺O1の距離(ロボット1の座標と壺O1の端の座標)が、常に、ロボット1と椅子O2の距離(ロボット1の座標と椅子O2の端の座標)の10倍の距離となるようにして移動経路が計画される。
 図9の経路計画部142は、以上のようにして計画した移動経路に関する情報を出力する。駆動制御部104においては、経路計画部142により計画された移動経路に従ってロボット1を移動させるための制御が行われる。
 ここで、図12のフローチャートを参照して、移動経路を計画するロボット1の処理について説明する。
 ステップS1において、シーン画像取得部101は、カメラ41により撮影されたシーン画像を取得する。
 ステップS2において、物体領域推定部111は、物体が写る矩形領域をシーン画像から抽出し、小画像を生成する。
 ステップS3において、価格推定部112は、物体領域推定部111により生成された全ての小画像に写る物体のそれぞれの価格を推定する。
 ステップS4において、価格推定部112は、推定したそれぞれの物体の価格に基づいて価格マップを生成する。
 ステップS5において、経路計画部142は、目的地までの移動経路を価格マップに基づいて上述したようにして計画し、処理を終了させる。移動経路の計画には、適宜、障害物検出部141により検出された障害物の位置も考慮される。
 以上の処理により、ロボット1は、高価な物体から離れた位置を通る経路を移動経路として計画することができる。また、ロボット1は、そのような移動経路に従って移動することにより、高価な物体を破損してしまう可能性を低減させることが可能となる。
<移動時の状態に関する計画>
 ロボット1の行動の計画として、移動時の状態を計画する場合の例について説明する。
 図13は、ロボット1の外観の例を示す図である。
 図13の例においては、ロボット1は、上面視において角丸の横長長方形となる筐体11を有するものとされている。ロボット1は、矢印で示すように前後左右に移動可能な移動体である。筐体11の底面(図示せず)には、車輪などの、移動のための機構が設けられる。
 ロボット1は、上下方向の矢印で示すように、正面11Aまたは背面11Bを移動方向に正対させた姿勢による移動も、左右方向の矢印で示すように、左側面11Cまたは右側面11Dを移動方向に正対させた姿勢による移動も可能とされる。
 ロボット1においては、移動時の姿勢、移動様式が、周囲にある物体の価格に基づいて計画される。
・移動時の姿勢の計画
 ロボット1が図13を参照して説明した筐体11を有している場合、移動時の姿勢によって、移動方向に対する筐体11の幅が異なる。正面11Aまたは背面11Bを移動方向に正対させた姿勢による移動時の筐体11の幅は、左側面11Cまたは右側面11Dを移動方向に正対させた姿勢による移動時の筐体11の幅より広い幅となる。
 移動時の姿勢の計画として、いずれの姿勢で移動するのかが計画される。
 図14は、移動時の姿勢の例を示す図である。
 図14のA,Bの例においては、平面視において縦長長方形の棚s1,s2が並行に置かれている。棚s1,s2には各種の物体が並べられており、それぞれの物体の価格が推定されているものとする。また、ロボット1の移動経路は、棚s1,s2の間を通る経路として設定されているものとする。
 図14のAは、棚s1,s2に並べられている物体の価格が所定の価格より安い場合の姿勢を示し、図14のBは、物体の価格が所定の価格より高い場合の姿勢を示している。姿勢を決める際の閾値となる価格が予め設定されている。
 図14のAに示すように、物体の価格が所定の価格より安い場合、正面11Aまたは背面11Bを移動方向に正対させた姿勢が、移動時の姿勢として計画される。
 一方、図14のBに示すように、物体の価格が所定の価格より高い場合、左側面11Cまたは右側面11Dを移動方向に正対させた姿勢が、移動時の姿勢として計画される。
 左側面11Cまたは右側面11Dを移動方向に正対させた図14のBの姿勢は、正面11Aまたは背面11Bを移動方向に正対させた図14のAの姿勢と比べて、左右方向の筐体11の幅が狭く、棚s1,s2との距離を最大化させることができる姿勢である。言い換えると、前者の姿勢は、後者の姿勢と比べて、棚s1,s2にぶつかりにくい姿勢である。
 このように、ロボット1においては、移動経路沿いにある物体の価格に基づいて、移動時の姿勢が切り替えられる。移動時の姿勢を以上のようにして計画し、制御することにより、高価な物体を破損してしまう可能性を低減させることが可能となる。
 図15は、移動時の状態を計画する行動計画部103の構成例を示すブロック図である。
 図15に示す行動計画部103の構成は、経路計画部142に代えて移動時状態計画部151が設けられている点で、図9に示す行動計画部103の構成と異なる。シーン画像取得部101から出力されたシーン画像は障害物検出部141に入力され、物体価格推定部102から出力された推定価格の情報は移動時状態計画部151に入力される。図9の説明と重複する説明については適宜省略する。
 移動時状態計画部151は、移動経路沿いにある物体の価格を、物体価格推定部102から供給された情報に基づいて特定する。移動時状態計画部151は、図9の経路計画部142と同様にして移動経路を計画するとともに、移動経路沿いにある物体の価格を閾値の価格と比較することにより、2つの物体の間を通るときの姿勢を決定する。
 図16は、棚s1と棚s2が設置された位置を含む価格マップの例を示す図である。
 図16の価格マップにおいては、棚s1と棚s2の領域が薄い色の領域として表される。棚s1に並べられた物体の価格の合計は、閾値の価格より高い三十万円とされている。同様に、棚s2に並べられた物体の価格の合計も、閾値の価格より高い三十万円とされている。物体価格推定部102により推定された各物体の推定価格が、図16に示すような価格マップにより表されるようにしてもよい。
 図15の説明に戻り、移動時状態計画部151は、2つの物体の間を通るときの姿勢を決定した場合、移動時の姿勢を含む、移動時の状態に関する情報を出力する。移動時状態計画部151から出力される情報には移動経路の情報も含まれる。駆動制御部104においては、移動時状態計画部151により計画された姿勢でロボット1を移動させるための制御が行われる。
 ここで、図17のフローチャートを参照して、移動時の姿勢を計画するロボット1の処理について説明する。
 図17のステップS51乃至S55の処理は、図12のステップS1乃至S5の処理と同様の処理である。重複する説明については適宜省略する。
 すなわち、物体が写る領域をシーン画像から抽出することによって小画像が生成され、小画像に写るそれぞれの物体の価格が推定される。推定された価格に基づいて図16を参照して説明したような価格マップが生成され、価格マップに基づいて移動経路が設定される。
 ステップS56において、移動時状態計画部151は、移動体の両側に物体があって、両側にある物体の価格が閾値より高いか否かを判定する。
 移動体の両側にある物体の価格が閾値より低いとステップS56において判定した場合、ステップS57において、移動時状態計画部151は、通常の姿勢で移動することを決定する。ここでいう通常の姿勢は、図14のAを参照して説明したように、正面11Aまたは背面11Bを移動方向に正対させた姿勢である。
 一方、移動体の両側にある物体の価格が閾値より高いとステップS56において判定した場合、ステップS58において、移動時状態計画部151は、安全な姿勢で移動することを決定する。ここでいう安全な姿勢は、図14のBを参照して説明したように、左側面11Cまたは右側面11Dを移動方向に正対させた姿勢である。
 ステップS57またはステップS58において姿勢が決定された後、処理は終了される。以上のようにして決定された姿勢を含む計画に従って、ロボット1の移動時の姿勢が制御される。
・移動様式の計画
 図18は、ロボット1の移動様式の例を示す図である。
 図18のA,Bの例においては、ロボット1の筐体11に4本のアームであるアーム12-1乃至12-4が設けられる。
 アーム12-1とアーム12-2は、例えば、筐体11との連結部を移動させることにより、筐体11の側面から延びる状態とすることも、底面から延びる状態とすることも可能とされる。アーム12-3とアーム12-4は、筐体11の底面から延びる状態で設けられる。
 図18のAは、物体の価格が所定の価格より安い場合の移動様式を示し、図18のBは、物体の価格が所定の価格より高い場合の移動様式を示している。移動様式を決める際の閾値となる価格が予め設定されている。
 図18のAに示すように、周囲にある物体の価格が所定の価格より安い場合、アーム12-3とアーム12-4を用いて二足歩行で移動する様式が移動様式として計画される。
 図18のAの例においては、アーム12-1とアーム12-2は筐体11の側面から延びる状態とされ、アーム12-3とアーム12-4の2本のアームが、移動機構として用いられている。
 一方、図18のBに示すように、周囲にある物体の価格が所定の価格より高い場合、アーム12-1乃至12-4を用いて四足歩行で移動する様式が移動様式として計画される。
 図18のBの例においては、アーム12-1とアーム12-2は筐体11の底面から延びる状態とされ、アーム12-1乃至12-4の4本のアームが、移動機構として用いられている。
 このように、変形が可能なロボット1においては、周囲にある物体の価格に基づいて、移動に用いる機構の数を切り替えるようにして移動時状態計画部151により移動様式が計画される。例えば、図18のAに示す二足歩行の移動様式は、図18のBに示す四足歩行の移動様式と比べて、安定性が劣るものの、速い速度での移動が可能とされる。
 価格が高い物体の近くを移動する場合、安定性を優先して四足歩行の移動様式で移動することが計画されることにより、高価な物体を破損してしまう可能性を低減させることが可能となる。
 また、価格が安い物体の近くを移動する場合、速度を優先して二足歩行の移動様式で移動することが計画されることにより、より迅速に移動させることが可能となる。
 移動に用いる機構としてアームを用い、アームの数を切り替えることによって移動様式を制御する場合について説明したが、移動機構としてタイヤが用いられている場合、タイヤの数を切り替えることによって移動様式が制御されるようにしてもよい。例えば、価格が安い物体の近くを移動する場合には二輪による移動様式が選択され、価格が高い物体の近くを移動する場合には四輪による移動様式が選択される。
 価格が安い物体の近くを移動する場合にはアームやタイヤを用いた移動様式が選択され、価格が高い物体の近くを移動する場合には、物体の上を飛行する移動様式が選択されるといったように、移動に用いられる機構の種類自体が切り替えられるようにしてもよい。
 移動時の状態として、姿勢と移動様式以外の状態が、物体の価格に基づいて計画されるようにしてもよい。
 例えば、価格が高い物体の近くを通る場合には移動速度を遅い速度とし、価格が安い物体の近くを通る場合には移動速度を速い速度とするといったように、ロボット1の移動速度が、周囲にある物体の価格に基づいて計画されるようにすることが可能である。
 以上のようにして物体の保護を優先させるモードと、最短距離での移動や最高速度での移動を優先させるモードが自動的に切り替えられるようにしてもよい。また、優先させるモードをユーザが選択することができるようにしてもよい。
<把持の仕方の計画>
 ロボット1の行動の計画として、物体の把持の仕方を計画する場合の例について説明する。
 図19は、物体の把持機構を有するロボット1の外観の例を示す図である。
 図19の例においては、ロボット1は、側面視において角丸の縦長長方形となる筐体11を有するものとされている。筐体11の正面11Aには、物体の把持機構としての2本のアーム12-1,12-2が設けられる。また、筐体11の底面11Eには、車輪などの移動機構が設けられる。
 図19のロボット1は、部屋に置かれている物体などを、アーム12-1,12-2を駆動させることによって把持し、その状態のまま所定の位置に運ぶことが可能な、運搬機能を有する移動体である。
 このようなロボット1においては、把持様式、把持している物体の載置の仕方などの、物体の把持の仕方が、把持対象となる物体の価格に基づいて計画される。
・把持様式の計画
 物体の把持様式には、例えば、1つの物体を1本のアームを用いて把持する様式と、1つの物体を2本のアームを用いて把持する様式が含まれる。
 把持様式の計画として、1つの物体の把持に用いる機構の数が異なる複数の様式のうち、いずれの様式によって対象の物体を把持するのかが計画される。
 図20は、物体の把持様式の例を示す図である。
 図20のAは、物体の価格が所定の価格より安い場合の把持様式を示し、図20のBは、物体の価格が所定の価格より高い場合の把持様式を示している。把持様式を決める際の閾値となる価格が予め設定されている。
 図20のAに示すように、物体の価格が所定の価格より安い場合、1つの物体を1本のアームを用いて把持する様式が把持様式として計画される。
 図20のAの例においては、アーム12-1を用いてグラスO31が把持され、アーム12-2を用いて皿O32が把持されている。グラスO31と皿O32は、それぞれ、推定された価格が閾値として設定された価格より安い物体である。
 一方、図20のBに示すように、物体の価格が所定の価格より高い場合、1つの物体を2本のアームを用いて把持する様式が把持様式として計画される。
 図20のBの例においては、アーム12-1とアーム12-2を用いて器O41が把持されている。器O41は、推定された価格が閾値として設定された価格より高い物体である。
 このように、ロボット1においては、把持対象となる物体の価格に基づいて、把持に用いる機構の数を切り替えるようにして把持様式が計画される。
 把持に用いる機構の数が多い方が、より安全に物体を把持できるものと考えられる。高価な物体を多い機構を用いて把持することにより、ロボット1は、高価な物体を破損してしまう可能性を低減させることが可能となる。
 図21は、把持の仕方を計画する行動計画部103の構成例を示すブロック図である。
 図21に示すように、行動計画部103は、把持領域推定部161と把持計画部162から構成される。シーン画像取得部101から出力されたシーン画像は把持領域推定部161に入力され、物体価格推定部102から出力された推定価格の情報は把持計画部162に入力される。
 把持領域推定部161は、シーン画像を解析し、把持対象の物体が写る把持領域を検出する。把持領域推定部161は、把持対象の物体の位置、大きさなどを表す情報を把持計画部162に出力する。
 把持計画部162は、把持対象の物体の価格を、物体価格推定部102から供給された情報に基づいて特定する。
 図22は、把持対象の物体の例を示す図である。
 図22の例においては、縦長長方形の枠で囲んで示す領域が、把持対象の物体である壺O1が写る把持領域として把持領域推定部161により検出されている。また、壺O1の価格が三百万円であることが、物体価格推定部102から供給された情報に基づいて特定されている。
 把持計画部162は、把持対象の物体の価格を特定した後、把持対象の物体の価格に基づいて把持様式を計画する。
 把持計画部162は、それぞれのアームによって把持対象の物体の掴む位置を指定する情報、運搬先までの移動経路を指定する情報などを含む、把持の仕方に関する情報を含む把持計画を出力する。駆動制御部104においては、把持計画部162により計画された把持様式に従ってアーム12-1,12-2を駆動させるための制御などが行われる。
 ここで、図23のフローチャートを参照して、把持様式を計画するロボット1の処理について説明する。
 ステップS101において、シーン画像取得部101は、カメラ41により撮影されたシーン画像として取得する。
 ステップS102において、把持領域推定部161は、シーン画像を解析し、把持対象の物体を決定し、把持対象の物体が写る領域を検出する。
 ステップS103において、把持計画部162は、物体価格推定部102により推定されたそれぞれの物体の価格に基づいて、把持対象の物体の価格を特定する。物体価格推定部102においては周囲にあるそれぞれの物体の価格が推定され、推定価格の情報が把持計画部162に対して供給される。
 ステップS104において、把持計画部162は、把持対象の物体の価格が閾値より高いか否かを判定する。
 把持対象の物体の価格が閾値より安いとステップS104において判定した場合、ステップS105において、把持計画部162は、片腕で把持することを決定する。すなわち、図20のAを参照して説明したように、1つの物体を1本のアームを用いて把持する様式が把持様式として計画される。
 一方、把持対象の物体の価格が閾値より高いとステップS104において判定した場合、ステップS106において、把持計画部162は、両腕で把持することを決定する。すなわち、図20のBを参照して説明したように、1つの物体を2本のアームを用いて把持する様式が把持様式として計画される。
 ステップS105またはステップS106において物体の把持に用いる機構の数が決定された後、処理は終了される。以上のようにして決定された把持様式を含む計画に従って、ロボット1の把持の仕方が制御される。
・把持している物体の載置の仕方の計画
 図24は、物体の把持機構を有するロボット1の他の外観の例を示す図である。
 図24の例においては、ロボット1を飛行させるためのプロペラ13が筐体11の上面11Fに設けられるものとされている。すなわち、図24に示すロボット1は、物体を把持した状態で飛行することが可能なドローンである。
 また、筐体の正面11Aの下方には、ステレオカメラ、ToF(Time of Flight)センサなどよりなる深度センサ14が設けられる。深度センサ14により、載置面の各位置の高さが測定され、平面度(水平度)が算出される。図24の例においては、把持している物体の載置面となる、テーブルの天板上の各位置の平面度が算出される。
 このようなロボット1においては、把持している物体の載置位置が、載置面の各位置の平面度と、把持している物体の価格に基づいて計画される。
 例えば、把持している物体の価格が閾値の価格より安い場合、平面度が閾値より低い位置(水平に対して斜めになっている位置)であっても、物体の載置位置として決定することが可能とされる。
 一方、物体の価格が所定の価格より高い場合、テーブルの天板全体のうち、平面度が閾値より高い位置(水平に近い位置)だけが、物体の載置位置として決定することが可能とされる。
 このように、ロボット1においては、把持している物体の価格に基づいて把持計画部162により載置位置が計画され、物体を載置する動作が制御される。
 価格が高い物体を載置する場合、価格が安い物体を載置する場合より平面度が高い位置を載置位置とすることにより、高価な物体を破損してしまう可能性を低減させることが可能となる。平面度が高い位置は、斜面になっている位置より滑り落ちる可能性が低いため、安全な位置であるといえる。
 図25は、平面度の測定の例を示す図である。
 図25においては、一方のアームであるアーム12-2をマニピュレータとして用い、アーム12-2の先端を天板に接触させることによって、天板の各位置の高さを測定するようになされている。
 先端をテーブルの天板に接触させた状態で矢印#21に示すようにアーム12-2を移動させることにより、図26に示すような測定結果が得られる。図26の横軸はテーブルの天板上の位置を表し、縦軸は地表面からの高さを表す。
 ロボット1においては、例えば、図26に示すような測定結果から、基準位置の高さと、基準位置の周りの複数の位置の高さとの差が算出され、高さの差に基づいて平面度が算出される。このように、平面度の測定の仕方として様々な方法を採用することが可能である。
 平面度に代えて、平面の凹凸の度合い、滑りやすさの度合い、高さ、色などが測定され、載置位置が計画されるようにしてもよい。
 例えば、載置位置に高さを考慮する場合、閾値の価格より高い物体については、閾値の高さより低い位置だけが、把持している物体の載置位置として決定することが可能とされる。
 また、載置位置に載置面の色を考慮する場合、閾値の価格より高い物体については、白や黄色といったように、物体を置いたときに物体が目立つ位置だけが、物体の載置位置として決定することが可能とされる。把持している物体自体の色をも考慮して、載置位置が決定されるようにしてもよい。
 閾値の価格より安い物体についてはテーブルの端の位置でも載置位置として決定することが可能とされ、高い物体についてはテーブルの中央に近い位置だけが載置位置として決定することが可能とされるようにしてもよい。
 価格が高い物体を置く場合には載置動作の速度を遅い速度とし、価格が安い物体を置く場合には載置動作の速度を速い速度とするといったように、ロボット1の載置動作の速度が物体の価格に基づいて計画されるようにしてもよい。
 以上のように、ロボット1においては、高価な物体に近づかないようにしたり、高価な物体にぶつかりにくい状態で移動するようにしたり、高価な物体をより安全に把持したりして行動が計画される。高価な物体については、いわば丁寧に扱われることになる。
<変形例>
 ロボット1の行動が、ロボット1の周囲にある物体の価格に基づいて外部の装置により計画されるようにしてもよい。
 図27は、制御システムの構成例を示す図である。
 図27の制御システムは、ロボット1と制御サーバ201がインターネットなどのネットワーク202を介して接続されることによって構成される。ロボット1と制御サーバ201は、ネットワーク202を介して通信を行う。
 図27の制御システムにおいては、ロボット1の行動が、ロボット1の外部の装置である制御サーバ201により計画される。図3の制御部31の各機能部が、所定のプログラムが実行されることによって制御サーバ201において実現される。
 制御サーバ201の制御部31は、ロボット1から送信されてきたデータに基づいて、上述したようにしてロボット1の行動を計画し、計画した行動に関する情報をロボット1に送信する。ロボット1から制御サーバ201に対しては、撮影画像のデータなどの各種のデータが繰り返し送信される。
 ロボット1は、制御サーバ201から送信されてきた情報により表される計画に従って、上述したようにして周囲にある物体の価値に応じた行動をとることになる。このように、制御サーバ201は、ロボット1の行動を計画し、制御する制御装置として機能する。
 以上においては、ロボット1のカメラにより撮影された撮影画像に基づいて物体の価格が推定されるものとしたが、撮影画像以外のセンサデータに基づいて物体の価格が推定されるようにしてもよい。距離センサにより測定された物体までの距離、温度センサにより測定された物体の温度などの、各種のセンサデータに基づいて物体の価値が推定されるようにすることが可能である。
・コンピュータの構成例
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
 図28は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。図27の制御サーバ201も、図28に示す構成と同様の構成を有する。
 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が、例えば、記憶部1008に記憶されているプログラムを入出力インタフェース1005及びバス1004を介してRAM1003にロードして実行することにより、上述した一連の処理が行われる。
 CPU1001が実行するプログラムは、例えばリムーバブルメディア1011に記録して、あるいは、ローカルエリアネットワーク、インターネット、デジタル放送といった、有線または無線の伝送媒体を介して提供され、記憶部1008にインストールされる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 本明細書において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれも、システムである。
 本明細書に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。
 本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
 例えば、本技術は、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
 また、上述のフローチャートで説明した各ステップは、1つの装置で実行する他、複数の装置で分担して実行することができる。
 さらに、1つのステップに複数の処理が含まれる場合には、その1つのステップに含まれる複数の処理は、1つの装置で実行する他、複数の装置で分担して実行することができる。
・構成の組み合わせ例
 本技術は、以下のような構成をとることもできる。
(1)
 移動体により検出されたセンサデータに基づいて、前記移動体の周囲にある物体の価値を推定する価値推定部と、
 推定された前記物体の価値に基づいて、前記移動体の行動を計画する行動計画部と
 を備える制御装置。
(2)
 前記行動計画部は、目的地までの移動経路を計画する
 前記(1)に記載の制御装置。
(3)
 前記行動計画部は、前記物体の価値に応じた距離が確保された前記移動経路を計画する
 前記(2)に記載の制御装置。
(4)
 前記行動計画部は、2つの前記物体の間を通る場合、価値が高い前記物体より、価値が低い前記物体の近くを通る前記移動経路を計画する
 前記(3)に記載の制御装置。
(5)
 前記センサデータに基づいて障害物を検出する障害物検出部をさらに備え、
 前記行動計画部は、前記物体の価値と前記障害物の位置とに基づいて前記移動経路を計画する
 前記(2)に記載の制御装置。
(6)
 前記行動計画部は、前記移動体の移動時の姿勢を計画する
 前記(1)に記載の制御装置。
(7)
 前記行動計画部は、移動時の姿勢として、移動方向に対する前記移動体の筐体の向きを計画する
 前記(6)に記載の制御装置。
(8)
 前記行動計画部は、前記移動体の移動様式を計画する
 前記(1)に記載の制御装置。
(9)
 前記行動計画部は、移動様式として、移動に用いる機構の数が異なる様式を計画する
 前記(8)に記載の制御装置。
(10)
 前記移動体は、前記物体を把持する機構を有し、
 前記行動計画部は、前記物体の把持様式を計画する
 前記(1)に記載の制御装置。
(11)
 前記行動計画部は、前記物体の把持様式として、前記物体の把持に用いる前記機構の数が異なる様式を計画する
 前記(10)に記載の制御装置。
(12)
 前記行動計画部は、価値が高い前記物体を把持する場合、価値が低い前記物体を把持する場合より多い数の前記機構を用いる様式を計画する
 前記(11)に記載の制御装置。
(13)
 前記移動体は、前記物体を把持する機構を有し、
 前記行動計画部は、把持している前記物体の載置の仕方を計画する
 前記(1)に記載の制御装置。
(14)
 前記行動計画部は、前記物体の載置の仕方として、前記物体の載置位置を計画する
 前記(13)に記載の制御装置。
(15)
 前記行動計画部は、価値が高い前記物体を載置する場合、価値が低い前記物体を載置する場合より平面度が高い位置を載置位置として計画する
 前記(14)に記載の制御装置。
(16)
 前記移動体に設けられたカメラにより撮影された画像である撮影画像を前記センサデータとして取得する取得部をさらに備える
 前記(1)乃至(15)のいずれかに記載の制御装置。
(17)
 前記物体が写る領域を前記撮影画像から推定する領域推定部をさらに備え、
 前記価値推定部は、推定された前記領域を解析し、前記物体の価値を推定する
 前記(16)に記載の制御装置。
(18)
 制御装置が、
 移動体により検出されたセンサデータに基づいて、前記移動体の周囲にある物体の価値を推定し、
 推定された前記物体の価値に基づいて、前記移動体の行動を計画する
 制御方法。
(19)
 コンピュータに、
 移動体により検出されたセンサデータに基づいて、前記移動体の周囲にある物体の価値を推定し、
 推定された前記物体の価値に基づいて、前記移動体の行動を計画する
 処理を実行させるためのプログラム。
 1 ロボット, 31 制御部, 32 入出力部, 33 駆動部, 34 無線通信部, 35 電源部, 101 シーン画像取得部, 102 物体価格推定部, 103 行動計画部, 104 駆動制御部, 111 物体領域推定部, 112 価格推定部, 121 局所特徴量算出部, 122 価格探索部, 123 特徴量-価格DB, 131 価格ニューラルネットワーク, 141 障害物検出部, 142 経路計画部, 151 移動時状態計画部, 161 把持領域推定部, 162 把持計画部, 201 制御サーバ, 202 ネットワーク

Claims (19)

  1.  移動体により検出されたセンサデータに基づいて、前記移動体の周囲にある物体の価値を推定する価値推定部と、
     推定された前記物体の価値に基づいて、前記移動体の行動を計画する行動計画部と
     を備える制御装置。
  2.  前記行動計画部は、目的地までの移動経路を計画する
     請求項1に記載の制御装置。
  3.  前記行動計画部は、前記物体の価値に応じた距離が確保された前記移動経路を計画する
     請求項2に記載の制御装置。
  4.  前記行動計画部は、2つの前記物体の間を通る場合、価値が高い前記物体より、価値が低い前記物体の近くを通る前記移動経路を計画する
     請求項3に記載の制御装置。
  5.  前記センサデータに基づいて障害物を検出する障害物検出部をさらに備え、
     前記行動計画部は、前記物体の価値と前記障害物の位置とに基づいて前記移動経路を計画する
     請求項2に記載の制御装置。
  6.  前記行動計画部は、前記移動体の移動時の姿勢を計画する
     請求項1に記載の制御装置。
  7.  前記行動計画部は、移動時の姿勢として、移動方向に対する前記移動体の筐体の向きを計画する
     請求項6に記載の制御装置。
  8.  前記行動計画部は、前記移動体の移動様式を計画する
     請求項1に記載の制御装置。
  9.  前記行動計画部は、移動様式として、移動に用いる機構の数が異なる様式を計画する
     請求項8に記載の制御装置。
  10.  前記移動体は、前記物体を把持する機構を有し、
     前記行動計画部は、前記物体の把持様式を計画する
     請求項1に記載の制御装置。
  11.  前記行動計画部は、前記物体の把持様式として、前記物体の把持に用いる前記機構の数が異なる様式を計画する
     請求項10に記載の制御装置。
  12.  前記行動計画部は、価値が高い前記物体を把持する場合、価値が低い前記物体を把持する場合より多い数の前記機構を用いる様式を計画する
     請求項11に記載の制御装置。
  13.  前記移動体は、前記物体を把持する機構を有し、
     前記行動計画部は、把持している前記物体の載置の仕方を計画する
     請求項1に記載の制御装置。
  14.  前記行動計画部は、前記物体の載置の仕方として、前記物体の載置位置を計画する
     請求項13に記載の制御装置。
  15.  前記行動計画部は、価値が高い前記物体を載置する場合、価値が低い前記物体を載置する場合より平面度が高い位置を載置位置として計画する
     請求項14に記載の制御装置。
  16.  前記移動体に設けられたカメラにより撮影された画像である撮影画像を前記センサデータとして取得する取得部をさらに備える
     請求項1に記載の制御装置。
  17.  前記物体が写る領域を前記撮影画像から推定する領域推定部をさらに備え、
     前記価値推定部は、推定された前記領域を解析し、前記物体の価値を推定する
     請求項16に記載の制御装置。
  18.  制御装置が、
     移動体により検出されたセンサデータに基づいて、前記移動体の周囲にある物体の価値を推定し、
     推定された前記物体の価値に基づいて、前記移動体の行動を計画する
     制御方法。
  19.  コンピュータに、
     移動体により検出されたセンサデータに基づいて、前記移動体の周囲にある物体の価値を推定し、
     推定された前記物体の価値に基づいて、前記移動体の行動を計画する
     処理を実行させるためのプログラム。
PCT/JP2019/025041 2018-07-09 2019-06-25 制御装置、制御方法、およびプログラム WO2020012944A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/250,305 US20210165412A1 (en) 2018-07-09 2019-06-25 Control device, control method, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018129910A JP2021170149A (ja) 2018-07-09 2018-07-09 制御装置、制御方法、およびプログラム
JP2018-129910 2018-07-09

Publications (1)

Publication Number Publication Date
WO2020012944A1 true WO2020012944A1 (ja) 2020-01-16

Family

ID=69142002

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/025041 WO2020012944A1 (ja) 2018-07-09 2019-06-25 制御装置、制御方法、およびプログラム

Country Status (3)

Country Link
US (1) US20210165412A1 (ja)
JP (1) JP2021170149A (ja)
WO (1) WO2020012944A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022039139A1 (ja) * 2020-08-17 2022-02-24 Assest株式会社 買取価格推定プログラム
WO2022249486A1 (ja) * 2021-05-28 2022-12-01 株式会社やまびこ 情報処理システム、作業機及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007230454A (ja) * 2006-03-02 2007-09-13 Toyota Motor Corp 進路設定方法、装置、プログラム、および自動運転システム
WO2010004744A1 (ja) * 2008-07-09 2010-01-14 パナソニック株式会社 経路危険性評価装置
JP2017211909A (ja) * 2016-05-27 2017-11-30 株式会社東芝 情報処理装置及び移動体装置
WO2018012073A1 (ja) * 2016-07-13 2018-01-18 ソニー株式会社 エージェントロボット制御システム、エージェントロボットシステム、エージェントロボット制御方法、および記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015061008A1 (en) * 2013-10-26 2015-04-30 Amazon Technologies, Inc. Unmanned aerial vehicle delivery system
KR101649665B1 (ko) * 2015-04-29 2016-08-30 엘지전자 주식회사 이동 로봇 및 그 제어방법
US9827678B1 (en) * 2016-05-16 2017-11-28 X Development Llc Kinematic design for robotic arm
US10717435B2 (en) * 2018-01-03 2020-07-21 Qualcomm Incorporated Adjustable object avoidance proximity threshold based on classification of detected objects

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007230454A (ja) * 2006-03-02 2007-09-13 Toyota Motor Corp 進路設定方法、装置、プログラム、および自動運転システム
WO2010004744A1 (ja) * 2008-07-09 2010-01-14 パナソニック株式会社 経路危険性評価装置
JP2017211909A (ja) * 2016-05-27 2017-11-30 株式会社東芝 情報処理装置及び移動体装置
WO2018012073A1 (ja) * 2016-07-13 2018-01-18 ソニー株式会社 エージェントロボット制御システム、エージェントロボットシステム、エージェントロボット制御方法、および記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022039139A1 (ja) * 2020-08-17 2022-02-24 Assest株式会社 買取価格推定プログラム
WO2022249486A1 (ja) * 2021-05-28 2022-12-01 株式会社やまびこ 情報処理システム、作業機及びプログラム

Also Published As

Publication number Publication date
US20210165412A1 (en) 2021-06-03
JP2021170149A (ja) 2021-10-28

Similar Documents

Publication Publication Date Title
US11363929B2 (en) Apparatus and methods for programming and training of robotic household appliances
US11580724B2 (en) Virtual teach and repeat mobile manipulation system
JP4032793B2 (ja) 充電システム及び充電制御方法、ロボット装置、及び充電制御プログラム及び記録媒体
KR20210068446A (ko) 지형 인식 스텝 플래닝 시스템
KR20180134230A (ko) 청소 로봇 및 그 제어 방법
US20060064202A1 (en) Environment identification device, environment identification method, and robot device
US20190184569A1 (en) Robot based on artificial intelligence, and control method thereof
JP2020529088A (ja) 衝突の検出、推定、および回避
WO2020012944A1 (ja) 制御装置、制御方法、およびプログラム
Hornung et al. Mobile manipulation in cluttered environments with humanoids: Integrated perception, task planning, and action execution
US20230168689A1 (en) Systems and methods for preserving data and human confidentiality during feature identification by robotic devices
US11969876B2 (en) Robot and control method of robot
US20240153314A1 (en) Engagement Detection and Attention Estimation for Human-Robot Interaction
JP7139643B2 (ja) ロボット、ロボットの制御方法及びプログラム
US20220143819A1 (en) System and methods for training robot policies in the real world
US20210316452A1 (en) Information processing device, action decision method and program
Kumar et al. Design and development of an automated robotic pick & stow system for an e-commerce warehouse
WO2020008754A1 (ja) 情報処理装置、最適時間推定方法、自己位置推定方法及びプログラムを記録した記録媒体
US20230161356A1 (en) Method of updating map in fusion slam and robot implementing same
JP2003271958A (ja) 画像処理方法、その装置、そのプログラム、その記録媒体及び画像処理装置搭載型ロボット装置
Walvekar et al. Vision based autonomous navigation of quadcopter using reinforcement learning
JP2023012812A (ja) 収穫ロボット、収穫ロボットの制御方法及び制御プログラム、並びに収穫システム
WO2019202878A1 (en) Recording medium, information processing apparatus, and information processing method
CN115922731B (zh) 一种机器人的控制方法以及机器人
US20230028871A1 (en) Information processing device, information processing method, and information processing program

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: 19833844

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19833844

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP