WO2023080050A1 - 情報処理装置、ロボットの制御方法、プログラム、移動体及びロボットシステム - Google Patents

情報処理装置、ロボットの制御方法、プログラム、移動体及びロボットシステム Download PDF

Info

Publication number
WO2023080050A1
WO2023080050A1 PCT/JP2022/040122 JP2022040122W WO2023080050A1 WO 2023080050 A1 WO2023080050 A1 WO 2023080050A1 JP 2022040122 W JP2022040122 W JP 2022040122W WO 2023080050 A1 WO2023080050 A1 WO 2023080050A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
robot
orientation
positions
terminal device
Prior art date
Application number
PCT/JP2022/040122
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 ローレルバンクマシン株式会社
Publication of WO2023080050A1 publication Critical patent/WO2023080050A1/ja
Priority to US18/646,984 priority Critical patent/US20240269826A1/en

Links

Images

Classifications

    • 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
    • B25J13/088Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
    • B25J13/089Determining the position of the robot with reference to its environment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • 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/0081Programme-controlled manipulators with master teach-in means
    • 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
    • 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
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator

Definitions

  • the present invention relates to an information processing device, a robot control method, a program, a mobile body, and a robot system.
  • Direct teaching is known as a method of teaching robots such as industrial robots how to operate (see Patent Document 1, for example).
  • Direct teaching is, for example, a teaching method in which an operator directly moves the robot manually to make the robot learn operating points.
  • An information processing apparatus is an information processing apparatus in which, when a mobile body sequentially moves to a plurality of positions in space independently of a robot, position information at each position of the mobile body, or an acquisition unit configured to acquire position information at a position and orientation information at each position; and a plurality of position information acquired by the acquisition unit respectively corresponding to the plurality of positions, or a generation unit that generates trajectory information of the robot by sequentially defining the position and orientation of a specific portion of the robot based on the plurality of corresponding orientation information.
  • a method for controlling a robot provides, when a mobile object moves to a plurality of positions in space in sequence independently of the robot, position information of the mobile object at each position, and posture information at each position is acquired, and based on the acquired plurality of position information corresponding to the plurality of positions and the plurality of posture information corresponding to the plurality of positions, the position and position of the specific part of the robot; Trajectory information of the robot is generated by defining postures in order.
  • a program according to a preferred aspect of the present invention is a program that, when a moving body sequentially moves to a plurality of positions in space, is executed by a processor that operates a robot. and acquires the position and posture of a specific part of the robot based on the acquired plurality of position information corresponding to the plurality of positions and the plurality of posture information respectively corresponding to the plurality of positions By specifying in order, the trajectory information of the robot is generated.
  • a robot system includes a robot, a moving body that sequentially moves to a plurality of positions in space independently of the robot, a detection device, and an information processing device, wherein the moving body has an inertial sensor for detecting posture information of the moving object, and a communication unit that communicates with at least the information processing device, and the detecting device detects the moving object to detect the position of the moving object.
  • a detection unit that detects position information and a communication unit that communicates with at least the information processing device, and the information processing device acquires posture information and position information detected at each of the plurality of positions.
  • a mobile object is a mobile object that moves independently of the robot through a plurality of positions for generating trajectory information of the robot, wherein: an inertial sensor that detects position information or position information and orientation information at each of the plurality of positions; and a communication unit that communicates with an information processing device that operates at least the robot. Trajectory information of the robot is generated based on the position information or the posture information and the position information detected at each of the plurality of positions.
  • FIG. 2 is a diagram showing an example of a hardware configuration of a robot controller shown in FIG. 1;
  • FIG. 2 is a functional block diagram showing an example of the configuration of a robot controller shown in FIG. 1;
  • FIG. 2 is a diagram showing an example of a hardware configuration of a terminal device shown in FIG. 1;
  • FIG. 2 is a functional block diagram showing an example of the configuration of the terminal device shown in FIG. 1;
  • FIG. FIG. 2 is a sequence chart showing an example of the operation of the robot system shown in FIG. 1;
  • FIG. FIG. 3 is an explanatory diagram showing an example of an operation table shown in FIG. 2;
  • FIG. 4 is an explanatory diagram for explaining an example of an operation screen
  • 2 is a flow chart showing an example of the operation of the robot controller shown in FIG. 1
  • FIG. 11 is a sequence chart showing an example of the operation of the robot system according to the first modified example
  • FIG. 9 is a flow chart showing an example of the operation of the robot controller according to the first modified example
  • FIG. 11 is an explanatory diagram for explaining an overview of a robot system according to a third modified example;
  • FIG. 1 is an explanatory diagram for explaining the outline of the robot system 1 according to the embodiment.
  • a world coordinate system ⁇ W fixed in the real space and an imaging coordinate system ⁇ C fixed in the imaging device (detection device) 40 are introduced.
  • the world coordinate system ⁇ W is, for example, a three-axis orthogonal coordinate system having an origin at a predetermined position in the physical space and mutually orthogonal Xw, Yw, and Zw axes.
  • the predetermined position which is the origin of the world coordinate system ⁇ W
  • the position Op is, for example, the center of the base part BSP of the robot 20, which will be described later.
  • the Xw-Zw plane is parallel to the floor to which the base portion BSP is fixed.
  • the imaging coordinate system ⁇ C is, for example, a three-axis orthogonal coordinate system having an origin at a predetermined position of the imaging device 40 and mutually orthogonal Xc, Yc, and Zc axes.
  • the Zc axis is parallel to the optical axis of the optical system of the imaging device 40 .
  • the optical axis of the optical system of the imaging device 40 is also simply referred to as the optical axis of the imaging device 40 .
  • the robot system 1 shown in FIG. 1 is, for example, a robot control robot system that controls the motion of the robot 20 .
  • the robot system 1 has a robot controller 10 , a robot 20 , a terminal device 30 and an imaging device 40 .
  • the robot controller 10 is an example of an "information processing device”
  • the terminal device 30 is an example of a "moving object”.
  • the robot controller 10 and the robot 20 shown in FIG. 1 are communicably connected to each other, for example, by a wired connection.
  • the connection between the robot controller 10 and the robot 20 may be a wireless connection, or may be a wired and wireless connection.
  • the robot controller 10, the terminal device 30, and the imaging device 40 each have a communication unit, and are communicably connected to each other.
  • the communication between the robot controller 10, the terminal device 30 and the imaging device 40 is short-range wireless communication such as Bluetooth (registered trademark) and Wi-Fi (registered trademark).
  • the connection between the plurality of elements included in the robot system 1 may be any connection that enables mutual communication between the plurality of elements, and may be a connection using a network including either or both of a wired network and a wireless network.
  • the robot controller 10 controls the motion of the robot 20, for example.
  • the configuration of the robot controller 10 will be explained in FIGS. 2 and 3, which will be described later.
  • the robot 20 is, for example, an articulated robot installed in a factory or the like.
  • the robot 20 has a base portion BSP, a body portion BDP, a plurality of arm portions AP (AP1, AP2, AP3 and AP4), and a tip portion HP.
  • the tip HP is an example of a "specific portion.”
  • the base part BSP is fixed to a predetermined place such as the floor.
  • the body portion BDP is rotatably connected to the base portion BSP around the rotation axis AX1.
  • the arm portion AP1 is rotatably connected to the body portion BDP around the rotation axis AX2.
  • the arm portion AP2 is rotatably connected to the arm portion AP1 about the rotation axis AX3.
  • the arm portion AP3 is rotatably connected to the arm portion AP2 about the rotation axis AX4.
  • the arm portion AP4 is connected to the arm portion AP3 so as to be rotatable around the rotation axis AX5.
  • the rotation angle of each of the arms AP1, AP2, AP3 and AP4 is limited to less than 360 degrees.
  • the tip HP has a first tip HP1 and a second tip HP2 connected to the first tip HP1.
  • the first tip HP1 is rotatably connected to the arm AP4 about the rotation axis Hy.
  • the first tip portion HP1 is rotatable about the rotation axis Hx.
  • the second tip HP2 is rotatably connected to the first tip HP1 about the rotation axis Hz.
  • the rotation angle is limited to less than 360 degrees.
  • the second tip HP2 rotates about the rotation axis Hz
  • the rotation angle is limited to less than 360 degrees.
  • the second tip portion HP2 is connected to the first tip portion HP1, when the first tip portion HP1 rotates about the rotation axis Hy or the rotation axis Hx, the second tip portion HP2 rotates together with the first tip portion HP1. Rotate. That is, the second tip portion HP2 is rotatable about each of the rotation axes Hx, Hy, and Hz.
  • the robot 20 is fixed to a predetermined location such as the floor, but the robot 20 itself may be movable without being fixed to a predetermined location.
  • the origin for example, the center of gravity or the center
  • the robot 20 body may be regarded as the "specific part.”
  • the terminal device 30 may be a portable information terminal such as a remote controller or a smart phone.
  • the terminal device 30 when defining the position and posture of the tip HP of the robot 20 that performs a predetermined work, the terminal device 30 is held by the worker U and is moved along a movement path (trajectory information) corresponding to the predetermined work. As shown, the robot is moved by the operator U independently of the robot. For example, the terminal device 30 sequentially moves from one position to another among a plurality of positions in space independently of the robot. Worker U is an example of a "user." The position of the tip HP of the robot 20 corresponds to the operating point of the robot 20, for example.
  • the movement path corresponding to the predetermined work is, for example, a path defined as the movement path of the tip HP of the robot 20 that performs the predetermined work.
  • the worker U moves the terminal device 30 along the movement path corresponding to the predetermined work, thereby teaching the robot 20 the trajectory of the tip portion HP corresponding to the predetermined work.
  • the physical and temporal burden on the worker U is reduced compared to when the worker U manually moves the robot 20 directly. Therefore, in the present embodiment, compared to a mode in which the worker U directly moves the robot 20 manually, an increase in the physical and temporal burden on the worker U when teaching the robot 20 about the trajectory is suppressed. be able to.
  • the shape of the terminal device 30 is a rectangular parallelepiped.
  • the posture of the terminal device 30 and the like will be described using the Xm-axis, the Ym-axis, and the Zm-axis, which are orthogonal to each other.
  • the Xm axis is an axis that passes through the position P and is perpendicular to the plane SF3
  • the Ym axis is an axis that passes through the position P and is perpendicular to the plane SF1
  • the Zm axis is an axis that passes through the position P of the terminal device 30.
  • Position P is, for example, the center of surface SF1 of terminal device 30 .
  • the shape of the terminal device 30 is not limited to a rectangular parallelepiped.
  • the position of the terminal device 30 is represented by the coordinates of the position P of the terminal device 30, for example. Further, the posture of the terminal device 30 is, for example, the rotation angle of the Xm axis when rotated about the Xm axis, the rotation angle of the Ym axis when rotated about the Ym axis, and the rotation angle of the Ym axis when rotated about the Zm axis. It is expressed using the rotation angle of the Zm axis in the case.
  • the attitude of the terminal device 30 when the Xm axis is parallel to the Xw axis, the Ym axis is parallel to the Yw axis, and the Zm axis is parallel to the Zw axis is used as a reference (0 degrees ) to represent the rotation angle of the Xm axis, the rotation angle of the Ym axis, and the rotation angle of the Zm axis.
  • the position of the tip HP of the robot 20 is represented, for example, by the coordinates of the center of the surface SFh of the second tip HP2.
  • the surface SFh of the second tip portion HP2 is also referred to as the surface SFh of the tip portion HP.
  • the posture of the distal end portion HP is the rotation angle of the rotation axis Hx when rotated about the rotation axis Hx, the rotation angle of the rotation axis Hy when rotated about the rotation axis Hy, and the rotation axis Hz. It is represented using the rotation angle of the rotation axis Hz when rotated as .
  • the orientation of the tip HP when the rotation axis Hx is parallel to the Xw axis, the rotation axis Hy is parallel to the Yw axis, and the rotation axis Hz is parallel to the Zw axis is used as a reference. (0 degree), the rotation angle of the rotation axis Hx, the rotation angle of the rotation axis Hy, and the rotation angle of the rotation axis Hz are assumed.
  • the position of the terminal device 30 is calculated by the imaging device 40 and the orientation of the terminal device 30 is calculated by the terminal device 30 .
  • the configuration of the terminal device 30 will be described later in FIG.
  • two different marks MK (MK1 and MK2) are provided on the surface SF2 so that the imaging device 40 can easily recognize the terminal device 30.
  • the imaging device 40 can easily recognize the portion indicating the terminal device 30 in the entire image by recognizing the mark MK in the image of the terminal device 30 .
  • the number of marks MK may be one.
  • the position P at the center of the terminal device 30 is determined from the position of the mark MK in the screen and the orientation of the terminal device 30 detected by the inertial sensor 38, which will be described later. can be calculated. Also, if the marks MK are two or more marks with known positions, the position P at the center of the terminal device 30 can be calculated from the two marks MK. Also, if the number of marks MK is small, it is assumed that the imaging device 40 cannot image the marks MK for some reason. Also, a light-emitting element such as an LED (Light Emitting Diode) may be adopted as the mark MK.
  • a light-emitting element such as an LED (Light Emitting Diode) may be adopted as the mark MK.
  • the imaging device 40 is hardware for imaging a subject by optical means such as a camera.
  • the imaging device 40 is a three-dimensional camera.
  • a three-dimensional camera is a camera capable of calculating depth (distance to an object).
  • the imaging device 40 calculates the position of the terminal device 30 in the imaging coordinate system ⁇ C by imaging the terminal device 30 .
  • the imaging device 40 converts the coordinates indicating the position of the terminal device 30 from the imaging coordinate system ⁇ C to the world coordinate system ⁇ W, and transmits position information indicating the position of the terminal device 30 in the world coordinate system ⁇ W to the robot controller 10 . .
  • the imaging device 40 is used as a distance measuring device that measures the distance between the terminal device 30 and the imaging device 40 .
  • Known methods such as the TOF (Time Of Flight) method, the FMCW (Frequency Modulated Continuous Wave) method, and the stereo camera method can be used as the distance measurement method.
  • the TOF method is based on the time from when a distance measuring device (for example, the imaging device 40) projects light such as infrared light onto an object until the distance measuring device receives light reflected by the object. , to measure the distance to an object.
  • the FMCW method is a method of measuring the distance to an object based on the frequency difference between the transmission signal transmitted from the rangefinder and the reflected signal (received signal received by the rangefinder) reflected by the object. .
  • a TOF-type LiDAR Light Detection and Ranging or Laser Imaging Detection and Ranging
  • the stereo camera method is a method of measuring the distance to an object based on parallax when the same object is photographed by two cameras. Note that the distance measurement method is not limited to the above example.
  • the robot controller 10 acquires position information indicating the position of the terminal device 30 from the imaging device 40 and acquires orientation information indicating the orientation of the terminal device 30 from the terminal device 30 .
  • the robot controller 10 defines the position and orientation of the tip HP of the robot 20 based on the position information acquired from the imaging device 40 and the orientation information acquired from the terminal device 30 . A method of defining the position and posture of the tip HP of the robot 20 will be described later with reference to FIG.
  • the configuration of the robot system 1 is not limited to the example shown in FIG.
  • robot controller 10 may be included in robot 20 .
  • the imaging device 40 may be provided in the robot 20 .
  • the robot 20 may be communicably connected to the terminal device 30 and the imaging device 40 .
  • the connection between each of the terminal device 30 and the imaging device 40 and the robot 20 may be either wired or wireless connection, or both wired and wireless connection. .
  • the error of the distance between the terminal device 30 and the imaging device 40 calculated on the assumption that the Xm axis of the terminal device 30 is orthogonal to the optical axis of the imaging device 40 is within the allowable range.
  • a monocular camera may be used.
  • the imaging device 40 assumes, for example, that the Xm axis of the terminal device 30 is orthogonal to the optical axis of the imaging device 40, and the known distance between the marks MK1 and MK2 and the distance between the marks MK1 and MK2 in the image.
  • a distance between the terminal device 30 and the imaging device 40 is calculated based on the position and the focal length.
  • the focal length is the focal length of the optical system of the imaging device 40 and is known information.
  • the robot controller 10 can specify the position of the terminal device 30 based on satellite signals transmitted from GPS (Global Positioning System) satellites and the accuracy is sufficient for the purpose, an imaging device ( A GPS may be used as a detection device instead of the detection device) 40 .
  • GPS Global Positioning System
  • the detection device is not limited to GPS, and a device using laser light or sound waves may be used as the detection device.
  • the laser beam or the sound wave may be emitted from the terminal device 30 and detected by the detection device 40 .
  • FIG. 2 is a diagram showing an example of the hardware configuration of the robot controller 10 shown in FIG.
  • the robot controller 10 includes a processing device (control section) 12 that controls each section of the robot controller 10, a memory (storage section) 13 that stores various information, a communication device (communication section) 14, and an operator U or the like. It has an operation device (operation unit) 15 for receiving an input, a display device (display unit) 16 and a driver circuit 17 .
  • the memory 13 includes, for example, a volatile memory such as a RAM (Random Access Memory) that functions as a work area for the processing device 12, and an EEPROM (Electrically Erasable Programmable Read-Only Memory) that stores various information such as the control program PGr. and/or non-volatile memory.
  • a volatile memory such as a RAM (Random Access Memory) that functions as a work area for the processing device 12, and an EEPROM (Electrically Erasable Programmable Read-Only Memory) that stores various information such as the control program PGr. and/or non-volatile memory.
  • the memory 13 may be detachable from the robot controller 10 .
  • the memory 13 may be a storage medium such as a memory card that is detachable from the robot controller 10 .
  • the memory 13 may be, for example, a storage device (eg, online storage) communicably connected to the robot controller 10 via a network or the like.
  • the memory 13 shown in FIG. 2 stores the control program PGr and the operation table MTBL.
  • the control program PGr is an example of a "program".
  • the control program PGr includes, for example, an application program for the robot controller 10 to control the motion of the robot 20 .
  • the control program PGr may include an operating robot system program for the processing device 12 to control each part of the robot controller 10, for example.
  • the motion table MTBL stores, for example, position information PINF and attitude information AINF.
  • position information PINF is position information indicating the position of the terminal device 30 and is used as position information defining the position of the tip HP of the robot 20 .
  • the posture information AINF is posture information that indicates the posture of the terminal device 30 and is used as posture information that defines the posture of the tip HP of the robot 20 .
  • the processing device 12 is a processor that controls the entire robot controller 10, and includes, for example, one or more CPUs (Central Processing Units).
  • the processing device 12 executes a control program PGr stored in the memory 13 and operates according to the control program PGr, thereby functioning as a robot control unit 120 shown in FIG. 3, which will be described later.
  • the control program PGr may be transmitted from another device via a network or the like.
  • the processing device 12 when the processing device 12 includes a plurality of CPUs, some or all of the functions of the processing device 12 may be performed by the plurality of CPUs working together according to programs such as the control program PGr. may be implemented with In addition to one or more CPUs, or in place of part or all of one or more CPUs, the processing device 12 may include GPUs (Graphics Processing Units), DSPs (Digital Signal Processors), or FPGAs ( Field Programmable Gate Array) or other hardware may be included. In this case, part or all of the functions of the processing device 12 may be realized by hardware such as a DSP.
  • GPUs Graphics Processing Units
  • DSPs Digital Signal Processors
  • FPGAs Field Programmable Gate Array
  • the communication device 14 is hardware for communicating with an external device existing outside the robot controller 10 .
  • the communication device 14 has a function of communicating with an external device by short-range wireless communication.
  • the communication device 14 may further have a function of communicating with an external device via a mobile communication network or network.
  • the operation device 15 is an input device (for example, keyboard, mouse, switch, button, sensor, etc.) that receives input from the outside.
  • the operation device 15 receives an operation by the operator U and outputs operation information according to the operation to the processing device 12 .
  • a touch panel that detects contact with the display surface of the display device 16 may be employed as the operation device 15 .
  • the display device 16 is an output device such as a display that outputs to the outside.
  • the display device 16 displays images, for example under the control of the processing device 12 .
  • the operation device 15 and the display device 16 may be integrated (for example, a touch panel).
  • the driver circuit 17 is hardware that outputs a signal for driving the robot 20 to the robot 20 under the control of the processing device 12 .
  • the driver circuit 17 outputs to the robot 20 signals for driving the body portion BDP, the arm portion AP, the tip portion HP, etc. of the robot 20 under the control of the processing device 12 .
  • FIG. 3 is a functional block diagram showing an example of the configuration of the robot controller 10 shown in FIG.
  • the robot control unit 120 is implemented by the processing device 12 as described in FIG. If the processing device 12 includes a plurality of CPUs, some or all of the functions of the robot control unit 120 are realized by the plurality of CPUs working together according to the control program PGr. good too. Further, when the processing device 12 includes hardware such as a DSP, part or all of the robot control unit 120 may be realized by hardware such as a DSP.
  • the robot control unit 120 has, for example, an information acquisition unit 121, an information generation unit 122, an operation control unit 123, a display control unit 124, and a warning unit 125.
  • the information acquisition unit 121 is an example of an “acquisition unit”
  • the information generation unit 122 is an example of a “generation unit”.
  • the operation control unit 123 is an example of a “control unit”.
  • the information acquisition unit 121 acquires position information PINF indicating the position of the terminal device 30 from the imaging device (detection device) 40 and acquires orientation information AINF indicating the orientation of the terminal device 30 from the terminal device 30 .
  • the posture information AINF is transmitted from the terminal device 30, and the imaging device 40 transmits location information PINF. Therefore, the information acquisition unit 121 acquires the position information PINF and the posture information AINF when the worker U performs a transmission operation on the terminal device 30 .
  • the operation device (operation unit) 35 includes a send button
  • the send operation may be pressing of the send button.
  • the transmission operation is an example of the "predetermined operation”.
  • the information generation unit 122 generates motion information that defines the position and orientation of the tip HP of the robot 20 based on the position information PINF and the orientation information AINF acquired by the information acquisition unit 121 .
  • the information generation unit 122 stores the position information PINF and the posture information AINF acquired by the information acquisition unit 121 in the motion table MTBL.
  • the position indicated by the position information PINF and the orientation indicated by the orientation information AINF are registered in the motion table MTBL.
  • the position indicated by the position information PINF stored in the motion table MTBL is also referred to as the position registered in the motion table MTBL.
  • the orientation indicated by the orientation information AINF stored in the motion table MTBL is also referred to as the orientation registered in the motion table MTBL.
  • the information generating unit 122 determines the position and orientation registered in the motion table MTBL as the position and orientation of the tip end HP of the robot 20, thereby converting the position and orientation registered in the motion table MTBL to the tip end portion of the robot 20. It is defined as the position and posture of the part HP.
  • the position information PINF and orientation information AINF (the position information PINF and orientation information AINF indicating the determined position and orientation, respectively) stored in the motion table MTBL define the position and orientation of the tip HP of the robot 20. It corresponds to operation information. That is, the information generator 122 generates motion information defining the position and posture of the distal end HP of the robot 20 by determining the position and posture registered in the motion table MTBL.
  • the motion control unit 123 causes the robot 20 to move based on the position information PINF and the orientation information AINF acquired by the information acquisition unit 121 .
  • the motion control unit 123 moves the robot 20 by controlling the driver circuit 17 based on the position and orientation registered in the motion table MTBL.
  • the motion control unit 123 may operate the robot 20 based on correction information for correcting the position and orientation registered in the motion table MTBL.
  • the motion control unit 123 receives correction information indicating the position and orientation of the tip portion HP instructed by the operator U via a GUI (Graphical User Interface) displayed on an operation screen CHS or the like shown in FIG. 8 to be described later. input may be accepted. Then, the motion control unit 123 may correct the position and orientation registered in the motion table MTBL based on the correction information.
  • GUI Graphic User Interface
  • the motion control unit 123 may correct the position and orientation registered in the motion table MTBL based on correction information obtained by the operator U directly moving the robot 20 manually. Specifically, for example, the worker U visually confirms the position and orientation of the distal end HP of the robot 20 that has moved based on the position and orientation registered in the motion table MTBL. Then, the worker U moves the position and orientation of the tip portion HP to a desired position and orientation by manually moving the robot 20 directly. In this case, the motion control unit 123 acquires correction information indicating the position and orientation of the tip portion HP moved by the operator U, and corrects the position and orientation registered in the motion table MTBL based on the correction information.
  • the position and orientation corrected based on the correction information are registered, for example, in the motion table MTBL, and determined by the information generation unit 122 as the position and orientation of the tip portion HP defined by the motion information.
  • the display control unit 124 causes the display device 16 to display various images such as the operation screen CHS shown in FIG. 8, for example.
  • the warning unit 125 determines whether or not the position indicated by the position information PINF is within the movable range of the tip HP of the robot 20, and obtains the position information. Warn if the position indicated by PINF is not within the range of motion.
  • the warning unit 125 may warn the operator U that the position of the terminal device 30 is outside the movable range of the robot 20 by outputting a warning sound or the like.
  • the warning unit 125 may transmit warning information to the terminal device 30 indicating that the position of the terminal device 30 is outside the movable range of the robot 20 .
  • the terminal device 30 may warn the operator U that the position of the terminal device 30 is outside the movable range of the robot 20 by outputting a warning sound or the like.
  • a warning such as a warning sound causes the worker U to move the terminal device 30 out of the movable range of the tip HP of the robot 20 while moving the terminal device 30 along a movement path corresponding to a predetermined work. It is possible to grasp whether or not the device 30 has been moved. As a result, the operator U can efficiently move the terminal device 30 within the movable range of the tip HP of the robot 20 . Therefore, in this embodiment, it is possible to improve the efficiency of the work of moving the terminal device 30 along the movement route corresponding to the predetermined work.
  • the configuration of the robot controller 10 is not limited to the examples shown in FIGS. 2 and 3.
  • warning portion 125 may be omitted.
  • FIG. 4 is a diagram showing an example of the hardware configuration of the terminal device 30 shown in FIG.
  • the terminal device 30 includes a processing device 32 that controls each part of the terminal device 30, a memory 33 that stores various information, a communication device (communication unit) 34, an operation device (operation unit) 35, and a display device (display unit ) 36 , a speaker 37 , an inertial sensor 38 and an imaging device 39 .
  • a processing device 32 controls each part of the terminal device 30, a memory 33 that stores various information, a communication device (communication unit) 34, an operation device (operation unit) 35, and a display device (display unit ) 36 , a speaker 37 , an inertial sensor 38 and an imaging device 39 .
  • the memory 33 includes, for example, one or both of a volatile memory such as a RAM that functions as a work area for the processing device 32 and a nonvolatile memory such as an EEPROM that stores various information such as the control program PGt. Note that the memory 33 may be detachable from the terminal device 30 in the same manner as the memory 13 of the robot controller 10 described with reference to FIG. It may be a storage device (eg, online storage).
  • a volatile memory such as a RAM that functions as a work area for the processing device 32
  • a nonvolatile memory such as an EEPROM that stores various information such as the control program PGt.
  • the memory 33 may be detachable from the terminal device 30 in the same manner as the memory 13 of the robot controller 10 described with reference to FIG. It may be a storage device (eg, online storage).
  • the processing device 32 is a processor that controls the entire terminal device 30, and is configured in the same manner as the processing device 12 of the robot controller 10 described with reference to FIG.
  • the processing unit 32 includes one or more CPUs.
  • the processing device 32 executes the control program PGt stored in the memory 33 and operates according to the control program PGt, thereby functioning as a terminal control unit 320 shown in FIG. 5, which will be described later.
  • the control program PGt may be transmitted from another device via a network or the like.
  • the processing device 32 when the processing device 32 includes a plurality of CPUs, some or all of the functions of the processing device 32 may be performed by the plurality of CPUs working together according to programs such as the control program PGt. may be implemented with the processing device 32 includes hardware such as GPU, DSP, or FPGA in addition to one or more CPUs, or in place of part or all of one or more CPUs. may be In this case, part or all of the functions of the processing device 32 may be realized by hardware such as a DSP.
  • the communication device 34 is hardware for communicating with an external device existing outside the terminal device 30 .
  • the communication device 34 has a function of communicating with an external device by short-range wireless communication.
  • the communication device 34 may further have a function of communicating with an external device via a mobile communication network or network.
  • the operation device 35 is an input device (for example, keyboard, mouse, switch, button, sensor, etc.) that receives input from the outside.
  • the operation device 35 receives an operation by the operator U and outputs operation information according to the operation to the processing device 32 .
  • a touch panel that detects contact with the display surface of the display device 36 may be employed as the operation device 35 .
  • the display device 36 is an output device such as a display that outputs to the outside.
  • Display device 36 displays images, for example, under control of processing device 32 .
  • the operation device 35 and the display device 36 may be integrated (for example, a touch panel).
  • the speaker 37 is hardware that outputs various sounds under the control of the processing device 32 .
  • the inertial sensor 38 detects, for example, the acceleration of the terminal device 30 in each of the Xw-axis, Yw-axis, and Zw-axis representing the three-dimensional space, and when it rotates about each of the Xw-axis, Yw-axis, and Zw-axis. and the angular velocity of the terminal device 30 are detected.
  • the movement distance of the terminal device 30 can be measured by detecting the acceleration of the Xw-axis, the Yw-axis, and the Zw-axis.
  • the inclination (orientation) of the terminal device 30 with respect to the direction of gravity can be detected.
  • the imaging device 39 is hardware for imaging a subject by optical means such as a camera. For example, the imaging device 39 captures an image of a subject and generates image information indicating the captured image of the subject. In this embodiment, since the position of the terminal device 30 is measured by the imaging device 40, the imaging device 39 does not have to have the function of measuring the distance to the object. Note that the imaging device 39 may have a function of measuring the distance to the object. That is, the imaging device 39 may be a three-dimensional camera or a camera other than the three-dimensional camera.
  • FIG. 5 is a functional block diagram showing an example of the configuration of the terminal device 30 shown in FIG.
  • the terminal control unit 320 is realized by the processing device (control unit) 32 as described in FIG. Note that when the processing device 32 includes a plurality of CPUs, some or all of the functions of the terminal control unit 320 are realized by the plurality of CPUs working together according to the control program PGt. good too. Further, when the processing device 32 includes hardware such as a DSP, part or all of the terminal control unit 320 may be realized by hardware such as a DSP.
  • the terminal control unit 320 has, for example, an operation notification unit 322, an attitude detection unit 324, a warning control unit 326, and a display control unit 328.
  • the operation notification unit 322 When the operation device 35 receives an operation related to the operation of one or both of the robot controller 10 and the imaging device 40, the operation notification unit 322 notifies the device of the contents of the operation received by the operation device 35. For example, when the operation device 35 receives a transmission operation for transmitting information such as the position information PINF and the orientation information AINF to the robot controller 10, the operation notification unit 322 transmits instruction information instructing transmission of the position information PINF to the imaging device. 40. Note that the instruction information may be transmitted from the terminal device 30 to the imaging device 40 via the robot controller 10 .
  • the attitude detection unit 324 detects the attitude of the terminal device 30 based on the acceleration and angular velocity detection results of the inertial sensor 38, and generates attitude information AINF indicating the detected attitude.
  • the orientation detection unit 324 then transmits orientation information AINF indicating the orientation of the terminal device 30 to the robot controller 10 via the communication device (communication unit) 34 .
  • the orientation detection unit 324 detects the orientation of the terminal device 30 and transmits orientation information AINF indicating the detected orientation to the robot controller 10 .
  • the warning control unit 326 causes the speaker 37 to output a warning sound.
  • the worker U holding the terminal device 30 can grasp that the position of the terminal device 30 is outside the movable range of the robot 20 .
  • the display control unit 328 causes the display device (display unit) 36 to display various images, for example.
  • the display control unit 328 may cause the display device 36 to display GUI images corresponding to various operations.
  • the configuration of the terminal device 30 is not limited to the examples shown in FIGS.
  • the terminal device 30 may have a vibration generator such as a vibrator.
  • the warning control unit 326 may warn the worker U that the position of the terminal device 30 is outside the movable range of the robot 20 by vibrating the vibration generator.
  • the terminal device 30 may have a light-emitting element such as an LED.
  • the warning control unit 326 may warn the operator U that the position of the terminal device 30 is outside the movable range of the robot 20 by causing the light emitting element to emit light.
  • the sensor used for detecting the orientation of the terminal device 30 is not limited to the inertial sensor 38 .
  • the terminal device 30 may have a magnetic sensor in addition to or instead of the inertial sensor 38 .
  • FIG. 6 is a sequence chart showing an example of the operation of the robot system 1 shown in FIG.
  • the operation of the robot system 1 when the robot 20 is taught an operation corresponding to a predetermined task will be mainly described.
  • the robot controller 10 corrects the position indicated by the position information PINF and the orientation indicated by the orientation information AINF every time it acquires the position information PINF and the orientation information AINF.
  • the terminal device 30 transmits teaching start information TSINF indicating the start of teaching to the robot 20 to the robot controller 10 and the imaging device (detection device) 40 (S300).
  • teaching start information TSINF indicating the start of teaching to the robot 20 to the robot controller 10 and the imaging device 40 when the operator U performs an operation on the terminal device 30 to start teaching the robot 20 .
  • the robot controller 10 and imaging device 40 receive teaching start information TSINF (S100 and S400).
  • the robot controller 10 and the imaging device 40 recognize that teaching to the robot 20 will start by receiving the teaching start information TSINF.
  • the imaging device 40 may start imaging the terminal device 30 when receiving the teaching start information TSINF. Further, when the robot controller 10 receives the teaching start information TSINF, the robot controller 10 moves the tip HP of the robot 20 and the like to a position (for example, outside the imaging range of the imaging device 40) that does not interfere with the imaging of the terminal device 30 by the imaging device 40. may be evacuated to Note that the imaging of the terminal device 30 by the imaging device 40 and the evacuation of the tip HP of the robot 20 may be executed before the teaching start information TSINF is transmitted (before the teaching of the robot 20 is started). good.
  • the terminal device 30 accepts a transmission operation for transmitting information such as the position information PINF and the orientation information AINF to the robot controller 10 .
  • the worker U performs the transmission operation three times in teaching the robot 20 .
  • a series of processes from steps S320 to S324, a series of processes from steps S420 to S424, a series of processes from steps S120 to S160, and a series of processes from steps S200 to S220 are executed.
  • the symbols of steps S120 to S160, S200 to S220, S320 to S324, and S420 to S424 end with lowercase alphabetic characters (a, b or c) is attached.
  • the lower-case alphabet (a, b or c) is attached to the end of each code of the position information PINF and the orientation information AINF.
  • the terminal device 30 transmits instruction information TINF instructing transmission of the position information PINF to the imaging device 40 (S320a).
  • the imaging device 40 receives the instruction information TINF (S420a).
  • the terminal device 30 detects the orientation of the terminal device 30 and generates orientation information AINFa indicating the detected orientation (S322a).
  • the terminal device 30 transmits the generated orientation information AINFa to the robot controller 10 (S324a).
  • the robot controller 10 receives the attitude information AINFa generated when the terminal device 30 accepts the first transmission operation (S122a).
  • the imaging device 40 generates position information PINFa indicating the position of the terminal device 30, triggered by the reception of the instruction information TINF (S422a).
  • the imaging device 40 then transmits the generated position information PINFa to the robot controller 10 (S424a). That is, when the terminal device 30 receives the first transmission operation, the imaging device 40 generates the position information PINFa indicating the position of the terminal device 30 and transmits the generated position information PINFa to the robot controller 10 . .
  • the robot controller 10 receives the position information PINFa generated when the terminal device 30 accepts the first transmission operation (S120a).
  • the robot controller 10 acquires the position information PINFa and the orientation information AINFa when the terminal device 30 accepts the first transmission operation. Then, the robot controller 10 stores the position information PINFa acquired from the imaging device 40 and the orientation information AINFa acquired from the terminal device 30 in the motion table MTBL (S124a). As a result, the position indicated by the position information PINFa and the orientation indicated by the orientation information AINFa are registered in the motion table MTBL.
  • the robot controller 10 outputs a drive signal CTLm to the robot 20 to set the position and orientation of the tip HP of the robot 20 to the position and orientation registered in the motion table MTBL (S140a). Thereby, the robot 20 receives the drive signal CTLm (S200a). Then, the robot 20 moves the position and orientation of the tip HP of the robot 20 according to the drive signal CTLm (S202a).
  • the robot controller 10 corrects the position and orientation registered in the motion table MTBL (S160a). For example, the robot controller 10 controls the motion of the robot 20 based on correction information acquired via a GUI displayed on an operation screen CHS shown in FIG. 8, which will be described later. As a result, the position and orientation of the tip HP of the robot 20 move to the position and orientation indicated by the correction information (S220a).
  • steps S160a and S220a are executed, for example, until the position and orientation of the tip HP of the robot 20 reach the target position and orientation (that is, the position and orientation to be defined). Further, for example, after the correction of the position and orientation registered in the motion table MTBL is completed, the robot controller 10 moves the tip end HP and the like of the robot 20 to a position that does not interfere with the imaging of the terminal device 30 by the imaging device 40. evacuate.
  • the movement of the position and posture of the tip HP of the robot 20 may be realized by the operator U directly moving the robot 20 manually.
  • the robot controller 10 corrects the position and orientation registered in the operation table MTBL based on correction information indicating the position and orientation of the tip portion HP moved by the operator U.
  • the processing corresponding to the second transmission operation and the processing corresponding to the third transmission operation are also executed in the same manner as the processing corresponding to the first transmission operation.
  • the robot controller 10 acquires the position information PINFb and the orientation information AINFb when the terminal device 30 accepts the second transmission operation (S120b and S122b). Further, the robot controller 10 acquires the position information PINFc and the orientation information AINFc when the terminal device 30 accepts the third transmission operation (S120c and S122c).
  • the worker U performs an operation on the terminal device 30 to end teaching the robot 20.
  • the terminal device 30 receives an operation to end the teaching of the robot 20
  • the terminal device 30 transmits teaching end information TEINF indicating the end of teaching the robot 20 to the robot controller 10 and the imaging device 40 (S340).
  • the robot controller 10 and imaging device 40 receive the teaching end information TEINF (S180 and S440).
  • the robot controller 10 and the imaging device 40 recognize that the teaching of the robot 20 has ended by receiving the teaching end information TEINF.
  • the robot controller 10 determines the position and orientation registered in the operation table MTBL as the position and orientation of the tip HP of the robot 20 that performs the operation corresponding to the predetermined work. do.
  • motion information defining the position and posture of the tip HP of the robot 20 that performs the motion corresponding to the predetermined work is stored in the motion table MTBL.
  • the imaging device 40 receives the teaching end information TEINF, the imaging device 40 ends the imaging of the terminal device 30 .
  • the robot controller 10 After completing the teaching of the robot 20, the robot controller 10 outputs to the robot 20 a driving signal CTlop that causes the robot 20 to perform a prescribed operation (S190). Then, the robot 20 performs a prescribed action according to the drive signal CTLop (S242).
  • a defined motion is a motion according to a position and orientation defined by motion information.
  • the operation of the robot system 1 is not limited to the example shown in FIG.
  • an operation to start teaching the robot 20 and an operation to finish teaching the robot 20 may be performed on the operating device 15 of the robot controller 10 .
  • the process of correcting the positions and orientations registered in the motion table MTBL may be executed as necessary and may be omitted.
  • the robot controller 10 corrects the position and orientation indicated by the position information PINF and the orientation information AINF corresponding to the first transmission operation. may Similarly, after the third transmission operation is performed, the robot controller 10 may correct the position and orientation indicated by the position information PINF and the orientation information AINF corresponding to the second transmission operation.
  • the terminal device 30 does not have to transmit the instruction information TINF to the imaging device 40 .
  • the robot controller 10 may request the imaging device 40 to transmit the position information PINF upon acquisition of the posture information APINF from the terminal device 30 .
  • FIG. 7 is an explanatory diagram showing an example of the operation table MTBL shown in FIG.
  • the action table MTBL shown in FIG. 7 stores action information for each of a plurality of actions corresponding one-to-one with a plurality of tasks.
  • Each of the multiple actions is identified by, for example, an action ID.
  • the motion information corresponding to each motion ID has the same number of records as the number of pieces of position information PINF acquired by the robot controller 10 (more specifically, the information acquisition unit 121) in teaching the motion indicated by the motion ID. .
  • Each record has a position number, position information PINF that defines the position of the tip HP of the robot 20 , orientation information AINF that defines the orientation of the tip HP of the robot 20 , and information indicating the motion of the robot 20 .
  • the order in which the information acquisition unit 121 acquires the position information PINF is set as the position number.
  • the position number indicates, for example, the order of movement when the tip HP moves to each of the plurality of positions indicated by the motion information.
  • the position number of the motion information corresponding to the motion ID of "m001" indicates that the tip HP moves from the position indicated by the position information PINFa to the position indicated by the position information PINFc via the position indicated by the position information PINFb. Indicates to move.
  • the motion information corresponding to the motion ID of "m001” has multiple pieces of position information PINFa, PINFb, and PINFc, and multiple pieces of posture information AINFa, AINFb, and AINFc. Furthermore, the motion information corresponding to the motion ID of "m001” has information indicating motions to be executed by the robot 20 at the positions indicated by each of the plurality of position information PINFa, PINFb, and PINFc. For example, the action information corresponding to the action ID of "m001" has information indicating the start of applying pigment to the object as information indicating the action to be executed by the robot 20 at the position indicated by the position information PINFa.
  • the action information corresponding to the action ID of "m001” has information indicating continuation of the application of the pigment to the object as information indicating the action to be executed by the robot 20 at the position indicated by the position information PINFb. Furthermore, the action information corresponding to the action ID of "m001” has information indicating the end of applying the pigment to the object as information indicating the action to be executed by the robot 20 at the position indicated by the position information PINFc.
  • the operation table MTBL is not limited to the example shown in FIG.
  • the motion information corresponding to each motion ID may not have one or both of the information indicating the motion to be executed by the robot 20 at the position indicated by the position information PINF and the position number.
  • the work performed by the robot 20 is not limited to applying pigment to an object.
  • FIG. 8 is an explanatory diagram for explaining an example of the operation screen CHS.
  • the confirmation screen is an operation screen CHS for operating the robot 20 according to the position and orientation registered in the operation table MTBL. Note that the position and orientation registered in the motion table MTBL cannot be corrected on the confirmation screen.
  • the correction screen is an operation screen CHS for operating the robot 20 according to the position and orientation registered in the motion table MTBL and correcting the position and orientation registered in the motion table MTBL.
  • an outline of the operation screen CHS will be described by taking as an example the case where the operation screen CHS is a correction screen.
  • the display control unit 124 of the robot controller 10 outputs to the display device 16 display information for displaying the operation screen CHS on the display device 16 .
  • the operation screen CHS is displayed on the display device 16 .
  • the generation of the display information by the display control unit 124 may be triggered by the robot controller 10 being operated to display the operation screen CHS. It may be executed upon reception.
  • the operation screen CHS includes a plurality of display windows WD (WDs, WDid, WDp and WDc).
  • the display window WDs displays whether the current operation screen CHS is the confirmation screen or the correction screen.
  • An action ID corresponding to the action to be executed is displayed in the display window WDid.
  • the current position number is displayed in the display window WDp.
  • the display window WDc displays the position and orientation of the tip HP of the robot 20 at the current position number.
  • the position of the tip HP is represented by the coordinates of the center of the plane SFh of the tip HP
  • the orientation of the tip HP is the rotation angle of the rotation axis Hx and the rotation angle of the rotation axis Hy. It is expressed using the rotation angle and the rotation angle of the rotation axis Hz.
  • buttons BT (BTs, BTm, BTc, BTcn, BTd, BTh, and BTf) and the like are displayed.
  • the button BTs is a GUI for switching the current operation screen CHS from one of the confirmation screen and the correction screen to the other.
  • the operation screen CHS switches from the correction screen to the confirmation screen.
  • the button BTm is a GUI for controlling the motion of the robot 20.
  • the motion control unit 123 of the robot controller 10 moves the robot 20 according to the position and orientation registered in the motion table MTBL.
  • the motion control unit 123 stops the motion of the robot 20 .
  • the motion control unit 123 moves the position and orientation of the distal end portion HP from the current position number to the position and orientation corresponding to the previous position number.
  • the motion control unit 123 moves the position and orientation of the distal end portion HP from the current position number to the position and orientation corresponding to the next position number.
  • the button BTc is a GUI that accepts input of correction information for correcting the position and orientation registered in the motion table MTBL.
  • the button BTc is an example of a “reception unit”. Note that the display device 16 on which the operation screen CHS including the button BTc and the like is displayed may be regarded as the "reception unit”.
  • the motion control unit 123 moves one or both of the position and posture of the distal end portion HP, for example, based on the correction information received via the button BTc.
  • the motion control unit 123 moves the position of the distal end portion HP in the positive direction of the Xw axis. move to Further, when the “ ⁇ ” button BTc of the “+” and “ ⁇ ” buttons BTc corresponding to the Xw axis is pressed, the motion control unit 123 moves the position of the distal end portion HP in the negative direction of the Xw axis. move to
  • the operation control unit 123 increases the rotation angle of the rotation axis Hx. , the tip portion HP is rotated around the rotation axis Hx. Further, for example, when the "-" button BTc of the "+” and “-” buttons BTc corresponding to the rotation axis Hx is pressed, the operation control unit 123 causes the rotation angle of the rotation axis Hx to decrease. , the tip portion HP is rotated around the rotation axis Hx.
  • the rotation angle of the rotation axis Hx is increased by rotating the tip portion HP clockwise about the rotation axis Hx.
  • rotating the tip portion HP counterclockwise around Hx it becomes smaller.
  • the button BTcn is a GUI for canceling the position and orientation corrected based on the correction information without confirming them as the position and orientation of the tip portion HP defined by the motion information. For example, when the button BTcn is pressed, the motion control unit 123 changes the position and orientation of the tip HP to the position and orientation of the tip HP before correction (the position and orientation of the tip HP at the current position number). move.
  • the button BTd is a GUI for confirming the position and orientation registered in the motion table MTBL as the position and orientation of the tip portion HP defined by the motion information. For example, when the button BTcn is pressed, the information generator 122 determines the position and orientation registered in the motion table MTBL as the position and orientation of the distal end portion HP defined by the motion information.
  • the button BTh is a GUI for causing the motion control unit 123 to acquire correction information indicating the position and orientation of the tip HP when the operator U directly moves the robot 20 manually.
  • the motion control unit 123 acquires correction information indicating the position and orientation of the tip HP when the operator U directly moves the robot 20 manually.
  • the display control unit 124 controls the display device 16 to display the position (coordinates) and orientation (rotational angle) indicated by the correction information in the display window WDc.
  • the button BTf is a GUI for ending the display of the operation screen CHS. Note that if the button BTf is pressed without pressing the button BTd after the correction is executed by pressing the button BTc or the like, the position and orientation registered in the motion table MTBL are the same as those before the correction is executed. May not be changed from content. Alternatively, if the button BTf is pressed without pressing the button BTd after the correction is executed by pressing the button BTc or the like, the position and orientation registered in the motion table MTBL are changed to the leading edge defined by the motion information. It may be determined as the position and orientation of the part HP. Further, if the button BTf is pressed without pressing the button BTd after the correction is executed by pressing the button BTc or the like, it is selected whether or not to change the position and orientation registered in the motion table MTBL. A GUI may be displayed for
  • the example of the operation screen CHS is not limited to the example shown in FIG.
  • the operator U may directly input numerical values (coordinates, angles, etc.) indicating the target position and orientation of the distal end portion HP into the display window WDc.
  • the display window WDc corresponds to the "reception unit".
  • the operation control unit 123 receives correction information via the display window WDc. Based on the correction information received through the display window WDc, the motion control unit 123 moves one or both of the position and orientation of the distal end portion HP.
  • the operation screen CHS is a confirmation screen
  • the buttons BTc, BTcn, and BTd are displayed on the operation screen CHS so that the operator U cannot operate them.
  • the operation screen CHS is the confirmation screen
  • the buttons BTc, BTcn, and BTd may not be displayed on the operation screen CHS.
  • the operation screen CHS corresponding to only the correction screen of the confirmation screen and the correction screen may be employed.
  • FIG. 8 illustrates a case where the button BTc is an example of the "receiving unit”. If so, the operation device 15 is also an example of the "reception unit”.
  • the operation screen CHS may be displayed on the display device 36 of the terminal device 30 .
  • display information for displaying the operation screen CHS on the display device 36 may be generated by the display control section 124 of the robot controller 10 or may be generated by the display control section 328 of the terminal device 30 .
  • a physical button assigned with the same function as the button BTc or the like may be provided in the terminal device 30 as the operation device 35 .
  • FIG. 9 is a flow chart showing an example of the operation of the robot controller 10 shown in FIG.
  • FIG. 9 shows an example of the operation of the robot controller 10 when the worker U performs an operation to start teaching the robot 20 on the terminal device 30 or the robot controller 10 .
  • a detailed description of the operation described in FIG. 6 is omitted.
  • FIG. 9 it is assumed that an operation to start teaching the robot 20 and an operation to finish teaching the robot 20 are performed on the operating device 35 of the terminal device 30 .
  • the process of step S ⁇ b>120 is performed after an operation to start teaching the robot 20 is performed on the operating device 35 .
  • the operation screen CHS is displayed before the process of step S120 is executed.
  • step S ⁇ b>120 the processing device 12 functions as the information acquisition unit 121 and acquires the position information PINF indicating the position of the terminal device 30 from the imaging device 40 .
  • step S ⁇ b>122 the processing device 12 functions as the information acquisition unit 121 and acquires posture information AINF indicating the posture of the terminal device 30 from the terminal device 30 .
  • step S124 the processing device 12 functions as the information generation unit 122, and stores the position information PINF acquired in step S120 and the posture information AINF acquired in step S122 in the motion table MTBL.
  • step S130 the processing device 12 functions as the motion control unit 123 and determines whether or not the motion of the robot 20 is to be checked. Whether or not to check the operation of the robot 20 may be determined based on whether or not the robot 20 and the imaging device 40 have been calibrated in advance. If the robot 20 and the imaging device 40 have been calibrated, the terminal device 30 and the robot 20 have also been calibrated. On the other hand, if the robot 20 and the imaging device 40 are not calibrated in advance, it is necessary to match the position taught by the terminal device 30 with the movement position of the robot 20 by checking the operation of the robot 20.
  • the motion control unit 123 determines whether or not the button BTm displayed on the operation screen CHS is pressed, thereby determining whether or not the motion of the robot 20 is to be confirmed. good too. In this case, the motion control unit 123 determines whether the button BTm is pressed before the communication device 14 of the robot controller 10 receives the teaching end information TEINF, the next position information PINF, or the next posture information APINF, for example. In this case, it is determined that the operation check of the robot 20 is to be performed.
  • step S130 If the determination result in step S130 is affirmative, the processing device 12 advances the process to step S140. On the other hand, when the determination result in step S130 is negative, the processing device 12 advances the process to step S182.
  • step S140 the processing device 12 functions as the motion control unit 123, and moves the position and orientation of the distal end portion HP based on the positions and orientations registered in the motion table MTBL. Then, the processing device 12 advances the process to step S150.
  • step S150 the processing device 12 functions as the motion control unit 123 and determines whether or not the position and orientation registered in the motion table MTBL are to be corrected.
  • the operation control unit 123 may determine whether or not the correction is to be executed by determining whether or not the button BTc or BTh displayed on the operation screen CHS has been pressed. In this case, for example, if the button BTc or BTh is pressed before the communication device 14 receives teaching end information TEINF, next position information PINF, or next posture information APINF, the operation control unit 123 It is determined that correction is to be performed.
  • the operation control unit 123 displays a numerical value indicating the position of the tip HP before the communication device 14 receives the teaching end information TEINF, the next position information PINF, or the next posture information APINF, for example. If the window WDc is entered, it may be determined that the correction is to be performed.
  • step S150 If the determination result in step S150 is affirmative, the processing device 12 advances the process to step S160. On the other hand, if the determination result in step S150 is negative, the processing device 12 advances the process to step S182.
  • step S160 the processing device 12 functions as the motion control unit 123 and corrects the position and orientation registered in the motion table MTBL.
  • the motion control unit 123 corrects the position and orientation registered in the motion table MTBL based on the correction information received via the button BTc displayed on the operation screen CHS. Then, the processing device 12 advances the process to step S162.
  • step S162 the processing device 12 functions as the information generation unit 122, and confirms or cancels the correction performed in step S160.
  • the information generation unit 122 confirms the correction performed in step S160 when the button BTd is pressed, and cancels the correction performed in step S160 when the button BTcn is pressed.
  • the processing device 12 advances the process to step S182.
  • step S182 the processing device 12 functions as the motion control unit 123 and determines whether or not the teaching of the robot 20 has ended. For example, if the communication device 14 receives the teaching end information TEINF before the communication device 14 receives the next position information PINF or the next attitude information APINF, the motion control unit 123 determines that the robot 20 has not been taught. Determine that it is finished.
  • step S182 If the determination result in step S182 is affirmative, the processing device 12 advances the process to step S184. On the other hand, if the determination result in step S182 is negative, the processing device 12 returns the process to step S120.
  • step S184 the processing device 12 functions as the information generation unit 122, and determines the position and orientation registered in the motion table MTBL as the position and orientation of the tip portion HP defined by the motion information.
  • motion information that defines the position and orientation of the tip HP is generated.
  • Trajectory information of the robot 20 is generated by sequentially connecting these specified positions and orientations.
  • the robot 20 realizes motions along the trajectory information by operating in order so as to achieve these prescribed positions and postures.
  • the position and orientation corrections in the operation confirmation in steps 130 to 182 may be executed after the trajectory information is generated. Alternatively, trajectory information may be generated from the corrected position and orientation.
  • step S122 may be performed prior to the process of step S120, or may be performed in parallel with the process of step S120.
  • the robot controller 10 has the information acquisition unit 121 and the information generation unit 122 .
  • the information acquisition unit 121 acquires position information PINF indicating the position of the terminal device 30 and attitude information AINF indicating the attitude of the terminal device 30 .
  • the information generation unit 122 generates motion information defining the position and orientation of the tip HP of the robot 20 based on the position information PINF and the orientation information AINF acquired by the information acquisition unit 121 .
  • motion information that defines the position and orientation of the tip HP of the robot 20 is generated based on the position and orientation of the terminal device 30 .
  • the worker U moves the position and posture of the terminal device 30
  • the physical and temporal burden on the worker U is reduced compared to when the worker U manually moves the robot 20 directly. . Therefore, in the present embodiment, compared to the teaching method in which the operator U manually moves the robot 20 directly from the beginning to generate motion information defining the position and orientation of the tip HP of the robot 20, the operator U It is possible to suppress an increase in the physical and time burden of the worker.
  • the information acquisition unit 121 acquires the position information PINF and the posture information AINF when the worker U performs a predetermined operation on the terminal device 30 .
  • the predetermined operation is a transmission operation for transmitting information such as position information PINF and orientation information AINF to the robot controller 10 .
  • the operator U performs a predetermined operation at the timing when the position and orientation of the terminal device 30 are moved to the target position and orientation, thereby obtaining the position information PINF indicating the target position and the orientation information indicating the target orientation.
  • AINF can be acquired by the information acquisition unit 121 .
  • the information acquisition unit 121 can easily acquire the position information PINF indicating the position of the target and the orientation information AINF indicating the orientation of the target.
  • the position information PINF is generated by the imaging device 40 that captures the terminal device 30 . Then, in this embodiment, the information acquisition unit 121 acquires the position information PINF generated by the imaging device 40 .
  • the processing of the robot controller 10 becomes more complicated than when the robot controller 10 measures the position of the terminal device 30. can be suppressed.
  • the robot system 1 including the robot controller 10 can employ a known camera such as a three-dimensional camera for measuring the position of an object as the imaging device 40 . As a result, in this embodiment, the robot system 1 can be easily realized.
  • the robot controller 10 further includes a motion control section 123 that operates the robot 20 based on the position information PINF and the orientation information AINF acquired by the information acquisition section 121 .
  • the operator U can easily confirm the motion of the robot 20 based on the position information PINF and the orientation information AINF acquired by the information acquisition unit 121 .
  • the motion control unit 123 acquires correction information indicating the position and orientation of the distal end portion HP moved by the operator U, and obtains the position indicated by the position information PINF and the orientation information AINF.
  • the posture may be corrected based on the correction information.
  • the position and orientation indicated by the position information PINF and the orientation information AINF acquired by the information acquisition unit 121 can be corrected based on the correction information.
  • the position and orientation can be defined with high precision.
  • a reception unit for example, a button displayed on the operation screen CHS as a GUI
  • the operator U can easily move the position and orientation of the tip end HP of the robot 20 to the target position and orientation by, for example, pressing the button BTc.
  • the position and orientation of the tip HP of the robot 20 can be accurately defined while suppressing an increase in the burden on the operator U.
  • the robot controller 10 determines whether or not the position indicated by the position information PINF is within the movable range of the tip HP. It further has a warning unit 125 that warns when it is not within.
  • the worker U can recognize that the position of the terminal device 30 is outside the movable range of the robot 20 by recognizing a warning such as a warning sound, for example. For example, when the worker U finds that the movement path of the terminal device 30 is outside the movable range of the robot 20 after completing the work of moving the terminal device 30, the worker U does not perform the work of moving the terminal device 30. Person U may have to do it again.
  • the efficiency of the work for generating motion information that defines the position and orientation of the tip HP of the robot 20 is reduced. In other words, in this embodiment, it is possible to improve the efficiency of the work for generating the motion information that defines the position and posture of the tip HP of the robot 20 .
  • the information acquisition unit 121 acquires the position information PINF and the posture information AINF when the worker U performs a predetermined operation on the terminal device 30 was exemplified. It is not limited to this embodiment.
  • the information acquisition unit 121 may repeatedly acquire the position information PINF and the orientation information AINF during the acquisition period, as shown in FIG. 10 to be described later.
  • FIG. 10 is a sequence chart showing an example of the operation of the robot system 1 according to the first modified example. Detailed descriptions of operations that are the same as those described in FIG. 6 are omitted.
  • the robot controller 10 (more specifically, the information acquisition unit 121) acquires the position information PINF and the orientation information AINF during the acquisition period in which the worker U designates the start timing T1 and the end timing T2. is obtained repeatedly.
  • the worker U performs a start operation for starting the acquisition period and an end operation for ending the acquisition period on the operation device 35 of the terminal device 30 .
  • the operation device 35 includes a send button
  • the start operation may be pressing the send button
  • the end operation may be releasing the push of the send button.
  • the period during which the send button is pressed corresponds to the acquisition period.
  • the start operation may be pressing the start button
  • the end operation may be pressing the end button.
  • each of the symbols in steps S120 to S124, S322 to S324, and S422 to S424 has a lowercase letter at the end. It is labeled with an alphabet (a, b or c).
  • a lower-case letter (a, b or c) is added to the end of each code of the position information PINF and the orientation information AINF.
  • the terminal device 30 transmits teaching start information TSINF to the robot controller 10 and the imaging device (detection device) 40 upon receiving an operation to start teaching the robot 20 (S300). Thereby, the robot controller 10 and the imaging device 40 receive the teaching start information TSINF (S100 and S400).
  • the terminal device 30 transmits start information PSINF indicating the start of the acquisition period to the robot controller 10 and the imaging device 40 when the start operation for starting the acquisition period is received (S302).
  • the robot controller 10 and the imaging device 40 receive the start information PSINF (S102 and S402).
  • the start information PSINF may be transmitted from the terminal device 30 to the imaging device 40 via the robot controller 10 .
  • the robot controller 10 and imaging device 40 recognize that the acquisition period starts by receiving the start information PSINF.
  • the terminal device 30 During the acquisition period, the terminal device 30 repeatedly executes a series of processes including processing for generating orientation information AINF indicating the orientation of the terminal device 30 and processing for transmitting the generated orientation information AINF to the robot controller 10 (S322). and S324). Further, the imaging device 40 repeatedly executes a series of processes including a process of generating position information PINF indicating the position of the terminal device 30 and a process of transmitting the generated position information PINF to the robot controller 10 (S422 and S424). ).
  • the robot controller 10 repeatedly executes a series of processes including the process of acquiring the position information PINF and the orientation information AINF and the process of storing the acquired position information PINF and orientation information AINF in the motion table MTBL (S120, S122 and S124).
  • the terminal device 30 transmits end information PEINF indicating the end of the acquisition period to the robot controller 10 and the imaging device 40 in response to receiving an end operation for ending the acquisition period (S326).
  • the robot controller 10 and the imaging device 40 receive the end information PEINF (S126 and S426).
  • the end information PEINF may be transmitted from the terminal device 30 to the imaging device 40 via the robot controller 10 .
  • the robot controller 10 and imaging device 40 recognize that the acquisition period has ended by receiving the end information PEINF.
  • the robot controller 10 outputs to the robot 20 a drive signal CTLm that sets the position and orientation of the tip HP of the robot 20 to the position and orientation registered in the motion table MTBL (S140). Thereby, the robot 20 receives the drive signal CTLm (S200a). Then, the robot 20 moves the position and posture of the tip HP of the robot 20 according to the drive signal CTLm (S202).
  • the robot controller 10 corrects the position and orientation registered in the motion table MTBL (S160). For example, the position and orientation of the tip HP of the robot 20 move to the position and orientation indicated by the correction information (S220).
  • the terminal device 30 transmits teaching end information TEINF to the robot controller 10 and the imaging device 40 upon receiving an operation to end teaching to the robot 20 (S340).
  • the robot controller 10 and imaging device 40 receive the teaching end information TEINF (S180 and S440).
  • the robot controller 10 and the imaging device 40 recognize that the teaching of the robot 20 has ended by receiving the teaching end information TEINF.
  • the robot controller 10 After completing the teaching of the robot 20, the robot controller 10 outputs to the robot 20 a driving signal CTlop that causes the robot 20 to perform a prescribed operation (S190). Then, the robot 20 performs a prescribed operation according to the drive signal CTLop received from the robot controller 10 (S240 and S242).
  • the operation of the robot system 1 is not limited to the example shown in FIG.
  • the process of correcting the positions and orientations registered in the motion table MTBL may be executed as necessary and may be omitted.
  • the interval at which the information acquisition unit 121 repeatedly acquires the position information PINF and the orientation information AINF during the acquisition period may be a predetermined cycle.
  • the terminal device 30 may transmit the next position information PINF and the instruction information TINF described with reference to FIG. 6 each time the terminal device 30 moves a predetermined distance after transmitting the position information PINF.
  • the amount of movement of the terminal device 30 may be calculated based on the detection result of the inertial sensor 38, for example.
  • FIG. 11 is a flow chart showing an example of the operation of the robot controller 10 according to the first modified example.
  • the operation shown in FIG. 11 is the same as the operation shown in FIG. 9, except that the operation of the robot 20 is checked after the acquisition period ends. A detailed description of the operations described in FIGS. 9 and 10 will be omitted. Note that the process of step S104 is performed, for example, after an operation to start teaching the robot 20 is performed on the operation device 35 .
  • the processing device 12 functions as the information acquisition unit 121 and determines whether or not the acquisition period starts. For example, the information acquisition unit 121 determines whether the acquisition period starts by determining whether the communication device 14 of the robot controller 10 has received the start information PSINF. In this case, the information acquisition unit 121 determines that the acquisition period starts when the communication device 14 receives the start information PSINF, for example.
  • step S104 If the determination result in step S104 is affirmative, the processing device 12 advances the process to step S120. On the other hand, when the determination result in step S104 is negative, the processing device 12 returns the process to step S104.
  • steps S120, S122 and S124 are the same as the series of processes of steps S120, S122 and S124 shown in FIG.
  • the processing device 12 functions as the information acquisition unit 121, acquires the position information PINF and the orientation information AINF, and stores the acquired position information PINF and orientation information AINF in the motion table MTBL. .
  • the processing device 12 advances the process to step S128.
  • step S1208 the processing device 12 functions as the information acquisition unit 121 and determines whether or not the acquisition period has ended. For example, the information acquisition unit 121 determines whether the acquisition period has ended by determining whether the communication device 14 has received the end information PEINF. In this case, the information acquisition unit 121 determines that the acquisition period has ended, for example, when the communication device 14 receives the end information PEINF.
  • step S128 If the determination result in step S128 is affirmative, the processing device 12 advances the process to step S130. On the other hand, if the determination result in step S128 is negative, the processing device 12 returns the process to step S120.
  • a series of processes from step S130 to step S184 is the same as the series of processes from step S130 to step S184 shown in FIG.
  • the processing device 12 functions as the operation control unit 123 in steps S130, S140, S150, S160 and S182, and functions as the information generation unit 122 in steps S162 and S184.
  • step S130 the motion control unit 123 determines whether or not the motion of the robot 20 is to be confirmed. If the determination result in step S130 is affirmative, the motion control unit 123 moves the position and orientation of the distal end portion HP based on the position and orientation registered in the motion table MTBL in step S140. Then, the processing device 12 advances the process to step S150. On the other hand, if the determination result in step S130 is negative, the motion control unit 123 determines whether or not the teaching of the robot 20 has ended in step S182.
  • step S150 the motion control unit 123 determines whether or not the position and orientation registered in the motion table MTBL are to be corrected. If the determination result in step S150 is affirmative, the motion control unit 123 corrects the position and orientation registered in the motion table MTBL in step S160. Then, the processing device 12 advances the process to step S162. On the other hand, if the determination result in step S150 is negative, the motion control unit 123 determines whether or not the teaching of the robot 20 has ended in step S182.
  • step S162 the information generator 122 confirms or cancels the correction performed in step S160.
  • step S182 the motion control unit 123 determines whether or not the teaching of the robot 20 is finished.
  • step S182 If the determination result in step S182 is affirmative, the processing device 12 advances the process to step S184. On the other hand, if the determination result in step S182 is negative, the processing device 12 returns the process to step S130.
  • step S184 the information generator 122 determines the position and orientation registered in the motion table MTBL as the position and orientation of the distal end portion HP defined by the motion information. This defines the position and attitude of the tip HP. Trajectory information of the robot 20 is generated by sequentially connecting these specified positions and orientations. The robot 20 realizes motions along the trajectory information by operating in sequence so as to achieve these prescribed positions and postures. It should be noted that the position and orientation corrections in the operation confirmation in steps 130 to 182 may be executed after the trajectory information is generated. Alternatively, trajectory information may be generated from the corrected position and orientation.
  • step S122 may be performed prior to the process of step S120, or may be performed in parallel with the process of step S120.
  • the information acquisition unit 121 repeatedly acquires the position information PINF and the posture information AINF during the acquisition period in which the operator U designates the start timing T1 and the end timing T2. Therefore, in this modified example, even when a large number of motion points of the robot 20 are specified, the information acquisition unit 121 acquires the position information PINF and the orientation information AINF while suppressing an increase in the burden on the operator U.
  • the path of the position of the tip HP of the robot 20 is a trajectory determined based on a plurality of points indicated by a plurality of pieces of position information PINF (for example, a trajectory determined by interpolating a plurality of points). ) can be defined as As a result, in this modified example, the position and posture of the tip HP of the robot 20 can be smoothly moved.
  • the inertial sensor 38 detects the inclination (orientation) of the terminal device 30 and the imaging device (detection device) 40 detects the position of the terminal device 30 .
  • the inertial sensor 38 of the terminal device 30 detects the inclination (orientation) and position of the terminal device 30 . Therefore, the imaging device 40 is not necessarily required in this modified example.
  • the inertial sensor 38 in this modification includes the acceleration sensor of the terminal device 30 on each of the Xw-axis, Yw-axis, and Zw-axis representing the three-dimensional space, and the Xw-axis, Yw-axis, and Zw-axis.
  • the inclination (orientation) of the terminal device 30 is measured by angular velocity sensors with respect to the Xw-axis, Yw-axis, and Zw-axis.
  • the movement distance of the terminal device 30 is detected by the Xw-axis, Yw-axis, and Zw-axis acceleration sensors when the terminal device 30 sequentially moves to a plurality of positions in the three-dimensional space.
  • the relative position of the terminal device 30 with respect to the robot 20 can be calculated from the moving distance of the terminal device 30 detected by the Xw-axis, Yw-axis, and Zw-axis acceleration sensors.
  • the sequence chart of the first embodiment shown in FIG. Send is the same as the first embodiment.
  • the inertial sensor 38 of the terminal device 30 is used to detect the position and orientation of the terminal device 30. Therefore, it is possible to easily prepare the robot system without preparing the imaging device 40. becomes.
  • the user can continue operating the terminal device 30 without worrying about an area or posture where image capturing is difficult due to obstacles or the like, resulting in excellent operability.
  • the mark MK may not be detected due to obstacles or the angle of the terminal device 30 .
  • detection can be continued.
  • the position detected using the inertial sensor 38 of the terminal device 30 is calculated by calculating the moving distance from the position detected using the imaging device 40 to the position detected using the inertial sensor 38 of the terminal device 30 .
  • the present invention is not limited to such an aspect.
  • the location information PINF may be generated by the terminal device 30 .
  • the information acquisition unit 121 acquires the position information PINF and the orientation information AINF generated by the terminal device 30 .
  • FIG. 12 is an explanatory diagram for explaining the outline of the robot system 1A according to the third modified example. Elements similar to those described in FIGS. 1 to 11 are denoted by the same reference numerals, and detailed description thereof is omitted.
  • the imaging device 40 is omitted from the robot system 1 shown in FIG. It is the same as the robot system 1 except that it is provided. Also, in this modification, for convenience of explanation, a mobile coordinate system ⁇ M fixed to the terminal device 30 is introduced instead of the imaging coordinate system ⁇ C.
  • the mobile coordinate system ⁇ M is a three-axis orthogonal coordinate system having an origin at a predetermined position of the terminal device 30 and mutually orthogonal Xm, Ym, and Zm axes.
  • the Xm-axis, Ym-axis, and Zm-axis of the moving body coordinate system ⁇ M are the Xm-axis, Ym-axis, and Zm-axis described with reference to FIG.
  • the Zm axis is parallel to the optical axis of the imaging device 39 of the terminal device 30 (more specifically, the optical axis of the optical system of the imaging device 39).
  • the positions of each of the marks MK3a, MK3b, and MK3c in the world coordinate system ⁇ W are known. That is, the mutual positional relationship (corresponding to the attitude of the mark MK3) among the marks MK3a, MK3b and MK3c is also known.
  • the mark MK3 may be provided on the robot 20 (the base portion BSP in the example shown in FIG. 12) or may be provided in the vicinity of the robot 20.
  • the configuration of the terminal device 30 is the same as the configuration of the terminal device 30 shown in FIGS.
  • the imaging device 39 of the terminal device 30 captures marks MK3 (MK3a, MK3b, and MK3c) arranged at positions where the relative positional relationship with a predetermined position (for example, position Op) of the robot 20 is known. Take an image. Then, the terminal device 30 calculates the position of the terminal device 30 with respect to a predetermined position using the image of the mark MK3 captured by the imaging device 39, and generates information indicating the calculated position as the position information PINF.
  • MK3 MK3a, MK3b, and MK3c
  • Va be a vector starting from the optical system of the imaging device 39 and ending at the mark MK3a.
  • Vb be a vector whose starting point is the optical system of the imaging device 39 and whose ending point is the mark MK3b.
  • Vc be a vector whose starting point is the optical system of the imaging device 39 and whose ending point is the mark MK3c.
  • Vab be a vector starting from the mark MK3a and ending at the mark MK3b.
  • Vac be a vector starting from the mark MK3a and ending at the mark MK3c.
  • Vbc be a vector starting at the mark MK3b and ending at the mark MK3c.
  • the vectors Va, Vb, Vc, Vab, Vac and Vbc satisfy the following formulas (1), (2) and (3).
  • the lengths of the vectors Vab, Vac, and Vbc are known because the positions of the marks MK3a, MK3b, and MK3c in the world coordinate system ⁇ W are known. is.
  • the processing device 32 of the terminal device 30 obtains information indicating the directions of the vectors Va, Vb, and Vc from the image of the marks MK3a, MK3b, and MK3c (for example, information indicating the position of each mark MK3 on the image). two-dimensional information). Then, the processor 32 indicates the length of each of the vectors Va, Vb and Vc, the above equations (1), (2) and (3) and the direction of each of the vectors Va, Vb and Vc. It is calculated based on the information and the focal length.
  • the focal length is the focal length of the optical system of the imaging device 39 and is known information.
  • the processing device 32 based on the information indicating the direction of each of the vectors Va, Vb, and Vc and the information indicating the length of each of the vectors Va, Vb, and Vc, creates the marks MK3a, Calculate the position of each of MK3b and MK3c. Further, the processing device 32, based on the respective positions of the marks MK3a, MK3b, and MK3c in the world coordinate system ⁇ W and the respective positions of the marks MK3a, MK3b, and MK3c in the moving body coordinate system ⁇ M, determines the position of the terminal in the world coordinate system ⁇ W. A position of the device 30 is calculated. The processing device 32 then transmits position information PINF indicating the position of the terminal device 30 in the world coordinate system ⁇ W to the robot controller 10 .
  • the process of calculating the position of the terminal device 30 in the world coordinate system ⁇ W described above may be performed by the orientation detection unit 324 or may be performed by a functional block separate from the orientation detection unit 324 .
  • the processing device 32 may function as a functional block that executes processing for calculating the position of the terminal device 30 in the world coordinate system ⁇ W, separately from the orientation detection unit 324 .
  • the orientation detection unit 324 may detect the orientation of the terminal device 30 using the positions of the marks MK3a, MK3b, and MK3c in the mobile coordinate system ⁇ M instead of the detection result of the inertial sensor 38.
  • the attitude detection unit 324 detects the attitude of the terminal device 30 based on the positions of the marks MK3a, MK3b, and MK3c in the world coordinate system ⁇ W and the positions of the marks MK3a, MK3b, and MK3c in the moving body coordinate system ⁇ M. may be detected.
  • the terminal device 30 may not have the inertial sensor 38 .
  • the terminal device 30 generates the position information PINF and the attitude information AINF.
  • the information acquisition unit 121 of the robot controller 10 then acquires the position information PINF and the orientation information AINF generated by the terminal device 30 .
  • the configuration of the robot system 1A in this modified example is not limited to the example shown in FIG.
  • the mark MK3 may be a QR code (registered trademark).
  • a light-emitting element such as an LED may be employed as the mark MK3.
  • the number of marks MK3 may be one.
  • the terminal device 30 has an imaging device 39 that captures an image of the mark MK3 placed at a position where the relative positional relationship with the predetermined position of the robot 20 is known. Then, the terminal device 30 calculates the position of the terminal device 30 with respect to a predetermined position using the image of the mark MK3 captured by the imaging device 39, and generates information indicating the calculated position as the position information PINF.
  • the information acquisition unit 121 of the robot controller 10 acquires the position information PINF generated by the terminal device 30 . That is, in this modification, since it is not necessary to arrange the imaging device 40 separately from the terminal device 30, the space for installing the robot system 1A is increased, and devices such as the robot 20 included in the robot system 1A are increased. can be suppressed from becoming complicated.
  • the present invention is not limited to such an aspect.
  • one or both of the position and orientation of the terminal device 30 may be specified by the robot controller 10 .
  • the information acquisition unit 121 of the robot controller 10 for example, acquires image information indicating the images of the marks MK3a, MK3b, and MK3c imaged by the imaging device 39 and information indicating the focal length of the imaging device 39 to the terminal device 30.
  • the information generation unit 122 of the robot controller 10 uses the same method as described in the third modified example (the method of calculating the position of the terminal device 30 using the image of the mark MK3 captured by the imaging device 39).
  • the position or the like of the terminal device 30 is specified by the method of .
  • the robot controller 10 specifies the position of the terminal device 30 from the image information indicating the images of the marks MK3a, MK3b, and MK3c, the image information corresponds to "position information”. Similarly, when the robot controller 10 identifies the orientation of the terminal device 30 from image information representing the images of the marks MK3a, MK3b, and MK3c, the image information corresponds to "attitude information.” Also in this modified example, it is possible to obtain the same effect as in the above-described third modified example.
  • the attitude information AINF may be generated by the terminal device 30 based on the images of the marks MK1 and MK2 captured by the imaging device (detection device) 40 .
  • the information acquisition unit 121 acquires the position information PINF and the orientation information AINF generated by the imaging device 40 .
  • one or both of the position and orientation of the terminal device 30 may be specified by the robot controller 10 as in the fourth modification.
  • the information acquisition unit 121 of the robot controller 10 acquires image information indicating the images of the marks MK1 and MK2 captured by the imaging device 40 and information indicating the focal length of the imaging device 40 from the imaging device 40, for example. do. Also in this modified example, it is possible to obtain the same effects as those of the above-described embodiment and the first modified example.
  • the worker U holds an object provided with the marks MK1 and MK2 with one hand, and operates the transmission instruction device with the other hand.
  • the posture and position of the object are specified based on the images of the marks MK1 and MK2 captured by the imaging device 40 .
  • the orientation and position of the object may be specified by the imaging device 40 or by the robot controller 10 .
  • the motion information that defines the position and orientation of the tip HP of the robot 20 is generated was exemplified, but the present invention is not limited to such an aspect.
  • the motion information may be information defining only the position of the position and orientation of the tip HP of the robot 20 .
  • the information acquisition unit 121 acquires position information PINF indicating the position of the terminal device 30 .
  • the information generation unit 122 also generates motion information that defines the position of the tip HP of the robot 20 based on the position information PINF acquired by the information acquisition unit 121 .
  • the worker U holding the terminal device 30 in the above-described embodiment and modification may perform teaching at a position shifted by a predetermined distance from the robot 20 of the main body.
  • the teaching can be completed by offsetting the position information of the terminal device 30 by a predetermined distance. By doing so, teaching can be performed without being disturbed by the main body of the robot 20, and more complicated teaching can be performed. For example, by attaching the terminal device 30 to the wrist of the worker U and automatically performing teaching at intervals of a predetermined time, teaching can be performed during actual work, and there is no need for a separate task called "teaching". You can also get the effect of becoming In addition, it becomes possible to teach the motions of people such as dancers who make all sorts of violent and fine movements.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

