WO2022249226A1 - ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム - Google Patents

ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム Download PDF

Info

Publication number
WO2022249226A1
WO2022249226A1 PCT/JP2021/019536 JP2021019536W WO2022249226A1 WO 2022249226 A1 WO2022249226 A1 WO 2022249226A1 JP 2021019536 W JP2021019536 W JP 2021019536W WO 2022249226 A1 WO2022249226 A1 WO 2022249226A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
robot
instruction
destination
instruction information
Prior art date
Application number
PCT/JP2021/019536
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 JP2023513359A priority Critical patent/JP7272521B2/ja
Priority to PCT/JP2021/019536 priority patent/WO2022249226A1/ja
Publication of WO2022249226A1 publication Critical patent/WO2022249226A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/06Control stands, e.g. consoles, switchboards
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine

Definitions

  • the present disclosure relates to a robot teaching device, a robot control system, a robot teaching method, and a robot teaching program.
  • robots are widely used in many fields such as manufacturing, assembly, packaging, transferring, transporting, and transportation, and have improved productivity at factory sites and reduced the burden on workers.
  • robots with articulated arms are known in the fields of sorting and packing parts, packing and serving food, painting and welding.
  • the motion programs of these robots are generally created and edited by operating a teaching device with keys, and as a method of teaching robot motions, a teaching pendant or the like is used to record position information, movement information, etc.
  • a robot teaching device utilizing voice input is known in order to facilitate the teaching operation of a robot (for example, Patent Literature 1).
  • the present invention has been made to solve the above-mentioned problems. To provide a robot teaching device capable of teaching a robot even if an unfamiliar operator gives a voice operation instruction.
  • a robot teaching device performs voice recognition processing on voice signals collected by a microphone, and acquires instruction information indicating the content of instructions to a robot that places a moving object at a predetermined destination.
  • an environment information acquisition unit that acquires peripheral object position information indicating the position of an object existing in the vicinity of the movement destination based on sensor information acquired by a sensor that detects the surrounding environment of the robot; and an instruction information estimator for supplementing the instruction information with missing information in the operation instruction of the robot.
  • the robot teaching device includes the instruction information estimation unit that supplements instruction information with missing information in the operation instruction of the robot based on the peripheral object position information, the position information of the object existing in the vicinity of the robot is By supplementing the missing information based on , it is possible to teach the robot even if an operator with low proficiency or an operator who is unfamiliar with teaching issues a voice operation instruction.
  • FIG. 1 is a configuration diagram showing configurations of a robot teaching device 100 and a robot control system 1000 according to Embodiment 1;
  • FIG. 2 is a hardware configuration diagram showing the hardware configuration of the robot teaching device 100 according to Embodiment 1;
  • FIG. 2 is a conceptual diagram showing robot control executed by the robot control system 1000 according to Embodiment 1;
  • FIG. 4 is a flow chart showing the operation of the robot control system 1000 according to Embodiment 1; 4 is a flow chart showing the operation of the robot control system 1000 according to Embodiment 1;
  • 3 is a diagram showing specific examples of operation contents (control commands), control information, and control parameters of robot teaching executed by the robot control system 1000 according to the first embodiment;
  • FIG. 2 is a conceptual diagram showing robot control executed by the robot control system 1000 according to Embodiment 1;
  • FIG. 4 is a conceptual diagram showing a specific example of environment information acquired by an environment information acquisition unit 120 according to Embodiment 1;
  • FIG. 10 is a flowchart of instruction information complementing processing of an instruction information complementing unit 132 according to Embodiment 1.
  • FIG. 4A and 4B are diagrams showing an example of a destination of a moving object displayed by the input/output unit 150 according to Embodiment 1;
  • FIG. 10 is a flowchart of a modification of the instruction information complementing process of the instruction information complementing unit 132 according to Embodiment 1.
  • FIG. 9 is a flowchart of overlapping processing of the instruction information complementing unit 132 according to Embodiment 1.
  • FIG. FIG. 7 is a configuration diagram showing configurations of a robot teaching device 200 and a robot control system 2000 according to Embodiment 2;
  • FIG. 7 is a conceptual diagram showing robot control executed by a robot control system 2000 according to Embodiment 2;
  • FIG. 11 is a conceptual diagram showing a specific example of environment information acquired by an environment information acquisition unit 220 according to Embodiment 2;
  • 10 is a flowchart of instruction information complementing processing of an instruction information complementing unit 232 according to Embodiment 2.
  • FIG. FIG. 10 is a diagram showing an example of display of movement amount information of a moving object by the input/output unit 250 according to Embodiment 2;
  • FIG. 11 is a configuration diagram showing configurations of a robot teaching device 300 and a robot control system 3000 according to Embodiment 3;
  • FIG. 11 is a conceptual diagram showing a specific example of environment information acquired by an environment information acquisition unit 320 according to Embodiment 3;
  • 14 is a flowchart of instruction information complementing processing of an instruction information complementing unit 332 according to Embodiment 3.
  • FIG. 11 is a configuration diagram showing configurations of a robot teaching device 300 and a robot control system 3000 according to Embodiment 3;
  • FIG. 11 is a conceptual diagram showing a specific example of environment information acquired by an environment information acquisition unit 320 according to Embodiment 3;
  • 14 is a flowchart of instruction information complementing processing of an instruction information complementing unit 332 according to Embodiment 3.
  • FIG. 11 is a configuration diagram showing configurations of a robot teaching device 300 and a robot control system 3000 according to Embodiment 3;
  • FIG. 11 is a conceptual diagram showing a specific example of
  • FIG. 1 is a configuration diagram showing configurations of a robot teaching device 100 and a robot control system 1000 according to Embodiment 1. As shown in FIG. 1
  • the robot control system 1000 controls the robot 10 and includes a robot teaching device 100, a microphone 11, a sensor 12, and a robot control device 13.
  • the robot teaching device 100 sets various commands (motion control commands and parameters) necessary for the motion of the robot 10 to the robot control device 13 so that the robot 10 can "grasp, carry, and place” an object instead of a human.
  • This device is realized by, for example, a teaching operation panel or a portable information terminal such as a smart phone or a tablet PC.
  • the robot teaching device 100 may have a general computer configuration including a CPU, a ROM, a RAM, a storage device, a display unit, an operation unit, an external device interface, a network interface, and the like. Further, the robot teaching device 100 may have a configuration in which an operation terminal for an operator and an execution terminal for each process are separated.
  • the microphone 11 collects the voice uttered by the worker and outputs a voice signal.
  • the microphone 11 is connected to the robot teaching device 100 by wire or wirelessly.
  • the microphone 11 may be of a headset type, or may be of a neck-mounted or pinned type.
  • the microphone 11 may have a noise cancellation function, or may be an array microphone composed of a plurality of microphones. Alternatively, it may be built in the robot teaching device 100 .
  • the sensor 12 detects the surrounding environment of the robot 10 and acquires sensor information. contact type or contact type).
  • the sensor 12 may be mounted directly on the robot 10 or may be installed around the robot 10 .
  • the surrounding environment of the robot 10 is, for example, the arm movement area of the robot 10, the moving object, the moving object storage area, the moving object placement area, and the like.
  • the sensor information is data indicating the detection result of the sensor, such as image information and temperature information.
  • Image information is, for example, a two-dimensional image or a three-dimensional image including a distance image.
  • the visual sensor uses a light coding method that obtains distance information based on the principle of triangulation. Alternatively, a Time of Flight (ToF) method that obtains distance information from the time it takes for the projected infrared pulse to be reflected and returned may be used.
  • ToF Time of Flight
  • a camera is a camera that captures a color image or a monochrome image, and includes an optical mechanism composed of lenses, mirrors, etc., and an imaging device such as a CCD (Charge Coupled Device) or CMOS (Complementary Metal Oxide Semiconductor) image sensor ( (neither shown).
  • An infrared sensor and a light-emitting element capable of photographing at night may be provided.
  • a video recording function may be provided.
  • the sensor 12 outputs the acquired sensor information to the robot teaching device 100 .
  • the robot control device 13 controls the motion of the robot 10 according to various commands (motion control commands and parameters) input from the robot teaching device 100 .
  • the robot control device 13 is implemented by a general computer having a CPU, ROM, RAM, storage device, display section, operation section, external device interface, network interface, and the like.
  • the robot control device 13 may be configured integrally with the robot teaching device 100 or may be configured integrally with the robot 10 .
  • the robot 10 operates according to an operation command from the robot control device 13, and is, for example, a vertical articulated robot. Other types of robots may be used as robot 10 .
  • the robot 10 includes a manipulator such as a robot arm (not shown), a grasping device such as a robot hand, and a controller for controlling the manipulator and the grasping device.
  • the robot 10 includes a position/posture changing mechanism capable of changing the position/posture of the gripping device by changing the angles of the joints of the manipulator.
  • the robot 10 is not limited to an articulated robot.
  • the robot 10 may be a mobile machine capable of numerical control (NC).
  • a gripping device is a tool for gripping an object according to the type of target object by the robot 10 .
  • a gripping hand having a drive mechanism (two-finger gripping, three-finger gripping, multi-finger gripping, etc.), a hand using vacuum air or a magnet suction pad, a shovel-type scooping hand, and the like.
  • the gripping device is detachably attached to the manipulator, and can be replaced according to the type of target object.
  • the robot control device 13 and the robot 10 are connected by a general-purpose interface such as a wireless or wired network or USB (Universal Serial Bus).
  • the robot teaching device 100 includes a speech recognition unit 110, an environment information acquisition unit 120, an instruction information estimation unit 130, a control signal output unit 140, and an input/output unit 150.
  • the voice recognition unit 110 performs voice recognition processing on voice signals collected by the microphone 11, and acquires instruction information indicating the content of instructions to a robot that places a moving object at a predetermined destination.
  • the speech recognition unit 110 acquires speech data from the microphone 11 through wireless or wired communication.
  • the voice recognition unit 110 performs voice recognition processing on the voice signal uttered by the operator, and outputs the voice-inputted operation instruction as text information in the form of characters, words, and sentences composed of them.
  • the instruction information is obtained as text information. It means what includes operation contents and control information obtained by estimation.
  • the speech recognition unit 110 may have dictionary data necessary for speech recognition, such as acoustic models and language models, for multiple types of languages. Further, the voice recognition processing may be performed within the robot teaching device 100 (local voice recognition), or may be performed on the server side (cloud voice recognition) over the network. A known speech recognition technology that utilizes pattern matching, Hidden Markov Model (HMM), deep learning, or the like may be used.
  • HMM Hidden Markov Model
  • the environment information acquisition unit 120 acquires environment information indicating the state of the surrounding environment of the robot 10. In particular, based on the sensor information acquired by the sensor 12 that detects the surrounding environment of the robot, the environment information existing around the movement destination is detected. It acquires peripheral object position information indicating the position of an object that is moving.
  • the peripheral object position information is a kind of environmental information.
  • the environment information acquisition unit 120 analyzes sensor information obtained from the sensor 12 and acquires environment information related to the surrounding environment of the robot and the moving object necessary for the robot 10 to grasp, move, and place the object.
  • the environmental information includes, for example, information (type, size, position, color, temperature) related to the moving object in the moving object storage area, information related to the placement space of the moving object placement area (location of the placeable area, size ), and information (type, size, position, color, temperature) on an object already placed in the moving object placement area (moving object that has already been moved).
  • peripheral object position information refers not only to the position of the object itself existing around the robot, but also to information related to the position of an empty space (placeable area), i.e., position information indicating the position of a space in which no object exists. shall also include
  • the image analysis processing may be performed by the sensor 12, and the environment information acquisition unit 120 may be configured to acquire the resulting environment information.
  • the instruction information estimation unit 130 supplements the instruction information with missing information in the robot operation instruction based on the surrounding object position information obtained by the environment information acquisition unit 120 .
  • the instruction information estimation unit 130 complements the instruction information when the instruction information obtained by the speech recognition unit 110 lacks the information necessary for instructing the movement of the robot. For example, the operator may be requested to re-speak the instruction content, and if the instruction information is still insufficient, the instruction information may be complemented.
  • instruction information estimation section 130 includes missing information identification section 131 and instruction information complementation section 132 .
  • the missing information identifying unit 131 compares preset essential information, which is information necessary for instructing the robot to operate, with the instruction information, and specifies missing information for the robot's operating instruction as missing information. be.
  • the missing information specifying unit 131 performs morphological analysis and syntactic analysis on the text information (instruction information) from the speech recognition unit 110, and converts it into one or more word strings (hereinafter referred to as speech input word strings). Then, the missing information identification unit 131 extracts the operation content and control information (type and value) from the obtained word string, compares the operation content and control information with the essential information, and checks for missing information. judge. Further, as described above, in the present disclosure, not only the text information obtained by the speech recognition unit 110, but also the information after being converted into a word string and extracted as the operation content and the control information, the operation to the robot. Information indicating instructions is collectively referred to as instruction information.
  • the missing information specifying unit 131 determines that the information necessary for instructing the operation of the robot 10 is missing in the extracted operation content or control information, the missing information specifying unit 131 specifies the missing information as missing information. .
  • the instruction information complementing unit 132 complements the instruction information with missing information based on the environmental information, particularly the surrounding object position information. For example, when the missing information specifying unit 131 specifies that the information indicating the placement position of the moving object is insufficient, the instruction information complementing unit 132 adds the placement position of the moving object to the instruction information based on the surrounding object position information. Supplement information indicating location. Further, when the missing information specifying unit 131 specifies that the information indicating the placement direction of the moving object is insufficient among the information indicating the placement position, the instruction information complementing unit 132 performs the following based on the surrounding object position information: The instruction information is supplemented with information indicating the arrangement direction of the moving object.
  • Complementation here means generating instruction information that includes the necessary information for robot operation instructions by supplementing missing information. ” means processing for correcting the arrangement direction to “right”.
  • the environment information acquisition unit 120 further obtains shape information indicating the size of an object existing around the destination and a space indicating the size of the placeable area around the destination based on the sensor information.
  • Information may be acquired, and the instruction information estimation unit 130 may supplement information lacking in the instruction information based on shape information and spatial information in addition to the surrounding object position information.
  • the instruction information complementing unit 132 outputs the complemented instruction information, that is, the instruction information (operation content and control information) including information necessary for instructing the operation of the robot to the control information output unit.
  • the control signal output unit 140 converts the operation content and control information from the instruction information estimation unit 130 into control commands and control parameters, and outputs them to the robot control device 13 .
  • the control signal output unit 140 includes a control signal transmission/reception unit, and transmits/receives signals to/from the robot control device 13 via a wireless or wired network. Transmission and reception of control signals may be implemented by configuring a general-purpose interface such as USB (Universal Serial Bus).
  • USB Universal Serial Bus
  • the input/output unit 150 functions as a user interface, having a display unit that displays to the user and an operation unit that receives input from the user.
  • the display unit is a display device that displays an operation screen of an application for operating the robot teaching device 100 and various types of information.
  • the display device is, for example, a liquid crystal display (LCD) or an organic EL display (OLED: Organic Electro-Luminescence Display).
  • the operation unit detects operations such as touch, slide, and key input by the operator. For example, touch panels, buttons, keyboards, mice, and the like.
  • An operator of the robot teaching device 100 performs robot teaching by operating hardware keys or by touching or sliding display items such as buttons and menus displayed on the input/output unit 150 with a finger or a touch pen.
  • the device 100 can be operated.
  • the input/output unit 150 may be configured by integrating a display unit and an operation unit, or by separating them.
  • FIG. 2 is a hardware configuration diagram showing the hardware configuration of the robot teaching device 100 according to the first embodiment.
  • Each function of the speech recognition unit 110, the environment information acquisition unit 120, the instruction information estimation unit 130, the control signal output unit 140, and the input/output unit 150 provided in the robot teaching device 100 is executed by the program stored in the storage device 3. It is realized by executing in The processing device 2 is a processor such as a CPU (Central Processing Unit), an arithmetic unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor).
  • each function of the robot teaching device 100 may be realized by a plurality of processors.
  • each function of the robot teaching device 100 may be realized by FPGA (Field Programmable Gate Array), ASIC, or the like.
  • the storage device 3 may be non-volatile or volatile semiconductor memory such as RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable ROM), EEPROM (Electrically EPROM), etc.
  • RAM Random Access Memory
  • ROM Read Only Memory
  • flash memory EPROM (Erasable Programmable ROM), EEPROM (Electrically EPROM), etc.
  • it may be a magnetic disk such as a hard disk or flexible disk, or an optical disk such as a mini disk, CD (Compact Disc), or DVD (Digital Versatile Disc).
  • the operation units of the voice recognition unit 110, the environment information acquisition unit 120, and the input/output unit 150 are implemented by the input device 1 such as a keyboard, and the display unit of the input/output unit 150 is implemented by the output device 5 such as a display.
  • a control signal transmission/reception unit of the signal output unit 140 is implemented by the communication device 4 .
  • FIG. 3 is an example showing an outline of robot control executed by the robot control system 1000 according to the first embodiment.
  • FIG. 3(a) shows the state before the object is moved
  • FIG. 3(b) shows the state after the object is moved.
  • FIG. 3(c) shows the positional relationship of each element constituting the robot control system 1000 at the time of initialization.
  • the positional relationship of each element is defined by three-dimensional coordinates, and the following coordinate information is set from the robot teaching device 100 to the robot control device 13 at the time of initialization.
  • the positional relationship of each element is as follows: the position coordinates of the source case 50 are P_50; , the position coordinates of the layout frame 60a in the destination case 60 are set to P_60a, the position coordinates of the layout frame 60b are set to P_60b, and the position coordinates of the layout frame 60c are set to P_60c.
  • the position coordinates of the robot 10 are set to P_10.
  • Position coordinates of objects included in the movement range of the arm trajectory of the robot 10 are set, such as devices, moving objects, movement source cases, movement destination cases, and frame positions in these cases included in the robot control system 1000 .
  • For the position setting of each element at the time of initial setting conventional direct teaching, visual teaching and voice input may be used.
  • an identification marker is placed at a point where the position information is to be registered, the identification marker is acquired by the sensor 12 installed around the robot 10, image recognition processing is performed by the environment information acquisition unit 120, and each position information is obtained. May be set.
  • the operator causes the robot 10 to place two moving objects (50a1 and 50a2) placed in the placement frame 50a of the source case 50 in the placement frame 60b of the destination case 60.
  • moving objects 50a1, 50a2, and 50a3 are expressed as "object A” as objects of the same type.
  • the layout frame 50a is referred to as “frame A”
  • the layout frame 60b is referred to as "frame B".
  • FIGS. 4 and 5 are flowcharts showing the processing flow of robot teaching executed by the robot control system 1000 and the robot teaching device 100 according to the first embodiment.
  • the operation of the robot teaching device 100 corresponds to the robot teaching method
  • the program for causing the computer to execute the operation of the robot teaching device 100 corresponds to the robot teaching program.
  • "part" may be replaced with "process” as appropriate.
  • the operator uses the teaching application of the robot teaching device 100 to make initial settings (ST000).
  • each processing function is initialized and the surrounding environment for robot teaching is set.
  • the position information of each object for example, the source case 50 and the layout frame 50a in the source case 50, the destination case 60 and the layout frame 60b in the destination case 60
  • the coordinate information of the source (start point) P_50: source case 50
  • the coordinate information of the destination (end point) P_60: source case 60, P_60b: layout frame 60b in destination case 60
  • the control information may be set in advance.
  • the source case may be set to "Case 50", the source frame to "Frame A”, and the destination case to "Case 60".
  • the link between the moving object and the control parameter is set. For example, "object A” is “Obj1", “object B” is “Obj2”, and "object C” is "Obj3".
  • the robot teaching device 100 enables voice input according to input from the operator (ST001).
  • the robot teaching device 100 enters a state of accepting voice input (ST002), and when voice input is not performed (ST002 "No"), this state is maintained.
  • the speech recognition section 110 performs speech recognition processing on the input speech signal, and outputs the recognition result to the instruction information estimation section 130 as text information (ST003).
  • the text information is, for example, "Place two items A in frame B.”
  • the missing information identifying unit 131 performs morphological analysis, syntactic analysis, and word string conversion on the text information that is the speech recognition result, and converts it into a speech input word string that is one or more word strings (ST004).
  • the voice input word string is, for example, ⁇ thing A'', ⁇ wo'', ⁇ frame B'', ⁇ ni'', ⁇ 2'', ⁇ piece'', ⁇ arrangement'', ⁇ do'', ⁇ please''. be.
  • the missing information specifying unit 131 estimates and extracts the action content and the control information included in the voice input word string (ST005).
  • estimation techniques For estimating the action content and control information contained in the voice input word string, it is possible to use known estimation techniques that utilize rule-based extraction methods and deep learning. For example, word strings (keywords indicating action content and control information) used in robot motion control are registered in advance, and words matching words in the voice input word string are extracted. Alternatively, operation instruction sentences (word strings composed of operation content and control information) and correct labels are prepared as learning data, and operation content and control information are obtained using machine learning methods such as support vector machines and deep neural networks. An estimation model for estimation may be constructed, and after estimating words that match or have a high probability of matching with the words in the voice input word string, operation details and control information may be extracted.
  • FIG. 6 shows an example of operation contents (control commands), control information, and control parameters for robot teaching executed by the robot control system 1000 according to the first embodiment.
  • each operation content is associated with control information (type, value) and control parameters required for the operation.
  • control information type, value
  • control parameters required for the operation.
  • the types of control information include source case, source frame, destination case, destination frame, object, and quantity. It also sets a value for each of these types.
  • the operation content is movement control that designates the movement destination by an absolute position (destination frame: frame B) in movement between the movement source case 50 and the movement destination case 60
  • the control command is: PickPlaceCntl1.
  • the control information is the movement source case
  • the corresponding control parameters are type: Src_pos_1 and value: P_50.
  • each control parameter is type: Src_pos_2 and value: P_50a for the source frame, type: Dst_pos_1 and value: P_60 for the destination case, and type: Dst_pos_2 for the destination frame.
  • value: P_60a type: Target_pos, value: Obj1 in the case of an object, and type: Move_rep, value: 2 in the case of quantity.
  • the operation content is movement control for specifying the movement destination by the relative position (arrangement origin and arrangement direction) in the movement between the movement source case 50 and the movement destination case 60, and the operation command is PickPlaceCntl2.
  • the operation content is adjustment control of the placement position within the frame of the movement destination, and the operation command is AdjustCntl1.
  • each operation content (control command) such as movement control between frames in the same case (movement control between different frames in the destination case 60) and movement speed control, which are not shown in the figure, and necessary for the operation control information (type, value) and control parameters may be linked.
  • control information for each operation content shown in this linked list is an example of essential information.
  • Types of control information include source case, source frame, destination case, destination frame, quantity, placement start point and placement direction when indicating relative placement position, destination frame for intra-frame movement adjustment control, placement direction and placement movement amount.
  • the missing information specifying unit 131 determines whether or not the operation content and the control information extracted from the voice input sentence are included in the linking list stored at the time of initial setting (ST006). For example, the voice input word string ""thing A”, “o”, “frame B", “ni”, “2", “piece”, “arrangement”, “do", "please”” was input. case, the missing information identifying unit 131 estimates the action content as case-to-case movement control 1 from the input word string, using pre-learned action content and control information estimation models, and sets the control information to “object A”, "Frame B" and "2" are estimated and extracted. Since the voice input word string contains action content and control information, it is determined that "action content and control information are included" (ST006 Yes).
  • the missing information specifying unit 131 determines whether the extracted control information satisfies the control information necessary for the operation content (inter-case movement control 1) or whether the control information is insufficient. (ST008).
  • the necessary control information is, as shown in FIG. 6, the source case, source frame, destination case, destination frame, and quantity.
  • instruction information estimation section 130 sets case 50 as the source case and case 60 as the destination case. The control information for "frame B" and quantity "2" is obtained, and it is determined that the control information for the operation content (inter-case movement control 1) is "sufficient" (ST008 No).
  • Instruction information supplementing section 132 receives the operation content and the control information from lacking information specifying section 131, and outputs the received operation content and control information to control signal output section 140 as they are.
  • the control signal output unit 140 sends the instruction information (operation details and control information) according to the linked list, the control command (PickPlaceCntl1) and the control parameters (Src_pos_1: P_50, Src_pos_2: P_50a, Dst_pos_1: P_60, Dst_pos_2: P_60b, Target_pos: Obj1). , Move_rep: 2) and output to the robot controller 13 .
  • the robot control device 13 reflects the control commands and control parameters taught by the robot teaching device 100 in the robot control program and controls the operation of the robot 10 .
  • the robot 10 picks up the moving object 50a1 (“object A”) from the placement frame 50a (“frame A”) in the movement source case 50 according to the operation command of the robot control device 13, and arranges the movement destination case 60. Move into frame 60b (“frame B”). Also, since the number of pieces to be moved is "two", this operation is performed once more.
  • the missing information identifying unit 131 estimates the action content from the input speech input word string using a pre-learned action content and control information estimation model. Since this voice input word string does not include a moving object, a word indicating the destination placement position, or a word corresponding to the placement position, the content of the action is presumed to be “unknown”. Also, in estimating the control information, the "moving object” is assumed to be “unspecified”, the “arrangement position” is “unspecified”, and the "quantity” is estimated to be "2".
  • the determination result of whether or not it is included is "No" (ST006 No), and a request for voice re-input of operation control is presented on the display unit of the input/output unit 150 (ST007), prompting the operator to re-input the voice operation.
  • the input/output unit 150 may display warnings, cautions, etc., in addition to presenting voice re-input.
  • FIG. 7 is an example showing an outline of robot teaching executed by the robot control system 1000 according to the first embodiment.
  • FIG. 7(a) shows the object before movement
  • FIG. 7(b) shows the object after movement.
  • the operator instructs the robot 10 to move the movement object 50a1 in the movement source case 50 to the left space 60b_L of the already arranged "object B" 70a1 in the arrangement frame 60b of the movement destination case 60.
  • the operation of the robot teaching device 100 when teaching the operation for moving and arranging the robot will be described.
  • the robot teaching device 100 is in a state of accepting voice input (ST002), and the operator voices into the robot teaching device 100, for example, "Place one object A to the left of the object B.”
  • the speech recognition unit 110 performs speech recognition processing, and the missing information identification unit 131 converts the speech recognition result into a speech input word string ““thing A”, “wo”, “thing B”, “no”, “left”, “ “to”, “1", “piece”, “arrangement”, "do", "please”” (ST004).
  • the operation content and control information included in the voice input word string are estimated and extracted (ST005).
  • Insufficient information identifying unit 131 estimates the action content as case-to-case movement control 2 based on the pre-learned action content and control information estimation model from the input word string. "Object A”, “destination arrangement start point” is estimated and extracted as “object B”, “destination arrangement direction” is “left”, and “quantity” is "1". Since the voice input word string contains action content and control information, it is determined that "action content and control information are included” (ST006 Yes).
  • the missing information specifying unit 131 determines whether the extracted control information satisfies the control information necessary for the operation content (inter-case movement control 2) or whether the control information is insufficient. (ST008). If the operation content is case-to-case movement control 2, the necessary control information is, as shown in FIG. is.
  • instruction information estimation section 130 sets case 50 as the source case and case 60 as the destination case. Obtained control information with "object B" for "destination placement starting point", “left” for "destination placement direction”, and "1” for "quantity”, and determined that "no shortage” in the control information (ST008 No ).
  • Instruction information supplementing section 132 receives the operation content and the control information from lacking information specifying section 131, and outputs the received operation content and control information to control signal output section 140 as they are.
  • the control signal output unit 140 outputs control information (operation details and control information) according to the linking list, control commands (PickPlaceCntl2) and control parameters (Src_pos_1: P_50, Src_pos_2: P_50a, Dst_pos_1: P_60, Dst_pos_obj_start: P_70b, Dst_pos_obj_fdir: L , Target_pos: Obj1, Move_rep: 1) and output to the robot controller 13 .
  • the robot control device 13 reflects the control commands and control parameters taught by the robot teaching device 100 in the robot control program and controls the operation of the robot 10 .
  • the moving object 50a1 (“object A”) is picked up, and the destination arrangement direction (“left”) of the destination arrangement starting point 70a1 (“object B”) in the arrangement frame 60b of the destination case 60 is determined. move to
  • the "placement direction” which is the information necessary to specify the placement destination, is not a specific "left” or “right”, but a direction such as "side”, “adjacent”, or “near” of the object as the starting point. This is the case, for example, when an ambiguous expression that is not specified is used. For example, when instructing "Please place one item A to the left of item B", you can also instruct "Please place one item A to the "side” of item B". be.
  • the robot teaching device 100 is in a state of accepting voice input (ST002), and the operator voices input to the robot teaching device 100, "Place one object A next to the object B.”
  • the speech recognition process is performed by the speech recognition unit 110 (ST003).
  • the missing information specifying unit 131 converts the voice recognition result “Please place one item A next to the item B” into the voice input word string ““thing A”, “wo”, “thing B”, “no”, It is converted into “horizontal”, “ni”, “1", “piece”, “arrangement”, “do", and “please” (ST004).
  • the operation content and control information included in the voice input word string are estimated and extracted (ST005).
  • the missing information identification unit 131 uses the pre-learned operation content and control information estimation model from the input word string to determine the operation content: inter-case movement control 2, control information: “object” is “object A”, “ Destination placement origin” is estimated and extracted as “object B”, “destination placement direction” is “unspecified”, “destination placement direction related word” is “horizontal”, and “quantity” is “1". Since the voice input word string contains action content and control information, it is determined that "action content and control information are included” (ST006 Yes). Note that the "words related to the placement direction of the movement destination” are words having meanings related to the placement direction of the movement destination, such as “adjacent”, “nearby”, “periphery”, and “nearby”, in addition to "horizontal”.
  • the missing information specifying unit 131 determines whether the extracted control information satisfies the control information necessary for the operation content (inter-case movement control 2) or whether the control information is insufficient. (ST008). If the operation content is case-to-case movement control 2, the necessary control information is, as shown in FIG. is. In the initial setting (ST000), instruction information estimation section 130 sets case 50 as the source case and case 60 as the destination case. The missing information specifying unit 131 extracts the “object” extracted from the voice input as “object A”, the “destination placement starting point” as “object B”, and the “destination placement direction” as “unspecified”, “destination placement direction”, and “destination placement direction”.
  • control information of "horizontal” for "related word” and "1" for “quantity” is obtained.
  • the "destination placement direction” of the control information is "unspecified”, it is determined that the control information is insufficient, and the lacking information is specified as the "destination placement direction" (ST008 Yes ).
  • the missing information specifying unit 131 checks whether the "movement destination arrangement direction related word" is included (ST010). If no related words are included (ST010 No), returning to FIG. 4, a re-input request is presented on the display unit of the input/output unit 150 to urge the operator to re-input by voice (ST007).
  • the environment information acquisition unit 120 analyzes the sensor information obtained from the sensor 12, and obtains environment information related to the environment around the robot. Acquire (ST011).
  • FIG. 8 shows a specific example of the environment information acquired by the environment information acquisition unit 120.
  • the environment information acquisition unit 120 obtains the environment information of the already placed destination placement starting point 70a1 ("object B") as information about the placement space of the destination.
  • the environment information here includes, for example, the destination arrangement starting point 70a1 (position: P_70a1, width: P_70a1_w, height: P_70a1_h), space L (position: P_60b_Sp_L, width: P_60b_Sp_L_w, height: P_60b_Sp_L_h) and space R (position : P_60b_Sp_R, width: P_60b_Sp_R_w, height: P_60b_Sp_R_h).
  • instruction information estimation section 130 performs instruction information complement processing using control information and environment information (ST012).
  • FIG. 9 is a flow chart of instruction information complementing processing of the instruction information complementing unit 132 in the robot teaching device 100 according to the first embodiment.
  • the instruction information complementing section 132 calculates the sizes of the space L and the space R (ST100).
  • the size of space L (P_60b_Sp_L_Size) is calculated by width (P_60b_Sp_L_w) ⁇ height (P_60b_Sp_L_h).
  • the size of the space R (P_60b_Sp_R_Size) is calculated by width (P_60b_Sp_R_w) ⁇ height (P_60b_Sp_R_h).
  • the instruction information complementing unit 132 uses the obtained size of the space L (P_60b_Sp_L_Size) and the size of the space R (P_60b_Sp_R_Size), the threshold TH_LR, and the threshold TH_RL to control the complementing process.
  • the threshold TH_LR and the threshold TH_RL are thresholds used for weighting when the size of the space L and the size of the space R are compared. Complementary processing is performed when there is a difference exceeding the threshold.
  • the unit of size is the unit of position information obtained from the sensor. A pixel unit may be used, or a unit such as cm (centimeter) or mm (millimeter) corrected for length may be used.
  • the threshold TH_LR is set to 10, and the threshold TH_RL is set to 10.
  • the width of the space L (P_60b_Sp_L_w) is 5 cm
  • the height (P_60b_Sp_L_h) is 3 cm
  • the width of the space R (P_60b_Sp_R_w) is 1.5 cm
  • the height is 1.5 cm.
  • the instruction information complementing unit 132 outputs the operation content and the complemented control information corresponding thereto to the control signal output unit 140 .
  • the instruction information complementing unit 132 corrects the “destination arrangement direction” of the control information extracted from the voice input from “unspecified” to “left”. It outputs to control signal output unit 140 the control information that the “destination placement starting point” is “object B”, the “destination placement direction” is “left”, and the “quantity” is “1”.
  • the control signal output unit 140 sends the instruction information (operation details and control information) according to the linked list, the control command (PickPlaceCntl2) and the control parameters (Src_pos_1: P_50, Src_pos_2: P_50a, Dst_pos_1: P_60, Dst_pos_obj_start: P_70b, Dst_pos_obj_fdir: L , Target_pos: Obj1, Move_rep: 1) and output to the robot controller 13 .
  • the robot control device 13 reflects the control commands and control parameters taught by the robot teaching device 100 in the robot control program and controls the operation of the robot 10 .
  • the position information of the source moving object is calculated from the source case Src_pos_1: P_50, the source frame Src_pos_2: P_50a, and the moving object Target_pos: Obj1.
  • the placement position of the destination is calculated from the destination frame position Dst_pos_1: P_60, the destination start point in the destination frame Dst_pos_obj_start: P_70b, the start destination direction Dst_pos_obj_dir: Left, and the like.
  • a movement source position, a movement destination position, and a movement object are set, and the movement of the robot 10 is controlled.
  • the moving object 50a1 (“object A”) is picked up, and the destination arrangement direction (“left”) of the destination arrangement starting point 70a1 (“object B”) in the arrangement frame 60b of the destination case 60 is determined. to be placed.
  • the robot teaching apparatus 100 supplements the instruction information with the missing information in the operation instruction of the robot based on the peripheral object position information. Even if an unfamiliar operator gives a voice operation instruction, the robot can be instructed.
  • robot teaching by voice when teaching to move a moving object to a predetermined place, an operator with low proficiency or an operator who is unfamiliar with teaching may give motion control instructions containing ambiguous words. Even if this is done, by correcting ambiguous control information into control information for a specific movement direction, it is possible to perform robot teaching in accordance with the operator's intention.
  • the frame position Dst_pos_1: P_60, the movement destination starting point within the frame Dst_pos_obj_start: P_70b, and the starting direction Dst_pos_obj_dir: Left are output to the robot control device 13.
  • the position information of the placement destination is described as being calculated, the position information of the space L (position: P_60b_Sp_L) may be used to directly specify the movement destination position and output it to the robot control device 13 .
  • the robot teaching device 100, the robot control device 13, and the robot 10 are configured independently. It may be configured. Also, the configuration of the robot control device 13 and the robot 10 may be integrated.
  • the environmental information acquisition unit 120 analyzes the sensor information from the sensor 12, and acquires positional information (position By obtaining P, height h, and width w), the instruction information complementing process may be performed using the control information and the environment information.
  • the environment information acquisition unit 120 analyzes the sensor information from the sensor 12, Obtaining space information (position, area, volume) in the three-dimensional upward direction (z-axis) and two-dimensional upward direction (y-axis) as the environment information of the movement destination arrangement starting point 70a1 (“thing B”). Then, instruction information complementing processing may be performed such as arranging side by side with the destination placement starting point 70a1 (“thing B”) or overlapping with the destination placement starting point 70a1 (“thing B”).
  • the "quantity" of the control information is "1" has been described. is 2 or more, the size information of "object A” obtained by the analysis of the environment information acquisition unit 120 and the arrangement space of the destination arrangement direction (left) of the movement destination arrangement starting point 70a1 ("object B") The arrangement position of each object may be changed so that a specified number of objects can be arranged in L.
  • the speech recognition unit 110 acquires instruction information including quantity information indicating the number of moving objects from the audio signal
  • the instruction information estimation unit 130 acquires the instruction information based on the surrounding object position information and the quantity information. You may make it supplement the missing information.
  • the instruction information complementing unit 132 complements the instruction information so as to arrange the moving object in the center of the arrangement space, and when the “quantity” is 2 or more, 1
  • the instruction information is complemented so that the first moving object is arranged at the end of the arrangement space, and the instruction information is complemented so that the second moving object is arranged next to the first moving object.
  • the sizes of the space L and the space R are compared to estimate the destination arrangement direction. It is also possible to check the content of the next voice action instruction continuously input by the operator, determine whether the content is a negative instruction or affirmative instruction, and perform correction processing. For example, when the operator gives a negative instruction (such as "No" or "No") as the next voice action instruction, the space L or space R obtained from the environment information acquisition unit 120 The size of space L-space R may be determined by weighting the size.
  • space L > space R even if the destination placement direction is estimated to be L (left), the opposite direction R (right) is estimated, or the size of space R is reduced by a factor of less than 1. You can do the comparison later. Similarly, when the operator gives a positive instruction (such as "Yes” or "Like") in the next voice operation instruction, the size of the space L is reduced by a factor of less than 1. , a comparison may be made. In this case, even if the operator faces the robot, it is possible to instruct the arrangement position by voice operation.
  • the speech recognition unit 110 acquires the first instruction information from the first audio signal, acquires the second instruction information from the second audio signal, and the instruction information estimation unit 130 acquires the second instruction information is a positive indication or a negative indication, and information missing in the first indication information may be supplemented based on the determination result.
  • the robot 10 is controlled based on the complementation result of the instruction information complementation unit 132 of the robot teaching device 100 in the robot control system 1000 according to the first embodiment. It may be presented on the display unit of the output unit 150 so that the operator can confirm the position of the movement destination where the object to be moved is arranged on the screen. Further, control may be performed so that the robot instruction is performed after receiving the operator's confirmation/approval.
  • FIG. 10 is an example of a destination display of a moving object by the input/output unit 150 according to the first embodiment. As shown in FIG. 10, by displaying the guideline of the movement amount information, it is possible to clearly inform the operator of the movement destination of the moving object.
  • the robot teaching device 100 complements the instruction information according to the type and temperature of the object to be moved.
  • the moving object 50a1 (“object A”) is moved to the destination based on the correction result of the “destination placement direction”.
  • the placement positions of the moving object 50a1 (“object A”) and the movement destination placement starting point 70a1 (“object B”) are taken into account, taking into account the type, temperature, and the like.
  • object A and object C are arranged with two distances, part of the area is overlapped, and overlapped.
  • Several placement specifications are assumed, such as For example, when moving and arranging machine parts, the same type is placed in an overlapping arrangement, and different types are arranged without overlapping. Also, even when objects of different types are arranged side by side, for example, if the objects are parts such as grease or oil to be placed on the parts, control is performed so that they are arranged in an overlapping manner.
  • the environment information acquisition unit 120 further acquires temperature information indicating the temperature of the moving object, and the instruction information estimation unit 130 determines that the instruction information is insufficient based on the surrounding object position information and the temperature information. Complement the information provided.
  • the instruction information estimation unit 130 acquires type information indicating the type of the moving object, and supplements information lacking in the instruction information based on the surrounding object position information and the type information.
  • FIG. 11 is a flowchart of instruction information complementing processing by the instruction information complementing unit 132 according to Embodiment 1, and is obtained by adding overlap processing (ST105) to the flowchart of FIG.
  • FIG. 12 is a flow chart showing the details of the overlapping process (ST105) of the instruction information complementing section 132 according to the first embodiment.
  • the instruction information complementing section 132 acquires object type information from the type information list of the target objects (object A and object B) (ST200).
  • the type information list includes the name of the originating object to be placed at the destination, the name of the object to be moved, each state (solid/fluid), whether or not it is possible to overlap (whether or not object A is to be superimposed on object B), and the overlap value (object This is a list describing information about objects (object A and object B), such as how much A overlaps object B). For example, in the case of machine parts, when placing part A on top of part B, the destination placement origin object is part B, the state of the destination placement origin object is solid, and the movement object is part.
  • Register A state of moving object: solid, possibility of overlapping: yes, overlap value: Overlap_A.
  • the destination placement starting point object is part B
  • the state of the destination placement starting point object is solid
  • the object to be moved is oil A
  • the state of the object to be moved is fluid.
  • Register animal whether or not to overlap: Yes, overlap value: Overlap_B.
  • food A solid
  • destination placement origin object food B
  • state of destination placement origin object solid
  • moving object food A
  • state of moving object solid
  • overlapping possibility allowed
  • overlap value: Overlap_B are registered.
  • the instruction information complementing unit 132 determines whether or not the moving object 50a1 (“object A”) and the destination placement starting point 70a1 (“object B”) are to be overlapped (overlapping possibility) from the obtained object type information. (ST201). If it is an object to be overlapped (Yes in ST201), the overlap value (for example, Overlap_A) of the corresponding object is obtained from the type information list and set as the overlap value V_overlap (ST202). If it is not to be superimposed (the possibility of superimposition is "No") (ST201 No), the overlap value is set to "0" (ST203).
  • the instruction information complementing section 132 acquires the temperature information of the moving object 50a1 ("object A”) and the destination placement starting point 70a1 ("object B") from the environment information acquiring section 120 (ST204). It is determined whether or not the temperature difference between the two is greater than the temperature difference threshold Th_temp (ST205). If the temperature difference exceeds the threshold Th_temp (ST205 Yes), the placement distance D_distance between the moving object 50a1 ("object A") and the destination placement starting point 70a1 ("object B”) is set to a large distance D_far (ST206). . Also, if the temperature difference does not exceed the threshold Th_temp (ST205 No), the arrangement distance D_distance is set to a small distance D_near (ST207).
  • the instruction information complementing unit 132 corrects the "destination arrangement direction" from “unspecified” to "left” in the control information extracted from the voice input.
  • the "destination placement starting point” is "object B”
  • the “destination placement direction” is “left”
  • the “quantity” is "1”
  • the overlap value V_overlap and placement distance D_distance are indicated information.
  • the control signal output unit 140 sends the instruction information (operation details and control information) according to the linked list, the control command (PickPlaceCntl2) and the control parameters (Src_pos_1: P_50, Src_pos_2: P_50a, Dst_pos_1: P_60, Dst_pos_obj_start: P_70b, Dst_pos_obj_fdir: L , Target_pos: Obj1, Move_rep: 1) and output to the robot controller 13 . Also, the overlap value V_overlap and the arrangement distance D_distance are output to the robot control device 13 .
  • the robot control device 13 reflects the control commands and control parameters taught by the robot teaching device 100 in the robot control program and controls the operation of the robot 10 .
  • the position information of the source moving object is calculated from the source case Src_pos_1: P_50, the source frame Src_pos_2: P_50a, and the moving object Target_pos: Obj1.
  • the placement position of the destination is calculated from the destination frame position Dst_pos_1: P_60, the destination starting point in the destination frame Dst_pos_obj_start: P_70b, the starting direction Dst_pos_obj_dir: Left, the overlap value V_overlap, the layout distance D_distance, and the like.
  • a movement source position, a movement destination position, and a movement object are set, and the movement of the robot 10 is controlled.
  • the environment information acquisition unit 120 acquires the temperature information from the sensor 12, it is registered in advance in the type information list so that, for example, the temperature information linked to the type of the moving object is acquired.
  • the state information of the object may be acquired using the sensor information acquired by the sensor 12 .
  • the degree of overlap may be estimated from sensor information of each object.
  • robot teaching by voice when teaching to move a moving object to a predetermined place, an operator with low proficiency or an operator who is unfamiliar with teaching gives motion control instructions including ambiguous words. ambiguous control information is corrected to control information for a specific movement direction, and correction is made to an appropriate arrangement position according to the type and temperature of the object to be moved and the object to be moved. It is possible to perform robot teaching in line with the intention of
  • Embodiment 2 In the robot control system 2000 according to the second embodiment, the processing in step (ST012) of the command information complementing processing flow of the command information complementing unit 132 of the robot teaching device 100 according to the first embodiment is partially changed and added.
  • the configuration is the same as that of the robot control system 1000 according to the first embodiment except that Embodiment 2 will explain an example in which the robot teaching device 200 estimates the amount of movement of a moving object.
  • FIG. 13 is a configuration diagram showing configurations of the robot teaching device 200 and the robot control system 2000 according to the second embodiment. Moreover, the hardware configuration is the same as that of the robot teaching device 100 according to the first embodiment.
  • the instruction information complementing unit 232 determines the surrounding object positions. Based on the information, the instruction information is supplemented with information indicating the amount of movement of the moving object.
  • the environment information acquisition unit 220 acquires object position information indicating the position of the moving object as one of the surrounding object position information based on the sensor information
  • the instruction information estimation unit 230 acquires object position information based on the object position information. , to supplement the missing information in the instruction information.
  • FIG. 14 is an example showing an outline of robot teaching executed by the robot control system 2000 and the robot teaching device 200 according to the second embodiment.
  • FIG. 14(a) shows the state after moving the object (first time: after moving the moving object 50a1)
  • FIG. 14(b) shows the state after moving the object (second time: after moving the moving object 50a2). ).
  • the operator performs the first robot instruction by voice input, "Place one object A in frame B.” It is assumed that the robot 20 receives the instruction and moves/places the moving object 50a1 in the source case 50 into the placement frame 60b of the destination case 60 (first move/placement).
  • the placement position is within the placement frame 60b, but if the placement position within the frame intended by the operator is a different position within the placement frame 60b, a frame for adjusting the placement position for the second and subsequent times is used. Teach inner movement adjustment.
  • the operation of the robot teaching device 200 when teaching the second and subsequent movement adjustments within the same frame will be described.
  • the placement location (60b_req) intended by the operator is within the same frame of the placement frame 60b. Assume that it is placed at the rightmost position (60b_1st_placed) in the frame.
  • instruction is given on the movement adjustment within the frame for adjusting the placement position (60b_req) for the second and subsequent placement positions.
  • step 012 Since the processing other than step 012 (ST012) is the same as in Embodiment 1, the operations of the robot teaching device 200 and the robot control system 2000 will be described using the flowcharts of FIGS. 4 and 5.
  • FIG. 1 Since the processing other than step 012 (ST012) is the same as in Embodiment 1, the operations of the robot teaching device 200 and the robot control system 2000 will be described using the flowcharts of FIGS. 4 and 5.
  • the robot teaching device 200 is in a state of accepting voice input (ST002).
  • the voice input to the robot teaching device 200 is "please shift the object A to the left by 5 cm”.
  • the speech recognition unit 210 performs speech recognition processing, and the missing information identification unit 231 converts the speech recognition result into a speech input word string ““thing A”, “wo”, “left”, “ni”, “5”, “cm ”, “shift”, “te”, and “please”” (ST004).
  • the operation content and control information included in the voice input word string are estimated and extracted (ST005).
  • the missing information identification unit 231 uses the pre-learned operation content and control information estimation model from the input word string to determine the operation content: movement adjustment 1 within the frame, control information: “object” is “object A”, “ “Frame B” is estimated and extracted for “destination frame”, “left” for “destination placement direction”, and “5 cm” for “destination placement movement amount”. Since the voice input word string contains action content and control information, it is determined that "action content and control information are included" (ST006 Yes).
  • the missing information specifying unit 231 determines whether the extracted control information satisfies the control information necessary for the operation content (intra-frame movement adjustment 1) or whether the control information is insufficient. (ST008).
  • the necessary control information is, as shown in FIG. This is the placement movement amount.
  • instruction information estimating section 230 sets "case 50" as the “source case” and “case 60" as the "destination case”. "Frame B" is set for "Destination frame" in the input.
  • control information is included (ST008 No).
  • the instruction information complementing unit 232 receives the operation content and the control information from the missing information specifying unit 231, and outputs the received operation content and control information to the control signal output unit 240 as they are.
  • the amount of movement "Dx" can be specified in units of length, such as “millimeters (mm)” and “centimeters (cm)", or it can be specified by a number that is linked to the amount of movement in advance. You can
  • the control signal output unit 240 converts the instruction information (operation details and control information) into a control command (AdjustCntl1) and control parameters (Dst_pos_2: P_60b, Dst_pos_obj_dir: Left, Target_pos: Obj1, Dst_pos_obj_amt: 5 cm) according to the linking list. and output to the robot control device 23 .
  • the robot control device 23 reflects the control commands and control parameters taught by the robot teaching device 200 to the robot control program and controls the operation of the robot 20 .
  • the robot 20 moves from the placement frame 50a (“frame A”) in the movement source case 50 to the moving object 50a2 (“object A”) is picked up and placed at a position (60b_2nd_placed) that is 5 cm to the left of the first placement position (60b_1st_placed) in the placement frame 60b (“frame B”) of the destination case 60 .
  • the robot teaching device 200 is in a state of accepting voice input (ST002), and the operator voices into the robot teaching device 200, "Please move the object A to the left end.”
  • the speech recognition process is performed by the speech recognition unit 210 (ST003).
  • the missing information identifying unit 231 converts the speech recognition result “Please move the item A to the left end” into the voice input word string ““thing A”, “wo”, “left end”, “to”, “shift”, “te , ⁇ Please'''' (ST004).
  • the operation content and control information included in the voice input word string are estimated and extracted (ST005).
  • the missing information identification unit 231 uses the pre-learned operation content and control information estimation model from the input word string to determine the operation content: movement adjustment 1 within the frame, control information: “object” is “object A”, “ “Destination frame” is assumed to be “frame B”, “destination placement direction” is “unspecified”, “destination placement movement amount” is “unspecified”, and “destination placement movement amount related word” is assumed to be “left end”. ⁇ Extract. Since the voice input word string contains action content and control information, it is determined that "action content and control information are included” (ST006 Yes). In addition to “left edge”, “destination placement movement amount related words” include “right edge”, “left corner”, “right corner”, “center”, “middle”, “center”, etc. is a word with a similar meaning denoting
  • the missing information specifying unit 231 determines whether the extracted control information satisfies the control information necessary for the operation content (intra-frame movement adjustment 1) or whether the control information is insufficient. (ST008).
  • the necessary control information is, as shown in FIG. This is the placement movement amount.
  • instruction information estimating section 230 sets "case 50" as the “source case” and “case 60” as the "destination case”.
  • “Frame B” is set for "Destination frame” in the input.
  • the control information extracted from the second voice input is obtained: "object A”, "destination placement direction” "unspecified", and "destination placement movement amount” "unspecified”.
  • the lacking information specifying unit 231 determines that the control information is insufficient because the “destination placement movement amount” and the “destination placement direction” of the necessary control information are “unspecified” and “unspecified”, respectively. It determines that the lacking information is the ⁇ destination placement movement amount'' and the ⁇ destination placement direction'' (ST008 Yes).
  • the missing information specifying unit 231 checks whether or not the "destination arrangement movement amount related word" is included (ST010). If no related words are included (ST010 No), returning to FIG. 4, a re-input request is presented on the surface of the input/output unit 250 to prompt the operator to re-input by voice (ST007).
  • the process proceeds to the next step.
  • sensor information is acquired from the sensor 22 (ST011).
  • the environment information acquisition unit 220 analyzes the sensor information obtained from the sensor 22 and acquires environment information about the environment around the robot.
  • FIG. 15 shows a specific example of the environment information acquired by the environment information acquisition unit 220.
  • the environment information acquisition unit 220 acquires the environment information of the destination layout space and the destination frame 60b.
  • the environment information includes, for example, the position information (P_60b_1st_placed) of the moving object 50a1 that has already been placed in the destination frame 60b for the first time, the left edge position P_60b_L_edge of the destination frame 60b as the position information related to the destination frame 60b, They are the center position P_60b_Center, the right end position P_60b_R_edge, and the like.
  • FIG. 16 is a flow chart of instruction information complementing processing of the instruction information complementing unit 232 in the robot teaching device 200 according to the second embodiment.
  • the instruction information complementing unit 232 acquires the position information (P_60b_1st_placed) of the moving object 50a1 that has been placed in the destination frame 60b for the first time from the environment information (ST300). Next, a "movement destination arrangement movement amount related word" is obtained from the voice input character string (ST301). Control is branched based on the acquired "destination arrangement movement amount related word”.
  • the designation information complementing section 232 determines whether or not the "destination arrangement movement amount related word" includes “left” (ST302). If “left” is included (ST302 Yes), the arrangement direction "unspecified” of the control information is corrected to "left” (ST303). Next, the amount of movement Dx is calculated.
  • the movement amount Dx is the absolute value of the difference between the position information (P_60b_1st_placed) of the moving object 50a1 already placed in the destination frame 60b for the first time and the specified position of the destination frame 60b extracted from the voice input character string. (ST304).
  • the specified position of the frame is determined by the left edge position P_60b_L_edge of the movement destination frame 60b and the position information (P_60b_1st_placed) of the moving object 50a1. Find Dx.
  • the movement amount Dx is 5.
  • the second and subsequent times are taught to be placed 5 cm to the left of the first placed position.
  • the instruction information complementing unit 232 subsequently determines whether "right” is included in the "destination placement movement amount related word”. (ST305). If “right” is included (ST305 Yes), the arrangement direction "unspecified” of the control information is corrected to "right” (ST306).
  • the movement amount Dx is calculated in the same manner as the left case. A movement amount Dx is obtained from the right edge position P_60b_R_edge of the destination frame 60b and the position information (P_60b_1st_placed) of the moving object 50a1.
  • the indication information complementing unit 232 continues with "middle” in the "destination placement movement amount related word”. is included (ST307). If “medium” is included (ST307 Yes), the current It is confirmed whether the position of the target object and the center position of the frame match (ST308). If they match (ST308 Yes), returning to FIG. 4, a re-input request is presented on the display unit of the input/output unit 250 to prompt the operator to re-input by voice (ST007). If they do not match (ST308 No), it is determined whether the current position of the target object is to the right of the frame center (ST309).
  • the arrangement direction "unspecified” of the control information is corrected to "left” (ST210). If it is left of the frame center position (ST309 No), the arrangement direction "unspecified” of the control information is corrected to "right” (ST310).
  • the movement amount Dx is calculated based on the position information (P_60b_1st_placed) of the moving object 50a1 already placed in the movement destination frame 60b for the first time, and the designated position of the movement destination frame 60b extracted from the voice input character string (center position P_60b_Center ) is obtained as the absolute value of the difference (ST311).
  • the instruction information complementing unit 232 corrects the "destination placement direction” from “unspecified” to “left” in the control information extracted from the second voice input, and corrects the "destination placement movement amount ” is corrected from “unspecified” to “Dx”, and the control information is such that “object” is “object A”, “destination placement direction” is “left”, and “destination placement movement amount” is “Dx”. becomes.
  • the instruction information complementing unit 232 outputs the operation content and the corrected control information to the control signal output unit 240 as complemented instruction information.
  • the control signal output unit 240 converts the instruction information (operation details and control information) into a control command (AdjustCntl1) and control parameters (Dst_pos_2: P_60b, Dst_pos_obj_dir: Left, Target_pos: Obj1, Dst_pos_obj_amt: Dx) according to the linking list. and output to the robot control device 23 .
  • the robot control device 23 reflects the control commands and control parameters taught by the robot teaching device 200 to the robot control program and controls the operation of the robot 20 .
  • the robot 20 picks up a moving object 50a2 (“object A”) from an arrangement frame 50a (“frame A”) in the movement source case 50 in accordance with an operation command from the robot control device 23,
  • object A a moving object 50a2
  • frame A arrangement frame 50a
  • frame B placement frame 60b
  • the robot teaching device 200 can be used to teach the robot to move a moving object to a predetermined place in voice-based robot teaching. Even if a motion control instruction including words is given, by correcting ambiguous control information into control information of a specific movement direction and movement amount, it is possible to perform robot teaching in accordance with the operator's intention.
  • the instruction information estimation unit 230 acquires the position information of the left end, the center, and the right end in each frame as the surrounding object position information from the environment information acquisition unit 220, and calculates the movement amount.
  • the robot 20 is controlled based on the complementation result of the command information estimation unit 230 according to the second embodiment, the complementation result of the command information estimation unit 230 is presented on the display unit of the input/output unit 250,
  • the operator may be allowed to confirm on the screen information indicating dimensions such as a ruler or a scale that serves as a guideline for the amount of movement of the object to be moved. Further, control may be performed so that the robot instruction is performed after receiving the operator's confirmation/approval.
  • FIG. 17 is a display example of movement amount information (reference) of a moving object by the input/output unit 250 according to the second embodiment. As shown in FIG. 17, by displaying the guideline of the movement amount information, it is possible to clearly inform the operator of the movement amount when moving the object to be moved.
  • modified example of the robot teaching device 100 according to the first embodiment can also be applied to the robot teaching device 200 according to the second embodiment.
  • the configuration of the robot teaching device 200 according to the second embodiment may be combined with the robot teaching device 100 according to the first embodiment.
  • Embodiment 3 In the robot control system 3000 according to the third embodiment, the processing in step (ST012) of the instruction information complementing processing flow of the instruction information complementing unit 332 of the robot teaching device 300 is partially changed or added from the first and second embodiments.
  • the configurations are the same as those of the robot control systems 1000 and 2000 and the robot teaching devices 100 and 200 according to the first and second embodiments except that the configuration is changed.
  • Embodiment 3 describes another example in which the instruction information complementing unit 332 estimates the amount of movement of the moving object.
  • FIG. 18 is a configuration diagram showing configurations of the robot teaching device 300 and the robot control system 3000 according to the third embodiment. Moreover, the hardware configuration of the robot teaching device 300 is the same as that of the robot teaching devices 100 and 200 according to the first and second embodiments.
  • the robot teaching device 300 is used as another example in which a field worker without specialized knowledge or an unfamiliar beginner instructs the robot 30 as an operator as described in the second embodiment.
  • the operator does not fully grasp the commands and parameters for voice input when giving an operation instruction for movement adjustment to the robot 30 by voice, the operator does not fully understand the "arrangement movement amount" which is the information necessary for movement adjustment. is not a specific numerical value such as “2 cm” or “5 cm”, but “slightly left”, “slightly left”, “a little Ambiguous expressions such as "left”, “slightly right", and “slightly right” may be used without specifying the amount of movement. For example, when instructing ⁇ Please move the object A to the left by 5 cm'', the instruction may be ⁇ Please move the object A slightly to the left''.
  • Robot teaching device 300 is in a state of accepting voice input (ST002), and the operator voice-inputs to robot teaching device 300, "Please move object A slightly to the left" as the second voice teaching.
  • a speech recognition process is performed by the speech recognition unit 310 (ST003).
  • the missing information identification unit 331 converts the speech recognition result “Please move the object A slightly to the left” to the voice input word string ““object A”, “to”, “slightly”, “left” “to”, “shift ”, “te”, and “please”” (ST004).
  • the operation content and control information included in the voice input word string are estimated and extracted (ST005).
  • the missing information identification unit 331 uses the pre-learned operation content and control information estimation model from the input word string to determine the operation content: movement adjustment 1 within the frame, control information: “object” is “object A”, “ “Destination frame” is assumed to be “Frame B”, “Destination placement direction” is “Left”, “Destination placement movement amount” is “Unspecified”, and “Destination placement movement amount related word” is assumed to be "Slight”. Extract. Since the voice input word string contains action content and control information, it is determined that "action content and control information are included” (ST006 Yes).
  • destination arrangement movement amount related words include “slightly”, “big”, “slightly”, “slightly”, “slightly”, “slightly”, and “. It is a word with a similar meaning that indicates the degree of movement within the frame, such as "Kokoromochi”.
  • the missing information specifying unit 331 determines whether the extracted control information satisfies the control information necessary for the operation content (intra-frame movement adjustment 1) or whether the control information is insufficient. (ST008).
  • the control information extracted from the second voice input is obtained with "object A” as the "object”, “left” as the "destination placement direction”, and “unspecified” as the "destination placement movement amount”. Since the "destination placement movement amount" of the necessary control information is "unspecified", it is determined that the control information is insufficient, and the lacking information is specified as the "destination placement movement amount" (ST008). Yes).
  • the missing information specifying unit 331 checks whether or not the "destination arrangement movement amount related word" is included (ST010). If the "destination arrangement movement amount related word" is not included (ST010 No), return to FIG. 4 and present a re-input request to the display unit of the input/output unit 350 to prompt the operator to re-input by voice (ST007 ).
  • the process proceeds to the next step.
  • sensor information is acquired from the sensor 32 (ST011).
  • the environment information acquisition unit 320 analyzes the sensor information obtained from the sensor 32 and acquires environment information about the environment around the robot and the moving object.
  • FIG. 19 shows the environment information acquired by the environment information acquisition unit 320.
  • the environment information acquisition unit 320 acquires the environment information of the destination layout space and the destination frame 60b.
  • the surrounding object position information is obtained from the sensor 32 based on, for example, the position information (P_60b_1st_placed) of the moving object 50a1 already placed in the destination frame 60b for the first time, or the destination direction "left" included in the second utterance.
  • Spatial information position: P_60b_Sp_L, width: P_60b_Sp_L_w, height: P_60b_Sp_L_h
  • the instruction information complementing section 332 performs control information correction processing using the control information and the environment information (ST012).
  • FIG. 20 is a flowchart of instruction information complementing processing of the instruction information complementing unit 332 according to the third embodiment.
  • the instruction information complementing unit 332 obtains the position information (P_60b_1st_placed) of the moving object 50a1 that has already been placed in the destination frame 60b for the first time and the frame of the destination frame 60b, which is obtained as the peripheral object position information.
  • Positional information and spatial information position: P_60b_Sp_L, width: P_60b_Sp_L_w, height: P_60b_Sp_L_h
  • instruction information complementing section 332 divides the space size on the left side by the number of divisions (arbitrary numerical value) to calculate movement amount width Wx, which is the unit of movement amount (ST401).
  • the number of divisions in the x direction is set to 2
  • the number of divisions in the x direction is set to 4.
  • the movement amount width Wx is P_60b_Sp_L_w/3.
  • the instruction information supplementing section 332 acquires the "movement destination arrangement movement amount related word" from the voice input character string (ST402). Subsequently, instruction information complementing section 332 determines whether or not the “destination placement movement amount related word” is a word indicating a “small” movement amount such as “small” (ST403). If the "destination arrangement movement amount related word” is a word indicating a "small” movement amount (ST403 Yes), the movement amount coefficient K is set to a small value (ST404). Also, if the "destination arrangement movement amount related word” is not a word indicating a "small” movement amount (ST403 No), the movement amount coefficient K is set to a large value (ST405). The final movement amount is calculated from the movement amount width Wx and the movement amount coefficient K (ST406).
  • the instruction information complementing section 332 sets the movement amount coefficient K to "1" (ST404). If no word indicating a small movement amount is included (ST403 No), the movement amount coefficient K is set to "3" (ST405).
  • the instruction information complementing unit 332 corrects the "destination placement movement amount” from “unspecified” to "Dx" in the control information extracted from the second voice input, and the control information is " The object” is “thing A”, the “destination placement direction” is “left”, and the “destination placement movement amount” is "Dx”.
  • the instruction information complementing unit 332 outputs the operation content and the corrected control information to the control signal output unit 340 as complemented instruction information.
  • the control signal output unit 340 converts the instruction information (operation details and control information) into a control command (AdjustCntl1) and control parameters (Dst_pos_2: P_60b, Dst_pos_obj_dir: Left, Target_pos: Obj1, Dst_pos_obj_amt: Dx) according to the linked list. and output to the robot control device 33 .
  • the robot control device 33 reflects the control commands and control parameters taught by the robot teaching device 300 to the robot control program and controls the operation of the robot 30 .
  • the robot 30 picks up a moving object 50a2 (“object A”) from an arrangement frame 50a (“frame A”) in the movement source case 50 according to the operation command of the robot control device 33,
  • the position moved by Dx to the left from the placement position P_50a1 placed the first time in the placement frame 60b (“frame B”) of the destination case 60 is set as the placement place (60b_2nd_placed) for the second and subsequent times, and the moving object 50a2 (“ Place object A'').
  • the robot teaching device 300 can perform vague teaching by an operator with low proficiency or an operator who is unfamiliar with teaching when teaching to move a moving object to a predetermined place in robot teaching by voice. Even if a motion control instruction including words is given, by correcting ambiguous control information to control information of a specific amount of movement, it is possible to perform robot teaching in accordance with the operator's intention.
  • the instruction information complementing unit 332 checks whether or not the "destination placement movement amount related word" is included, and if the "destination placement movement amount related word" is not included, the input/output unit A re-input request is presented on the display unit 350 to prompt the operator to re-input by voice. It may be set to a value and controlled to calculate the movement amount Dx.
  • the command information complementing unit 332 sets the number of divisions (increase/decrease in movement amount) to three levels, and sets the movement amount coefficient K to a value in the range of 1 to 3. You can By increasing the number of divisions, it becomes possible to finely specify the amount of movement.
  • the instruction information complementing unit 332 does not include the content of the utterance ("Do the object A Please move it to the left a little.") and the correction result of the instruction (movement amount width Wx, movement amount coefficient K, movement amount Dx) are saved, and when the same utterance is performed again in the third teaching may be controlled such that the value of the movement amount coefficient K is set larger than the existing value.
  • This control has the effect of reducing the number of times the same movement adjustment operation is uttered when similar vague quantitative voice instructions are subsequently given.
  • the instruction information estimation unit 330 may supplement information missing in the instruction information based on the surrounding object position information and the number of voice instructions.
  • modified example of the robot teaching device 100 according to the first embodiment can also be applied to the robot teaching device 300 according to the third embodiment.
  • the configuration of the robot teaching device 300 according to the third embodiment may be combined with the robot teaching devices 100 and 200 according to the first and second embodiments.
  • the robot teaching device according to the present disclosure is suitable for use in FA (Factory Automation) equipment.
  • 100, 200, 300 robot teaching device 110, 210, 310 voice recognition section, 120, 220, 320 environment information acquisition section, 130, 230, 330 instruction information estimation section, 131, 231, 331 missing information identification section, 132, 232, 332 instruction information supplementation unit, 140, 240, 340 control signal output unit, 150, 250, 350 input/output unit, 1000, 2000, 3000 robot control system, 10, 20, 30 robot, 11, 21, 31 microphone, 12, 22, 32 sensors, 13, 23, 33 robot control device, 1 input device, 2 processing device, 3 storage device, 4 communication device, 5 output device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

音声指示によるロボット教示において、移動対象物を所定の場所へ移動する教示の際に、習熟度の低い操作者や教示に慣れない操作者による音声操作指示が行われても、ロボットへの教示を行えるロボット教示装置を得る。 本開示に係るロボット教示装置は、マイクによって収集された音声信号に対して音声認識処理を行い、移動対象物を所定の移動先に配置するロボットへの指示内容を示す指示情報を取得する音声認識部と、記ロボットの周辺環境を検知するセンサによって取得されたセンサ情報に基づき、移動先周辺に存在する物体の位置を示す周辺物体位置情報を取得する環境情報取得部と、周辺物体位置情報に基づき、ロボットの動作指示に不足している情報を指示情報に補完する指示情報推定部と、を備えた。

Description

ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム
 本開示は、ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラムに関する。
 現在、性能向上及びコスト低下により、ロボットは、製造、組立て、梱包、移送、搬送、輸送等の多くの分野で広く使用され、工場の現場における生産性向上や労働者の負担軽減を実現している。例えば、部品の並び替えや梱包、食品梱包や盛り付け、塗装・溶接などの分野では、多関節のアームを備えたロボットが知られている。これらのロボットの動作プログラムは、教示装置をキー操作して作成・編集するのが一般的であり、ロボットの動きを教示する方法として、ティーチングペンダント等を用いて、位置情報や移動情報などを記録する方法が知られている。また、ロボットの教示操作を容易にするために、音声入力を活用したロボット教示装置が知られている(例えば、特許文献1)。
特開2020-19127号公報
 従来の技術では、音声を活用したロボット教示において、ロボットへの動作指示として、ロボットを動作させるために必要となる制御コマンドや制御パラメータを作業者が発話し、パラメータ設定変更や追加を行う。これらの作業を熟練者や専門家が行う場合には、ロボットが動作として受け付けられる、予め定められた表現を把握しているため、音声によるロボットへの教示が可能である。一方、習熟度の低い操作者や教示に慣れない操作者の場合には、決められた音声コマンドやパラメータを完全には把握していないため、教示に使う音声コマンドとは異なる、普段の日常会話で使用している表現を無意識に使用して操作指示(教示)を行ってしまう可能性がある。この場合、予め格納された一般的な指示パターンと異なる発話が行われるため、ロボットは、指示内容を解釈できず、ロボットへの教示ができないという問題点があった。
 この発明は上記のような問題点を解決するためになされたもので、音声指示によるロボット教示において、移動対象物を所定の場所へ移動する教示の際に、習熟度の低い操作者や教示に慣れない操作者による音声操作指示が行われても、ロボットへの教示を行えるロボット教示装置を得ることを目的とする。
 本開示に係るロボット教示装置は、マイクによって収集された音声信号に対して音声認識処理を行い、移動対象物を所定の移動先に配置するロボットへの指示内容を示す指示情報を取得する音声認識部と、ロボットの周辺環境を検知するセンサによって取得されたセンサ情報に基づき、移動先周辺に存在する物体の位置を示す周辺物体位置情報を取得する環境情報取得部と、周辺物体位置情報に基づき、ロボットの動作指示に不足している情報を指示情報に補完する指示情報推定部と、を備えた。
 本開示に係るロボット教示装置は、周辺物体位置情報に基づき、ロボットの動作指示に不足している情報を指示情報に補完する指示情報推定部を備えたので、ロボット周辺に存在する物体の位置情報に基づいて不足している情報を補完することで、習熟度の低い操作者や教示に慣れない操作者による音声操作指示が行われても、ロボットへの教示を行うことができる。
実施の形態1に係るロボット教示装置100及びロボット制御システム1000の構成を示す構成図である。 実施の形態1に係るロボット教示装置100のハードウェア構成を示すハードウェア構成図である。 実施の形態1に係るロボット制御システム1000にて実行されるロボット制御を示す概念図である。 実施の形態1に係るロボット制御システム1000の動作を示すフローチャートである。 実施の形態1に係るロボット制御システム1000の動作を示すフローチャートである。 実施の形態1に係るロボット制御システム1000にて実行されるロボット教示の動作内容(制御コマンド)、制御情報、制御パラメータの具体例を示す図である。 実施の形態1に係るロボット制御システム1000にて実行されるロボット制御を示す概念図である。 実施の形態1に係る環境情報取得部120が取得した環境情報の具体例を示す概念図である。 実施の形態1に係る指示情報補完部132の指示情報補完処理のフローチャートである。 実施の形態1に係る入出力部150による移動対象物の移動先表示例を示す図である。 実施の形態1に係る指示情報補完部132の指示情報補完処理の変形例のフローチャートである。 実施の形態1に係る指示情報補完部132の重なり処理のフローチャートである。 実施の形態2に係るロボット教示装置200及びロボット制御システム2000の構成を示す構成図である。 実施の形態2に係るロボット制御システム2000にて実行されるロボット制御を示す概念図である。 実施の形態2に係る環境情報取得部220が取得した環境情報の具体例を示す概念図である。 実施の形態2に係る指示情報補完部232の指示情報補完処理のフローチャートである。 実施の形態2に係る入出力部250よる移動対象物の移動量情報表示例を示す図である 実施の形態3に係るロボット教示装置300及びロボット制御システム3000の構成を示す構成図である。 実施の形態3に係る環境情報取得部320が取得した環境情報の具体例を示す概念図である。 実施の形態3に係る指示情報補完部332の指示情報補完処理のフローチャートである。
 実施の形態1.
 図1は、実施の形態1に係るロボット教示装置100及びロボット制御システム1000の構成を示す構成図である。
 ロボット制御システム1000は、ロボット10を制御するものであり、ロボット教示装置100、マイク11、センサ12、及びロボット制御装置13を備える。
 ロボット教示装置100は、ロボット10が人の代わりに対象物を“把持、運搬、配置”するために、ロボット10の動作に必要な各種指令(動作制御コマンドおよびパラメータ)をロボット制御装置13に設定する装置であって、例えば、教示操作盤、或いはスマートフォン、タブレットPC等の携帯型情報端末により実現される。ロボット教示装置100は、CPU、ROM、RAM、記憶装置、表示部、操作部、外部機器インタフェース、ネットワークインタフェース等を有する一般的なコンピュータとしての構成を有していても良い。また、ロボット教示装置100は、操作者の操作用端末と各処理の実行端末を分離した構成としても良い。
 マイク11は、作業者が発声した音声を収集し音声信号を出力するものである。マイク11は有線又は無線によりロボット教示装置100に接続されている。マイク11は、ヘッドセットタイプでも良いし、首掛け式やピン止め式のものでも良い。また、マイク11は、ノイズキャセル機能を有してもよいし、複数マイクで構成されたアレイマイクでも良い。また、ロボット教示装置100に内蔵されていても良い。
 センサ12は、ロボット10の周辺環境を検知し、センサ情報を取得するものであり、空間情報や移動対象物の画像情報を取得するカメラや視覚センサ、温度情報を測定・取得する温度センサ(非接触式もしくは接触式)などである。センサ12は、ロボット10に直接搭載してもよいし、ロボット10周辺に設置してもよい。
 ロボット10の周辺環境とは、例えば、ロボット10のアーム移動領域、移動対象物、移動対象物保管領域、移動対象物配置領域などである。センサ情報とは、センサの検知結果を示すデータであり、画像情報、温度情報などである。画像情報とは、例えば2次元画像や、距離画像を含む3次元画像である。視覚センサは、三角測量の原理で距離情報を得るLight Coding方式を用いる。もしくは、投光した赤外線パルスが反射して戻ってくるまでの時間から距離情報を得るTime of Flight(ToF)方式を用いてもよい。或いは、三角測量の原理によりステレオカメラを使った視差情報から距離情報を得る方式を用いてもよいし、その他の方式を用いてもよい。カメラは、カラー画像やモノクロ画像を撮像するカメラであって、レンズ、ミラー等から構成される光学機構と、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)のイメージセンサ等の撮像素子(いずれも図示せず)を備えている。夜間撮影が可能な赤外線センサ、発光素子を持たせても良い。動画撮影機能を持たせても良い。センサ12は、取得したセンサ情報をロボット教示装置100に出力する。
 ロボット制御装置13は、ロボット教示装置100から入力される各種指令(動作制御コマンドおよびパラメータ)に応じてロボット10の動作を制御するものである。ロボット制御装置13は、CPU、ROM、RAM、記憶装置、表示部、操作部、外部機器インタフェース、ネットワークインタフェース等を有する一般的なコンピュータにより実現される。ロボット制御装置13は、ロボット教示装置100と一体として構成してもよいし、ロボット10と一体として構成してもよい。
 ロボット10は、ロボット制御装置13の動作指令に従い動作するものであり、例えば、垂直多関節ロボットである。ロボット10として他のタイプのロボットが用いられても良い。ロボット10は、図示しないロボットアーム等のマニピュレータや、ロボットハンド等の把持装置、マニピュレータと把持装置を制御するコントローラを備える。ロボット10は、マニピュレータの各関節の角度を変更することで把持装置の位置姿勢を変更可能な位置姿勢変更機構を備える。
 また、ロボット10は、多関節ロボットに限定されるものではない。ロボット10は、数値制御(Numerical Control:NC)可能な可動式の機械であってもよい。把持装置は、ロボット10による対象物体の種類に応じて、物体を把持するためのツールである。例えば、駆動機構を有した把持ハンド(二本指掴み、三本指掴み、複数指掴み等)、真空エアーや磁石による吸着パッドを用いたハンド、ショベルタイプのすくい上げハンド等である。なお、把持装置は、マニピュレータに対して着脱可能に取り付けられており、対象物体の種類に応じて交換可能である。ロボット制御装置13とロボット10は、無線もしくは有線のネットワークやUSB(Universal Serial Bus)等の汎用のインタフェースで接続される。
 ロボット教示装置100は、音声認識部110、環境情報取得部120、指示情報推定部130、制御信号出力部140、及び入出力部150を備える。
 音声認識部110は、マイク11によって収集された音声信号に対して音声認識処理を行い、移動対象物を所定の移動先に配置するロボットへの指示内容を示す指示情報を取得するものである。実施の形態1において、音声認識部110は、無線又は有線通信により、マイク11から音声データを取得する。
 音声認識部110は、操作者が発話した音声信号に対し音声認識処理を行い、音声入力された動作指示を、文字、単語およびそれらで構成された文章となるテキスト情報として出力する。音声認識部110において、指示情報はテキスト情報として得られるが、本開示において、指示情報とは、テキスト情報だけでなく、テキスト情報を分割して得られる文字列や、文字列から学習モデル等の推定により得られた動作内容及び制御情報等を含むものを意味する。
 音声認識部110は、音響モデル、言語モデル等の音声認識に必要な辞書データを複数種類の言語について有していても良い。また、音声認識処理をロボット教示装置100内で実施(ローカル音声認識)しても良いし、ネットワーク越しのサーバー側(クラウド音声認識)で実施する構成としても良い。パターンマッチング、隠れマルコフモデル(Hidden Markov Model:HMM)やディープラーニング等を活用した公知の音声認識技術を利用しても良い。
 環境情報取得部120は、ロボット10の周辺環境の状態を示す環境情報を取得するものであり、特に、ロボットの周辺環境を検知するセンサ12によって取得されたセンサ情報に基づき、移動先周辺に存在する物体の位置を示す周辺物体位置情報を取得するものである。ここで、周辺物体位置情報は環境情報の一種である。
 環境情報取得部120は、センサ12から得られたセンサ情報を解析し、ロボット10が対象物を把持・移動・配置するために必要となるロボット周辺環境および移動対象物に関する環境情報を取得する。環境情報とは、例えば、移動対象物保管領域にある移動対象物に関する情報(種類・大きさ・位置・色・温度)、移動対象物配置領域の配置空間に関する情報(配置可能領域の位置、大きさ)、移動対象物配置領域に既に配置された物体(移動済みの移動対象物)に関する情報(種類・大きさ・位置・色・温度)などである。また、本開示において、周辺物体位置情報とは、ロボット周辺に存在する物体そのものの位置だけでなく、空き空間(配置可能領域)の位置に関する情報、すなわち物体が存在しない空間の位置を示す位置情報も含むものとする。
 なお、画像解析には、パターンマッチングやディープラーニング等を活用した公知の画像解析技術を利用する。なお、センサ12から得られた画像情報を解析すると記載したが、センサ12でこれらの画像解析処理を実施し、環境情報取得部120は、その結果の環境情報を取得する構成としても良い。
 指示情報推定部130は、環境情報取得部120で得られた周辺物体位置情報に基づき、ロボットの動作指示に不足している情報を指示情報に補完するものである。ここで、指示情報推定部130は、音声認識部110で得られた指示情報にロボットの動作指示に必要な情報が不足している場合に、指示情報の補完を行うが、不足している場合に常に補完を行う必要は無く、例えば、作業者に指示内容の再発声依頼を出し、それでもなお指示情報が不足している場合に補完を行うようにしてもよい。
 実施の形態1において、指示情報推定部130は、不足情報特定部131と指示情報補完部132を備える。
 不足情報特定部131は、予め設定されたロボットの動作指示に必要な情報である必須情報と、指示情報とを比較し、ロボットの動作指示に不足している情報を不足情報として特定するものである。
 不足情報特定部131は、音声認識部110からのテキスト情報(指示情報)に形態素解析、構文解析を行い、1つ以上の単語列(以降、音声入力単語列)に変換する。そして、不足情報特定部131は、得られた単語列から動作内容および制御情報(種別と値)を抽出し、この動作内容および制御情報を必須情報と比較し、不足している情報が無いかを判定する。また、上記のように、本開示では、音声認識部110で得られたテキスト情報だけでなく、単語列に変換され、動作内容および制御情報として抽出された後の情報も含む、ロボットへの動作指示を示す情報の総称を指示情報と呼ぶ。
 また、不足情報特定部131は、抽出された動作内容または制御情報に関して、ロボット10の動作指示に必要な情報が不足していると判定した場合、その不足している情報を不足情報として特定する。
 指示情報補完部132は、環境情報、特に周辺物体位置情報に基づき、指示情報に不足情報を補完するものである。例えば、不足情報特定部131が、移動対象物の配置位置を示す情報が不足していると特定した場合、指示情報補完部132は、周辺物体位置情報に基づき、指示情報に移動対象物の配置位置を示す情報を補完する。また、不足情報特定部131が、配置位置を示す情報のうち、移動対象物の配置方向を示す情報が不足していると特定した場合、指示情報補完部132は、周辺物体位置情報に基づき、指示情報に前記移動対象物の配置方向を示す情報を補完する。
 ここでの補完とは、不足している情報を補うことにより、ロボットの動作指示に必要な情報を揃えた指示情報を生成することを意味し、例えば、移動対象物の配置方向が”未指定”となっている情報に対して、配置方向を”右”に補正する処理等を意味する。
 また、実施の形態1において、環境情報取得部120は、さらに、センサ情報に基づき、移動先周辺に存在する物体の大きさを示す形状情報や移動先周辺の配置可能領域の大きさを示す空間情報を取得し、指示情報推定部130は、周辺物体位置情報に加え、形状情報や空間情報に基づき、指示情報に不足している情報を補完するようにしてもよい。
 そして、指示情報補完部132は、補完済みの指示情報、すなわち、ロボットの動作指示に必要な情報が揃った指示情報(動作内容及び制御情報)を制御情報出力部に出力する。
 制御信号出力部140は、指示情報推定部130からの動作内容および制御情報を制御コマンドおよび制御パラメータへ変換し、ロボット制御装置13へ出力するものである。制御信号出力部140は、制御信号送受信部を備え、無線又は有線ネットワークにより、ロボット制御装置13と信号の送受信を行う。制御信号の送受信は、USB(Universal Serial Bus)等の汎用のインタフェースで構成して実施しても良い。
 入出力部150は、ユーザへの表示を行う表示部と、ユーザからの入力を受け付ける操作部を備え、ユーザインターフェースとして機能するものである。表示部は、ロボット教示装置100を操作するためのアプリケーションの操作画面や各種情報を表示する表示デバイスである。表示デバイスは、例えば、液晶ディスプレイ(LCD)や有機ELディスプレイ(OLED:Organic Electro-Luminescence Display)などである。操作部は、操作者によるタッチやスライド、キー入力といった操作を検出する。例えば、タッチパネル、ボタン、キーボード、マウス等である。ロボット教示装置100の操作者は、ハードキー(ハードウェアキー)操作や、入出力部150に表示されたボタンやメニュー等の表示項目を指やタッチペンを用いてタッチまたはスライドさせることにより、ロボット教示装置100を操作することができる。また、音声入力による操作画面変更や項目設定も可能である。また、ロボット教示装置100の操作者は、ロボット教示装置100の各処理の状況を確認することができる。入出力部150は表示部と操作部を一体型で構成しても良いし、分離型で構成しても良い。
 改めて、ロボット教示装置100のハードウェア構成について説明する。
 図2は、実施の形態1に係るロボット教示装置100のハードウェア構成を示すハードウェア構成図である。
 ロボット教示装置100が備える音声認識部110、環境情報取得部120、指示情報推定部130、制御信号出力部140、入出力部150の各機能は、記憶装置3に格納されたプログラムが処理装置2で実行されることにより実現される。処理装置2は、CPU(Central Processing Unit)中央処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、またはDSP(Digital Signal Processor)等のプロセッサである。また、複数のプロセッサにより、ロボット教示装置100の各機能を実現しても良い。また、FPGA(Field Programmable Gate Array)やASIC等でロボット教示装置100の各機能を実現しても良い。
 記憶装置3は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)等の不揮発性または揮発性の半導体メモリであっても良いし、ハードディスク、フレキシブルディスク等の磁気ディスクであっても良いし、ミニディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)等の光ディスクでも良い。
 また、音声認識部110、環境情報取得部120、入出力部150の操作部はキーボード等の入力装置1によって実現され、入出力部150の表示部はディスプレイ等の出力装置5によって実現され、制御信号出力部140の制御信号送受信部は通信装置4によって実現される。
 次に、ロボット制御システム1000及びロボット教示装置100の動作について説明する。操作者が音声を使って、移動対象物を“把持、運搬、配置”する動作をロボットへ教示する場合を例として説明する。
 図3は、実施の形態1に係るロボット制御システム1000にて実行されるロボット制御の概要を示す例である。図3(a)は対象物の移動前の状態を示し、図3(b)は対象物の移動後の状態を示したものである。また、図3(c)は初期設定時のロボット制御システム1000を構成する各要素の位置関係を示したものである。各要素の位置関係は3次元の座標で定義され、初期設定時に以下の座標情報をロボット教示装置100からロボット制御装置13へ設定する。例えば、原点をP_0(0,0,0)として、各要素の位置関係は、移動元ケース50の位置座標をP_50、移動元ケース50内の配置枠50aの位置座標をP_50a、移動先ケース60の位置座標をP_60、移動先ケース60内の配置枠60aの位置座標をP_60a、配置枠60bの位置座標をP_60b、配置枠60cの位置座標をP_60cに設定する。
 また、ロボット10の位置座標をP_10に設定する。ロボット制御システム1000に含まれる機器、移動対象物、移動元ケース、移動先ケースまたそれらケース内の枠位置など、ロボット10のアーム軌道の移動範囲に含まれる物体の位置座標が設定される。この初期設定時の各要素の位置設定には、従来のダイレクトティーチング、ビジュアルティーチングおよび音声入力を活用して設定しても良い。また、位置情報を登録したい地点に識別用マーカーを置き、ロボット10の周辺に設置したセンサ12でその識別用マーカーを取得し、環境情報取得部120にて画像認識処理を行い、各位置情報を設定しても良い。
 図3に示す通り、操作者が、ロボット10に対して、移動元ケース50の配置枠50aに配置した移動対象物2個(50a1、50a2)を移動先ケース60の配置枠60bに配置するための動作を教示する際のロボット教示装置100の動作を説明する。ここでは、移動対象物50a1、50a2、50a3は同一種の物として“物A”と表現する。また、配置枠50aを“枠A”とし、配置枠60bを“枠B”とする。
 図4および図5は、実施の形態1に係るロボット制御システム1000及びロボット教示装置100にて実行されるロボット教示の処理フローを示すフローチャートである。
 ここで、ロボット教示装置100の動作がロボット教示方法に対応し、ロボット教示装置100の動作をコンピュータに実行させるプログラムがロボット教示プログラムに対応する。また、「部」は「工程」に適宜読み替えてもよい。
 まず、熟練者や専門家がロボット10への指示を行い、音声信号から得られた指示情報に必須情報が揃っている場合について説明する。
 図4に示す通り、操作者は、ロボット教示装置100の教示用アプリケーションを使用し、初期設定を行う(ST000)。初期設定では、各処理機能の初期化と、ロボット教示を行うための周辺環境の設定を行う。周辺環境の設定として、各物体(例えば、移動元ケース50および移動元ケース50内の配置枠50a、移動先ケース60および移動先ケース60内の配置枠60b)の位置情報を設定する。また、移動元(開始点)の座標情報(P_50:移動元ケース50)、移動先(終点)の座標情報(P_60:移動元ケース60、P_60b:移動先ケース60内の配置枠60b)などである。また、制御情報を事前に設定しても良い。例えば、移動元ケースを“ケース50”に、移動元枠を“枠A”に、移動先ケースを“ケース60”にそれぞれ設定してもよい。また移動対象物と制御パラメータの紐づけを設定する。例えば、“物A”は“Obj1”、“物B”は“Obj2”、“物C”は“Obj3”などである。
 ロボット教示装置100は、操作者からの入力により、音声入力を有効にする(ST001)。ロボット教示装置100は、音声入力を受け付ける状態になり(ST002)、音声入力が行われない場合(ST002 “No”)には、その状態を維持する。
 操作者が、ロボット10への動作指示として「物Aを枠Bに2個配置して下さい」と音声発話すると、音声入力が行われたため(ST002 “Yes”)、発話された音声は、マイク11で収集され、音声認識部110に渡される。
 音声認識部110は、入力された音声信号に音声認識処理を行い、認識結果をテキスト情報として指示情報推定部130へ出力する(ST003)。テキスト情報とは、たとえば、「物Aを枠Bに2個配置して下さい」である。
 不足情報特定部131は、音声認識結果であるテキスト情報に、形態素解析、構文解析、単語列化を行い、1つ以上の単語列である音声入力単語列に変換する(ST004)。音声入力単語列とは、たとえば、「“物A”、“を”、“枠B”、“に”、“2”、“個”、“配置”、“して”、“下さい”」である。続いて、不足情報特定部131は、音声入力単語列に含まれる動作内容と制御情報を推定し、抽出する(ST005)。
 音声入力単語列に含まれる動作内容および制御情報の推定には、ルールベースによる抽出手法やディープラーニング等を活用した公知の推定技術を利用することができる。例えば、事前にロボット動作制御で使用する単語列(動作内容および制御情報を示すキーワード)を登録しておき、音声入力単語列内の単語と一致するものを抽出する。もしくは、操作指示文(動作内容と制御情報で構成された単語列)と正解ラベルを学習データとして準備し、サポートベクターマシンやディープニューラルネットワークなどの機械学習手法を用いて、動作内容および制御情報を推定する推定モデルを構築し、音声入力単語列内の単語と一致するものもしくは一致する確率が高いものを推定した上で動作内容および制御情報として抽出しても良い。
 図6は、実施の形態1に係るロボット制御システム1000にて実行されるロボット教示の動作内容(制御コマンド)、制御情報、制御パラメータの例である。
 図6に示す通り、各動作内容(制御コマンド)と動作に必要な制御情報(種別、値)および制御パラメータが紐づけられている。たとえば、ケース間移動制御1では、制御情報の種別として、移動元ケース、移動元枠、移動先ケース、移動先枠、対象物および数量がある。また、これらの各種別に対して、値を設定する。例えば、ケース間移動制御1では、動作内容は移動元ケース50から移動先ケース60間の移動で移動先を絶対位置(移動先枠:枠B)で指定する移動制御であり、制御コマンドは、PickPlaceCntl1である。また、制御情報が移動元ケースの場合、対応する制御パラメータは、種別:Src_pos_1、値:P_50となる。同様に、各制御パラメータは、移動元枠の場合には種別:Src_pos_2、値:P_50aとなり、移動先ケースの場合には種別:Dst_pos_1、値:P_60となり、移動先枠の場合には種別:Dst_pos_2、値:P_60aとなり、対象物の場合には種別:Target_pos、値:Obj1となり、数量の場合には種別:Move_rep、値:2となる。
 同様に、ケース間移動制御2では、動作内容は、移動元ケース50から移動先ケース60間の移動で移動先を相対位置(配置起点と配置方向)で指定する移動制御であり、動作コマンドはPickPlaceCntl2である。同様に、枠内移動調整1では、動作内容は、移動先の枠内での配置位置の調整制御であり、動作コマンドはAdjustCntl1である。また、これら以外に、図には記していない同一ケース内枠間移動制御(移動先ケース60内で異なる枠間の移動制御)、移動速度制御等の各動作内容(制御コマンド)と動作に必要な制御情報(種別、値)および制御パラメータが紐づけられても良い。
 これらの動作内容および制御情報と、動作コマンドおよび制御パラメータ、および両者の紐づけは、初期設定(ST000)で行われ、指示情報推定部130に紐づけリストとして設定・記憶される。この紐づけリストに示される動作内容毎の制御情報が必須情報の一例である。制御情報の種別は、移動元ケース、移動元枠、移動先ケース、移動先枠、数量、相対的な配置位置を示す場合の配置起点および配置方向、枠内移動調整制御の移動先枠、配置方向および配置移動量などである。
 図4に戻り、処理フローの説明を続ける。不足情報特定部131は、音声入力文から抽出した動作内容および制御情報が、初期設定時に記憶された紐づけリストに含まれているか否かを判定する(ST006)。たとえば、音声入力単語列「“物A”、“を”、“枠B”、“に”、“2”、“個”、“配置”、“して”、“下さい”」が入力された場合、不足情報特定部131は、入力された単語列から、事前学習した動作内容および制御情報の推定モデルにより、動作内容をケース間移動制御1と推定し、制御情報をそれぞれ“物A”、“枠B”、“2”、と推定・抽出する。音声入力単語列に動作内容および制御情報が含まれているので、「動作内容および制御情報が含まれている」と判定(ST006 Yes)する。
 続いて、図5に移り、不足情報特定部131は、抽出した制御情報が動作内容(ケース間移動制御1)に必要な制御情報を満たしているか、制御情報が不足していないか判定を行う(ST008)。動作内容がケース間移動制御1の場合、必要となる制御情報は、図6に示すとおり、移動元ケース、移動元枠、移動先ケース、移動先枠、数量である。指示情報推定部130は、初期設定(ST000)で、移動元ケースはケース50、移動先ケースはケース60と設定しており、さらに、音声入力から抽出した対象物“物A”、移動先枠“枠B”、数量“2”の制御情報を得て、動作内容(ケース間移動制御1)の制御情報に「不足なし」と判定する(ST008 No)。指示情報補完部132は、不足情報特定部131から動作内容および制御情報を受け取り、受け取った動作内容および制御情報をそのまま制御信号出力部140に出力する。
 制御信号出力部140は、指示情報(動作内容および制御情報)を紐づけリストに従い、制御コマンド(PickPlaceCntl1)および制御パラメータ(Src_pos_1:P_50、Src_pos_2:P_50a、Dst_pos_1:P_60、Dst_pos_2:P_60b、Target_pos:Obj1、Move_rep:2)に変換して、ロボット制御装置13へ出力する。
 ロボット制御装置13は、ロボット教示装置100から教示された制御コマンドおよび制御パラメータをロボット制御プログラムに反映し、ロボット10の動作を制御する。
 ロボット10は、ロボット制御装置13の動作指令に従い、移動元ケース50内の配置枠50a(“枠A”)から、移動対象物50a1(“物A”)をピックアップし、移動先ケース60の配置枠60b(“枠B”)内に移動する。また、移動数量は“2個”であるため、この動作をもう1回行う。
 次に、熟練者や専門家がロボットへの指示を行っているが、指示情報のうち動作内容が不足している場合の動作について説明する。
 図4のST002から説明する。ロボット教示装置100は、音声入力を受け付ける状態で(ST002)、操作者が、「2個配置して下さい」と発話した場合、不足情報特定部131では、得られた音声入力単語列は「 “2”、“個”、“配置”、“して”、“下さい”」となる(ST004)。
 不足情報特定部131は、入力された音声入力単語列から、事前学習した動作内容および制御情報の推定モデルにより動作内容の推定を行う。この音声入力単語列には、移動対象物、移動先配置位置を示す単語および配置位置に相当する単語が含まれていないため、動作内容を“不明”と推定する。また、制御情報の推定は“移動対象物”を“未指定”、“配置位置“未指定”、“数量”を“2”と推定する。その結果、動作内容および制御情報が音声指示内容に含まれるか否かの判定結果は“No”となり(ST006 No)、入出力部150の表示部に動作制御の音声再入力の依頼を提示(ST007)し、操作者へ音声操作の再入力を促す。入出力部150は、音声再入力の提示の他、ワーニングや注意等の表示を行っても良い。
 図7は、実施の形態1に係るロボット制御システム1000にて実行されるロボット教示の概要を示す例である。図7(a)は対象物の移動前を示し、図7(b)は対象物の移動後を示したものである。
 図7に示す通り、操作者が、ロボット10に対して、移動元ケース50内の移動対象物50a1を移動先ケース60の配置枠60b内のすでに配置された“物B”70a1の左スペース60b_Lに移動・配置するための動作を教示する際のロボット教示装置100の動作を説明する。
 図4に戻り、処理フローの説明を行う。ロボット教示装置100は、音声入力を受け付ける状態(ST002)にあり、操作者は、例えば、「物Aを物Bの左に1個配置して下さい」とロボット教示装置100に音声入力する。音声認識部110で音声認識処理を行い、不足情報特定部131は、音声認識結果を音声入力単語列「“物A”、“を”、“物B”、“の”、“左”、“に”、“1”、“個”、“配置”、“して”、“下さい”」に変換する(ST004)。続いて音声入力単語列に含まれる動作内容と制御情報を推定し、抽出する(ST005)。
 不足情報特定部131は、入力された単語列から、事前学習した動作内容および制御情報の推定モデルにより、動作内容はケース間移動制御2と推定し、制御情報の推定では、“対象物”を“物A”、“移動先配置起点”を“物B”、“移動先配置方向”を“左”、“数量”を“1”と推定・抽出する。音声入力単語列に動作内容および制御情報が含まれているので、「動作内容および制御情報が含まれている」と判定(ST006 Yes)する。
 続いて、図5に移り、不足情報特定部131は、抽出した制御情報が動作内容(ケース間移動制御2)に必要な制御情報を満たしているか、制御情報が不足していないか判定を行う(ST008)。動作内容がケース間移動制御2の場合、必要となる制御情報は、図5に示すとおり、移動元ケース、移動元枠、移動先ケース、移動先配置起点、移動先配置方向、対象物、数量である。指示情報推定部130では、初期設定(ST000)で、移動元ケースはケース50、移動先ケースはケース60と設定しており、さらに、音声入力から抽出した“対象物”は“物A”、“移動先配置起点”は“物B”、“移動先配置方向”は“左”、“数量”は“1”の制御情報を得て、制御情報に「不足なし」と判定する(ST008 No)。指示情報補完部132は、不足情報特定部131から動作内容および制御情報を受け取り、受け取った動作内容および制御情報をそのまま制御信号出力部140に出力する。
 制御信号出力部140は、制御情報(動作内容および制御情報)を紐づけリストに従い、制御コマンド(PickPlaceCntl2)および制御パラメータ(Src_pos_1:P_50、Src_pos_2:P_50a、Dst_pos_1:P_60、Dst_pos_obj_start:P_70b、Dst_pos_obj_dir:Left、Target_pos:Obj1、Move_rep:1)に変換して、ロボット制御装置13へ出力する。
 ロボット制御装置13は、ロボット教示装置100から教示された制御コマンドおよび制御パラメータをロボット制御プログラムに反映し、ロボット10の動作を制御する。
 図7(a)の対象物移動前および図7(b)の対象物移動後に示す通り、ロボット10は、ロボット制御装置13の動作指令に従い、移動元ケース50内の配置枠50a(“枠A”)から、移動対象物50a1(“物A”)をピックアップし、移動先ケース60の配置枠60b内にある移動先配置起点70a1(”物B“)の移動先配置方向(”左“)に移動する。
 次に、専門的な知識がない現場作業者や不慣れな初心者が操作者としてロボット10への動作指示を行い、指示情報のうち制御情報が不足している場合のロボット教示装置100の動作について説明する。
 操作者は、ロボット10への音声で動作指示を行う際に、音声入力用のコマンドやパラメータを完全には把握していないため、時には通常の人との会話で使用する表現を用いてしまう場合がある。配置先の特定に必要な情報である“配置方向”を具体的な“左”や“右”などではなく、起点とした対象物の“横”、“隣”、“そば”など、方向が明示されない曖昧な表現を用いてしまう場合などである。たとえば、「物Aを物Bの“左”に1個配置して下さい」と指示する際に、「物Aを物Bの“横”に1個配置して下さい」と指示する場合などである。
 図4のST002から再度説明する。ロボット教示装置100は、音声入力を受け付ける状態(ST002)にあり、操作者により、「物Aを物Bの横に1個配置して下さい」とロボット教示装置100に音声入力される。
 音声認識部110で音声認識処理を行う(ST003)。不足情報特定部131は、音声認識結果「物Aを物Bの横に1個配置して下さい」を音声入力単語列「“物A”、“を”、“物B”、“の”、“横”、“に”、“1”、“個”、“配置”、“して”、“下さい”」に変換する(ST004)。続いて音声入力単語列に含まれる動作内容と制御情報を推定し、抽出する(ST005)。
 不足情報特定部131は、入力された単語列から、事前学習した動作内容および制御情報の推定モデルにより、動作内容:ケース間移動制御2、制御情報:“対象物”は“物A”、“移動先配置起点”は“物B”、“移動先配置方向”は“未指定”、“移動先配置方向関連ワード”は“横”、“数量”は“1”と推定・抽出する。音声入力単語列に動作内容および制御情報が含まれているので、「動作内容および制御情報が含まれている」と判定(ST006 Yes)する。なお、“移動先配置方向関連ワード”とは“横”の他に、“隣”、“そば”、“周辺”、“近く”など、移動先配置方向に関連する意味を持つワードである。
 続いて、図5に移り、不足情報特定部131は、抽出した制御情報が動作内容(ケース間移動制御2)に必要な制御情報を満たしているか、制御情報が不足していないか判定を行う(ST008)。動作内容がケース間移動制御2の場合、必要となる制御情報は、図5に示すとおり、移動元ケース、移動元枠、移動先ケース、移動先配置起点、移動先配置方向、対象物、数量である。なお、指示情報推定部130は、初期設定(ST000)で、移動元ケースはケース50、移動先ケースはケース60と設定している。不足情報特定部131は音声入力から抽出した“対象物”は“物A”、“移動先配置起点”は“物B”、“移動先配置方向”は“未指定”、“移動先配置方向関連ワード”は“横”、“数量”は“1”の制御情報を得る。ここで制御情報の“移動先配置方向”が“未指定”のため、制御情報が不足していると判定し、不足している情報が”移動先配置方向”であると特定する(ST008 Yes)。
 続いて、不足情報特定部131は、“移動先配置方向関連ワード”を含んでいるか確認する(ST010)。関連語を含まない場合(ST010 No)には、図4に戻り、入出力部150の表示部へ再入力依頼を提示し、操作者に再音声入力を促す(ST007)。
 “移動先配置方向関連ワード”である、“横”を含んでいる場合(ST010 Yes)、環境情報取得部120は、センサ12から得られたセンサ情報を解析し、ロボット周辺環境に関する環境情報を取得する(ST011)。
 図8は、環境情報取得部120が取得した環境情報の具体例を示したものである。
 図8に示す通り、環境情報取得部120では、移動先の配置空間に関する情報としてすでに配置済みの移動先配置起点70a1(“物B”)の環境情報が得られている。ここでの環境情報は、例えば、移動先配置起点70a1(位置:P_70a1、幅:P_70a1_w、高さ:P_70a1_h)、空間L(位置:P_60b_Sp_L、幅:P_60b_Sp_L_w、高さ:P_60b_Sp_L_h)および空間R(位置:P_60b_Sp_R、幅:P_60b_Sp_R_w、高さ:P_60b_Sp_R_h)である。図5に戻り、指示情報推定部130は、制御情報および環境情報を用いて指示情報補完処理を行う(ST012)。
 図9は、実施の形態1に係るロボット教示装置100における指示情報補完部132の指示情報補完処理のフローチャートである。
 図9に示す通り、指示情報補完部132は、空間Lと空間Rのサイズを計算する(ST100)。例えば、空間Lのサイズ(P_60b_Sp_L_Size)は、幅(P_60b_Sp_L_w)×高さ(P_60b_Sp_L_h)で計算する。同様に、空間Rのサイズ(P_60b_Sp_R_Size)は、幅(P_60b_Sp_R_w)×高さ(P_60b_Sp_R_h)で計算する。
 次に、指示情報補完部132は、取得した空間Lのサイズ(P_60b_Sp_L_Size)と空間Rのサイズ(P_60b_Sp_R_Size)、および閾値TH_LR、閾値TH_RLを使用し、補完処理を制御する。閾値TH_LRおよび閾値TH_RLは、空間Lのサイズと空間Rのサイズを比較する際に重みづけとなる閾値である。閾値より超える差があるとき、補完処理を行う。サイズの単位は、センサから得られた位置情報の単位である。画素単位でも良いし、長さに補正したcm(センチメートル)やmm(ミリメートル)などの単位としても良い。
 まず、空間Lのサイズ‐空間Rのサイズが閾値TH_LRより大きいか否かを判定する(ST101)。空間Lのサイズ‐空間RのサイズがTH_LRより大きい場合(ST101 Yes)には、制御情報の“移動先配置方向”を“未指定”から“左”に補正する(ST102)。
 TH_LRより小さい場合(ST101 No)には、空間Rのサイズ‐空間Lのサイズが閾値TH_RLより大きいか否かを判定する(ST103)。空間Rのサイズ‐空間LのサイズがTH_RLより大きい場合(ST103 Yes)には、制御情報の“移動先配置方向”を“未指定”から“右”に補正する(ST104)。
 空間Rのサイズ‐空間LのサイズがTH_RLより小さい場合(ST103 No)には、制御情報の補正を行わず、図4に戻り、入出力部150の表示部へ再入力依頼を提示し、操作者に再音声入力を促す(ST007)。
 例えば、閾値TH_LRを10、閾値TH_RLを10と設定し、センサ情報として、空間Lの幅(P_60b_Sp_L_w)が5cm、高さ(P_60b_Sp_L_h)が3cm、空間Rの幅(P_60b_Sp_R_w)が1.5cm、高さ(P_60b_Sp_R_h)が3cmと得られた場合には、空間Lのサイズ(P_60b_Sp_L_Size)は、5×3=15、空間Rのサイズ(P_60b_Sp_R_Size)は、1.5×3=4.5となり、この場合、空間Lのサイズ‐空間Rのサイズ=10.5>閾値TH_LR(10)より大きいため、制御情報の“移動先配置方向”を“未指定”から“左”に補正する。
 図5に戻り、指示情報補完部132は、動作内容と、それに対応する補完済みの制御情報を制御信号出力部140に出力する。例えば、指示情報補完部132は、音声入力から抽出した制御情報の“移動先配置方向” を“未指定”から“左”に補正した制御情報である、“対象物”は“物A”、“移動先配置起点”は“物B”、“移動先配置方向”は“左”、“数量”は“1”の制御情報と、動作内容とを制御信号出力部140に出力する。
 制御信号出力部140は、指示情報(動作内容および制御情報)を紐づけリストに従い、制御コマンド(PickPlaceCntl2)および制御パラメータ(Src_pos_1:P_50、Src_pos_2:P_50a、Dst_pos_1:P_60、Dst_pos_obj_start:P_70b、Dst_pos_obj_dir:Left、Target_pos:Obj1、Move_rep:1)に変換して、ロボット制御装置13へ出力する。
 ロボット制御装置13は、ロボット教示装置100から教示された制御コマンドおよび制御パラメータをロボット制御プログラムに反映し、ロボット10の動作を制御する。例えば、移動元ケースSrc_pos_1:P_50、移動元枠Src_pos_2:P_50a、移動対象物Target_pos:Obj1等から移動元の移動対象物の位置情報を算出する。また、移動先枠位置Dst_pos_1:P_60、移動先枠内の移動先起点Dst_pos_obj_start:P_70b、起動先方向Dst_pos_obj_dir:Left等から移動先の配置位置を算出する。移動元位置と移動先位置および移動対象物を設定し、ロボット10の動作を制御する。
 図7(a)の対象物移動前および図7(b)の対象物移動後に示す通り、ロボット10は、ロボット制御装置13の動作指令に従い、移動元ケース50内の配置枠50a(“枠A”)から、移動対象物50a1(“物A”)をピックアップし、移動先ケース60の配置枠60b内にある移動先配置起点70a1(”物B“)の移動先配置方向(”左“)に配置する。
 以上のような動作により、ロボット教示装置100は、周辺物体位置情報に基づき、ロボットの動作指示に不足している情報を指示情報に補完するようにしたので、習熟度の低い操作者や教示に慣れない操作者による音声操作指示が行われても、ロボットへの教示を行うことができる。
 より具体的には、音声によるロボット教示において、移動対象物を所定の場所へ移動する教示の際に、習熟度の低い操作者や教示に慣れない操作者による曖昧な言葉を含む動作制御指示が行われても、曖昧な制御情報を具体的な移動方向の制御情報に補正することで、操作者の意図に沿ったロボット教示を行うことができる。
 なお、移動先の制御パラメータとして、枠位置Dst_pos_1:P_60、枠内の移動先起点Dst_pos_obj_start:P_70b、起動先方向Dst_pos_obj_dir:Leftをロボット制御装置13へ出力し、それらの情報からロボット制御装置13で、配置先の位置情報を算出するように記載しているが、空間L(位置:P_60b_Sp_L)の位置情報を使い、直接移動先位置を指定してロボット制御装置13へ出力するようにしても良い。
 なお、実施の形態1に係るロボット制御システム1000では、ロボット教示装置100とロボット制御装置13およびロボット10がそれぞれ独立した構成としているが、ロボット教示装置100とロボット制御装置13の構成を一体型の構成としても良い。また、ロボット制御装置13およびロボット10の構成を一体型としても良い。
 なお、指示情報補完部132の処理において、“移動先配置方向”として左右方向(x軸方向)の例について記載したが、上下方向(y軸方向)、斜め方向(x、y軸方向)についても同様に、環境情報取得部120にて、センサ12からのセンサ情報を解析し、移動先配置起点70a1(“物B”)の環境情報として、上下方向もしくは斜め方向の周辺物体位置情報(位置P、高さh、幅w)を得ることで、制御情報および環境情報を用いて指示情報補完処理を行っても良い。
 例えば、 移動先配置起点70a1(”物B“)の移動先配置方向として“上”の動作制御指示が行われた場合、環境情報取得部120にて、センサ12からのセンサ情報を解析し、移動先配置起点70a1(“物B”)の環境情報として、3次元での上方向(z軸)と2次元での上方向(y軸)の空間情報(位置、面積、容積)を得ることで、移動先配置起点70a1(“物B”)に並べて配置する、もしくは、移動先配置起点70a1(“物B”)の上に重ねて配置するなど、指示情報補完処理を行っても良い。
 なお、実施の形態1に係るロボット制御システム1000におけるロボット教示装置100の指示情報推定部130の動作として、制御情報の“数量”が“1”の場合について記載したが、制御情報の“数量”が2以上の場合には、環境情報取得部120の解析で得られた“物A”の大きさ情報と移動先配置起点70a1(“物B”)の移動先配置方向(左)の配置空間Lの中で、指定された数量の対象物が配置できるように、各対象物の配置位置を変更しても良い。
 すなわち、音声認識部110は、音声信号から、移動対象物の数量を示す数量情報を含む指示情報を取得し、指示情報推定部130は、周辺物体位置情報と数量情報とに基づき、指示情報に不足している情報を補完するようにしてもよい。
 例えば、指示情報補完部132は、“数量”が1の場合には、配置スペースの中央に移動対象物を配置するように指示情報を補完し、“数量”が2以上の場合には、1つ目の移動対象物を配置スペースの端に配置するように指示情報を補完し、2つ目の移動対象物を1つ目の移動対象物の隣に配置するように指示情報を補完するようにしてもよい。
 なお、実施の形態1に係るロボット制御システム1000におけるロボット教示装置100の指示情報補完部132の動作として空間Lと空間Rのサイズを比較して、移動先配置方向を推定しているが、操作者から連続で入力された次の音声動作指示内容を確認し、その内容が否定的な指示か、肯定的な指示かを判定して、補正処理を行っても良い。例えば、操作者から、次の音声動作指示で、否定的な指示(「違う」とか「そうじゃない」とか)が行われた場合には、環境情報取得部120から得た空間Lもしくは空間Rの大きさに重みづけを行い、空間L‐空間Rの大きさ判定を行っても良い。空間L>空間Rのため、移動先配置方向をL(左)と推定した場合でも、その逆の方向R(右を)推定結果とする、もしくは、空間Rのサイズを1未満の係数で縮小して後で、比較を行っても良い。また、同様に、操作者より、次の音声動作指示で肯定的な指示(「そうそう」とか「いいね」とか)が行われた場合には、空間Lのサイズを1未満の係数で縮小し、比較を行っても良い。この場合、操作指示者がロボットと向かい合う位置関係の場合でも、音声操作で、配置位置を教示することができる。
 すなわち、音声認識部110は、第一の音声信号から第一の指示情報を取得し、第二の音声信号から第二の指示情報を取得し、指示情報推定部130は、第二の指示情報が肯定的な指示であるか、否定的な指示であるかを判定し、その判定結果に基づき第一の指示情報に不足している情報を補完するようにしてもよい。
 なお、実施の形態1に係るロボット制御システム1000におけるロボット教示装置100の指示情報補完部132の補完結果に基づいて、ロボット10の制御を行っているが、指示情報補完部132の補完結果を入出力部150の表示部へ提示し、移動対象物を配置する移動先の位置を操作者に画面上で確認できるようにしても良い。また、操作者の確認・了承を受けた後にロボット教示を行うように制御しても良い。
 図10は、実施の形態1に係る入出力部150による移動対象物の移動先表示例である。図10に示すように、移動量情報の目安を表示することで、操作者に移動対象物の移動先をわかりやすく伝えることができる。
 次に、ロボット教示装置100が移動対象物の種類や温度に応じて指示情報を補完する変形例について説明する。
 実施の形態1に係るロボット制御システム1000におけるロボット教示装置100の指示情報補完部132では、“移動先配置方向”の補正結果に基づいて移動対象物50a1(“物A”)を、移動先配置起点70a1(”物B“)の移動先配置方向(”左“)である空間L内に配置する例について記載しているが、移動対象物50a1(“物A”)を空間L内に配置する際に、移動対象物50a1(“物A”)および移動先配置起点70a1(”物B“)の種類や温度等を加味して両者の配置位置を決める場合がある。
 例えば、物Aと物Cを枠B内に配置することを考えた場合には、物Aと物Cを2つの距離を空けて配置する、一部の領域を重ねて配置する、重ねて配置するなど、いくつかの配置指定が想定される。例えば、機械部品などの移動・配置では、同一種類のものは重ねて配置する、異なる種類のものは重ねず配置するなどである。また、異なる種類の物体を並べて配置する場合でも、例えば、部品と部品の上に載せるグリースや油などが対象物の場合には、重ねて配置するように制御を行う。
 食品の盛り付け等であれば、例えば、ご飯の上にカレー、餡かけ、ふりかけ、梅干しなどを配置する際には、重ねて配置する、コロッケとキャベツであれば、一部重ねて配置する、唐揚げや焼売などの固形物同士であれば、重ねずに並べて配置するなどである。また、移動対象物の温度によっても、高温のものと低温のものは重ねない、近づけずに離して置く、などの制御が必要な場合もある。それらの場合の処理について説明する。
 以下の変形例では、環境情報取得部120は、さらに、移動対象物の温度を示す温度情報を取得し、指示情報推定部130は、周辺物体位置情報と温度情報とに基づき、指示情報に不足している情報を補完する。
 また、指示情報推定部130は、移動対象物の種類を示す種類情報を取得し、周辺物体位置情報と種類情報とに基づき、指示情報に不足している情報を補完する。
 図11は、実施の形態1に係る指示情報補完部132の指示情報補完処理のフローチャートで図9のフローチャートに重なり処理(ST105)を追加したものである。
 また、図12は、実施の形態1に係る指示情報補完部132の重なり処理(ST105)の処理の詳細を示すフローチャートである。
 図12に示す通り、指示情報補完部132は、対象物(物Aおよび物B)の種類情報リストから物体種類情報を取得する(ST200)。種類情報リストとは、移動先配置起点対象物名、移動対象物名、それぞれの状態(固形物/流動物)、重ね可否(物Aは物Bに重ねる対象か否か)、重なり値(物Aを物Bにどの程度重ねるか)等、対象物(物Aおよび物B)に関する情報を記載したリストである。例えば、機械部品などであれば、部品Bの上に部品Aを配置する場合には、移動先配置起点対象物:部品B、移動先配置起点対象物の状態:固形物、移動対象物:部品A、移動対象物の状態:固形物、重ね可否:可、重なり値:Overlap_Aと登録する。部品Bの上に油Aを配置する場合には、移動先配置起点対象物:部品B、移動先配置起点対象物の状態:固形物、移動対象物:油A、移動対象物の状態:流動物、重ね可否:可、重なり値:Overlap_Bを登録する。同様に食品等であれば、食品B(固形物)の上に食品A(固形物)を配置する場合には、移動先配置起点対象物:食品B、移動先配置起点対象物の状態:固形物、移動対象物:食品A、移動対象物の状態:固形物、重ね可否:可、重なり値:Overlap_Bと登録する。食品B(固形物)の上に食品C(流動物)を配置する場合には、移動先配置起点対象物:食品B、移動先配置起点対象物の状態:固形物、移動対象物:食品C、移動対象物の状態:流動物、重ね可否:可、重なり値:Overlap_Bを登録する。
 指示情報補完部132は、得られた物体種類情報から、移動対象物50a1(“物A”)および移動先配置起点70a1(”物B“)を重ねる対象か否か(重ね可否)を判定する(ST201)。重ねる対象である(重ね可否が“可”)場合(ST201 Yes)、種類情報リストから該当する対象物の重なり値(例えば、Overlap_A)を取得し、重なり値V_overlapに設定する(ST202)。重ねる対象でない(重ね可否が“否”)場合(ST201 No)、重なり値を“0”に設定する(ST203)。
 続いて、指示情報補完部132は、移動対象物50a1(“物A”)および移動先配置起点70a1(”物B“)の温度情報を環境情報取得部120から取得する(ST204)。両者の温度差が温度差閾値Th_tempよりも大きいか否かを判定する(ST205)。温度差が閾値Th_tempを超えた場合(ST205 Yes)、移動対象物50a1(“物A”)と移動先配置起点70a1(”物B“)の配置距離D_distanceを大きな距離D_farに設定する(ST206)。また、温度差が閾値Th_tempを超えない場合(ST205 No)、配置距離D_distanceを小さな距離D_nearに設定する(ST207)。
 指示情報補完部132は、音声入力から抽出した制御情報のうち、“移動先配置方向” を“未指定”から“左”に補正した制御情報である、“対象物”は“物A”、“移動先配置起点”は“物B”、“移動先配置方向”は“左”、“数量”は“1”の制御情報と動作内容に加えて、重なり値V_overlapと配置距離D_distanceを指示情報として制御信号出力部140に出力する。
 制御信号出力部140は、指示情報(動作内容および制御情報)を紐づけリストに従い、制御コマンド(PickPlaceCntl2)および制御パラメータ(Src_pos_1:P_50、Src_pos_2:P_50a、Dst_pos_1:P_60、Dst_pos_obj_start:P_70b、Dst_pos_obj_dir:Left、Target_pos:Obj1、Move_rep:1)に変換して、ロボット制御装置13へ出力する。また、重なり値V_overlapと配置距離D_distanceをロボット制御装置13へ出力する。
 ロボット制御装置13は、ロボット教示装置100から教示された制御コマンドおよび制御パラメータをロボット制御プログラムに反映し、ロボット10の動作を制御する。例えば、移動元ケースSrc_pos_1:P_50、移動元枠Src_pos_2:P_50a、移動対象物Target_pos:Obj1等から移動元の移動対象物の位置情報を算出する。また、移動先枠位置Dst_pos_1:P_60、移動先枠内の移動先起点Dst_pos_obj_start:P_70b、起動先方向Dst_pos_obj_dir:Left、重なり値V_overlapと配置距離D_distance等から移動先の配置位置を算出する。移動元位置と移動先位置および移動対象物を設定し、ロボット10の動作を制御する。
 なお、環境情報取得部120は、温度情報をセンサ12から取得しているが、種類情報リストにあらかじめ登録しておき、例えば、移動対象物の種類に紐づけられた温度情報を取得するようにしても良い。また、この場合にも、種類情報リストに登録されていない物体については、センサ12で取得したセンサ情報を用いて物体の状態情報を取得しても良い。また、各物体のセンサ情報から重なり度合いを推定しても良い。
 以上のように、音声によるロボット教示において、移動対象物を所定の場所へ移動する教示の際に、習熟度の低い操作者や教示に慣れない操作者による曖昧な言葉を含む動作制御指示が行われても、曖昧な制御情報を具体的な移動方向の制御情報に補正し、また、移動対象物および移動起点物の種類や温度に応じた適切な配置位置に補正を行うことで、操作者の意図に沿ったロボット教示を行うことができる。
 実施の形態2.
 実施の形態2に係るロボット制御システム2000は、実施の形態1に係るロボット教示装置100の指示情報補完部132の指示情報補完処理フローのステップ(ST012)内の処理について、一部変更・追加される以外は、実施の形態1に係るロボット制御システム1000の構成と同じである。実施の形態2では、ロボット教示装置200が、移動対象物の移動量を推定する例について説明する。
 図13は実施の形態2に係るロボット教示装置200及びロボット制御システム2000の構成を示す構成図である。また、ハードウェア構成については、実施の形態1に係るロボット教示装置100と同様である。
 実施の形態2では、不足情報特定部231が、配置位置を示す情報のうち、移動対象物の移動量を示す情報が不足していると特定した場合、指示情報補完部232は、周辺物体位置情報に基づき、指示情報に移動対象物の移動量を示す情報を補完する。
 また、環境情報取得部220は、センサ情報に基づき、移動対象物の位置を示す対象物位置情報を周辺物体位置情報の一つとして取得し、指示情報推定部230は、対象物位置情報に基づき、指示情報に不足している情報を補完する。
 図14は、実施の形態2に係るロボット制御システム2000及びロボット教示装置200にて実行されるロボット教示の概要を示す例である。図14(a)は対象物移動後(1回目:移動対象物50a1を移動した後)の状態を示し、図14(b)は対象物移動後(2回目:移動対象物50a2を移動した後)を示したものである。
 図14(a)に示す通り、操作者は、音声入力で「物Aを枠Bに1個配置して下さい」と1回目のロボット教示を行う。その教示を受けてロボット20は、移動元ケース50内の移動対象物50a1を移動先ケース60の配置枠60b内に移動・配置したとする(1回目の移動・配置)。ここで、配置位置は、配置枠60b内であるが、操作者の意図した枠内配置位置が、配置枠60b内の他の位置である場合、2回目以降の配置位置を調整するための枠内移動調整の教示を行う。
 ここでは、2回目以降に実施する同一枠内の移動調整を教示する際のロボット教示装置200の動作を説明する。操作者の1回目の配置指示にて、“物A”を“枠B”に配置した結果、操作者が意図した配置場所(60b_req)に対して、配置枠60bの同一枠内ではあるが、枠内の右寄りの位置(60b_1st_placed)に配置されたとする。ここで、2回目以降の配置位置を配置位置(60b_req)調整するための枠内移動調整の教示を行う。
 例えば、操作者の1回目の配置指示にて、“物A”を“枠B”に配置した結果に対して、2回目以降の配置位置を1回目の配置位置より5cm左に配置調整を行う場合について説明する。
 ステップ012(ST012)以外の処理は実施の形態1と同様であるので、図4及び図5のフローチャートを用いて、ロボット教示装置200及びロボット制御システム2000の動作について説明する。
 図4に示す通り、ロボット教示装置200は、音声入力を受け付ける状態(ST002)にあり、操作者は、ロボット20に対して、調整する移動方向を“左”、調整する移動量DXの値として“5cm”を教示するため、「物Aを左に5cmずらして下さい」とロボット教示装置200に音声入力する。音声認識部210で音声認識処理を行い、不足情報特定部231は、音声認識結果を音声入力単語列「“物A”、“を”、“左”、“に”、“5”、“cm”、“ずらし”、“て”、“下さい”」に変換する(ST004)。続いて音声入力単語列に含まれる動作内容と制御情報を推定し、抽出する(ST005)。
 不足情報特定部231は、入力された単語列から、事前学習した動作内容および制御情報の推定モデルにより、動作内容:枠内移動調整1、制御情報:“対象物”は“物A”、“移動先枠”は“枠B”、“移動先配置方向”は“左”、“移動先配置移動量”は“5cm”を推定・抽出する。音声入力単語列に動作内容および制御情報が含まれているので、「動作内容および制御情報が含まれている」と判定(ST006 Yes)する。
 続いて、図5に移り、不足情報特定部231は、抽出した制御情報が動作内容(枠内移動調整1)に必要な制御情報を満たしているか、制御情報が不足していないか判定を行う(ST008)。動作内容が枠内移動調整1の場合、必要となる制御情報は、図6に示すとおり、移動元ケース、移動元枠、移動先ケース、移動先枠、移動先配置方向、対象物、移動先配置移動量である。なお、指示情報推定部230は、初期設定(ST000)で、“移動元ケース”は“ケース50”、“移動先ケース”は“ケース60”、と設定しており、また、1回目の音声入力で “移動先枠”は“枠B”が設定されている。さらに、2回目の音声入力から抽出した “対象物”は“物A”、“移動先配置方向”は“左”、“移動先配置移動量”は“5cm”の制御情報を得て、必要な制御情報が含まれていると判定する(ST008 No)。指示情報補完部232は、不足情報特定部231から動作内容および制御情報を受け取り、受け取った動作内容および制御情報をそのまま制御信号出力部240に出力する。なお、配置移動量の“Dx”の指定は、“ミリメートル(mm)”“センチメートル(cm)”など、長さ単位で指定しても良いし、あらかじめ移動量を紐づけた番号などで指定しても良い。
 制御信号出力部240は、指示情報(動作内容および制御情報)を紐づけリストに従い、制御コマンド(AdjustCntl1)および制御パラメータ(Dst_pos_2:P_60b、Dst_pos_obj_dir:Left、Target_pos:Obj1、Dst_pos_obj_amt:5cm)に変換して、ロボット制御装置23へ出力する。
 ロボット制御装置23は、ロボット教示装置200から教示された制御コマンドおよび制御パラメータをロボット制御プログラムに反映し、ロボット20の動作を制御する。
 図14(b)に示す通り、ロボット20は、ロボット制御装置23の動作指令に従い、2回目以降、移動元ケース50内の配置枠50a(“枠A”)から、移動対象物50a2(“物A”)をピックアップし、移動先ケース60の配置枠60b(“枠B”)内の1回目に置いた配置位置(60b_1st_placed)より左に5cmだけ移動した位置(60b_2nd_placed)に配置する。
 次に、専門的な知識がない現場作業者や不慣れな初心者が操作者としてロボット20への動作指示を行い、指示情報が不足している場合のロボット教示装置200の動作について説明する。
 操作者は、ロボット20への音声で移動調整の動作指示を行う際に、音声入力用のコマンドやパラメータを完全には把握していないため、移動調整に必要な情報である“配置移動量”を具体的な数値“2cm”や“5cm”などではなく、枠内の位置を示す “右端”、“左端”、“左隅”、“右隅”、“中央”、“真ん中”、“中心”など、移動量が明示されない曖昧な表現を用いてしまう場合がある。たとえば、「物Aを左に5cmずらして下さい」と指示する際に、「物Aを左端にずらして下さい」と指示する場合などである。
 図4に戻り説明する。ロボット教示装置200は、音声入力を受け付ける状態(ST002)にあり、操作者は、「物Aを左端にずらして下さい」とロボット教示装置200に音声入力する。
 音声認識部210で音声認識処理を行う(ST003)。不足情報特定部231は、音声認識結果「物Aを左端に移動して下さい」を音声入力単語列「“物A”、“を”、“左端”、“に”、 “ずらし”、“て”、“下さい”」に変換する(ST004)。続いて音声入力単語列に含まれる動作内容と制御情報を推定し、抽出する(ST005)。
 不足情報特定部231は、入力された単語列から、事前学習した動作内容および制御情報の推定モデルにより、動作内容:枠内移動調整1、制御情報:“対象物”は“物A”、“移動先枠”は“枠B”、“移動先配置方向”は“未指定”、“移動先配置移動量”は“未指定”、“移動先配置移動量関連ワード”を“左端”と推定・抽出する。音声入力単語列に動作内容および制御情報が含まれているので、「動作内容および制御情報が含まれている」と判定(ST006 Yes)する。なお、“移動先配置移動量関連ワード”とは“左端”の他に、“右端”、“左隅”、“右隅”、“中央”、“真ん中”、“中心”など、枠内の位置を示す同様の意味を持つワードである。
 続いて、図5に移り、不足情報特定部231は、抽出した制御情報が動作内容(枠内移動調整1)に必要な制御情報を満たしているか、制御情報が不足していないか判定を行う(ST008)。動作内容が枠内移動調整1の場合、必要となる制御情報は、図6に示すとおり、移動元ケース、移動元枠、移動先ケース、移動先枠、移動先配置方向、対象物、移動先配置移動量である。なお、指示情報推定部230は、初期設定(ST000)で、“移動元ケース”は“ケース50”、“移動先ケース”は“ケース60”、と設定しており、また、1回目の音声入力で “移動先枠”は“枠B”が設定されている。さらに、2回目の音声入力から抽出した “対象物”は“物A”、“移動先配置方向”は“未指定”、“移動先配置移動量”は“未指定”の制御情報を得る。ここで、不足情報特定部231は、必要な制御情報の“移動先配置移動量”は“未指定”、“移動先配置方向”は“未指定”のため、制御情報が不足していると判定し、不足情報は”移動先配置移動量”と”移動先配置方向”であると特定する(ST008 Yes)。
 続いて、不足情報特定部231は、“移動先配置移動量関連ワード”を含んでいるか確認する(ST010)。関連語を含まない場合(ST010 No)には、図4に戻り、入出力部250の表部へ再入力依頼を提示し、操作者に再音声入力を促す(ST007)。
 不足情報特定部231が、関連語を含んでいると判定した場合(ST010 Yes)には、次のステップへ進む。ここでは、“移動先配置移動量関連ワード”である、“左端”を含んでいるため(ST010 Yes)、次のステップに進み、センサ22からセンサ情報を取得する(ST011)。環境情報取得部220は、センサ22から得られたセンサ情報を解析し、ロボット周辺環境に関する環境情報を取得する。
 図15は、環境情報取得部220が取得した環境情報の具体例を示したものである。
 図15に示す通り、環境情報取得部220では、移動先の配置空間および移動先枠60bの環境情報が得られている。環境情報は、例えば、1回目に移動先枠60bに配置済みの移動対象物50a1の位置情報(P_60b_1st_placed)、移動先枠60bの枠に関する位置情報として、移動先枠60bの枠の左端位置P_60b_L_edge、中心位置P_60b_Center、右端位置P_60b_R_edgeなどである。
 図5に戻り、指示情報補完部132は、制御情報および環境情報を用いて指示情報補完処理を行う(ST012)。
 図16は、実施の形態2に係るロボット教示装置200における指示情報補完部232の指示情報補完処理のフローチャートである。
 図16に示す通り、指示情報補完部232は、環境情報から、1回目に移動先枠60bに配置済みの移動対象物50a1の位置情報(P_60b_1st_placed)を取得する(ST300)。次に、音声入力文字列から“移動先配置移動量関連ワード”を取得する(ST301)。取得した“移動先配置移動量関連ワード”に基づいて、制御を分岐する。
 まず、指示情報補完部232は、“移動先配置移動量関連ワード”に“左”を含むか否かを判定する(ST302)。“左”を含む場合には(ST302 Yes)、制御情報の配置方向“未指定”を“左”に補正する(ST303)。次に移動量Dxの算出を行う。移動量Dxは、1回目に移動先枠60bに配置済みの移動対象物50a1の位置情報(P_60b_1st_placed)と、音声入力文字列から抽出した移動先枠60bの枠の指定位置の差分の絶対値にて求める(ST304)。ここでは、“移動先配置移動量関連ワード”が“左端”である場合、枠の指定位置を、移動先枠60bの枠の左端位置P_60b_L_edgeと移動対象物50a1の位置情報(P_60b_1st_placed)で移動量Dxを求める。
 例えば、移動対象物50a1の位置情報P_60b_1st_placedのx座標の値が、100として、移動先枠60bの枠の左端位置P_60b_L_edgeのx座標の値が、95の場合、移動量Dxは、5となる。単位がcmの場合、2回目以降は、1回目の配置した位置から5cm左の位置に配置するように教示される。
 “移動先配置移動量関連ワード”に“左”を含まない場合には(ST302 No)、指示情報補完部232は、続いて“移動先配置移動量関連ワード”に“右”を含むか否かを判定する(ST305)。“右”を含む場合には(ST305 Yes)、制御情報の配置方向“未指定”を“右”に補正する(ST306)。左の場合と同様に、移動量Dxの算出を行う。移動先枠60bの枠の右端位置P_60b_R_edgeと移動対象物50a1の位置情報(P_60b_1st_placed)で移動量Dxを求める。
 次に、“移動先配置移動量関連ワード”に“右”を含まない場合には(ST305 No)、指示情報補完部232は、続いて、“移動先配置移動量関連ワード”に“中”を含むか否かを判定する(ST307)。“中”を含む場合には(ST307 Yes)、1回目に移動先枠60bに配置済みの移動対象物50a1の位置情報(P_60b_1st_placed)と移動先枠60bの枠の中心位置P_60b_Centerから、まず、現在の対象物の位置と枠中心位置が一致するか確認する(ST308)。一致した場合(ST308 Yes)には、図4に戻り、入出力部250の表示部へ再入力依頼を提示し、操作者に再音声入力を促す(ST007)。一致しない場合(ST308 No)には、現在の対象物の位置は枠中心より右か否かを判定する(ST309)。枠中心位置より右ならば(ST309 Yes)、制御情報の配置方向“未指定”を“左”に補正する(ST210)。枠中心位置より左ならば(ST309 No)、制御情報の配置方向“未指定”を“右”に補正する(ST310)。移動量Dxの算出は、1回目に移動先枠60bに配置済みの移動対象物50a1の位置情報(P_60b_1st_placed)と、音声入力文字列から抽出した移動先枠60bの枠の指定位置(中心位置P_60b_Center)の差分の絶対値にて求める(ST311)。
 図5に移り、指示情報補完部232は、2回目の音声入力から抽出した制御情報のうち、“移動先配置方向” を“未指定”から“左”に補正し、“移動先配置移動量”を“未指定”から“Dx”に補正し、制御情報は、“対象物”は“物A”、 “移動先配置方向”は“左”、“移動先配置移動量”は“Dx”となる。指示情報補完部232は、動作内容および補正後の制御情報を補完済みの指示情報として制御信号出力部240に出力する。
 制御信号出力部240は、指示情報(動作内容および制御情報)を紐づけリストに従い、制御コマンド(AdjustCntl1)および制御パラメータ(Dst_pos_2:P_60b、Dst_pos_obj_dir:Left、Target_pos:Obj1、Dst_pos_obj_amt:Dx)に変換して、ロボット制御装置23へ出力する。
 ロボット制御装置23は、ロボット教示装置200から教示された制御コマンドおよび制御パラメータをロボット制御プログラムに反映し、ロボット20の動作を制御する。
 図14に示す通り、ロボット20は、ロボット制御装置23の動作指令に従い、移動元ケース50内の配置枠50a(“枠A”)から、移動対象物50a2(“物A”)をピックアップし、移動先ケース60の配置枠60b(“枠B”)内の1回目に置いた配置位置P_50a1より左にDxだけ移動した位置を2回目以降の配置場所(60b_2nd_placed)として、移動対象物50a2(“物A”)を配置する。
 以上のような動作により、ロボット教示装置200は、音声によるロボット教示において、移動対象物を所定の場所へ移動する教示の際に、習熟度の低い操作者や教示に慣れない操作者による曖昧な言葉を含む動作制御指示が行われても、曖昧な制御情報を具体的な移動方向および移動量の制御情報に補正することで、操作者の意図に沿ったロボット教示を行うことができる。
 なお、実施の形態2に係る指示情報推定部230では、環境情報取得部220から周辺物体位置情報として、各枠内の左端、中心、右端の位置情報を取得して、移動量を算出しているが、各枠内の左端、中心、右端の位置情報を初期設定時に設定しておき、その値と、配置済みの移動対象物50a1の位置情報(P_60b_1st_placed)から、移動量を算出しても良い。
 なお、実施の形態2に係る指示情報推定部230の補完結果に基づいて、ロボット20の制御を行っているが、指示情報推定部230の補完結果を入出力部250の表示部へ提示し、移動対象物の移動量の目安となる定規、目盛りなどの寸法のわかる情報を操作者に画面上で確認できるようにしても良い。また、操作者の確認・了承を受けた後にロボット教示を行うように制御しても良い。
 図17は、実施の形態2に係る入出力部250よる移動対象物の移動量情報(目安)表示例である。図17に示すように、移動量情報の目安を表示することで、操作者に移動対象物の移動時の移動量をわかりやすく伝えることができる。
 また、実施の形態1に係るロボット教示装置100の変形例は、実施の形態2に係るロボット教示装置200にも適用可能である。また、実施の形態2に係るロボット教示装置200の構成を実施の形態1に係るロボット教示装置100に組み合わせても良い。
 実施の形態3.
 実施の形態3に係るロボット制御システム3000は、ロボット教示装置300の指示情報補完部332の指示情報補完処理フローのステップ(ST012)内の処理について、実施の形態1、2から一部変更・追加される以外は、実施の形態1、2に係るロボット制御システム1000,2000、ロボット教示装置100,200の構成と同じである。実施の形態3では、指示情報補完部332が移動対象物の移動量を推定する別の例について説明する。
 図18は、実施の形態3に係るロボット教示装置300及びロボット制御システム3000の構成を示す構成図である。また、ロボット教示装置300のハードウェア構成については、実施の形態1、2に係るロボット教示装置100,200と同様である。
 実施の形態3では、実施の形態2に示した専門的な知識がない現場作業者や不慣れな初心者が操作者としてロボット30への動作指示を行う場合のもう1つの例について、ロボット教示装置300の動作を説明する。操作者は、ロボット30への音声で移動調整の動作指示を行う際に、音声入力用のコマンドやパラメータを完全には把握していないため、移動調整に必要な情報である“配置移動量”を具体的な数値“2cm”や“5cm”などではなく、既に配置された移動対象物を基準として、その対象物からのずらしたい“程度”と“方向”を示す“やや左”、“少し左”、“ちょっと右”、“もう少し右”など、移動量が明示されない曖昧な表現を用いてしまう場合がある。たとえば、「物Aを左に5cmずらして下さい」と指示する際に、「物Aを少し左にずらして下さい」と指示する場合などである。
 ロボット教示装置300の動作は、ステップ012(ST012)を除いて、実施の形態1、2と同様であるため、図4及び図5のフローチャートを用いて説明する。
 これまでと同様に、図4のステップ002(ST002)に戻り説明する。ロボット教示装置300は、音声入力を受け付ける状態(ST002)にあり、操作者は、2回目の音声教示として「物Aを少し左にずらして下さい」とロボット教示装置300に音声入力する。
 音声認識部310で音声認識処理を行う(ST003)。不足情報特定部331は、音声認識結果「物Aを少し左に移動して下さい」を音声入力単語列「“物A”、“を”、“少し”、“左”“に”、 “ずらし”、“て”、“下さい”」に変換する(ST004)。続いて音声入力単語列に含まれる動作内容と制御情報を推定し、抽出する(ST005)。
 不足情報特定部331は、入力された単語列から、事前学習した動作内容および制御情報の推定モデルにより、動作内容:枠内移動調整1、制御情報:“対象物”は“物A”、“移動先枠”は“枠B”、“移動先配置方向”は“左”、“移動先配置移動量”は“未指定”、“移動先配置移動量関連ワード”は“少し”と推定・抽出する。音声入力単語列に動作内容および制御情報が含まれているので、「動作内容および制御情報が含まれている」と判定(ST006 Yes)する。なお、“移動先配置移動量関連ワード”とは“少し”の他に、“やや”、“大きく”、“ちょっと”、“もう少し”、“少々”、“わずか”、“少しだけ”、“こころもち”など、枠内の移動量の程度を示す同様の意味を持つワードである。
 続いて、図5に移り、不足情報特定部331は、抽出した制御情報が動作内容(枠内移動調整1)に必要な制御情報を満たしているか、制御情報が不足していないか判定を行う(ST008)。2回目の音声入力から抽出した “対象物”は“物A”、“移動先配置方向”は“左”、“移動先配置移動量”は“未指定”の制御情報を得る。ここで必要な制御情報の“移動先配置移動量”は“未指定”のため、制御情報が不足していると判定し、不足情報は”移動先配置移動量”であると特定する(ST008 Yes)。
 続いて、不足情報特定部331は、“移動先配置移動量関連ワード”を含んでいるか確認する(ST010)。“移動先配置移動量関連ワード”を含まない場合(ST010 No)には、図4に戻り、入出力部350の表示部へ再入力依頼を提示し、操作者に再音声入力を促す(ST007)。
 不足情報特定部331が、“移動先配置移動量関連ワード”を含んでいると判定した場合(ST010 Yes)には、次のステップへ進む。ここでは、“移動先配置移動量関連ワード”である、“少し”を含んでいるため(ST010 Yes)、次のステップに進み、センサ32からセンサ情報を取得する(ST011)。環境情報取得部320は、センサ32から得られたセンサ情報を解析し、ロボット周辺環境および移動対象物に関する環境情報を取得する。
 図19は、環境情報取得部320が取得した環境情報を示したものである。
 図19に示す通り、環境情報取得部320では、移動先の配置空間および移動先枠60bの環境情報が得られている。周辺物体位置情報は、例えば、1回目に移動先枠60bに配置済みの移動対象物50a1の位置情報(P_60b_1st_placed)や、2回目の発話に含まれる移動先方向“左”を元にセンサ32から得た移動先枠60bの枠内の移動対象物50a1の“左側”に関する空間情報(位置:P_60b_Sp_L、幅:P_60b_Sp_L_w、高さ:P_60b_Sp_L_h)である。
 図5に戻り、指示情報補完部332は、制御情報および環境情報を用いて制御情報補正処理を行う(ST012)。
 図20は、実施の形態3に係る指示情報補完部332の指示情報補完処理のフローチャートである。
 図20に示す通り、指示情報補完部332は、周辺物体位置情報として得られた、1回目に移動先枠60bに配置済みの移動対象物50a1の位置情報(P_60b_1st_placed)および移動先枠60bの枠内の移動対象物50a1の“左側”に関する位置情報及び空間情報(位置:P_60b_Sp_L、幅:P_60b_Sp_L_w、高さ:P_60b_Sp_L_h)を取得(ST400)する。次に、指示情報補完部332は、左側の空間サイズを分割数(任意の数値)で除算し、移動量の単位となる移動量幅Wxを算出する(ST401)。たとえば、x方向の移動量増減を2段階とする場合には、x方向の分割数を2とする、移動量増減を4段階とする場合には、x方向の分割数を4とする。ここでは、3段階とし、移動量幅Wxは、P_60b_Sp_L_w/3となる。
 次に、指示情報補完部332は、音声入力文字列から“移動先配置移動量関連ワード”を取得する(ST402)。続いて、指示情報補完部332は、“移動先配置移動量関連ワード”が“少し”など、“小さな”移動量を示すワードか否かを判定する(ST403)。“移動先配置移動量関連ワード”が“小さな”移動量を示すワードの場合には(ST403 Yes)、移動量係数Kを小さな値に設定する(ST404)。また、“移動先配置移動量関連ワード”が“小さな”移動量を示すワードではない場合には(ST403 No)、移動量係数Kを大きな値に設定する(ST405)。最終的な移動量は、移動量幅Wxと移動量係数Kより算出する(ST406)。
 例えば、小さな移動量を示すワードの場合(ST403 Yes)、指示情報補完部332は、移動量係数Kに“1”を設定する(ST404)。小さな移動量を示すワードを含まない場合(ST403 No)、移動量係数Kに“3”を設定する(ST405)。次に移動量幅Wxと移動量係数Kから、移動量Dxを算出する(移動量Dx=移動量幅Wx×移動量係数K:ST406)。例えば、P_60b_Sp_L_w=9cmの場合、移動量増減を3段階とすると、移動量幅Wxは、P_60b_Sp_L_w/3=3cmとなる。また、移動量係数Kを、例えば、1~3の範囲の値とすると、“移動先配置移動量関連ワード”が“少し”の場合には、移動量係数K=1を設定する。その結果、移動量Dxは、移動量幅Wx×移動量係数K=3cm×1=3cmと算出される。また、“移動先配置移動量関連ワード”が“大きく”の場合には、移動量係数K=3を設定する。その結果、移動量Dxは、移動量幅Wx×移動量係数K=3cm×3=9cmと算出される。このように“移動先配置移動量関連ワード”の内容により、移動量Dxを制御する。
 図5に移り、指示情報補完部332は、2回目の音声入力から抽出した制御情報のうち、 “移動先配置移動量”を“未指定”から“Dx”に補正し、制御情報は、“対象物”は“物A”、 “移動先配置方向”は“左”、“移動先配置移動量”は“Dx”となる。指示情報補完部332は、動作内容および補正後の制御情報を補完済みの指示情報として制御信号出力部340に出力する。
 制御信号出力部340は、指示情報(動作内容および制御情報)を紐づけリストに従い、制御コマンド(AdjustCntl1)および制御パラメータ(Dst_pos_2:P_60b、Dst_pos_obj_dir:Left、Target_pos:Obj1、Dst_pos_obj_amt:Dx)に変換して、ロボット制御装置33へ出力する。
 ロボット制御装置33は、ロボット教示装置300から教示された制御コマンドおよび制御パラメータをロボット制御プログラムに反映し、ロボット30の動作を制御する。
 図14に示す通り、ロボット30は、ロボット制御装置33の動作指令に従い、移動元ケース50内の配置枠50a(“枠A”)から、移動対象物50a2(“物A”)をピックアップし、移動先ケース60の配置枠60b(“枠B”)内の1回目に置いた配置位置P_50a1より左にDxだけ移動した位置を2回目以降の配置場所(60b_2nd_placed)として、移動対象物50a2(“物A”)を配置する。
 以上のような動作により、ロボット教示装置300は、音声によるロボット教示において、移動対象物を所定の場所へ移動する教示の際に、習熟度の低い操作者や教示に慣れない操作者による曖昧な言葉を含む動作制御指示が行われても、曖昧な制御情報を具体的な移動量の制御情報に補正することで、操作者の意図に沿ったロボット教示を行うことができる。
なお、実施の形態3に係る指示情報補完部332は、“移動先配置移動量関連ワード”を含んでいるか確認し、“移動先配置移動量関連ワード”を含まない場合には、入出力部350の表示部へ再入力依頼を提示し、操作者に再音声入力を促すよう制御しているが、“小さな”移動量を示すワードを含まない場合と同様に、移動量係数Kを所定の値に設定しておき、移動量Dxを算出するように制御しても良い。
 なお、実施の形態3に係る指示情報補完部332は、分割数(移動量増減)を3段階、移動量係数Kを1~3の範囲の値としたが、任意の値に設定し、制御しても良い。分割数を増やすことで、移動量の指定を細かく設定することが可能になる。
 なお、実施の形態3では、操作者による曖昧な移動調整指示が行われた場合について記載しているが、指示情報補完部332は、2回目の教示で行われた発話内容(「物Aを少し左にずらして下さい」)と、その指示の補正結果(移動量幅Wx、移動量係数K、移動量Dx)の値を保存し、3回目の教示でもう一度同じ発話が実施された場合には、移動量係数Kの値を既存値より大きく設定するように制御しても良い。この制御により、これ以降、同様の曖昧な量的表現による音声指示が行われた場合に、同じ移動調整操作の発話回数を減らす効果が得られる。
 すなわち、指示情報推定部330は、音声指示が連続で行われた場合、周辺物体位置情報と音声指示の回数とに基づき、指示情報に不足している情報を補完するようにしてもよい。
 また、実施の形態1に係るロボット教示装置100の変形例は、実施の形態3に係るロボット教示装置300にも適用可能である。また、実施の形態3に係るロボット教示装置300の構成を実施の形態1,2に係るロボット教示装置100,200に組み合わせても良い。
 本開示に係るロボット教示装置は、FA(Factory Automation)機器に用いるのに適している。
 100,200,300 ロボット教示装置、110,210,310 音声認識部、120,220,320 環境情報取得部、130,230,330 指示情報推定部、131,231,331 不足情報特定部、132,232,332 指示情報補完部、140,240,340 制御信号出力部、150,250,350 入出力部、1000,2000,3000 ロボット制御システム、10,20,30 ロボット、11,21,31 マイク、12,22,32 センサ、13,23,33 ロボット制御装置、1 入力装置、2 処理装置、3 記憶装置、4 通信装置、5 出力装置。

Claims (16)

  1.  マイクによって収集された音声信号に対して音声認識処理を行い、移動対象物を所定の移動先に配置するロボットへの指示内容を示す指示情報を取得する音声認識部と、
     前記ロボットの周辺環境を検知するセンサによって取得されたセンサ情報に基づき、前記移動先周辺に存在する物体の位置を示す周辺物体位置情報を取得する環境情報取得部と、
     前記周辺物体位置情報に基づき、前記ロボットの動作指示に不足している情報を前記指示情報に補完する指示情報推定部と、
     を備えるロボット教示装置。
  2.  前記指示情報推定部は、
     予め設定された前記ロボットの動作指示に必要な情報である必須情報と、前記指示情報とを比較し、前記ロボットの動作指示に不足している情報を不足情報として特定する不足情報特定部と、
     前記周辺物体位置情報に基づき、前記指示情報に前記不足情報を補完する指示情報補完部と、
     を備えることを特徴とする請求項1に記載のロボット教示装置。
  3.  前記不足情報特定部が、前記移動対象物の配置位置を示す情報が不足していると特定した場合、
     前記指示情報補完部は、前記周辺物体位置情報に基づき、前記指示情報に前記移動対象物の配置位置を示す情報を補完する
     ことを特徴とする請求項2に記載のロボット教示装置。
  4.  前記不足情報特定部が、前記配置位置を示す情報のうち、前記移動対象物の配置方向を示す情報が不足していると特定した場合、
     前記指示情報補完部は、前記周辺物体位置情報に基づき、前記指示情報に前記移動対象物の配置方向を示す情報を補完する
     ことを特徴とする請求項3に記載のロボット教示装置。
  5.  前記不足情報特定部が、前記配置位置を示す情報のうち、前記移動対象物の移動量を示す情報が不足していると特定した場合、
     前記指示情報補完部は、前記周辺物体位置情報に基づき、前記指示情報に前記移動対象物の移動量を示す情報を補完する
     ことを特徴とする請求項3又は4に記載のロボット教示装置。
  6.  前記環境情報取得部は、さらに、前記センサ情報に基づき、前記移動先周辺に存在する物体の大きさを示す形状情報を取得し、前記指示情報推定部は、前記周辺物体位置情報と前記形状情報とに基づき、前記指示情報に不足している情報を補完する
     ことを特徴とする請求項1から5のいずれか一項に記載のロボット教示装置。
  7.  前記環境情報取得部は、さらに、前記センサ情報に基づき、前記移動先周辺に存在する配置可能領域の大きさを示す空間情報を取得し、前記指示情報推定部は、前記周辺物体位置情報と前記空間情報とに基づき、前記指示情報に不足している情報を補完する
     ことを特徴とする請求項1から6のいずれか一項に記載のロボット教示装置。
  8.  前記環境情報取得部は、さらに、前記移動対象物の温度を示す温度情報を取得し、
     前記指示情報推定部は、前記周辺物体位置情報と前記温度情報とに基づき、前記指示情報に不足している情報を補完する
     ことを特徴とする請求項1から7のいずれか一項に記載のロボット教示装置。
  9.  前記環境情報取得部は、前記センサ情報に基づき、前記移動対象物の位置を示す対象物位置情報を前記周辺物体位置情報として取得し、
     前記指示情報推定部は、前記対象物位置情報に基づき、前記指示情報に不足している情報を補完する
     ことを特徴とする請求項1から8のいずれか一項に記載のロボット教示装置。
  10.  前記音声認識部は、前記音声信号から、前記移動対象物の数量を示す数量情報を含む前記指示情報を取得し、
     前記指示情報推定部は、前記周辺物体位置情報と前記数量情報とに基づき、前記指示情報に不足している情報を補完する
     ことを特徴とする請求項1から9のいずれか一項に記載のロボット教示装置。
  11.  前記指示情報推定部は、前記移動対象物の種類を示す種類情報を取得し、前記周辺物体位置情報と前記種類情報とに基づき、前記指示情報に不足している情報を補完する
     ことを特徴とする請求項1から10のいずれか一項に記載のロボット教示装置。
  12.  前記指示情報推定部は、音声指示が連続で行われた場合、前記周辺物体位置情報と前記音声指示の回数とに基づき、前記指示情報に不足している情報を補完する
     ことを特徴とする請求項1から11のいずれか一項に記載のロボット教示装置。
  13.  前記音声認識部は、第一の音声信号から第一の指示情報を取得し、第二の音声信号から第二の指示情報を取得し、
     前記指示情報推定部は、前記第二の指示情報が肯定的な指示であるか、否定的な指示であるかを判定し、その判定結果に基づき前記第一の指示情報に不足している情報を補完する
     ことを特徴とする請求項1から12のいずれか一項に記載のロボット教示装置。
  14.  作業者が発声した音声を収集し、音声信号を出力するマイクと、
     移動対象物を所定の移動先に配置するロボットの周辺環境を検知し、検知結果を示すセンサ情報を出力するセンサと、
     前記音声信号に対して音声認識処理を行い、前記ロボットへの指示内容を示す指示情報を取得する音声認識部と、
     前記センサ情報に基づき、前記移動先周辺に存在する物体の位置を示す周辺物体位置情報を取得する環境情報取得部と、
     前記周辺物体位置情報に基づき、前記ロボットの動作指示に不足している情報を前記指示情報に補完する指示情報推定部と、
     を備えるロボット制御システム。
  15.  マイクによって収集された音声信号に対して音声認識処理を行い、移動対象物を所定の移動先に配置するロボットへの指示内容を示す指示情報を取得する音声認識工程と、
     前記ロボットの周辺環境を検知するセンサによって取得されたセンサ情報に基づき、前記移動先周辺に存在する物体の位置を示す周辺物体位置情報を取得する環境情報取得工程と、
     前記周辺物体位置情報に基づき、前記ロボットの動作指示に不足している情報を前記指示情報に補完する指示情報推定工程と、
     を含むロボット教示方法。
  16.  請求項15に記載の全工程をコンピュータに実行させるロボット教示プログラム。
PCT/JP2021/019536 2021-05-24 2021-05-24 ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム WO2022249226A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2023513359A JP7272521B2 (ja) 2021-05-24 2021-05-24 ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム
PCT/JP2021/019536 WO2022249226A1 (ja) 2021-05-24 2021-05-24 ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/019536 WO2022249226A1 (ja) 2021-05-24 2021-05-24 ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム

Publications (1)

Publication Number Publication Date
WO2022249226A1 true WO2022249226A1 (ja) 2022-12-01

Family

ID=84229601

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/019536 WO2022249226A1 (ja) 2021-05-24 2021-05-24 ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム

Country Status (2)

Country Link
JP (1) JP7272521B2 (ja)
WO (1) WO2022249226A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116312147A (zh) * 2023-05-11 2023-06-23 深圳市亚博智能科技有限公司 基于教学机器人的编程教学方法及系统
WO2024143487A1 (ja) * 2022-12-28 2024-07-04 京セラ株式会社 制御システム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188555A (ja) * 1999-12-28 2001-07-10 Sony Corp 情報処理装置および方法、並びに記録媒体
JP2002264058A (ja) * 2001-03-09 2002-09-18 Japan Science & Technology Corp ロボット視聴覚システム
JP2005059185A (ja) * 2003-08-19 2005-03-10 Sony Corp ロボット装置及びその制御方法
JP2006289543A (ja) * 2005-04-08 2006-10-26 Mitsubishi Heavy Ind Ltd ロボット教示装置
JP2011054088A (ja) * 2009-09-04 2011-03-17 National Institute Of Information & Communication Technology 情報処理装置、情報処理方法、プログラム及び対話システム
US20140372116A1 (en) * 2013-06-13 2014-12-18 The Boeing Company Robotic System with Verbal Interaction
WO2019146586A1 (ja) * 2018-01-25 2019-08-01 川崎重工業株式会社 ロボットの教示装置
JP2021030407A (ja) * 2019-08-29 2021-03-01 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001188555A (ja) * 1999-12-28 2001-07-10 Sony Corp 情報処理装置および方法、並びに記録媒体
JP2002264058A (ja) * 2001-03-09 2002-09-18 Japan Science & Technology Corp ロボット視聴覚システム
JP2005059185A (ja) * 2003-08-19 2005-03-10 Sony Corp ロボット装置及びその制御方法
JP2006289543A (ja) * 2005-04-08 2006-10-26 Mitsubishi Heavy Ind Ltd ロボット教示装置
JP2011054088A (ja) * 2009-09-04 2011-03-17 National Institute Of Information & Communication Technology 情報処理装置、情報処理方法、プログラム及び対話システム
US20140372116A1 (en) * 2013-06-13 2014-12-18 The Boeing Company Robotic System with Verbal Interaction
WO2019146586A1 (ja) * 2018-01-25 2019-08-01 川崎重工業株式会社 ロボットの教示装置
JP2021030407A (ja) * 2019-08-29 2021-03-01 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024143487A1 (ja) * 2022-12-28 2024-07-04 京セラ株式会社 制御システム
CN116312147A (zh) * 2023-05-11 2023-06-23 深圳市亚博智能科技有限公司 基于教学机器人的编程教学方法及系统
CN116312147B (zh) * 2023-05-11 2023-07-21 深圳市亚博智能科技有限公司 基于教学机器人的编程教学方法及系统

Also Published As

Publication number Publication date
JPWO2022249226A1 (ja) 2022-12-01
JP7272521B2 (ja) 2023-05-12

Similar Documents

Publication Publication Date Title
Zhang et al. An indoor wayfinding system based on geometric features aided graph SLAM for the visually impaired
JP6927938B2 (ja) クラウドサービスシステムを組み込んだロボットシステム
KR102068216B1 (ko) 이동형 원격현전 로봇과의 인터페이싱
Du et al. Markerless kinect-based hand tracking for robot teleoperation
JP4850984B2 (ja) 動作空間提示装置、動作空間提示方法およびプログラム
US9613505B2 (en) Object detection and localized extremity guidance
JP7272521B2 (ja) ロボット教示装置、ロボット制御システム、ロボット教示方法、及びロボット教示プログラム
Kandalan et al. Techniques for constructing indoor navigation systems for the visually impaired: A review
KR102109697B1 (ko) 시각 정보와 촉각 정보를 함께 이용하여 객체를 파지하는 로봇 핸드 및 그 제어방법
US10864633B2 (en) Automated personalized feedback for interactive learning applications
US11559902B2 (en) Robot system and control method of the same
US20190102377A1 (en) Robot Natural Language Term Disambiguation and Entity Labeling
WO2021033509A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2022132905A (ja) ジェスチャ認識装置、移動体、ジェスチャ認識方法、およびプログラム
KR102109696B1 (ko) 정보가 없는 객체를 파지하는 로봇 핸드 및 그 제어방법
JP6150429B2 (ja) ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法
KR20170076534A (ko) 가상 현실 인터페이스 장치 및 제어 방법
JP2018153874A (ja) 提示装置、提示方法およびプログラム、ならびに作業システム
CN114800535B (zh) 机器人的控制方法、机械臂控制方法、机器人及控制终端
US20220314432A1 (en) Information processing system, information processing method, and nonvolatile storage medium capable of being read by computer that stores information processing program
Grewal et al. Autonomous wheelchair navigation in unmapped indoor environments
US11654573B2 (en) Methods and systems for enabling human robot interaction by sharing cognition
JP2022525326A (ja) 2次元カメラを利用して客体制御を支援する方法、システムおよび非一過性のコンピュータ読み取り可能な記録媒体
JP2023099603A (ja) オブジェクト姿勢制御プログラムおよびオブジェクト姿勢制御システム
JP6142306B2 (ja) ロボット制御システム、ロボット、出力制御プログラムおよび出力制御方法

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2023513359

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

Country of ref document: EP

Kind code of ref document: A1