ロボットコントローラは、端末装置の位置を示す位置情報、及び、端末装置の姿勢を示す姿勢情報を取得する情報取得部と、情報取得部が取得した位置情報及び姿勢情報に基づいて、ロボットの先端部の位置及び姿勢を順に規定することで、ロボットの軌道情報を生成する情報生成部と、を備えている。

Description

情報処理装置、ロボットの制御方法、プログラム、移動体及びロボットシステム
 本発明は、情報処理装置、ロボットの制御方法、プログラム、移動体及びロボットシステムに関する。
 産業用ロボット等のロボットに動作を教示する方法として、ダイレクトティーチングが知られている(例えば、特許文献1参照)。ダイレクトティーチングは、例えば、作業者がロボットを手動で直接動かすことにより、ロボットに動作点を覚えさせる教示方法である。
特開2020-131314号公報
 ところで、ダイレクトティーチングでは、ロボットの重量及び大きさ等によっては作業者の体力的及び時間的な負担が増加する問題がある。
 本発明の好適な態様に係る情報処理装置は、移動体が、空間上の複数の位置にロボットとは独立して順に移動する場合に、前記移動体の、各位置における位置情報、または前記各位置における位置情報及び前記各位置における姿勢情報を取得する取得部と、前記取得部が取得した、前記複数の位置にそれぞれ対応する複数の位置情報、または前記複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する生成部と、を備えている。
 本発明の好適な態様に係るロボットの制御方法は、移動体が、空間上の複数の位置に順にロボットとは独立して移動する場合に、前記移動体の、各位置における位置情報、及び前記各位置における姿勢情報を取得し、前記取得した、前記複数の位置にそれぞれ対応する複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する。
 本発明の好適な態様に係るプログラムは、ロボットを動作させるプロセッサにより、移動体が、空間上の複数の位置に順に移動する場合に、前記移動体の、各位置における位置情報、及び前記各位置における姿勢情報を取得し、前記取得した、前記複数の位置にそれぞれ対応する複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する。
 本発明の好適な態様に係るロボットシステムは、ロボットと、空間上の複数の位置に前記ロボットとは独立して順に移動する移動体と、検出装置と、情報処理装置とを備え、前記移動体は、前記移動体の姿勢情報を検知する慣性センサと、少なくとも前記情報処理装置と通信する通信部と、を有しており、前記検出装置は、前記移動体を検出することで前記移動体の位置情報を検知する検知部と、少なくとも前記情報処理装置と通信する通信部と、を有しており、前記情報処理装置は、前記複数の位置の各々において検知された姿勢情報および位置情報を取得する取得部と、前記取得部が取得した、前記複数の位置にそれぞれ対応する複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する生成部と、前記軌道情報に基づいて、前記ロボットを動作させる制御部と、を備えている。
 本発明の好適な態様に係る移動体は、ロボットの軌道情報を生成するための複数の位置を前記ロボットとは独立して移動する移動体において、前記移動体の、前記複数の位置の各々における位置情報、または前記複数の位置の各々における位置情報および姿勢情報を検知する慣性センサと、少なくとも前記ロボットを動作させる情報処理装置と通信する通信部と、を有しており、前記移動体が前記複数の位置の各々において検知した、前記位置情報、または前記姿勢情報および前記位置情報に基づいて、前記ロボットの軌道情報が生成される。
 本発明によれば、ロボットに動作を教示する場合に、作業者の負担が増加することを抑制することができる。
実施形態に係るロボットシステムの概要を説明するための説明図である。 図1に示したロボットコントローラのハードウェア構成の一例を示す図である。 図1に示したロボットコントローラの構成の一例を示す機能ブロック図である。 図1に示した端末装置のハードウェア構成の一例を示す図である。 図1に示した端末装置の構成の一例を示す機能ブロック図である。 図1に示したロボットシステムの動作の一例を示すシーケンスチャートである。 図2に示した動作テーブルの一例を示す説明図である。 操作画面の一例を説明するための説明図である。 図1に示したロボットコントローラの動作の一例を示すフローチャートである。 第1変形例に係るロボットシステムの動作の一例を示すシーケンスチャートである。 第1変形例に係るロボットコントローラの動作の一例を示すフローチャートである。 第3変形例に係るロボットシステムの概要を説明するための説明図である。
 以下、本発明を実施するための形態について図面を参照して説明する。なお、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
[1.実施形態]
 先ず、図1を参照しながら、実施形態に係るロボットシステム1の概要の一例について説明する。
 図1は、実施形態に係るロボットシステム1の概要を説明するための説明図である。
 なお、以下では、説明の便宜上、現実空間に固定されたワールド座標系ΣWと、撮像装置(検出装置)40に固定された撮像座標系ΣCとを導入する。ワールド座標系ΣWは、例えば、現実空間の所定の位置に原点を有し、互いに直交するXw軸、Yw軸、及び、Zw軸を有する3軸の直交座標系である。本実施形態では、ワールド座標系ΣWの原点である所定の位置が位置Opである場合を想定する。位置Opは、例えば、後述するロボット20の土台部BSPの中心である。また、本実施形態では、Xw-Zw平面が、土台部BSPが固定される床に平行である場合を想定する。また、撮像座標系ΣCは、例えば、撮像装置40の所定の位置に原点を有し、互いに直交するXc軸、Yc軸、及び、Zc軸を有する3軸の直交座標系である。本実施形態では、Zc軸が、撮像装置40が有する光学系の光軸と平行である場合を想定する。以下では、撮像装置40が有する光学系の光軸は、単に、撮像装置40の光軸とも称される。
 図1に示すロボットシステム1は、例えば、ロボット20の動作を制御するロボット制御ロボットシステムである。例えば、ロボットシステム1は、ロボットコントローラ10、ロボット20、端末装置30及び撮像装置40を有する。ロボットコントローラ10は、「情報処理装置」の一例であり、端末装置30は、「移動体」の一例である。
 図1に示すロボットコントローラ10及びロボット20は、例えば、有線を用いた接続により、互いに通信可能に接続されている。なお、ロボットコントローラ10とロボット20との接続は、無線を用いた接続であってもよいし、有線及び無線の両方を用いた接続であってもよい。
 また、ロボットコントローラ10、端末装置30及び撮像装置40は、それぞれ通信部を有しており、互いに通信可能に接続されている。本実施形態では、ロボットコントローラ10、端末装置30及び撮像装置40間の通信が、Bluetooth(登録商標)及びWi-Fi(登録商標)等の近距離無線通信である場合を想定する。なお、ロボットシステム1に含まれる複数の要素間の接続は、複数の要素間を互いに通信可能にする接続であればよく、有線ネットワーク及び無線ネットワークの一方又は両方を含むネットワークを用いた接続であってもよい。
 ロボットコントローラ10としては、他の装置と通信可能な任意の情報処理装置を採用することができる。ロボットコントローラ10は、例えば、ロボット20の動作を制御する。ロボットコントローラ10の構成は、後述する図2及び図3において説明される。
 ロボット20は、例えば、工場等に設置される多関節ロボットである。例えば、ロボット20は、土台部BSPと、ボディ部BDPと、複数のアーム部AP(AP1、AP2、AP3及びAP4)と、先端部HPとを有する。先端部HPは、「特定部分」の一例である。
 土台部BSPは、床等の所定の場所に固定される。ボディ部BDPは、回転軸AX1を軸として回転可能に土台部BSPに接続される。アーム部AP1は、回転軸AX2を軸として回転可能にボディ部BDPに接続される。アーム部AP2は、回転軸AX3を軸として回転可能にアーム部AP1に接続される。アーム部AP3は、回転軸AX4を軸として回転可能にアーム部AP2に接続される。アーム部AP4は、回転軸AX5を軸として回転可能にアーム部AP3に接続される。但し、アーム部AP1、AP2、AP3及びAP4の各々の回転角度は、360度未満に制限される。
 また、先端部HPは、第1先端部HP1と、第1先端部HP1に接続された第2先端部HP2とを有する。第1先端部HP1は、回転軸Hyを軸として回転可能にアーム部AP4に接続される。また、第1先端部HP1は、回転軸Hxを軸として回転可能である。第2先端部HP2は、回転軸Hzを軸として回転可能に第1先端部HP1に接続される。但し、第1先端部HP1が回転軸Hxを軸として回転する場合の回転角度は、360度未満に制限される。同様に、第2先端部HP2が回転軸Hzを軸として回転する場合の回転角度は、360度未満に制限される。
 ここで、第2先端部HP2は、第1先端部HP1に接続されているため、第1先端部HP1が回転軸Hy又は回転軸Hxを軸として回転した場合、第1先端部HP1と一緒に回転する。すなわち、第2先端部HP2は、回転軸Hx、Hy及びHzの各々を軸として回転可能である。
 なお、本実施形態では、ロボット20が床等の所定の場所に固定される場合を想定するが、ロボット20は、所定の場所に固定されずに、ロボット20自体が移動可能であってもよい。ロボット20自体が移動する場合、ロボット20本体の原点(例えば、重心又は中心等)を「特定部分」として捉えてもよい。
 端末装置30としては、信号を送信可能な任意の可搬型の情報処理装置を採用することができる。例えば、端末装置30は、リモートコントローラ及びスマートフォン等の可搬型の情報端末であってもよい。端末装置30は、例えば、所定の作業を実行するロボット20の先端部HPの位置及び姿勢を規定する場合に、作業者Uに把持され、所定の作業に対応する移動経路(軌道情報)に沿うように、作業者Uによりロボットとは独立して移動させられる。例えば、端末装置30は、空間上の複数の位置の間で一の位置から他の位置に順にロボットとは独立して移動する。作業者Uは、「ユーザ」の一例である。なお、ロボット20の先端部HPの位置は、例えば、ロボット20の動作点に対応する。また、所定の作業に対応する移動経路は、例えば、所定の作業を実行するロボット20の先端部HPの移動経路として規定される経路である。すなわち、作業者Uは、所定の作業に対応する移動経路に沿うように端末装置30を移動させることにより、所定の作業に対応する先端部HPの軌道をロボット20に教示(ティーチング)する。
 例えば、作業者Uが端末装置30を移動させる作業では、作業者Uがロボット20を手動で直接動かす作業に比べて、作業者Uの体力的及び時間的な負担が軽減される。従って、本実施形態では、作業者Uがロボット20を手動で直接動かす態様に比べて、ロボット20に軌道を教示する場合における作業者Uの体力的及び時間的な負担が増加することを抑制することができる。
 なお、本実施形態では、端末装置30の姿勢等の説明を分かり易くするために、端末装置30の形状が直方体である場合を想定する。また、以下では、便宜上、互いに直交するXm軸、Ym軸、及び、Zm軸を用いて、端末装置30の姿勢等が説明される。例えば、Xm軸は、位置Pを通り、面SF3に垂直な軸であり、Ym軸は、位置Pを通り、面SF1に垂直な軸であり、Zm軸は、端末装置30の位置Pを通り、面SF2に垂直な軸である。位置Pは、例えば、端末装置30の面SF1の中心である。なお、端末装置30の形状は直方体に限定されない。
 端末装置30の位置は、例えば、端末装置30の位置Pの座標で表される。また、端末装置30の姿勢は、例えば、Xm軸を軸として回転した場合のXm軸の回転角度、Ym軸を軸として回転した場合のYm軸の回転角度、及び、Zm軸を軸として回転した場合のZm軸の回転角度を用いて表される。なお、本実施形態では、Xm軸がXw軸と平行であり、Ym軸がYw軸と平行であり、かつ、Zm軸がZw軸と平行である場合の端末装置30の姿勢を基準(0度)にして、Xm軸の回転角度、Ym軸の回転角度及びZm軸の回転角度が表される場合を想定する。
 また、ロボット20の先端部HPの位置は、例えば、第2先端部HP2の面SFhの中心の座標で表される。以下では、第2先端部HP2の面SFhは、先端部HPの面SFhとも称される。また、先端部HPの姿勢は、回転軸Hxを軸として回転した場合の回転軸Hxの回転角度、回転軸Hyを軸として回転した場合の回転軸Hyの回転角度、及び、回転軸Hzを軸として回転した場合の回転軸Hzの回転角度を用いて表される。なお、本実施形態では、回転軸HxがXw軸と平行であり、回転軸HyがYw軸と平行であり、かつ、回転軸HzがZw軸と平行である場合の先端部HPの姿勢を基準(0度)にして、回転軸Hxの回転角度、回転軸Hyの回転角度及び回転軸Hzの回転角度が表される場合を想定する。
 本実施形態では、端末装置30の位置が撮像装置40により算出され、端末装置30の姿勢が端末装置30により算出される場合を想定する。端末装置30の構成は、後述する図4において説明されるが、例えば、端末装置30は、端末装置30の姿勢を検出するための慣性センサ38を有する。また、図1に示す端末装置30では、撮像装置40が端末装置30を容易に認識できるように、互いに異なる2つのマークMK(MK1及びMK2)が面SF2に設けられている。例えば、撮像装置40は、端末装置30を撮像した画像内のマークMKを認識することにより、画像全体のうちの端末装置30を示す部分を容易に認識できる。なお、マークMKの数は1つでもよい。マークMKが位置が既知である1つのマークの場合は、マークMKの画面内の位置と、後出する慣性センサ38により検出される端末装置30の姿勢から、端末装置30の中心となる位置Pを算出することができる。またマークMKが位置が既知の2つ以上のマークであれば、2つのマークMKから端末装置30の中心となる位置Pを算出することができる。また、マークMKの数が少ない場合、何らかの理由で、撮像装置40よりマークMKを撮像できない事も想定されるため、マークMKは、端末装置30の複数の面に設けておくことが好ましい。また、LED(Light Emitting Diode)等の発光素子がマークMKとして採用されてもよい。
 撮像装置40は、カメラ等の光学的な手段により被写体を撮像するためのハードウェアである。本実施形態では、撮像装置40が3次元カメラである場合を想定する。3次元カメラは、奥行き(対象物までの距離)を算出可能なカメラである。例えば、撮像装置40は、端末装置30を撮像することにより、撮像座標系ΣCにおける端末装置30の位置を算出する。そして、撮像装置40は、端末装置30の位置を示す座標を撮像座標系ΣCからワールド座標系ΣWに変換し、ワールド座標系ΣWにおける端末装置30の位置を示す位置情報をロボットコントローラ10に送信する。なお、本実施形態では、撮像座標系ΣCの座標をワールド座標系ΣWの座標に変換するためのパラメータ等の情報が既知である場合を想定する。また、撮像座標系ΣCにおける端末装置30の位置をワールド座標系ΣWにおける端末装置30の位置に変換する座標変換は、ロボットコントローラ10により実行されてもよい。また、撮像装置40が撮像するタイミングは、端末装置30もしくはロボットコントローラ10からの信号により実行される。
 このように、本実施形態では、撮像装置40は、端末装置30と撮像装置40との距離を測定する測距装置として用いられる。距離の測定方式としては、TOF(Time Of Flight)方式、FMCW(Frequency Modulated Continuous Wave)方式、及び、ステレオカメラ方式等の既知の方式を採用することができる。
 TOF方式は、測距装置(例えば、撮像装置40)が赤外光等の光を対象物に投射してから、対象物で反射した反射光を測距装置が受信するまでの時間に基づいて、対象物までの距離を測定する方式である。FMCW方式は、測距装置から送信された送信信号と、対象物で反射した反射信号(測距装置で受信した受信信号)との周波数差に基づいて対象物までの距離を測定する方式である。例えば、距離を測定するセンサとして、TOF方式のLiDAR(Light Detection and Ranging、あるいは、Laser Imaging Detection and Ranging)、又は、FMCW方式のLiDARが採用されてもよい。また、ステレオカメラ方式は、2つのカメラで同一の対象物を撮影した場合の視差に基づいて、対象物までの距離を測定する方式である。なお、距離の測定方式は、上述の例に限定されない。
 本実施形態では、例えば、ロボットコントローラ10は、端末装置30の位置を示す位置情報を撮像装置40から取得し、端末装置30の姿勢を示す姿勢情報を端末装置30から取得する。そして、ロボットコントローラ10は、撮像装置40から取得した位置情報、及び、端末装置30から取得した姿勢情報に基づいて、ロボット20の先端部HPの位置及び姿勢を規定する。ロボット20の先端部HPの位置及び姿勢の規定方法は、後述する図6において説明される。
 なお、ロボットシステム1の構成は、図1に示した例に限定されない。例えば、ロボットコントローラ10は、ロボット20に含まれてもよい。また、例えば、撮像装置40は、ロボット20に設けられてもよい。また、例えば、ロボット20は、端末装置30及び撮像装置40と通信可能に接続されてもよい。この場合、端末装置30及び撮像装置40の各々とロボット20との接続は、有線及び無線の一方を用いた接続であってもよいし、有線及び無線の両方を用いた接続であってもよい。
 また、撮像装置40は、端末装置30のXm軸が撮像装置40の光軸に直交していると仮定して算出された端末装置30と撮像装置40との距離の誤差が許容範囲内である場合、単眼カメラでもよい。この場合、撮像装置40は、例えば、端末装置30のXm軸が撮像装置40の光軸に直交していると仮定し、マークMK1及びMK2間の既知の距離と画像内のマークMK1及びMK2の位置と焦点距離とに基づいて、端末装置30と撮像装置40との距離を算出する。なお、焦点距離は、撮像装置40が有する光学系の焦点距離であり、既知の情報である。また、例えば、ロボットコントローラ10が、GPS(Global Positioning System)衛星から送信される衛星信号に基づいて端末装置30の位置を特定でき、かつその精度が目的に対して十分である場合、撮像装置(検出装置)40に替えてGPSを検出装置としても良い。また、GPSに限らず、レーザ光や音波を使用する機器を検出装置としても良い。また、レーザ光や音波は、端末装置30から出射し、検出装置40で検出しても良い。
 次に、図2を参照しながら、ロボットコントローラ10のハードウェア構成について説明する。
 図2は、図1に示したロボットコントローラ10のハードウェア構成の一例を示す図である。
 ロボットコントローラ10は、ロボットコントローラ10の各部を制御する処理装置(制御部)12と、各種情報を記憶するメモリ(記憶部)13と、通信装置(通信部)14と、作業者U等による操作を受け付ける操作装置(操作部)15と、表示装置(表示部)16と、ドライバ回路17とを有する。
 メモリ13は、例えば、処理装置12の作業領域として機能するRAM(Random Access Memory)等の揮発性メモリと、制御プログラムPGr等の各種情報を記憶するEEPROM(Electrically Erasable Programmable Read-Only Memory)等の不揮発性メモリとの、一方又は両方を含む。なお、メモリ13は、ロボットコントローラ10に着脱可能であってもよい。具体的には、メモリ13は、ロボットコントローラ10に着脱されるメモリカード等の記憶媒体であってもよい。また、メモリ13は、例えば、ロボットコントローラ10とネットワーク等を介して通信可能に接続された記憶装置(例えば、オンラインストレージ)であってもよい。
 図2に示すメモリ13は、制御プログラムPGr及び動作テーブルMTBLを記憶している。制御プログラムPGrは、「プログラム」の一例である。本実施形態では、制御プログラムPGrは、例えば、ロボットコントローラ10がロボット20の動作を制御するためのアプリケーションプログラムを含む。但し、制御プログラムPGrは、例えば、処理装置12がロボットコントローラ10の各部を制御するためのオペレーティングロボットシステムプログラムを含んでもよい。
 動作テーブルMTBLの詳細は、後述する図7において説明されるが、動作テーブルMTBLには、例えば、位置情報PINF及び姿勢情報AINF等が記憶される。例えば、位置情報PINFは、端末装置30の位置を示す位置情報であり、ロボット20の先端部HPの位置を規定する位置情報として用いられる。また、姿勢情報AINFは、端末装置30の姿勢を示す姿勢情報であり、ロボット20の先端部HPの姿勢を規定する姿勢情報として用いられる。
 処理装置12は、ロボットコントローラ10の全体を制御するプロセッサであり、例えば、1又は複数のCPU(Central Processing Unit)を含んで構成される。処理装置12は、例えば、メモリ13に記憶された制御プログラムPGrを実行し、制御プログラムPGrに従って動作することで、後述する図3に示すロボット制御部120として機能する。なお、制御プログラムPGrは、ネットワーク等を介して他の装置から送信されてもよい。
 また、例えば、処理装置12が複数のCPUを含んで構成される場合、処理装置12の機能の一部又は全部は、これら複数のCPUが制御プログラムPGr等のプログラムに従って協働して動作することで実現されてもよい。また、処理装置12は、1又は複数のCPUに加え、又は、1又は複数のCPUのうち一部又は全部に代えて、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、又は、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されるものであってもよい。この場合、処理装置12の機能の一部又は全部は、DSP等のハードウェアにより実現されてもよい。
 通信装置14は、ロボットコントローラ10の外部に存在する外部装置と通信を行うためのハードウェアである。例えば、通信装置14は、近距離無線通信によって外部装置と通信する機能を有する。なお、通信装置14は、移動体通信網又はネットワークを介して外部装置と通信する機能をさらに有してもよい。
 操作装置15は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、スイッチ、ボタン及びセンサ等)である。例えば、操作装置15は、作業者Uの操作を受け付け、操作に応じた操作情報を処理装置12に出力する。なお、例えば、表示装置16の表示面に対する接触を検出するタッチパネルが、操作装置15として採用されてもよい。
 表示装置16は、外部への出力を実施するディスプレイ等の出力デバイスである。表示装置16は、例えば、処理装置12による制御のもとで、画像を表示する。なお、操作装置15及び表示装置16は、一体となった構成(例えば、タッチパネル)であってもよい。
 ドライバ回路17は、処理装置12による制御のもとで、ロボット20を駆動するための信号をロボット20に出力するハードウェアである。例えば、ドライバ回路17は、処理装置12による制御のもとで、ロボット20のボディ部BDP、アーム部AP及び先端部HP等を駆動する信号をロボット20に出力する。
 次に、図3を参照しながら、ロボットコントローラ10の機能について説明する。
 図3は、図1に示したロボットコントローラ10の構成の一例を示す機能ブロック図である。
 ロボット制御部120は、図2において説明されたように、処理装置12により実現される。なお、処理装置12が複数のCPUを含んで構成される場合、ロボット制御部120の一部又は全部の機能は、これら複数のCPUが制御プログラムPGrに従って協働して動作することで実現されてもよい。また、処理装置12がDSP等のハードウェアを含んで構成される場合、ロボット制御部120の一部又は全部は、DSP等のハードウェアにより実現されてもよい。
 ロボット制御部120は、例えば、情報取得部121、情報生成部122、動作制御部123、表示制御部124及び警告部125を有する。情報取得部121は、「取得部」の一例であり、情報生成部122は、「生成部」の一例である。また、動作制御部123は、「制御部」の一例である。
 情報取得部121は、例えば、端末装置30の位置を示す位置情報PINFを撮像装置(検出装置)40から取得し、端末装置30の姿勢を示す姿勢情報AINFを端末装置30から取得する。例えば、位置情報PINF及び姿勢情報AINF等の情報をロボットコントローラ10に送信する送信操作を作業者Uが端末装置30に対して行った場合に、端末装置30から姿勢情報AINFが送信され、撮像装置40から位置情報PINFが送信される。従って、情報取得部121は、送信操作を作業者Uが端末装置30に対して行った場合に、位置情報PINF及び姿勢情報AINFを取得する。送信操作は、例えば、操作装置(操作部)35が送信ボタンを含む場合、送信ボタンの押下であってもよい。なお、送信操作は、「所定の操作」の一例である。
 情報生成部122は、情報取得部121が取得した位置情報PINF及び姿勢情報AINFに基づいて、ロボット20の先端部HPの位置及び姿勢を規定する動作情報を生成する。例えば、情報生成部122は、情報取得部121が取得した位置情報PINF及び姿勢情報AINFを、動作テーブルMTBLに記憶する。これにより、動作テーブルMTBLには、位置情報PINFにより示される位置、及び、姿勢情報AINFにより示される姿勢が登録される。以下では、動作テーブルMTBLに記憶された位置情報PINFにより示される位置は、動作テーブルMTBLに登録された位置とも称される。同様に、動作テーブルMTBLに記憶された姿勢情報AINFにより示される姿勢は、動作テーブルMTBLに登録された姿勢とも称される。
 例えば、情報生成部122は、動作テーブルMTBLに登録された位置及び姿勢をロボット20の先端部HPの位置及び姿勢として確定することにより、動作テーブルMTBLに登録された位置及び姿勢をロボット20の先端部HPの位置及び姿勢として規定する。この場合、動作テーブルMTBLに記憶された位置情報PINF及び姿勢情報AINF(確定された位置及び姿勢をそれぞれ示す位置情報PINF及び姿勢情報AINF)が、ロボット20の先端部HPの位置及び姿勢を規定する動作情報に該当する。すなわち、情報生成部122は、動作テーブルMTBLに登録された位置及び姿勢を確定することにより、ロボット20の先端部HPの位置及び姿勢を規定する動作情報を生成する。
 動作制御部123は、情報取得部121が取得した位置情報PINF及び姿勢情報AINFに基づいて、ロボット20を動作させる。例えば、動作制御部123は、動作テーブルMTBLに登録された位置及び姿勢に基づいてドライバ回路17を制御することにより、ロボット20を動作させる。
 なお、動作制御部123は、動作テーブルMTBLに登録された位置及び姿勢を補正するための補正情報に基づいて、ロボット20を動作させてもよい。例えば、動作制御部123は、後述する図8に示す操作画面CHS等に表示されるGUI(Graphical User Interface)を介して、作業者Uにより指示される先端部HPの位置及び姿勢を示す補正情報の入力を受け付けてもよい。そして、動作制御部123は、動作テーブルMTBLに登録された位置及び姿勢を補正情報に基づいて補正してもよい。
 また、動作制御部123は、作業者Uがロボット20を手動で直接動かすことにより得られる補正情報に基づいて、動作テーブルMTBLに登録された位置及び姿勢を補正してもよい。具体的には、例えば、作業者Uは、動作テーブルMTBLに登録された位置及び姿勢に基づいて動作したロボット20の先端部HPの位置及び姿勢を目視等により確認する。そして、作業者Uは、ロボット20を手動で直接動かすことにより、先端部HPの位置及び姿勢を所望の位置及び姿勢に移動させる。この場合、動作制御部123は、作業者Uが移動させた先端部HPの位置及び姿勢を示す補正情報を取得し、動作テーブルMTBLに登録された位置及び姿勢を補正情報に基づいて補正する。
 補正情報に基づいて補正された位置及び姿勢は、例えば、動作テーブルMTBLに登録され、動作情報により規定される先端部HPの位置及び姿勢として、情報生成部122により確定される。
 表示制御部124は、例えば、図8に示す操作画面CHS等の各種画像を表示装置16に表示させる。
 警告部125は、例えば、情報取得部121が位置情報PINFを取得する度に、位置情報PINFにより示される位置がロボット20の先端部HPの可動範囲内であるか否かを判定し、位置情報PINFにより示される位置が可動範囲内でない場合に警告する。
 例えば、警告部125は、端末装置30の位置がロボット20の可動範囲外であることを、警告音等を出力することにより、作業者Uに警告してもよい。あるいは、警告部125は、端末装置30の位置がロボット20の可動範囲外であることを示す警告情報を端末装置30に送信してもよい。この場合、端末装置30は、例えば、端末装置30の位置がロボット20の可動範囲外であることを、警告音等を出力することにより、作業者Uに警告してもよい。
 警告音等の警告により、作業者Uは、例えば、所定の作業に対応する移動経路に沿うように端末装置30を移動させている最中に、ロボット20の先端部HPの可動範囲外に端末装置30を移動させたか否かを把握できる。この結果、作業者Uが、ロボット20の先端部HPの可動範囲内で端末装置30を効率よく移動させることができる。このため、本実施形態では、所定の作業に対応する移動経路に沿うように端末装置30を移動させる作業の効率を向上させることができる。
 なお、ロボットコントローラ10の構成は、図2及び図3に示した例に限定されない。例えば、警告部125は、省かれてもよい。
 次に、図4を参照しながら、端末装置30のハードウェア構成について説明する。
 図4は、図1に示した端末装置30のハードウェア構成の一例を示す図である。
 端末装置30は、端末装置30の各部を制御する処理装置32と、各種情報を記憶するメモリ33と、通信装置(通信部)34と、操作装置(操作部)35と、表示装置(表示部)36と、スピーカ37と、慣性センサ38と、撮像装置39とを有する。
 メモリ33は、例えば、処理装置32の作業領域として機能するRAM等の揮発性メモリと、制御プログラムPGt等の各種情報を記憶するEEPROM等の不揮発性メモリとの、一方又は両方を含む。なお、メモリ33は、図2において説明されたロボットコントローラ10のメモリ13と同様に、端末装置30に着脱可能であってもよいし、端末装置30とネットワーク等を介して通信可能に接続された記憶装置(例えば、オンラインストレージ)であってもよい。
 処理装置32は、端末装置30の全体を制御するプロセッサであり、図2において説明されたロボットコントローラ10の処理装置12と同様に構成される。例えば、処理装置32は、1又は複数のCPUを含んで構成される。そして、処理装置32は、メモリ33に記憶された制御プログラムPGtを実行し、制御プログラムPGtに従って動作することで、後述する図5に示す端末制御部320として機能する。なお、制御プログラムPGtは、ネットワーク等を介して他の装置から送信されてもよい。
 また、例えば、処理装置32が複数のCPUを含んで構成される場合、処理装置32の機能の一部又は全部は、これら複数のCPUが制御プログラムPGt等のプログラムに従って協働して動作することで実現されてもよい。また、処理装置32は、1又は複数のCPUに加え、又は、1又は複数のCPUのうち一部又は全部に代えて、GPU、DSP、又は、FPGA等のハードウェアを含んで構成されるものであってもよい。この場合、処理装置32の機能の一部又は全部は、DSP等のハードウェアにより実現されてもよい。
 通信装置34は、端末装置30の外部に存在する外部装置と通信を行うためのハードウェアである。例えば、通信装置34は、近距離無線通信によって外部装置と通信する機能を有する。なお、通信装置34は、移動体通信網又はネットワークを介して外部装置と通信する機能をさらに有してもよい。
 操作装置35は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、スイッチ、ボタン及びセンサ等)である。例えば、操作装置35は、作業者Uの操作を受け付け、操作に応じた操作情報を処理装置32に出力する。なお、例えば、表示装置36の表示面に対する接触を検出するタッチパネルが、操作装置35として採用されてもよい。
 表示装置36は、外部への出力を実施するディスプレイ等の出力デバイスである。表示装置36は、例えば、処理装置32による制御のもとで、画像を表示する。なお、操作装置35及び表示装置36は、一体となった構成(例えば、タッチパネル)であってもよい。
 スピーカ37は、処理装置32による制御のもとで各種の音を出力するハードウェアである。
 慣性センサ38は、例えば、3次元空間を表すXw軸、Yw軸、及び、Zw軸の各々における端末装置30の加速度と、Xw軸、Yw軸、及び、Zw軸の各々を軸として回転した場合の端末装置30の角速度とを検出する。Xw軸、Yw軸、及び、Zw軸の加速度を検出することで、端末装置30の移動距離を計測することができる。またXw軸、Yw軸、及び、Zw軸の角速度を検出することで、端末装置30の重力方向に対する傾き(姿勢)を検出できる。本実施形態の場合は、端末装置30の傾き(姿勢)を検出するため、Xw軸、Yw軸、及び、Zw軸の各々を軸として回転した場合の端末装置30の角速度の検出が必須である。
 撮像装置39は、カメラ等の光学的な手段により被写体を撮像するためのハードウェアである。例えば、撮像装置39は、被写体を撮像し、撮像した被写体の画像を示す画像情報を生成する。本実施形態では、端末装置30の位置が撮像装置40により測定されるため、撮像装置39は、対象物までの距離を測定する機能を有さなくてもよい。なお、撮像装置39は、対象物までの距離を測定する機能を有してもよい。すなわち、撮像装置39は、3次元カメラでもよいし、3次元カメラ以外のカメラでもよい。
 次に、図5を参照しながら、端末装置30の機能について説明する。
 図5は、図1に示した端末装置30の構成の一例を示す機能ブロック図である。
 端末制御部320は、図4において説明されたように、処理装置(制御部)32により実現される。なお、処理装置32が複数のCPUを含んで構成される場合、端末制御部320の一部又は全部の機能は、これら複数のCPUが制御プログラムPGtに従って協働して動作することで実現されてもよい。また、処理装置32がDSP等のハードウェアを含んで構成される場合、端末制御部320の一部又は全部は、DSP等のハードウェアにより実現されてもよい。
 端末制御部320は、例えば、操作通知部322、姿勢検出部324、警告制御部326及び表示制御部328を有する。
 操作通知部322は、ロボットコントローラ10及び撮像装置40の一方又は両方の動作に関する操作を操作装置35が受け付けた場合、操作装置35が受け付けた操作の内容を当該装置に通知する。例えば、操作通知部322は、位置情報PINF及び姿勢情報AINF等の情報をロボットコントローラ10に送信する送信操作を操作装置35が受け付けた場合、位置情報PINFの送信を指示する指示情報を、撮像装置40に送信する。なお、指示情報は、端末装置30からロボットコントローラ10を介して撮像装置40に送信されてもよい。
 姿勢検出部324は、慣性センサ38の加速度及び角速度の検出結果に基づいて端末装置30の姿勢を検出し、検出した姿勢を示す姿勢情報AINFを生成する。そして、姿勢検出部324は、端末装置30の姿勢を示す姿勢情報AINFを、通信装置(通信部)34を介してロボットコントローラ10に送信する。例えば、姿勢検出部324は、操作装置35が送信操作を受け付けた場合、端末装置30の姿勢を検出し、検出した姿勢を示す姿勢情報AINFをロボットコントローラ10に送信する。
 警告制御部326は、例えば、通信装置34が警告情報をロボットコントローラ10から受信した場合、警告音をスピーカ37から出力させる。これにより、端末装置30を把持している作業者Uは、端末装置30の位置がロボット20の可動範囲外であることを、把握できる。
 表示制御部328は、例えば、各種画像を表示装置(表示部)36に表示させる。例えば、表示制御部328は、各種操作に対応するGUIの画像を表示装置36に表示させてもよい。
 なお、端末装置30の構成は、図4及び図5に示した例に限定されない。例えば、表示装置36、スピーカ37及び撮像装置39の一部又は全部は、省かれてもよい。また、例えば、端末装置30は、バイブレータ等の振動発生装置を有してもよい。この場合、警告制御部326は、端末装置30の位置がロボット20の可動範囲外であることを、振動発生装置を振動させることにより、作業者Uに警告してもよい。また、例えば、端末装置30は、LED等の発光素子を有してもよい。この場合、警告制御部326は、端末装置30の位置がロボット20の可動範囲外であることを、発光素子を発光させることにより、作業者Uに警告してもよい。また、例えば、端末装置30の姿勢の検出に用いられるセンサは、慣性センサ38に限定されない。例えば、端末装置30は、慣性センサ38に加え、又は、慣性センサ38に代えて、磁気センサを有してもよい。
 次に、図6を参照しながら、ロボットシステム1の動作の概要について説明する。
 図6は、図1に示したロボットシステム1の動作の一例を示すシーケンスチャートである。図6では、所定の作業に対応する動作がロボット20に教示される場合のロボットシステム1の動作を中心に説明する。図6に示す例では、ロボットコントローラ10が、位置情報PINF及び姿勢情報AINFを取得する度に、位置情報PINFにより示される位置、及び、姿勢情報AINFにより示される姿勢を補正する場合を想定する。
 先ず、端末装置30は、ロボット20に対する教示の開始を示す教示開始情報TSINFを、ロボットコントローラ10及び撮像装置(検出装置)40に送信する(S300)。例えば、端末装置30は、ロボット20に対する教示を開始する操作を作業者Uが端末装置30に対して行った場合、教示開始情報TSINFを、ロボットコントローラ10及び撮像装置40に送信する。ロボットコントローラ10及び撮像装置40は、教示開始情報TSINFを受信する(S100及びS400)。ロボットコントローラ10及び撮像装置40は、教示開始情報TSINFを受信することにより、ロボット20に対する教示が開始することを認識する。
 例えば、撮像装置40は、教示開始情報TSINFを受信した場合、端末装置30の撮像を開始してもよい。また、ロボットコントローラ10は、教示開始情報TSINFを受信した場合、ロボット20の先端部HP等を、撮像装置40による端末装置30の撮像の邪魔にならない位置(例えば、撮像装置40の撮像範囲外)に退避させてもよい。なお、撮像装置40による端末装置30の撮像、及び、ロボット20の先端部HPの退避は、教示開始情報TSINFが送信される前(ロボット20に対する教示が開始される前)に、実行されてもよい。
 次に、端末装置30は、位置情報PINF及び姿勢情報AINF等の情報をロボットコントローラ10に送信する送信操作を受け付ける。なお、図6に示す例では、ロボット20に対する教示において、作業者Uが送信操作を3回行う場合を想定する。1回の送信操作において、ステップS320~S324の一連の処理、ステップS420~S424の一連の処理、ステップS120~S160の一連の処理、及び、ステップS200~S220の一連の処理が実行される。図6では、繰り返し実行される処理を互いに区別するために、ステップS120~S160、S200~S220、S320~S324、及び、S420~S424の各々の符号の末尾には、小文字のアルファベット(a、b又はc)が付されている。同様に、位置情報PINF及び姿勢情報AINFの各々の符号の末尾にも、小文字のアルファベット(a、b又はc)が付されている。
 例えば、端末装置30は、1回目の送信操作を受け付けたことを契機に、位置情報PINFの送信を指示する指示情報TINFを撮像装置40に送信する(S320a)。これにより、撮像装置40は、指示情報TINFを受信する(S420a)。また、端末装置30は、1回目の送信操作を受け付けたことを契機に、端末装置30の姿勢を検出し、検出した姿勢を示す姿勢情報AINFaを生成する(S322a)。そして、端末装置30は、生成した姿勢情報AINFaをロボットコントローラ10に送信する(S324a)。これにより、ロボットコントローラ10は、端末装置30が1回目の送信操作を受け付けたことを契機に生成された姿勢情報AINFaを受信する(S122a)。
 また、撮像装置40は、指示情報TINFを受信したことを契機に、端末装置30の位置を示す位置情報PINFaを生成する(S422a)。そして、撮像装置40は、生成した位置情報PINFaをロボットコントローラ10に送信する(S424a)。すなわち、撮像装置40は、端末装置30が1回目の送信操作を受け付けたことを契機に、端末装置30の位置を示す位置情報PINFaを生成し、生成した位置情報PINFaをロボットコントローラ10に送信する。これにより、ロボットコントローラ10は、端末装置30が1回目の送信操作を受け付けたことを契機に生成された位置情報PINFaを受信する(S120a)。
 このように、ロボットコントローラ10は、端末装置30が1回目の送信操作を受け付けたことを契機に、位置情報PINFa及び姿勢情報AINFaを取得する。そして、ロボットコントローラ10は、撮像装置40から取得した位置情報PINFa及び端末装置30から取得した姿勢情報AINFaを、動作テーブルMTBLに記憶する(S124a)。これにより、位置情報PINFaにより示される位置及び姿勢情報AINFaにより示される姿勢が動作テーブルMTBLに登録される。
 次に、ロボットコントローラ10は、ロボット20の先端部HPの位置及び姿勢を動作テーブルMTBLに登録された位置及び姿勢にする駆動信号CTLmをロボット20に出力する(S140a)。これにより、ロボット20は、駆動信号CTLmを受信する(S200a)。そして、ロボット20は、駆動信号CTLmに従って、ロボット20の先端部HPの位置及び姿勢を移動する(S202a)。
 次に、ロボットコントローラ10は、動作テーブルMTBLに登録された位置及び姿勢を補正する(S160a)。例えば、ロボットコントローラ10は、後述する図8に示す操作画面CHSに表示されるGUIを介して取得した補正情報に基づいて、ロボット20の動作を制御する。これにより、ロボット20の先端部HPの位置及び姿勢は、補正情報により示される位置及び姿勢に移動する(S220a)。
 ステップS160a及びS220aの処理は、例えば、ロボット20の先端部HPの位置及び姿勢が目標の位置及び姿勢(すなわち、規定されるべき位置及び姿勢)になるまで実行される。また、例えば、ロボットコントローラ10は、動作テーブルMTBLに登録された位置及び姿勢の補正が終了した後、ロボット20の先端部HP等を、撮像装置40による端末装置30の撮像の邪魔にならない位置に退避させる。
 なお、ロボット20の先端部HPの位置及び姿勢の移動は、作業者Uがロボット20を手動で直接動かすことにより、実現されてもよい。この場合、ロボットコントローラ10は、作業者Uが移動させた先端部HPの位置及び姿勢を示す補正情報に基づいて、動作テーブルMTBLに登録された位置及び姿勢を補正する。
 ステップS160a及びS220aの処理の終了により、1回目の送信操作に対応する処理(ステップS120a~S160a、S200a~S220a、S320a~S324a、及び、S420a~S422aの一連の処理)は終了する。
 2回目の送信操作に対応する処理、及び、3回目の送信操作に対応する処理も、1回目の送信操作に対応する処理と同様に実行される。例えば、ロボットコントローラ10は、端末装置30が2回目の送信操作を受け付けたことを契機に、位置情報PINFb及び姿勢情報AINFbを取得する(S120b及びS122b)。また、ロボットコントローラ10は、端末装置30が3回目の送信操作を受け付けたことを契機に、位置情報PINFc及び姿勢情報AINFcを取得する(S120c及びS122c)。
 作業者Uは、例えば、3回目の送信操作を端末装置30に対して行った後、ロボット20に対する教示を終了する操作を端末装置30に対して行う。端末装置30は、ロボット20に対する教示を終了する操作を受け付けたことを契機に、ロボット20に対する教示の終了を示す教示終了情報TEINFを、ロボットコントローラ10及び撮像装置40に送信する(S340)。ロボットコントローラ10及び撮像装置40は、教示終了情報TEINFを受信する(S180及びS440)。ロボットコントローラ10及び撮像装置40は、教示終了情報TEINFを受信することにより、ロボット20に対する教示が終了したことを認識する。
 例えば、ロボットコントローラ10は、教示終了情報TEINFを受信した場合、動作テーブルMTBLに登録された位置及び姿勢を、所定の作業に対応する動作を実行するロボット20の先端部HPの位置及び姿勢として確定する。これにより、所定の作業に対応する動作を実行するロボット20の先端部HPの位置及び姿勢を規定する動作情報が動作テーブルMTBLに記憶される。また、例えば、撮像装置40は、教示終了情報TEINFを受信した場合、端末装置30の撮像を終了する。
 ロボットコントローラ10は、ロボット20に対する教示が終了した後、規定の動作をロボット20に実行させる駆動信号CTLopを、ロボット20に出力する(S190)。そして、ロボット20は、駆動信号CTLopに従って、規定の動作を実行する(S242)。規定の動作は、動作情報により規定される位置及び姿勢に従った動作である。
 なお、ロボットシステム1の動作は、図6に示した例に限定されない。例えば、ロボット20に対する教示を開始する操作、及び、ロボット20に対する教示を終了する操作は、ロボットコントローラ10の操作装置15に対して実行されてもよい。また、例えば、動作テーブルMTBLに登録された位置及び姿勢を補正する処理は、必要に応じて実行されればよく、省略されてもよい。また、例えば、ロボットコントローラ10は、2回目又は3回目の送信操作が行われた後に、1回目の送信操作に対応する位置情報PINF及び姿勢情報AINFによりそれぞれ示される位置及び姿勢の補正を実行してもよい。同様に、ロボットコントローラ10は、3回目の送信操作が行われた後に、2回目の送信操作に対応する位置情報PINF及び姿勢情報AINFによりそれぞれ示される位置及び姿勢の補正を実行してもよい。
 また、例えば、端末装置30は、指示情報TINFを撮像装置40に送信しなくてもよい。この場合、ロボットコントローラ10は、端末装置30から姿勢情報APINFを取得したことを契機に、位置情報PINFの送信を撮像装置40に要求してもよい。
 次に、図7を参照しながら、動作テーブルMTBLについて説明する。
 図7は、図2に示した動作テーブルMTBLの一例を示す説明図である。
 図7に示す動作テーブルMTBLは、複数の作業と1対1に対応する複数の動作の各々について、動作情報を記憶する。複数の動作の各々は、例えば、動作IDにより識別される。各動作IDに対応する動作情報は、当該動作IDにより示される動作の教示において、ロボットコントローラ10(より詳細には、情報取得部121)が取得した位置情報PINFの数と同じ数のレコードを有する。各レコードは、位置番号と、ロボット20の先端部HPの位置を規定する位置情報PINF、ロボット20の先端部HPの姿勢を規定する姿勢情報AINF、及びロボット20の動作を示す情報を有する。本実施形態では、情報取得部121が位置情報PINFを取得した順番が位置番号として設定される。
 位置番号は、例えば、動作情報により示される複数の位置の各々を先端部HPが移動する場合の移動順を示す。例えば、“m001”の動作IDに対応する動作情報が有する位置番号は、先端部HPが位置情報PINFaにより示される位置から位置情報PINFbにより示される位置を経由して位置情報PINFcにより示される位置に移動することを示す。
 また、例えば、“m001”の動作IDに対応する動作情報は、複数の位置情報PINFa、PINFb及びPINFcと、複数の姿勢情報AINFa、AINFb及びAINFcとを有する。さらに、“m001”の動作IDに対応する動作情報は、複数の位置情報PINFa、PINFb及びPINFcの各々により示される位置においてロボット20に実行させる動作を示す情報を有する。例えば、“m001”の動作IDに対応する動作情報は、位置情報PINFaにより示される位置においてロボット20に実行させる動作を示す情報として、物体への顔料の塗布の開始を示す情報を有する。また、“m001”の動作IDに対応する動作情報は、位置情報PINFbにより示される位置においてロボット20に実行させる動作を示す情報として、物体への顔料の塗布の継続を示す情報を有する。さらに、“m001”の動作IDに対応する動作情報は、位置情報PINFcにより示される位置においてロボット20に実行させる動作を示す情報として、物体への顔料の塗布の終了を示す情報を有する。
 動作テーブルMTBLは、図7に示した例に限定されない。例えば、各動作IDに対応する動作情報は、位置情報PINFにより示される位置においてロボット20に実行させる動作を示す情報及び位置番号の一方又は両方を有さなくてもよい。また、ロボット20が行う作業は、物体への顔料の塗布に限定されない。
 次に、図8を参照しながら、動作テーブルMTBLに登録された位置及び姿勢の補正を行うための操作画面CHSの概要について説明する。
 図8は、操作画面CHSの一例を説明するための説明図である。なお、図8では、操作画面CHSが確認画面と補正画面との間で切り替え可能である場合を想定する。確認画面は、動作テーブルMTBLに登録された位置及び姿勢に従ってロボット20を動作させるための操作画面CHSである。なお、確認画面では、動作テーブルMTBLに登録された位置及び姿勢の補正はできない。補正画面は、動作テーブルMTBLに登録された位置及び姿勢に従ってロボット20を動作させ、動作テーブルMTBLに登録された位置及び姿勢を補正するための操作画面CHSである。図8では、操作画面CHSが補正画面である場合を例にして、操作画面CHSの概要を説明する。
 例えば、ロボットコントローラ10の表示制御部124は、操作画面CHSを表示装置16に表示させるための表示情報を、表示装置16に出力する。これにより、操作画面CHSが表示装置16に表示される。表示制御部124による表示情報の生成は、操作画面CHSを表示するための操作がロボットコントローラ10に対して実行されたことを契機に実行されてもよいし、教示開始情報TSINFをロボットコントローラ10が受信したことを契機に実行されてもよい。
 操作画面CHSは、複数の表示ウィンドウWD(WDs、WDid、WDp及びWDc)を含む。表示ウィンドウWDsには、現在の操作画面CHSが確認画面であるか補正画面であるかが表示される。表示ウィンドウWDidには、実行させる動作に対応する動作IDが表示される。表示ウィンドウWDpには、現在の位置番号が表示される。表示ウィンドウWDcには、現在の位置番号におけるロボット20の先端部HPの位置及び姿勢が表示される。例えば、図1において説明されたように、先端部HPの位置は、先端部HPの面SFhの中心の座標で表され、先端部HPの姿勢は、回転軸Hxの回転角度、回転軸Hyの回転角度及び回転軸Hzの回転角度を用いて表される。
 さらに、操作画面CHSには、GUI用の複数のボタンBT(BTs、BTm、BTc、BTcn、BTd、BTh及びBTf)等が表示される。ボタンBTsは、現在の操作画面CHSを、確認画面及び補正画面の一方から他方に切り替えるためのGUIである。図8に示す例では、作業者UがボタンBTsを選択(例えば、押下)した場合、操作画面CHSは、補正画面から確認画面に切り替わる。
 ボタンBTmは、ロボット20の動作を制御するためのGUIである。例えば、「開始」のボタンBTmが押下された場合、ロボットコントローラ10の動作制御部123は、ロボット20を動作テーブルMTBLに登録された位置及び姿勢に従ってロボット20を動作させる。また、「停止」のボタンBTmが押下された場合、動作制御部123は、ロボット20の動作を停止する。また、例えば、「前」のボタンBTmが押下された場合、動作制御部123は、先端部HPの位置及び姿勢を、現在の位置番号から1つ前の位置番号に対応する位置及び姿勢に移動させる。また、例えば、「次」のボタンBTmが押下された場合、動作制御部123は、先端部HPの位置及び姿勢を、現在の位置番号から次の位置番号に対応する位置及び姿勢に移動させる。
 ボタンBTcは、動作テーブルMTBLに登録された位置及び姿勢を補正するための補正情報の入力を受け付けるGUIである。ボタンBTcは、「受付部」の一例である。なお、ボタンBTc等を含む操作画面CHSが表示される表示装置16を「受付部」として捉えてもよい。動作制御部123は、例えば、ボタンBTcを介して受け付けた補正情報に基づいて、先端部HPの位置及び姿勢の一方又は両方を移動させる。
 例えば、Xw軸に対応する「+」及び「-」のボタンBTcのうち、「+」のボタンBTcが押下された場合、動作制御部123は、先端部HPの位置をXw軸の正の方向に移動させる。また、Xw軸に対応する「+」及び「-」のボタンBTcのうち、「-」のボタンBTcが押下された場合、動作制御部123は、先端部HPの位置をXw軸の負の方向に移動させる。
 また、例えば、回転軸Hxに対応する「+」及び「-」のボタンBTcのうち、「+」のボタンBTcが押下された場合、動作制御部123は、回転軸Hxの回転角度が大きくなるように、回転軸Hxを軸として先端部HPを回転させる。また、例えば、回転軸Hxに対応する「+」及び「-」のボタンBTcのうち、「-」のボタンBTcが押下された場合、動作制御部123は、回転軸Hxの回転角度が小さくなるように、回転軸Hxを軸として先端部HPを回転させる。例えば、回転軸Hxに沿う所定の方向から回転軸Hxを見た場合、回転軸Hxの回転角度は、回転軸Hxを軸として先端部HPを右回りに回転させることにより、大きくなり、回転軸Hxを軸として先端部HPを左回りに回転させることにより、小さくなる。
 ボタンBTcnは、補正情報に基づいて補正された位置及び姿勢を、動作情報により規定される先端部HPの位置及び姿勢として確定せずに、取り消すためのGUIである。例えば、ボタンBTcnが押下された場合、動作制御部123は、先端部HPの位置及び姿勢を、補正前の先端部HPの位置及び姿勢(現在の位置番号における先端部HPの位置及び姿勢)に移動させる。
 ボタンBTdは、動作テーブルMTBLに登録された位置及び姿勢を、動作情報により規定される先端部HPの位置及び姿勢として確定するためのGUIである。例えば、ボタンBTcnが押下された場合、情報生成部122は、動作テーブルMTBLに登録された位置及び姿勢を、動作情報により規定される先端部HPの位置及び姿勢として確定する。
 また、ボタンBThは、作業者Uがロボット20を手動で直接移動させた場合の先端部HPの位置及び姿勢を示す補正情報を動作制御部123に取得させるためのGUIである。例えば、ボタンBThが押下された場合、動作制御部123は、作業者Uがロボット20を手動で直接移動させた場合の先端部HPの位置及び姿勢を示す補正情報を取得する。そして、表示制御部124は、表示装置16を制御して、補正情報により示される位置(座標)及び姿勢(回転角度)を表示ウィンドウWDcに表示する。
 また、ボタンBTfは、操作画面CHSの表示を終了させるためのGUIである。なお、ボタンBTcの押下等により補正が実行された後に、ボタンBTdが押下されずに、ボタンBTfが押下された場合、動作テーブルMTBLに登録された位置及び姿勢は、補正が実行される前の内容から変更されなくてもよい。あるいは、ボタンBTcの押下等により補正が実行された後に、ボタンBTdが押下されずに、ボタンBTfが押下された場合、動作テーブルMTBLに登録された位置及び姿勢が、動作情報により規定される先端部HPの位置及び姿勢として確定されてもよい。また、ボタンBTcの押下等により補正が実行された後に、ボタンBTdが押下されずに、ボタンBTfが押下された場合、動作テーブルMTBLに登録された位置及び姿勢を変更するか否かを選択するためのGUIが表示されてもよい。
 なお、操作画面CHSの例は、図8に示した例に限定されない。例えば、作業者Uは、目標となる先端部HPの位置及び姿勢を示す数値(座標及び角度等)を表示ウィンドウWDcに直接入力してもよい。この場合、表示ウィンドウWDcは、「受付部」に該当する。例えば、動作制御部123は、表示ウィンドウWDcを介して補正情報を受け付ける。そして、動作制御部123は、表示ウィンドウWDcを介して受け付けた補正情報に基づいて、先端部HPの位置及び姿勢の一方又は両方を移動させる。
 また、操作画面CHSが確認画面である場合、例えば、ボタンBTc、BTcn及びBTdは、作業者Uによる操作ができないように、操作画面CHSに表示される。あるいは、操作画面CHSが確認画面である場合、ボタンBTc、BTcn及びBTdは、操作画面CHSに表示されなくてもよい。また、ロボット20の動作の確認は補正画面でも行えるため、確認画面及び補正画面のうちの補正画面のみに対応する操作画面CHSが採用されてもよい。
 また、図8では、ボタンBTcが「受付部」の一例である場合を例示したが、ボタンBTc等と同様の機能が割り当てられた物理的なボタンが操作装置15としてロボットコントローラ10に設けられている場合、操作装置15も、「受付部」の一例である。
 また、操作画面CHSは、端末装置30が有する表示装置36に表示されてもよい。この場合、操作画面CHSを表示装置36に表示させるための表示情報は、ロボットコントローラ10の表示制御部124により生成されてもよいし、端末装置30の表示制御部328により生成されてもよい。また、例えば、ボタンBTc等と同様の機能が割り当てられた物理的なボタンが操作装置35として端末装置30に設けられてもよい。
 次に、図9を参照しながら、ロボットコントローラ10の動作の概要について説明する。
 図9は、図1に示したロボットコントローラ10の動作の一例を示すフローチャートである。なお、図9は、ロボット20に対する教示を開始する操作を作業者Uが端末装置30又はロボットコントローラ10に対して行った場合のロボットコントローラ10の動作の一例を示す。図6において説明された動作については、詳細な説明を省略する。図9では、ロボット20に対する教示を開始する操作、及び、ロボット20に対する教示を終了する操作が端末装置30の操作装置35に対して実行される場合を想定する。例えば、ステップS120の処理は、ロボット20に対する教示を開始する操作が操作装置35に対して実行された後に、実行される。また、図9では、ステップS120の処理が実行される前に、操作画面CHSが表示されている場合を想定する。
 先ず、ステップS120において、処理装置12は、情報取得部121として機能し、端末装置30の位置を示す位置情報PINFを撮像装置40から取得する。
 次に、ステップS122において、処理装置12は、情報取得部121として機能し、端末装置30の姿勢を示す姿勢情報AINFを端末装置30から取得する。
 次に、ステップS124において、処理装置12は、情報生成部122として機能し、ステップS120において取得された位置情報PINF及びステップS122において取得された姿勢情報AINFを動作テーブルMTBLに記憶する。
 次に、ステップS130において、処理装置12は、動作制御部123として機能し、ロボット20の動作確認が行われるか否かを判定する。ロボット20の動作確認が行われるか否かは、ロボット20と撮像装置40のキャリブレーションが事前に行われているか否かによって判断しても良い。ロボット20と撮像装置40のキャリブレーションがなされている場合は、端末装置30とロボット20のキャリブレーションもなされているため、ロボット20の動作確認は不要となる。一方、ロボット20と撮像装置40のキャリブレーションが事前に行われていない場合、ロボット20の動作確認により、端末装置30で教示した位置と、ロボット20の移動する位置を合わせることが必要となる。また、ロボット20の動作確認は、ロボット20と撮像装置40のキャリブレーション以外に、実際のロボット20の動作を確認することで、障害物等を確認し、位置や姿勢を修正するために行っても良い。
 判定の操作に関しては、例えば、動作制御部123は、操作画面CHSに表示されたボタンBTmが押下されたか否かを判定することにより、ロボット20の動作確認が行われるか否かを判定してもよい。この場合、動作制御部123は、例えば、教示終了情報TEINF、次の位置情報PINF、又は、次の姿勢情報APINF等をロボットコントローラ10の通信装置14が受信する前に、ボタンBTmが押下された場合、ロボット20の動作確認が行われると判定する。
 ステップS130における判定の結果が肯定の場合、処理装置12は、処理をステップS140に進める。一方、ステップS130における判定の結果が否定の場合、処理装置12は、処理をステップS182に進める。
 ステップS140において、処理装置12は、動作制御部123として機能し、動作テーブルMTBLに登録された位置及び姿勢に基づいて、先端部HPの位置及び姿勢を移動させる。そして、処理装置12は、処理をステップS150に進める。
 ステップS150において、処理装置12は、動作制御部123として機能し、動作テーブルMTBLに登録された位置及び姿勢の補正が実行されるか否かを判定する。例えば、動作制御部123は、操作画面CHSに表示されたボタンBTc又はBThが押下されたか否かを判定することにより、補正が実行されるか否かを判定してもよい。この場合、動作制御部123は、例えば、教示終了情報TEINF、次の位置情報PINF、又は、次の姿勢情報APINF等を通信装置14が受信する前に、ボタンBTc又はBThが押下された場合、補正が実行されると判定する。あるいは、動作制御部123は、例えば、教示終了情報TEINF、次の位置情報PINF、又は、次の姿勢情報APINF等を通信装置14が受信する前に、先端部HPの位置等を示す数値が表示ウィンドウWDcに入力された場合、補正が実行されると判定してもよい。
 ステップS150における判定の結果が肯定の場合、処理装置12は、処理をステップS160に進める。一方、ステップS150における判定の結果が否定の場合、処理装置12は、処理をステップS182に進める。
 ステップS160において、処理装置12は、動作制御部123として機能し、動作テーブルMTBLに登録された位置及び姿勢を補正する。例えば、動作制御部123は、操作画面CHSに表示されたボタンBTc等を介して受け付けた補正情報に基づいて、動作テーブルMTBLに登録された位置及び姿勢を補正する。そして、処理装置12は、処理をステップS162に進める。
 ステップS162において、処理装置12は、情報生成部122として機能し、ステップS160において実行された補正の確定又は取り消しを実行する。例えば、情報生成部122は、ボタンBTdが押下された場合、ステップS160において実行された補正を確定し、ボタンBTcnが押下された場合、ステップS160において実行された補正を取り消す。処理装置12は、ステップS162の処理を実行した後、処理をステップS182に進める。
 ステップS182において、処理装置12は、動作制御部123として機能し、ロボット20に対する教示が終了したか否かを判定する。例えば、動作制御部123は、次の位置情報PINF、又は、次の姿勢情報APINF等を通信装置14が受信する前に、教示終了情報TEINFを通信装置14が受信した場合、ロボット20に対する教示が終了したと判定する。
 ステップS182における判定の結果が肯定の場合、処理装置12は、処理をステップS184に進める。一方、ステップS182における判定の結果が否定の場合、処理装置12は、処理をステップS120に戻す。
 ステップS184において、処理装置12は、情報生成部122として機能し、動作テーブルMTBLに登録された位置及び姿勢を、動作情報により規定される先端部HPの位置及び姿勢として確定する。これにより、先端部HPの位置及び姿勢を規定する動作情報が生成される。これらの規定された位置および姿勢を順につなぐことでロボット20の軌道情報が生成される。ロボット20は、これらの規定された位置および姿勢になるように、順に動作することで、軌道情報にそった動作を実現する。なお、ステップ130~182の動作確認における位置及び姿勢の補正は、軌道情報を生成した後に実行されても良い。あるいは、補正した位置および姿勢から軌道情報が生成されても良い。
 なお、ロボットコントローラ10の動作は、図9に示した例に限定されない。例えば、ステップS122の処理は、ステップS120の処理より先に実行されてもよいし、ステップS120の処理と並列に実行されてもよい。
 以上、本実施形態では、ロボットコントローラ10は、情報取得部121及び情報生成部122を有する。情報取得部121は、端末装置30の位置を示す位置情報PINF、及び、端末装置30の姿勢を示す姿勢情報AINFを取得する。情報生成部122は、情報取得部121が取得した位置情報PINF及び姿勢情報AINFに基づいて、ロボット20の先端部HPの位置及び姿勢を規定する動作情報を生成する。
 このように、本実施形態では、ロボット20の先端部HPの位置及び姿勢を規定する動作情報が端末装置30の位置及び姿勢に基づいて生成される。例えば、作業者Uが端末装置30の位置及び姿勢を移動させる作業では、作業者Uがロボット20を手動で直接動かす作業に比べて、作業者Uの体力的及び時間的な負担が軽減される。従って、本実施形態では、作業者Uがロボット20を最初から手動で直接動かすことにより、ロボット20の先端部HPの位置及び姿勢を規定する動作情報を生成する教示方法に比べて、作業者Uの体力的及び時間的な負担が増加することを抑制することができる。
 また、本実施形態では、情報取得部121は、端末装置30に対して作業者Uが所定の操作を行った場合に位置情報PINF及び姿勢情報AINFを取得する。例えば、所定の操作は、位置情報PINF及び姿勢情報AINF等の情報をロボットコントローラ10に送信する送信操作である。作業者Uは、例えば、端末装置30の位置及び姿勢を目標の位置及び姿勢に移動させたタイミングで所定の操作を行うことにより、目標の位置を示す位置情報PINF及び目標の姿勢を示す姿勢情報AINFを情報取得部121に取得させることができる。この結果、本実施形態では、目標の位置を示す位置情報PINF及び目標の姿勢を示す姿勢情報AINFを情報取得部121に容易に取得させることができる。
 また、本実施形態では、位置情報PINFは、端末装置30を撮像する撮像装置40により生成される。そして、本実施形態では、情報取得部121は、撮像装置40により生成された位置情報PINFを取得する。このように、本実施形態では、位置情報PINFが撮像装置40により生成されるため、ロボットコントローラ10が端末装置30の位置を測定する態様に比べて、ロボットコントローラ10の処理が煩雑になることを抑制することができる。また、ロボットコントローラ10を含むロボットシステム1は、撮像装置40として、物体の位置を測定する3次元カメラ等の既知のカメラを採用することができる。この結果、本実施形態では、ロボットシステム1を容易に実現することができる。
 また、本実施形態では、ロボットコントローラ10は、情報取得部121が取得した位置情報PINF及び姿勢情報AINFに基づいて、ロボット20を動作させる動作制御部123をさらに有する。この結果、本実施形態では、情報取得部121が取得した位置情報PINF及び姿勢情報AINFに基づくロボット20の動作を作業者Uに容易に確認させることができる。この結果、本実施形態では、ロボット20の先端部HPの位置及び姿勢を規定する動作情報を生成するための作業の効率を向上させることができる。
 また、本実施形態では、動作制御部123は、作業者Uが移動させた先端部HPの位置及び姿勢を示す補正情報を取得し、位置情報PINFにより示される位置、及び、姿勢情報AINFにより示される姿勢を補正情報に基づいて補正してもよい。このように、本実施形態では、情報取得部121が取得した位置情報PINF及び姿勢情報AINFによりそれぞれ示される位置及び姿勢を補正情報に基づいて補正することができるため、ロボット20の先端部HPの位置及び姿勢を精度よく規定することができる。
 また、本実施形態では、位置情報PINFにより示される位置、及び、姿勢情報AINFにより示される姿勢を補正するための補正情報の入力を受け付ける受付部(例えば、GUIとして操作画面CHSに表示されるボタンBTc等)をさらに有する。作業者Uは、例えば、ボタンBTcを押下することにより、ロボット20の先端部HPの位置及び姿勢を目標の位置及び姿勢に容易に移動させることができる。この結果、本実施形態では、作業者Uの負担が増加することを抑制しつつ、ロボット20の先端部HPの位置及び姿勢を精度よく規定することができる。
 また、本実施形態では、ロボットコントローラ10は、位置情報PINFにより示される位置が先端部HPの可動範囲内であるか否かを判定し、先端部HPにより示される位置が先端部HPの可動範囲内でない場合に警告する警告部125をさらに有する。この場合、作業者Uは、例えば、警告音等の警告を認識することにより、端末装置30の位置がロボット20の可動範囲外であることを、把握できる。例えば、作業者Uが、端末装置30を移動させる作業が終了した後に、端末装置30の移動経路がロボット20の可動範囲外に存在することを把握した場合、端末装置30を移動させる作業を作業者Uが再度行うことになる場合がある。この場合、ロボット20の先端部HPの位置及び姿勢を規定する動作情報を生成するための作業の効率は低下する。換言すれば、本実施形態では、ロボット20の先端部HPの位置及び姿勢を規定する動作情報を生成するための作業の効率を向上させることができる。
[2.変形例]
 本発明は、以上に例示した実施形態に限定されない。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様を併合してもよい。
[第1変形例]
 上述した実施形態では、端末装置30に対して作業者Uが所定の操作を行った場合に情報取得部121が位置情報PINF及び姿勢情報AINFを取得する場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、情報取得部121は、後述する図10に示すように、取得期間中に、位置情報PINF及び姿勢情報AINFを繰り返し取得してもよい。
 図10は、第1変形例に係るロボットシステム1の動作の一例を示すシーケンスチャートである。図6において説明された動作と同様の動作については、詳細な説明を省略する。図10に示す動作では、作業者Uにより開始タイミングT1と終了タイミングT2とが指定される取得期間中に、ロボットコントローラ10(より詳細には、情報取得部121)が位置情報PINF及び姿勢情報AINFを繰り返し取得する。
 図10では、端末装置30が有する操作装置35に対して、作業者Uが、取得期間を開始する開始操作、及び、取得期間を終了する終了操作を行う場合を想定する。例えば、操作装置35が送信ボタンを含む場合、開始操作は、送信ボタンの押下であってもよいし、終了操作は、送信ボタンの押下の解除であってもよい。この場合、送信ボタンが押下されている期間が、取得期間に対応する。また、例えば、操作装置35が開始ボタン及び終了ボタンを含む場合、開始操作は、開始ボタンの押下であってもよいし、終了操作は、終了ボタンの押下であってもよい。
 また、図10においても、図6と同様に、繰り返し実行される処理を互いに区別するために、ステップS120~S124、S322~S324、及び、S422~S424の各々の符号の末尾には、小文字のアルファベット(a、b又はc)が付されている。また、位置情報PINF及び姿勢情報AINFの各々の符号の末尾にも、小文字のアルファベット(a、b又はc)が付されている。
 先ず、端末装置30は、ロボット20に対する教示を開始する操作を受け付けたことを契機に、教示開始情報TSINFをロボットコントローラ10及び撮像装置(検出装置)40に送信する(S300)。これにより、ロボットコントローラ10及び撮像装置40は、教示開始情報TSINFを受信する(S100及びS400)。
 次に、端末装置30は、取得期間を開始する開始操作を受け付けたことを契機に、取得期間の開始を示す開始情報PSINFをロボットコントローラ10及び撮像装置40に送信する(S302)。これにより、ロボットコントローラ10及び撮像装置40は、開始情報PSINFを受信する(S102及びS402)。なお、開始情報PSINFは、端末装置30からロボットコントローラ10を介して撮像装置40に送信されてもよい。ロボットコントローラ10及び撮像装置40は、開始情報PSINFを受信することにより、取得期間が開始することを認識する。
 取得期間では、端末装置30は、端末装置30の姿勢を示す姿勢情報AINFを生成する処理と、生成した姿勢情報AINFをロボットコントローラ10に送信する処理とを含む一連の処理を繰り返し実行する(S322及びS324)。また、撮像装置40は、端末装置30の位置を示す位置情報PINFを生成する処理と、生成した位置情報PINFをロボットコントローラ10に送信する処理とを含む一連の処理を繰り返し実行する(S422及びS424)。そして、ロボットコントローラ10は、位置情報PINF及び姿勢情報AINFを取得する処理と、取得した位置情報PINF及び姿勢情報AINFを動作テーブルMTBLに記憶する処理とを含む一連の処理を繰り返し実行する(S120、S122及びS124)。
 次に、端末装置30は、取得期間を終了する終了操作を受け付けたことを契機に、取得期間の終了を示す終了情報PEINFをロボットコントローラ10及び撮像装置40に送信する(S326)。これにより、ロボットコントローラ10及び撮像装置40は、終了情報PEINFを受信する(S126及びS426)。なお、終了情報PEINFは、端末装置30からロボットコントローラ10を介して撮像装置40に送信されてもよい。ロボットコントローラ10及び撮像装置40は、終了情報PEINFを受信することにより、取得期間が終了したことを認識する。
 ロボットコントローラ10は、ロボット20の先端部HPの位置及び姿勢を動作テーブルMTBLに登録された位置及び姿勢にする駆動信号CTLmをロボット20に出力する(S140)。これにより、ロボット20は、駆動信号CTLmを受信する(S200a)。そして、ロボット20は、駆動信号CTLmに従って、ロボット20の先端部HPの位置及び姿勢を移動する(S202)。
 次に、ロボットコントローラ10は、動作テーブルMTBLに登録された位置及び姿勢を補正する(S160)。例えば、ロボット20の先端部HPの位置及び姿勢は、補正情報により示される位置及び姿勢に移動する(S220)。
 端末装置30は、ロボット20に対する教示を終了する操作を受け付けたことを契機に、教示終了情報TEINFをロボットコントローラ10及び撮像装置40に送信する(S340)。ロボットコントローラ10及び撮像装置40は、教示終了情報TEINFを受信する(S180及びS440)。ロボットコントローラ10及び撮像装置40は、教示終了情報TEINFを受信することにより、ロボット20に対する教示が終了したことを認識する。
 ロボットコントローラ10は、ロボット20に対する教示が終了した後、規定の動作をロボット20に実行させる駆動信号CTLopを、ロボット20に出力する(S190)。そして、ロボット20は、ロボットコントローラ10から受信した駆動信号CTLopに従って、規定の動作を実行する(S240及びS242)。
 なお、ロボットシステム1の動作は、図10に示した例に限定されない。例えば、動作テーブルMTBLに登録された位置及び姿勢を補正する処理は、必要に応じて実行されればよく、省略されてもよい。また、取得期間中に位置情報PINF及び姿勢情報AINFを情報取得部121が繰り返し取得する間隔は、所定の周期でもよい。あるいは、端末装置30は、位置情報PINFを送信してから所定の距離だけ移動する度に、次の位置情報PINF、及び、図6において説明された指示情報TINFを送信してもよい。この場合、端末装置30の移動量は、例えば、慣性センサ38の検出結果に基づいて算出されてもよい。
 次に、図11を参照しながら、第1変形例に係るロボットコントローラ10の動作の概要について説明する。
 図11は、第1変形例に係るロボットコントローラ10の動作の一例を示すフローチャートである。図11に示す動作は、取得期間が終了した後に、ロボット20の動作確認等が実行されることを除いて、図9に示した動作と同様である。図9及び図10において説明された動作については、詳細な説明を省略する。なお、ステップS104の処理は、例えば、ロボット20に対する教示を開始する操作が操作装置35に対して実行された後に、実行される。
 先ず、ステップS104において、処理装置12は、情報取得部121として機能し、取得期間が開始するか否かを判定する。例えば、情報取得部121は、ロボットコントローラ10の通信装置14が開始情報PSINFを受信したか否かを判定することにより、取得期間が開始するか否かを判定する。この場合、情報取得部121は、例えば、通信装置14が開始情報PSINFを受信した場合に、取得期間が開始すると判定する。
 ステップS104における判定の結果が肯定の場合、処理装置12は、処理をステップS120に進める。一方、ステップS104における判定の結果が否定の場合、処理装置12は、処理をステップS104に戻す。
 ステップS120、S122及びS124の一連の処理は、図6に示したステップS120、S122及びS124の一連の処理と同様である。例えば、ステップS120、S122及びS124では、処理装置12は、情報取得部121として機能し、位置情報PINF及び姿勢情報AINFを取得し、取得した位置情報PINF及び姿勢情報AINFを動作テーブルMTBLに記憶する。そして、処理装置12は、ステップS124の処理を実行した後、処理をステップS128に進める。
 ステップS128において、処理装置12は、情報取得部121として機能し、取得期間が終了したか否かを判定する。例えば、情報取得部121は、通信装置14が終了情報PEINFを受信したか否かを判定することにより、取得期間が終了したか否かを判定する。この場合、情報取得部121は、例えば、通信装置14が終了情報PEINFを受信した場合に、取得期間が終了したと判定する。
 ステップS128における判定の結果が肯定の場合、処理装置12は、処理をステップS130に進める。一方、ステップS128における判定の結果が否定の場合、処理装置12は、処理をステップS120に戻す。
 ステップS130からステップS184までの一連の処理は、図6に示したステップS130からステップS184までの一連の処理と同様である。例えば、ステップS130、S140、S150、S160及びS182では、処理装置12は、動作制御部123として機能し、ステップS162及びS184では、処理装置12は、情報生成部122として機能する。
 例えば、ステップS130において、動作制御部123は、ロボット20の動作確認が行われるか否かを判定する。ステップS130における判定の結果が肯定の場合、動作制御部123は、ステップS140において、動作テーブルMTBLに登録された位置及び姿勢に基づいて先端部HPの位置及び姿勢を移動させる。そして、処理装置12は、処理をステップS150に進める。一方、ステップS130における判定の結果が否定の場合、動作制御部123は、ステップS182において、ロボット20に対する教示が終了したか否かを判定する。
 ステップS150において、動作制御部123は、動作テーブルMTBLに登録された位置及び姿勢の補正が実行されるか否かを判定する。ステップS150における判定の結果が肯定の場合、動作制御部123は、ステップS160において、動作テーブルMTBLに登録された位置及び姿勢を補正する。そして、処理装置12は、処理をステップS162に進める。一方、ステップS150における判定の結果が否定の場合、動作制御部123は、ステップS182において、ロボット20に対する教示が終了したか否かを判定する。
 ステップS162において、情報生成部122は、ステップS160において実行された補正の確定又は取り消しを実行する。ステップS162の処理が実行された後、ステップS182において、動作制御部123は、ロボット20に対する教示が終了したか否かを判定する。
 ステップS182における判定の結果が肯定の場合、処理装置12は、処理をステップS184に進める。一方、ステップS182における判定の結果が否定の場合、処理装置12は、処理をステップS130に戻す。
 ステップS184において、情報生成部122は、動作テーブルMTBLに登録された位置及び姿勢を、動作情報により規定される先端部HPの位置及び姿勢として確定する。これにより、先端部HPの位置及び姿勢を規定する。これらの規定された位置および姿勢を順につなぐことでロボット20の軌道情報が生成される。ロボット20は、これらの規定された位置および姿勢になるように、順に動作することで、軌道情報にそった動作を実現する。なお、ステップ130~182の動作確認における位置及び姿勢の補正は、軌道情報を生成した後に実行されても良い。あるいは、補正した位置および姿勢から軌道情報が生成されても良い。
 なお、ロボットコントローラ10の動作は、図11に示した例に限定されない。例えば、ステップS122の処理は、ステップS120の処理より先に実行されてもよいし、ステップS120の処理と並列に実行されてもよい。
 以上、本変形例においても、上述した実施形態と同様の効果を得ることができる。また、本変形例では、情報取得部121は、作業者Uにより開始タイミングT1と終了タイミングT2とが指定される取得期間中に、位置情報PINF及び姿勢情報AINFを繰り返し取得する。このため、本変形例では、ロボット20の動作点を多量に規定する場合においても、作業者Uの負担が増加することを抑制しつつ、位置情報PINF及び姿勢情報AINFを情報取得部121に取得させることができる。さらに、本変形例では、ロボット20の先端部HPの位置の経路を、複数の位置情報PINFにより示される複数の点に基づいて定められる軌道(例えば、複数の点を補間することにより定められる軌道)として、規定することができる。この結果、本変形例では、ロボット20の先端部HPの位置及び姿勢を滑らかに移動させることができる。
[第2変形例]
 上述した実施形態及び変形例では、慣性センサ38により、端末装置30の傾き(姿勢)を検出し、撮像装置(検出装置)40により端末装置30の位置を検出していた。本変形例では、端末装置30の慣性センサ38により、端末装置30の傾き(姿勢)と位置を検出するものである。従って本変形例において撮像装置40は必ずしも必要ではない。
 本変形例における慣性センサ38は、前述したように3次元空間を表すXw軸、Yw軸、及び、Zw軸の各々における端末装置30の加速度センサと、Xw軸、Yw軸、及び、Zw軸の各々を軸として回転した場合の端末装置30の角速度センサとを有している。端末装置30の傾き(姿勢)は、Xw軸、Yw軸、及び、Zw軸に対する角速度センサにより計測する。一方、端末装置30の移動距離は、端末装置30が3次元空間上の複数の位置に順に移動する際のXw軸、Yw軸、及び、Zw軸の加速度センサにより検出する。本変形例では、図9に示した第1実施形態のフローチャートのS130~S182で示した動作確認と同様に、端末装置30を移動させた各位置の少なくとも1つの位置において、ロボット20に教示する位置及び姿勢の補正を行う。これにより、前述のXw軸、Yw軸、及び、Zw軸の加速度センサにより検出した端末装置30の移動距離から、ロボット20に対する端末装置30の相対位置を算出することができる。
 また本変形例では、図6に示した第1実施形態のシーケンスチャートにおいて、撮像装置40が生成している位置情報PINF(S422a、S422b、S422c)を、端末装置30が生成しロボットコントローラ10に送信する。これ以外は、第1実施形態と同様である。
 以上、本変形例においても、上述した実施形態と同様の効果を得ることができる。また、本変形例では、端末装置30の慣性センサ38を使用して、端末装置30の位置及び姿勢を検出するため、撮像装置40を準備する必要がなくロボットシステムを簡易に準備することが可能となる。また撮像装置40により撮像しないため、障害物等により撮像が困難な領域や姿勢を気にすることなく、端末装置30の操作を継続することができ、操作性が非常に優れている。
 また、端末装置30を使った位置検出と、第1実施形態で示した撮像装置40を使った位置検出を併用することも可能である。撮像装置40を使った位置検出の場合、障害物等や端末装置30の角度の影響で、マークMKを検出できない場合がある。その場合に、端末装置30を使った位置検出に切り替えることで、検出を継続することが可能となる。この場合、撮像装置40を使って検出した位置から、端末装置30の慣性センサ38を使って検出した位置までの移動距離を算出することで、端末装置30の慣性センサ38を使って検出した位置を特定することができる。
[第3変形例]
 上述した実施形態及び変形例では、位置情報PINFが撮像装置(検出装置)40により生成される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、位置情報PINFは、端末装置30により生成されてもよい。この場合、情報取得部121は、端末装置30により生成された位置情報PINF及び姿勢情報AINFを取得する。
 図12は、第3変形例に係るロボットシステム1Aの概要を説明するための説明図である。図1から図11において説明された要素と同様の要素については、同一の符号が付され、詳細な説明は省略される。
 ロボットシステム1Aは、図1に示したロボットシステム1から撮像装置40が省かれ、マークMK1及びMK2が端末装置30に設けられる代わりに、複数のマークMK3(MK3a、MK3b及びMK3c)がロボット20に設けられることを除いて、ロボットシステム1と同様である。また、本変形例では、説明の便宜上、撮像座標系ΣCの代わりに、端末装置30に固定された移動体座標系ΣMを導入する。
 移動体座標系ΣMは、端末装置30の所定の位置に原点を有し、互いに直交するXm軸、Ym軸、及び、Zm軸を有する3軸の直交座標系である。本変形例では、移動体座標系ΣMが有するXm軸、Ym軸、及び、Zm軸が、図1において説明されたXm軸、Ym軸、及び、Zm軸である場合を想定する。また、本変形例では、Zm軸が、端末装置30が有する撮像装置39の光軸(より詳細には、撮像装置39が有する光学系の光軸)と平行である場合を想定する。
 また、ワールド座標系ΣWにおけるマークMK3a、MK3b及びMK3cの各々の位置が既知である場合を想定する。すなわち、マークMK3a、MK3b及びMK3cの互いの位置関係(マークMK3の姿勢に相当)も既知である。なお、マークMK3は、ロボット20(図12に示す例では、土台部BSP)に設けられてもよいし、ロボット20の近傍に設けられてもよい。
 端末装置30の構成は、図4及び図5に示した端末装置30の構成と同様である。なお、端末装置30が有する撮像装置39は、ロボット20の所定の位置(例えば、位置Op)との相対的な位置関係が既知である位置に配置されたマークMK3(MK3a、MK3b及びMK3c)を撮像する。そして、端末装置30は、撮像装置39が撮像したマークMK3の画像を用いて、所定の位置に対する端末装置30の位置を算出し、算出した位置を示す情報を位置情報PINFとして生成する。
 以下では、撮像装置39が撮像したマークMK3の画像を用いて、端末装置30の位置を算出する方法の一例を説明するが、端末装置30の位置を算出する方法は、以下の例に限定されない。
 例えば、撮像装置39が有する光学系を起点とし、マークMK3aを終点とするベクトルをVaとする。また、撮像装置39が有する光学系を起点とし、マークMK3bを終点とするベクトルをVbとする。そして、撮像装置39が有する光学系を起点とし、マークMK3cを終点とするベクトルをVcとする。
 また、マークMK3aを起点とし、マークMK3bを終点とするベクトルをVabとする。マークMK3aを起点とし、マークMK3cを終点とするベクトルをVacとする。そして、マークMK3bを起点とし、マークMK3cを終点とするベクトルをVbcとする。この場合、ベクトルVa、Vb、Vc、Vab、Vac及びVbcは、下記の式(1)、式(2)及び式(3)の関係を満たす。
 |Va-Vb|=|Vab| ・・・(1)
 |Va-Vc|=|Vac| ・・・(2)
 |Vb-Vc|=|Vbc| ・・・(3)
 なお、ベクトルVab、Vac及びVbcの各々の長さ(|Vab|、|Vac|及び|Vbc|)は、ワールド座標系ΣWにおけるマークMK3a、MK3b及びMK3cの各々の位置が既知であるため、既知である。
 例えば、端末装置30が有する処理装置32は、マークMK3a、MK3b及びMK3cを撮像した画像から、ベクトルVa、Vb及びVcの各々の方向を示す情報(例えば、画像上の各マークMK3の位置を示す2次元の情報)を取得する。そして、処理装置32は、ベクトルVa、Vb及びVcの各々の長さを、上記の式(1)、式(2)及び式(3)と、ベクトルVa、Vb及びVcの各々の方向を示す情報と、焦点距離とに基づいて算出する。なお、焦点距離は、撮像装置39が有する光学系の焦点距離であり、既知の情報である。
 また、処理装置32は、ベクトルVa、Vb及びVcの各々の方向を示す情報と、ベクトルVa、Vb及びVcの各々の長さを示す情報とに基づいて、移動体座標系ΣMにおけるマークMK3a、MK3b及びMK3cの各々の位置を算出する。また、処理装置32は、ワールド座標系ΣWにおけるマークMK3a、MK3b及びMK3cの各々の位置と移動体座標系ΣMにおけるマークMK3a、MK3b及びMK3cの各々の位置とに基づいて、ワールド座標系ΣWにおける端末装置30の位置を算出する。そして、処理装置32は、ワールド座標系ΣWにおける端末装置30の位置を示す位置情報PINFをロボットコントローラ10に送信する。
 なお、上述のワールド座標系ΣWにおける端末装置30の位置を算出する処理は、姿勢検出部324により実行されてもよいし、姿勢検出部324とは別の機能ブロックにより実行されてもよい。例えば、処理装置32は、姿勢検出部324とは別に、ワールド座標系ΣWにおける端末装置30の位置を算出する処理を実行する機能ブロックとして機能してもよい。
 また、姿勢検出部324は、慣性センサ38の検出結果の代わりに、移動体座標系ΣMにおけるマークMK3a、MK3b及びMK3cの各々の位置を用いて、端末装置30の姿勢を検出してもよい。例えば、姿勢検出部324は、ワールド座標系ΣWにおけるマークMK3a、MK3b及びMK3cの各々の位置と移動体座標系ΣMにおけるマークMK3a、MK3b及びMK3cの各々の位置とに基づいて、端末装置30の姿勢を検出してもよい。この場合、端末装置30は、慣性センサ38を有さなくてもよい。
 このように、本変形例では、位置情報PINF及び姿勢情報AINFが端末装置30により生成される。そして、ロボットコントローラ10の情報取得部121は、端末装置30により生成された位置情報PINF及び姿勢情報AINFを取得する。
 なお、本変形例におけるロボットシステム1Aの構成は、図12に示した例に限定されない。例えば、マークMK3は、QRコード(登録商標)であってもよい。また、LED等の発光素子がマークMK3として採用されてもよい。また、例えば、撮像装置39が3次元カメラである場合、マークMK3の数は1つでもよい。
 以上、本変形例においても、上述した実施形態及び変形例と同様の効果を得ることができる。また、本変形例では、端末装置30は、ロボット20の所定の位置との相対的な位置関係が既知である位置に配置されたマークMK3を撮像する撮像装置39を有する。そして、端末装置30は、撮像装置39が撮像したマークMK3の画像を用いて、所定の位置に対する端末装置30の位置を算出し、算出した位置を示す情報を位置情報PINFとして生成する。ロボットコントローラ10の情報取得部121は、端末装置30により生成された位置情報PINFを取得する。すなわち、本変形例では、端末装置30とは別に撮像装置40を配置する必要がないため、ロボットシステム1Aを設置するためのスペースが大きくなること、及び、ロボットシステム1Aが有するロボット20等の装置の配置が煩雑になることを抑制することができる。
[第4変形例]
 上述した第3変形例では、端末装置30の位置及び姿勢が端末装置30により特定される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、端末装置30の位置及び姿勢の一方又は両方は、ロボットコントローラ10により特定されてもよい。この場合、ロボットコントローラ10の情報取得部121は、例えば、撮像装置39が撮像したマークMK3a、MK3b及びMK3cの画像を示す画像情報と、撮像装置39の焦点距離を示す情報とを、端末装置30から取得する。そして、例えば、ロボットコントローラ10の情報生成部122は、第3変形例において説明された方法(撮像装置39が撮像したマークMK3の画像を用いて、端末装置30の位置を算出する方法)と同様の方法により、端末装置30の位置等を特定する。
 マークMK3a、MK3b及びMK3cの画像を示す画像情報から端末装置30の位置をロボットコントローラ10が特定する場合、当該画像情報は「位置情報」に該当する。同様に、マークMK3a、MK3b及びMK3cの画像を示す画像情報から端末装置30の姿勢をロボットコントローラ10が特定する場合、当該画像情報は、「姿勢情報」に該当する。本変形例においても、上述した第3変形例と同様の効果を得ることができる。
[第5変形例]
 上述した実施形態及び第1変形例では、姿勢情報AINFが端末装置30により生成される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、姿勢情報AINFは、撮像装置(検出装置)40が撮像したマークMK1及びMK2の画像に基づいて、撮像装置40により生成されてもよい。この場合、情報取得部121は、撮像装置40により生成された位置情報PINF及び姿勢情報AINFを取得する。あるいは、第4変形例と同様に、端末装置30の位置及び姿勢の一方又は両方は、ロボットコントローラ10により特定されてもよい。この場合、ロボットコントローラ10の情報取得部121は、例えば、撮像装置40が撮像したマークMK1及びMK2の画像を示す画像情報と、撮像装置40の焦点距離を示す情報とを、撮像装置40から取得する。本変形例においても、上述した実施形態及び第1変形例と同様の効果を得ることができる。
[第6変形例]
 上述した実施形態及び変形例では、端末装置30等の可搬型の情報処理装置が「移動体」として採用される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、マークMK1及びMK2が設けられ、作業者Uにより移動可能であれば、情報処理装置以外の物体が、「移動体」として採用されてもよい。情報処理装置以外の物体が「移動体」として採用される場合、例えば、ロボットシステム1は、送信操作を受け付けたことを契機に、位置情報PINFの送信を指示する指示情報TINF等を撮像装置(検出装置)40に送信する送信指示装置をさらに有する。例えば、作業者Uは、両手の一方で、マークMK1及びMK2が設けられた物体を把持し、両手の他方で送信指示装置を操作する。物体の姿勢及び位置は、撮像装置40が撮像したマークMK1及びMK2の画像に基づいて、特定される。物体の姿勢及び位置の特定は、撮像装置40により実行されてもよいし、ロボットコントローラ10により実行されてもよい。本変形例においても、上述した実施形態及び変形例と同様の効果を得ることができる。
[第7変形例]
 上述した実施形態及び変形例では、ロボット20の先端部HPの位置及び姿勢を規定する動作情報が生成される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、動作情報は、ロボット20の先端部HPの位置及び姿勢のうち、位置のみを規定する情報であってもよい。この場合、例えば、情報取得部121は、端末装置30の位置を示す位置情報PINFを取得する。また、情報生成部122は、情報取得部121が取得した位置情報PINFに基づいて、ロボット20の先端部HPの位置を規定する動作情報を生成する。本変形例においても、上述した実施形態及び変形例と同様の効果を得ることができる。
 なお、上述した実施形態及び変形例における端末装置30を保有する作業者Uは、本体のロボット20から所定の距離だけシフトした位置でティーチングを行っても構わない。その場合、所定の距離だけ端末装置30の位置情報をオフセットすることにより、ティーチングを完結することが出来る。このようにすることにより、ロボット20本体に邪魔されることなくティーチングできると共に、より複雑なティーチングを行うことが出来る。例えば作業者Uの手首に端末装置30をつけ、所定時間の間隔でティーチングを自動的に行うことで、実際の作業中にティーチングを行うことができ、「ティーチング」という、わざわざ別の作業が不要になる効果も得られる。また、ダンサーなどあらゆる激しく細かい動きをする人の動作をティーチングすることも可能になる。
 1、1A…ロボットシステム、10…ロボットコントローラ、12…処理装置、13…メモリ、14…通信装置、15…操作装置、16…表示装置、17…ドライバ回路、20…ロボット、30…端末装置、32…処理装置、33…メモリ、34…通信装置、35…操作装置、36…表示装置、37…スピーカ、38…慣性センサ、39…撮像装置、40…撮像装置(検出装置)、120…ロボット制御部、121…情報取得部、122…情報生成部、123…動作制御部、124…表示制御部、125…警告部、320…端末制御部、322…操作通知部、324…姿勢検出部、326…警告制御部、328…表示制御部、AINF…姿勢情報、CHS…操作画面、HP…先端部、MTBL…動作テーブル、PINF…位置情報。

Claims (13)

  1.  移動体が、空間上の複数の位置にロボットとは独立して順に移動する場合に、前記移動体の、各位置における位置情報、または前記各位置における位置情報及び前記各位置における姿勢情報を取得する取得部と、
     前記取得部が取得した、前記複数の位置にそれぞれ対応する複数の位置情報、または前記複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する生成部と、
     を備えていることを特徴とする情報処理装置。
  2.  前記位置情報及び前記軌道情報または、前記位置情報、前記姿勢情報及び前記軌道情報に基づいて、前記ロボットを動作させる制御部をさらに備えていることを特徴とする請求項1に記載の情報処理装置。
  3.  前記位置情報により示される位置、または前記位置情報により示される位置及び前記姿勢情報により示される姿勢を、補正するための補正情報の入力を受け付ける操作部をさらに備えており、前記制御部は、前記補正情報に基づいて前記軌道情報を補正することを特徴とする請求項2に記載の情報処理装置。
  4.  ロボットと、空間上の複数の位置に前記ロボットとは独立して順に移動する移動体と、検出装置と、情報処理装置とを有するロボットシステムにおいて、
     前記移動体は、
     前記移動体の姿勢情報を検知する慣性センサと、
     少なくとも前記情報処理装置と通信する通信部と、
     を有しており、
     前記検出装置は、
     前記移動体を検出することで前記移動体の位置情報を検知する検知部と、
     少なくとも前記情報処理装置と通信する通信部と、
     を有しており、
     前記情報処理装置は、
     前記複数の位置の各々において検知された姿勢情報および位置情報を取得する取得部と、
     前記取得部が取得した、前記複数の位置にそれぞれ対応する複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する生成部と、
     前記軌道情報に基づいて、前記ロボットを動作させる制御部と、
     を備えていることを特徴とするロボットシステム。
  5.  ロボットと、空間上の複数の位置に前記ロボットとは独立して順に移動する移動体と、情報処理装置とを有するロボットシステムにおいて、
     前記移動体は、
     前記移動体の位置情報、または姿勢情報および位置情報を検知する慣性センサと、
     少なくとも前記情報処理装置と通信する通信部と、
     を有しており、
     前記情報処理装置は、
     前記複数の位置の各々において検知された、位置情報、または姿勢情報および位置情報を取得する取得部と、
     前記取得部が取得した、前記複数の位置にそれぞれ対応する複数の位置情報、または前記複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する生成部と、
     前記軌道情報に基づいて、前記ロボットを動作させる制御部と、
     を備えていることを特徴とするロボットシステム。
  6.  ロボットと、空間上の複数の位置に前記ロボットとは独立して順に移動する移動体と、検出装置と、情報処理装置とを有するロボットシステムにおいて、
     前記移動体は、
     少なくとも前記情報処理装置と通信する通信部を有しており、
     前記検出装置は、
     前記移動体を検出することで前記移動体の位置情報、または位置情報および姿勢情報を検知する撮像検出部と、
     少なくとも前記情報処理装置と通信する通信部と、
     を有しており、
     前記情報処理装置は、
     前記複数の位置の各々において検知された、位置情報、または位置情報および姿勢情報を取得する取得部と、
     前記取得部が取得した、前記複数の位置にそれぞれ対応する複数の位置情報、または前記複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置、または位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する生成部と、
     前記軌道情報に基づいて、前記ロボットを動作させる制御部と、
     を備えていることを特徴とするロボットシステム。
  7.  ロボットと、空間上の複数の位置に前記ロボットとは独立して順に移動する移動体と、情報処理装置とを有するロボットシステムにおいて、
     前記移動体は、
     前記移動体の姿勢情報を検知する慣性センサと、
     前記ロボットの所定の位置との相対的な位置関係が既知である位置に配置されたマークを撮像し、前記ロボットとの相対位置情報を位置情報として検知する撮像装置と、
     少なくとも前記情報処理装置と通信する通信部と、
     を有しており、
     前記情報処理装置は、
     前記複数の位置の各々において検知された、姿勢情報および位置情報を取得する取得部と、
     前記取得部が取得した、前記複数の位置にそれぞれ対応する複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成する生成部と、
     前記軌道情報に基づいて、前記ロボットを動作させる制御部と、
     を備えていることを特徴とするロボットシステム。
  8.  前記移動体または前記情報処理装置には、前記位置情報、または前記位置情報及び前記姿勢情報の検知を実行することを指示する操作部が設けられていることを特徴とする請求項4、6、7のいずれか1つに記載のロボットシステム。
  9.  移動体が、空間上の複数の位置に順にロボットとは独立して移動する場合に、前記移動体の、各位置における位置情報、及び前記各位置における姿勢情報を取得し、
     前記取得した、前記複数の位置にそれぞれ対応する複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成することを特徴とするロボットの制御方法。
  10.  前記複数の位置の少なくとも1つの位置に前記ロボットを移動させ、前記少なくとも1つの位置における前記位置情報および前記姿勢情報を補正することで、前記軌道情報を補正、または補正した前記位置情報および前記姿勢情報により前記軌道情報を生成することを特徴とする請求項9に記載のロボットの制御方法。
  11.  前記位置情報、前記姿勢情報及び前記軌道情報に基づいて、前記ロボットを動作させることを特徴とする請求項9または10に記載のロボットの制御方法。
  12.  ロボットを動作させるプロセッサにより、
     移動体が、空間上の複数の位置に順に移動する場合に、前記移動体の、各位置における位置情報、及び前記各位置における姿勢情報を取得し、
     前記取得した、前記複数の位置にそれぞれ対応する複数の位置情報及び前記複数の位置にそれぞれ対応する複数の姿勢情報に基づいて、前記ロボットの特定部分の位置及び姿勢を順に規定することで、前記ロボットの軌道情報を生成することを特徴とするプログラム。
  13.  ロボットの軌道情報を生成するための複数の位置を前記ロボットとは独立して移動する移動体において、
     前記移動体の、前記複数の位置の各々における位置情報、または前記複数の位置の各々における位置情報および姿勢情報を検知する慣性センサと、
     少なくとも前記ロボットを動作させる情報処理装置と通信する通信部と、
     を有しており、
     前記移動体が前記複数の位置の各々において検知した、前記位置情報、または前記姿勢情報および前記位置情報に基づいて、前記軌道情報が生成されることを特徴とする移動体。
PCT/JP2022/040122 2021-11-02 2022-10-27 情報処理装置、ロボットの制御方法、プログラム、移動体及びロボットシステム WO2023080050A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/646,984 US20240269826A1 (en) 2021-11-02 2024-04-26 Information processing apparatus for robot teaching, robot system for robot teaching, method for generating trajectory of specific part of robot, method for controlling robot in robot teaching, recording medium, and movable object

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021179354A JP2023068343A (ja) 2021-11-02 2021-11-02 情報処理装置、ロボットの制御方法、プログラム、移動体及びロボットシステム
JP2021-179354 2021-11-02

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/646,984 Continuation US20240269826A1 (en) 2021-11-02 2024-04-26 Information processing apparatus for robot teaching, robot system for robot teaching, method for generating trajectory of specific part of robot, method for controlling robot in robot teaching, recording medium, and movable object

Publications (1)

Publication Number Publication Date
WO2023080050A1 true WO2023080050A1 (ja) 2023-05-11

Family

ID=86241052

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/040122 WO2023080050A1 (ja) 2021-11-02 2022-10-27 情報処理装置、ロボットの制御方法、プログラム、移動体及びロボットシステム

Country Status (3)

Country Link
US (1) US20240269826A1 (ja)
JP (1) JP2023068343A (ja)
WO (1) WO2023080050A1 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013071231A (ja) * 2011-09-29 2013-04-22 Panasonic Corp ロボットアームの教示装置、ロボット装置、教示方法、ロボットアームの制御装置、ロボットアームの制御プログラム、並びに、集積電子回路
JP2016047591A (ja) * 2014-08-27 2016-04-07 キヤノン株式会社 ロボット教示装置、方法、およびロボットシステム
JP2017104944A (ja) * 2015-12-10 2017-06-15 ファナック株式会社 仮想物体の画像をロボットの映像に重畳表示する映像表示装置を備えるロボットシステム
US20190210228A1 (en) * 2016-06-23 2019-07-11 Kuka Deutschland Gmbh Hand-Held Robot Operating Device Combination Comprising a Basic-Control Position Sensor
JP2019217607A (ja) * 2018-06-21 2019-12-26 三菱電機株式会社 ティーチング装置、ロボット制御システム及びティーチング方法
JP2020196060A (ja) * 2019-05-31 2020-12-10 セイコーエプソン株式会社 教示方法
JP2021024025A (ja) * 2019-08-05 2021-02-22 川崎重工業株式会社 制御装置、制御システム、ロボットシステム及び制御方法
JP2021045810A (ja) * 2019-09-18 2021-03-25 株式会社ニコン モーション情報生成装置、エンドエフェクタ、ロボット及びロボットシステム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013071231A (ja) * 2011-09-29 2013-04-22 Panasonic Corp ロボットアームの教示装置、ロボット装置、教示方法、ロボットアームの制御装置、ロボットアームの制御プログラム、並びに、集積電子回路
JP2016047591A (ja) * 2014-08-27 2016-04-07 キヤノン株式会社 ロボット教示装置、方法、およびロボットシステム
JP2017104944A (ja) * 2015-12-10 2017-06-15 ファナック株式会社 仮想物体の画像をロボットの映像に重畳表示する映像表示装置を備えるロボットシステム
US20190210228A1 (en) * 2016-06-23 2019-07-11 Kuka Deutschland Gmbh Hand-Held Robot Operating Device Combination Comprising a Basic-Control Position Sensor
JP2019217607A (ja) * 2018-06-21 2019-12-26 三菱電機株式会社 ティーチング装置、ロボット制御システム及びティーチング方法
JP2020196060A (ja) * 2019-05-31 2020-12-10 セイコーエプソン株式会社 教示方法
JP2021024025A (ja) * 2019-08-05 2021-02-22 川崎重工業株式会社 制御装置、制御システム、ロボットシステム及び制御方法
JP2021045810A (ja) * 2019-09-18 2021-03-25 株式会社ニコン モーション情報生成装置、エンドエフェクタ、ロボット及びロボットシステム

Also Published As

Publication number Publication date
US20240269826A1 (en) 2024-08-15
JP2023068343A (ja) 2023-05-17

Similar Documents

Publication Publication Date Title
US10598479B2 (en) Three-dimensional measuring device removably coupled to robotic arm on motorized mobile platform
JP5022868B2 (ja) 情報処理装置、情報処理方法
KR100580648B1 (ko) 3차원 포인팅 기기 제어 방법 및 장치
WO2018043525A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
WO2019012770A1 (ja) 撮像装置及びモニタリング装置
JP2013184257A (ja) ロボット装置及びロボット装置の制御方法、並びにコンピューター・プログラム
US20130179119A1 (en) Data collection and point cloud generation system and method
CN106537185B (zh) 借助于相交平面探测障碍物的装置和使用所述装置的探测方法
EP4011568A1 (en) Control device, control system, robot system, and control method
JP2008183690A (ja) ロボット制御装置及びロボット制御システム
JP2010169633A (ja) 形状測定装置
JP5198078B2 (ja) 計測装置および計測方法
JP7502003B2 (ja) 移動機械の移動軌跡のずれを取得する装置、及び方法
JP2001287179A (ja) 産業用ロボット教示装置
WO2023080050A1 (ja) 情報処理装置、ロボットの制御方法、プログラム、移動体及びロボットシステム
US11926064B2 (en) Remote control manipulator system and remote control assistance system
TWI806761B (zh) 標誌檢測裝置以及機器人示教系統
JP2020192658A (ja) ロボットシステムおよび可搬型教示装置
US20230239439A1 (en) Imaging system and robot system
JP7366264B2 (ja) ロボット教示方法及びロボット作業方法
JP7207915B2 (ja) 投影システム、投影方法及びプログラム
JP6227950B2 (ja) センサの指向制御方法と装置
JP2022163836A (ja) ロボット画像の表示方法、コンピュータープログラム、及び、ロボット画像の表示システム
WO2022009645A1 (ja) 情報処理装置、情報処理方法
WO2020235539A1 (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: 22889870

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22889870

Country of ref document: EP

Kind code of ref document: A1