WO2023067942A1 - 情報処理装置、情報処理方法、及びロボット制御システム - Google Patents

情報処理装置、情報処理方法、及びロボット制御システム Download PDF

Info

Publication number
WO2023067942A1
WO2023067942A1 PCT/JP2022/033865 JP2022033865W WO2023067942A1 WO 2023067942 A1 WO2023067942 A1 WO 2023067942A1 JP 2022033865 W JP2022033865 W JP 2022033865W WO 2023067942 A1 WO2023067942 A1 WO 2023067942A1
Authority
WO
WIPO (PCT)
Prior art keywords
stiffness
information processing
robot arm
processing device
rigidity
Prior art date
Application number
PCT/JP2022/033865
Other languages
English (en)
French (fr)
Inventor
洋貴 鈴木
Original Assignee
ソニーグループ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソニーグループ株式会社 filed Critical ソニーグループ株式会社
Priority to CN202280068845.7A priority Critical patent/CN118119487A/zh
Publication of WO2023067942A1 publication Critical patent/WO2023067942A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators

Definitions

  • the present technology relates to an information processing device, an information processing method, and a robot control system capable of controlling the driving of a robot arm.
  • Patent Document 1 discloses a tactile sensor attached to a link portion of a robot arm.
  • This tactile sensor is formed in a sheet shape from a flexible material. This makes it possible to easily attach the tactile sensor by wrapping it around the link portion. Moreover, since it is not necessary to attach a tactile sensor to the joints of the robot arm, the movement of the robot arm is not hindered.
  • an object of the present technology is to provide an information processing device, an information processing method, and a robot control system that are capable of accurately operating a robot arm.
  • an information processing device includes a stiffness control section.
  • the stiffness control section controls the stiffness related to driving the joint of the robot arm based on the detection result of a pressure sensor provided at a position with reference to the joint of the robot arm.
  • the rigidity related to driving the joints of the robot arm is controlled based on the detection result of the pressure sensor. This makes it possible to drive the robot arm with high accuracy.
  • the information processing device may further include a storage unit that stores the stiffness set by the stiffness control unit and the movement of the robot arm caused by driving the joint in association with each other.
  • the storage unit may store the stiffness and the movement in association with each other when a direct teaching mode is selected in which the operator moves the robot arm and stores a predetermined movement.
  • the robot arm may have one or more joints and one or more links that rotate or linearly move by driving each of the one or more joints.
  • the rigidity control section may control the rigidity related to rotation or linear motion of the one or more links.
  • the information processing device may further include a storage unit that stores the stiffness set by the stiffness control unit and the trajectory of the link by driving the joint in association with each other.
  • the storage unit may store the stiffness and the trajectory in association with each other when a direct teaching mode in which the operator moves the link and stores a predetermined trajectory is selected.
  • the rigidity control section may control the rigidity so that the rigidity increases as the pressure detected by the pressure sensor increases.
  • the pressure sensor may be provided in an area to be held by the link when the operator moves the link.
  • the information processing device may further include a notification control section that controls notification of the stiffness set by the stiffness control section.
  • the notification control unit controls at least one of display of the stiffness value, display of a gauge corresponding to the height of the stiffness, display of a color corresponding to the height of the stiffness, or audio output of the stiffness.
  • the notification control unit may set the rigidity for teaching when the operator moves the link to perform teaching, according to the rigidity set by the rigidity control unit.
  • the notification control unit may set the teaching rigidity so that the teaching rigidity increases as the rigidity set by the rigidity control unit increases.
  • the stiffness control section may hold a maximum value of the pressure detected by the pressure sensor, and set the stiffness according to the held maximum value.
  • the stiffness control section may reduce the stiffness when a predetermined operation is input to the pressure sensor.
  • the predetermined operation may include a stroking operation.
  • the pressure sensor may be a tactile sensor.
  • An information processing method is an information processing method executed by a computer system, in which pressure sensors provided at positions with reference to joints of a robot arm detect the pressure of the robot arm based on the detection result of the pressure sensor. It includes controlling the stiffness related to the driving of the joint.
  • a robot control system includes the robot arm, the pressure sensor, and the rigidity control section.
  • FIG. 1 is a schematic diagram mainly showing a hardware configuration example of a robot control system
  • FIG. 1 is a schematic diagram mainly showing a functional configuration example of a robot control system
  • FIG. 4 is a flow chart showing an example of basic processing in a direct teaching mode
  • FIG. 4 is a schematic diagram showing an example of motion of a robot arm memorized by direct teaching
  • 4 is a flow chart showing an example of processing in a direct teaching mode
  • It is a schematic diagram which shows an example of the averaging process of surface pressure distribution data.
  • FIG. 5 is a schematic diagram showing an example of stiffness notification control by a notification control unit
  • 1 is a schematic diagram mainly showing a functional configuration example of a robot control system;
  • FIG. 4 is a flow chart showing an example of processing in a direct teaching mode
  • FIG. 5 is a schematic diagram showing an example of determination processing by a stroking determination unit
  • 1 is a block diagram showing a hardware configuration example of a computer that can implement an information processing apparatus
  • FIG. 1 mainly shows a hardware configuration example of a robot control system.
  • FIG. 2 mainly shows a functional configuration example of the robot control system.
  • the robot control system 100 includes a robot arm 1 and an information processing device 2 .
  • one robot arm 1 and one information processing device 2 constitute a robot control system 100 .
  • the robot control system 100 may be configured by a plurality of robot arms 1 or a plurality of information processing devices 2 .
  • the robot arm 1 and the information processing device 2 are communicably connected via a wire or wirelessly.
  • the form of connection between devices is not limited, and wireless LAN communication such as WiFi or short-range wireless communication such as Bluetooth (registered trademark), for example, can be used.
  • the robot arm 1 has a base portion 3, multiple joints 4 (4a-4c), multiple links 5 (5a-5c), multiple tactile sensors 6 (6a-6c), and an end effector 7.
  • the base portion 3 supports the robot arm 1 as a whole. As shown in FIG. 1, in this embodiment, the base portion 3 has a cylindrical shape. Of course, the specific configuration such as the shape of the base portion 3 is not limited.
  • the joints 4 are configured between the base portion 3 and the links 5 and between the links 5 . Also, the joint 4 rotatably connects the members (the base portion 3 and the link 5) to each other. In this embodiment, the joint 4a connects the base portion 3 and the link 5a. Typically, the base portion 3 is installed on the installation target surface. A link 5 a is rotatably connected to the base portion 3 . Further, the link 5a and the link 5b are rotatably connected to each other by the joint 4b. Further, the link 5b and the link 5c are rotatably connected to each other by the joint 4c.
  • the link 5 rotates, and the joint angle (the angle at which the members to be connected intersect each other) can be arbitrarily controlled. Of course, the range that the joint angle can take may be defined.
  • the robot arm 1 has one or more joints 4 and one or more links 5 that rotate or linearly move by driving each of the one or more joints 4 .
  • each joint 4 is configured as a rotary joint that rotatably connects members.
  • the joint 4 is not limited to this, and may be configured as a translational joint that connects the members so that at least one of the members can be translated.
  • the joints 4 may be a mixture of rotary joints and prismatic joints. That is, the present technology can be applied to any robot arm 1 in which the link 5 rotates or linearly moves by driving each of the joints 4 .
  • the specific configuration of the joint 4 is not limited.
  • the joint 4 may be generally called a joint or the like.
  • the link 5 functions as a member that connects the base portion 3 and the end effector 7 .
  • the links 5a-5c are configured to extend in one direction and are connected at their ends to joints 4 or end effectors.
  • the link 5a has one end connected to the joint 4a and the other end connected to the joint 4b.
  • the link 5b has one end connected to the joint 4b and the other end connected to the joint 4c.
  • the link 5c has one end connected to the joint 4c and the other end connected to the end effector 7 .
  • the specific shape, material, etc. of each link 5 are not limited and may be designed arbitrarily.
  • the tactile sensor 6 can detect the contact state of an object with respect to the tactile sensor 6 .
  • the tactile sensor 6 can detect the presence or absence of contact with an object and the pressure (pressure value) acting on the tactile sensor 6 .
  • the tactile sensor 6 has a two-dimensional detection area having a predetermined area, it is also possible to detect pressure distribution (distribution of pressure values) in the detection area. In this case, it is also possible to detect the contact position or the like with respect to the detection area based on the pressure distribution.
  • the detection of pressure distribution by the tactile sensor 6 is also included in the detection of pressure.
  • the tactile sensor 6 can also detect an operation (stroking, grabbing, etc.) on the tactile sensor 6 .
  • the tactile sensor 6 corresponds to one embodiment of the pressure sensor according to the present technology. A specific configuration of the tactile sensor 6 is not limited. Also, any pressure sensor other than the tactile sensor 6 may be used.
  • the tactile sensor 6 is schematically shown as a rectangle. In this embodiment, for example, a sheet-like tactile sensor 6 that can be attached to a curved surface is used.
  • the tactile sensor 6a is attached to the link 5a.
  • the tactile sensor 6b is attached to the link 5b, and the tactile sensor 6c is attached to the link 5c.
  • the tactile sensor 6 is provided at a position with the joint 4 of the robot arm 1 as a reference. That is, the tactile sensor 6 is attached to a position based on the position of the joint 4 . Specifically, the tactile sensor 6 is provided in a holding target area 9 where the link 5 is held when the operator moves the link 5 with the hand 8 .
  • the holding target area 9 is typically assumed to be an area that is easy for the operator to hold or an area that the operator is likely to hold. It should be noted that holding the link 5 includes, for example, the act of the operator grabbing the link 5 .
  • the area suitable for the operator to hold the link 5 differs depending on the overall configuration of the robot arm 1, the length of the link 5 to be moved, and the like.
  • the hold target area 9 may be set assuming a position where the operator would naturally hold the object.
  • the hold target area 9 may be set assuming a position where the link 5 can be moved smoothly.
  • the area to be held 9 may be set by designating it as an area to be held without considering the operator's convenience or the like.
  • the holding target areas 9 (9a to 9c) are schematically indicated by dashed ellipses.
  • the tactile sensor 6 is provided in the set holding target area 9 .
  • the tactile sensor 6a is provided at a position approximately in the middle of the joints 4a and 4b with the joints 4a and 4b as a reference.
  • the tactile sensor 6b is provided in the holding target area 9b
  • the tactile sensor 6c is provided in the holding target area 9c.
  • the operator's hand (finger) 8 contacts the tactile sensor 6 . Then, the contact state of the operator's hand 8 is detected by the tactile sensor 6 .
  • the specific position where the tactile sensor 6 is provided with reference to the joint 4 of the robot arm 1 and the method of determining the position are not limited.
  • the end effector 7 is a mechanism for gripping an object, for example.
  • the end effector 7 is schematically shown as a rectangular parallelepiped and connected to one end of the link 5c.
  • an arm is connected as the end effector 7 .
  • the end effector 7 may be provided with a mechanism for sucking an object, and the object may be lifted by being sucked.
  • the configuration of the end effector 7 is not limited, and it may be capable of arbitrary actions such as pasting objects and polishing curved surfaces.
  • the information processing device 2 is configured by an arbitrary computer such as a PC (Personal Computer), for example.
  • the information processing device 2 functions as an embodiment of an information processing device according to the present technology.
  • the information processing device 2 executes the information processing method according to the present technology based on the program according to the present technology.
  • the robot arm 1 further includes a joint drive unit 12, a communication unit 13, a light emitting diode (LED) 14, a display 15, and a speaker 16 (not shown in FIG. 1).
  • a joint drive unit 12 As shown in FIG. 2, the robot arm 1 further includes a joint drive unit 12, a communication unit 13, a light emitting diode (LED) 14, a display 15, and a speaker 16 (not shown in FIG. 1).
  • LED light emitting diode
  • the joint driving section 12 is a mechanism for driving the joint 4 and rotating the link 5 .
  • a mechanism such as a spring and a damper system is configured inside the joint 4, and the joint 4 is driven by expansion and contraction of the spring.
  • any configuration including a servomotor or the like may be employed as the joint drive unit 12 .
  • the communication unit 13 is a communication module for communicating with other devices via a network such as WAN or LAN.
  • a communication module for short-range wireless communication such as Bluetooth (registered trademark) may be provided.
  • Communication devices such as modems and routers may also be used.
  • communication with the information processing device 2 is performed by the communication unit 13 .
  • the communication unit 13 is built in a predetermined position of the robot arm 1, for example. In addition, the specific configuration of the communication unit 13 is not limited.
  • the LED 14 is arranged on the surface of the link 5, for example.
  • the LED 14 can emit light in a predetermined color, and various information can be notified to the user based on the difference in emission color and color intensity.
  • the LED 14 functions as an illumination device.
  • any lighting device other than the LED 14, such as a lamp, may be used.
  • the display 15 is a display device using, for example, liquid crystal, EL (Electro Luminescence), or the like.
  • the display 15 is arranged on the surface of the link 5, for example.
  • Various images, various GUIs (Graphical User Interfaces), etc. are displayed on the display 15 to inform the user of various information.
  • any display device other than a display may be used.
  • the speaker 16 is built in a predetermined position such as the base portion 3 of the robot arm 1, for example. By outputting sound from the speaker 16, various types of information are notified to the user.
  • the configuration of the speaker 16 is not limited, and for example, a speaker 16 capable of outputting stereo sound, monaural sound, or the like may be used as appropriate.
  • the LED 14, the display 15, and the speaker 16 constitute a notification unit that notifies the user of various information.
  • the mechanism included in the reporting unit is not limited, and any configuration capable of reporting various information to the user may be employed.
  • the information processing device 2 has a controller 17 , a storage section 18 and a communication section 19 .
  • the controller 17 has hardware necessary for configuring a computer, such as a CPU, ROM, RAM, and HDD.
  • the CPU loads a program according to the present technology prerecorded in a ROM or the like into the RAM and executes the program, thereby executing the processing related to the information processing method according to the present technology.
  • a device such as a PLD (Programmable Logic Device) such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit) may be used.
  • the program is installed in the information processing device 2 via various recording media, for example.
  • program installation may be performed via the Internet or the like.
  • the type of recording medium on which the program is recorded is not limited, and any computer-readable recording medium may be used.
  • the stiffness control unit 20 and the notification control unit 21 are realized as functional blocks by the CPU of the controller 17 executing a program (for example, an application program) according to the present technology. These functional blocks execute the information processing method according to the present embodiment.
  • dedicated hardware such as an IC (integrated circuit) may be used as appropriate.
  • the rigidity control unit 20 controls the rigidity related to driving the joints 4 of the robot arm 1 .
  • the stiffness related to driving the joint 4 means the resistance to driving the joint 4 (magnitude of force required to drive the joint 4).
  • the rigidity related to driving the joint 4 can also be said to be the difficulty of driving the joint 4 .
  • the stiffness is set relatively high. In this case, when the force acting on the joint 4 is small, the joint 4 is not driven, and the joint angle of the joint 4 and the position of the link 5 do not change. On the other hand, if the stiffness is set relatively low, the joint 4 will be driven even if the force acting on the joint 4 is small.
  • the stiffness control unit 20 can set the stiffness for driving the joints 4 and change the stiffness such as increasing or decreasing the stiffness.
  • the notification control section 21 controls notification of the stiffness set by the stiffness control section 20 . Specifically, the notification control unit 21 controls the operations of the LED 14 , the display 15 and the speaker 16 of the robot arm 1 .
  • the stiffness set by the stiffness control unit 20 is notified to the user by light emission of the LED 14 , display of an image by the display 15 , or output of sound by the speaker 16 .
  • the storage unit 18 is a storage device such as a nonvolatile memory, and for example, an HDD, SSD, or the like is used. In addition, any computer-readable non-transitory storage medium may be used.
  • the communication unit 19 like the communication unit 13 of the robot arm 1, is a communication module for communicating with other devices. In this embodiment, communication with the robot arm 1 is performed by the communication unit 19 .
  • a specific configuration of the communication unit 19 is not limited.
  • the configurations of the robot arm 1 and the information processing device 2 described using FIGS. 1 and 2 are merely examples, and the specific configurations are not limited. Moreover, the specific configuration of the entire robot control system 100 is not limited.
  • Direct teaching mode In this embodiment, the operator can perform direct teaching. Direct teaching is a process in which an operator moves the robot arm 1 and memorizes a predetermined movement. For example, direct teaching is performed by a specialized operator in charge of maintenance of the robot control system 100 and the like. Of course, direct teaching may be performed by any user other than the operator.
  • the direct teaching mode is a mode for executing direct teaching. That is, the direct teaching mode is a mode in which the operator moves the robot arm 1 and stores predetermined movements.
  • direct teaching may be referred to as teaching.
  • the direct teaching mode may be described as a teaching mode.
  • the teaching mode is executed by pressing a mode change button provided on the robot arm 1 .
  • an instruction to start the teaching mode is transmitted from the robot arm 1 to the information processing device 2 .
  • the teaching mode may be started by any method.
  • FIG. 3 is a flowchart showing an example of basic processing in the direct teaching mode by the information processing device 2.
  • FIG. 4 is a schematic diagram showing an example of the motion of the robot arm 1 memorized by direct teaching.
  • Such movements of the robot arm 1 are stored in the teaching mode. Specifically, when the operator grabs the robot arm 1 and causes it to make a predetermined movement, the predetermined movement is stored. For example, if the operator wants to memorize the motion shown in FIG. 4, the operator can grab the robot arm 1 and reproduce the same motion as in FIG.
  • the link 5 is gripped by the operator, and the movement is input with the operator's hand 8 touching the tactile sensor 6 .
  • an instruction to move the robot arm 1 while touching the tactile sensor 6 may be notified.
  • the notification control unit 21 controls the operation of the display 15 and the speaker 16, and notifies the instruction by displaying an image or outputting a sound. A case where the operator grabs a position near the center of the link 5a and inputs the motion shown in FIG. 4 will be described below as an example.
  • the processing shown in FIG. 3 is executed.
  • the pressure detected by the tactile sensor 6a is acquired by the information processing device 2 (step 101).
  • the operator holds a position near the center of the link 5a with the palm. At this time, part of the palm is in contact with the tactile sensor 6a. That is, pressure is applied from the operator's palm to the tactile sensor 6a, and the tactile sensor 6 detects the pressure. For example, if the link 5a is gripped relatively strongly, a relatively high pressure value is detected. If the link 5a is gripped relatively weakly, a relatively low pressure value is detected. Further, when the palm is in contact with the tactile sensor 6a over a wide range, a wide range of pressure distribution is detected. A narrow pressure distribution is detected when the palms are in narrow contact. In addition, any information regarding the contact state may be detected.
  • the pressure detected by the tactile sensor 6a in this manner is transmitted to the information processing device 2 as a detection result.
  • the detection result is transmitted to the communication unit 19 of the information processing device 2 via the communication unit 13 of the robot arm 1 . Thereby, the detection result is acquired by the information processing device 2 .
  • the stiffness control section 20 sets the stiffness of the joint 4a (step 102).
  • the rigidity control unit 20 controls the rigidity related to driving the joints 4a of the robot arm 1 based on the detection result of the tactile sensor 6a. Further, in the present embodiment, the stiffness control section 20 controls the stiffness so that the stiffness increases as the pressure detected by the tactile sensor 6a increases.
  • the stiffness control unit 20 acquires the detection result transmitted to the communication unit 19 of the information processing device 2 . Then, the stiffness is calculated based on the obtained detection result. For example, the stiffness is calculated using a stiffness calculation function that inputs the pressure value and outputs the stiffness.
  • a stiffness calculation function a function (monotonically increasing function) is used in which the stiffness to be output increases as the pressure value to be input increases. In other words, the lower the input pressure value, the lower the output stiffness.
  • a monotonically increasing function can be easily determined by a calibration process (calculation). For example, a function in which the pressure value and the stiffness are proportional is used as the monotonically increasing function. Alternatively, a function may be used in which the rate of increase in stiffness varies depending on the pressure value. Alternatively, any monotonically increasing function may be used.
  • the stiffness of the joint 4a is set.
  • the stiffness setting by the stiffness control unit 20 is included in the stiffness control.
  • the rigidity is not limited to this, and the rigidity may be set by any method.
  • the stiffness may be calculated by a method using a table or the like.
  • the relationship between pressure and stiffness is not limited to the relationship in which the stiffness increases as the pressure value increases, and may be arbitrary.
  • the stiffness of the joint 4a is set when the link 5a is gripped by the operator.
  • the stiffness of the joint 4b is set when the link 5b is gripped.
  • the stiffness of the joint 4c is set.
  • the set stiffness of the joint 4a and the motion of the robot arm 1 are associated and stored (step 103).
  • the storage unit 18 stores the stiffness set by the stiffness control unit 20 and the movement of the robot arm 1 by driving the joint 4 in association with each other.
  • stiffness of the joint 4a set by the stiffness control unit 20 is "50" when the operator grips the link 5a with a predetermined force.
  • the "movement shown in FIG. 4" which is the movement of the robot arm 1 driven by the joint 4, is input while the gripping force is maintained at the same magnitude (predetermined magnitude).
  • stiffness “50” and the motion “the motion shown in FIG. 4” are associated with each other and stored in the storage unit 18 .
  • stiffness value of "50” is merely an example, and the stiffness value and the unit of the stiffness value may be arbitrary.
  • an "intermediate state” is a state exactly in the middle between the state of FIG. 4A and the state of FIG. 4B.
  • a state in which the joint 4a rotates by half the angle from the state shown in FIG. 4A to the state shown in FIG. 4B corresponds to the "intermediate state”. The same applies to other joints 4 as well.
  • the link 5a is gripped with a relatively weak force.
  • the stiffness “30” which is a relatively low stiffness, is set. Then, the stiffness “30” and the motion “intermediate ⁇ FIG. 4B” are associated with each other and stored in the storage unit 18 .
  • the robot arm 1 can be driven based on the stiffness and motion stored in the storage section 18 .
  • the storage unit 18 stores "stiffness '70' and motion 'FIG. 4A ⁇ intermediate'” and 'stiffness '30' and motion 'intermediate ⁇ FIG. 4B''.
  • the robot arm 1 is driven so as to execute the movement of "FIG. 4A ⁇ intermediate” with a stiffness of "70" and the movement of "intermediate ⁇ FIG. 4B" with a stiffness of "30".
  • the stiffness control section 20 controls the stiffness of one or more links 5 with respect to rotation or linear motion.
  • the joints 4a to 4c are configured as revolute joints, the rotational rigidity of the three links 5a to 5c is controlled. Rotating stiffness of the link 5 is resistance to rotation of the joint 4 (difficulty in rotating the joint 4).
  • the rigidity control of the rotation of the link 5 is controlled by the rigidity control section 20 controlling the states of mechanisms such as springs and damper systems that constitute the joint drive section 12, and changing the drive torque.
  • the stiffness control unit 20 controls the position of the spring and changes the pressing force of the spring.
  • the frictional force acting on various mechanisms of the joint drive section 12 changes, and the magnitude of the force required to drive the joint 4 also changes. Therefore, the resistance to rotation of the joint 4 changes.
  • the specific rigidity control method by the rigidity control unit 20 is not limited.
  • the degree of influence on the movement of the robot arm 1 by an external impact also changes. For example, if the rotational rigidity is relatively high, even if an external impact is applied while the robot arm 1 is being driven, the rotation of the joint 4 is less likely to be hindered. That is, the movement of the robot arm 1 is less likely to be affected, and there is a low possibility that the robot arm 1 will move differently from the stored movement. On the other hand, if the rigidity is relatively low, the rotation of the joint 4 is likely to be hindered when an external impact is applied. Therefore, the motion of the robot arm 1 is likely to be affected, and there is a high possibility that the robot arm 1 will move differently from the stored motion.
  • the movement "FIG. 4A ⁇ intermediate” is executed with relatively high rigidity. Therefore, even if there is an impact from the outside, the movement of the robot arm 1 is relatively unlikely to be affected.
  • the "intermediate to FIG. 4B" movement is performed with relatively low stiffness. Therefore, the movement of the robot arm 1 is relatively likely to be affected by an external impact.
  • the rigidity of the link 5 relating to translational motion is controlled.
  • the stiffness of the link 5 with respect to linear motion is resistance to the linear motion of the joint 4 (difficulty in linear motion of the joint 4).
  • the rigidity control section 20 controls the states of mechanisms such as springs and damper systems that constitute the joint drive section 12 .
  • the setting of the rigidity of the joint 4, which is a revolute joint, by the rigidity control unit 20 during teaching is also included in the control of the rigidity related to the rotation of the link 5.
  • FIG. The setting of the stiffness of the joint 4, which is a translational joint, by the stiffness control unit 20 is also included in the control of the stiffness of the link 5 relating to translational motion.
  • the force required to move the robot arm 1 may be weakened in order to make it easier for the operator to input movements during teaching.
  • the stiffness control section 20 may control the stiffness of the joint 4 to be low with respect to rotation or translation.
  • the rigidity related to driving the joints 4 of the robot arm 1 is controlled based on the detection results of the tactile sensor 6 . This makes it possible to drive the robot arm 1 with high accuracy.
  • Robot arms are widely used as industrial robots that perform predetermined tasks in factories and the like. Robot arms are designed to be capable of various actions, such as lifting and moving objects, pasting objects, and polishing curved surfaces. physical contact.
  • the robot arm should be driven accurately based on the movements set (instructed) by the operator, etc., in order to accurately perform the prescribed work. Basically, therefore, the stiffness is highly controlled while the robot arm is moving. This makes it possible to prevent the robot arm from moving unexpectedly.
  • the robot arm when the end effector of the robot arm is in contact with the target object, if the robot arm is controlled to have a high rigidity, a strong force will be exerted on the target object. Specifically, even when the robot arm comes into contact with the object and a drag force acts from the object, the robot arm continues to drive without changing the set movement. Therefore, for example, the end effector may be pushed into the object, destroying the object.
  • a method of setting the stiffness for each movement of the robot arm for example, a method using a remote controller is conceivable.
  • a switch corresponding to each joint is provided, and the switch corresponding to the joint whose stiffness is to be set is pushed several times, and the stiffness is set by the accumulated number of pushes.
  • this method it is difficult to finely set the stiffness while setting the movement, which places a heavy burden on the operator.
  • the operator can set the stiffness while inputting the motion, so that the operator's labor for inputting the motion and setting the stiffness can be reduced.
  • the first 4/5ths of the robot arm's movement (when the end effector is away from the object) is set to high stiffness, while the remaining 5/5 A fraction (when the end effector is near the object) is set to a low stiffness. It is possible to easily set such a complicated stiffness.
  • the tactile sensor is provided in the area to be held by the link when the operator moves the link.
  • the tactile sensor is provided in a region suitable for the operator to hold the link, such as a region that is easy for the operator to hold or a region that the operator is likely to hold. This improves the operability when the operator inputs the movement of the robot arm.
  • the pressure is detected with high accuracy by the tactile sensor.
  • the rigidity control unit controls the rigidity so that the rigidity increases as the pressure detected by the tactile sensor increases. For example, when the operator grips the link strongly, the stiffness is set relatively high. This allows the operator to intuitively set the stiffness.
  • the stiffness control unit controls the stiffness of one or more links with respect to rotation or linear motion. That is, the rigidity can be controlled in any of the cases where all the joints are rotary joints, where all the joints are linear joints, or where rotary joints and linear joints are mixed. . This makes it possible to adopt a suitable joint configuration based on the content of the work to be executed by the robot arm.
  • FIG. 5 is a flowchart showing an example of processing in the direct teaching mode by the information processing device 2. As shown in FIG.
  • step 201 It is determined whether or not the mode of the robot arm 1 is the direct teaching mode (step 201). If the mode of the robot arm 1 is not the direct teaching mode (No in step 201), a drive mode for driving the robot arm 1 is selected based on the content of the teaching. In drive mode, a normal robot motion sequence is performed (step 202).
  • trajectory data When in teaching mode, operator input of movements is performed.
  • the operator inputs the trajectory of the robot arm 1, and trajectory data is generated based on the input trajectory. Note that the trajectory of the robot arm 1 is included in the motion of the robot arm 1 .
  • Trajectory data is data representing the position of each part of the robot arm 1 .
  • a predetermined orthogonal coordinate system (XYZ coordinate system) is set with reference to the base 3 and the like.
  • Position information such as "X: 100, Y: 200, Z: 300" of link 5 is generated as locus data.
  • Trajectory data may be expressed in any other coordinate system such as a polar coordinate system.
  • the position of the joint 4 or the end effector 7 or the joint angle of the joint 4 may be used.
  • the locus data is generated by the stiffness control unit 20 of the information processing device 2, for example. It is not limited to this, and a dedicated functional block may be configured.
  • FIG. 6 is a schematic diagram showing an example of averaging processing of surface pressure distribution data.
  • the surface pressure distribution data is the pressure value distribution at each position on the tactile sensor 6 .
  • a plurality of pressure detection points are arranged in a grid pattern within the detection area of the tactile sensor 6, and the pressure value acting on each detection point is detected.
  • FIG. 6 schematically shows surface pressure distribution data 24 .
  • the tactile sensor 6 has four pressure detection points vertically and four horizontally arranged in a grid pattern.
  • the pressure value acting on each pressure detection point is schematically represented by the height of the bar. For example, if the bar is relatively high, it means that the pressure value detected at that pressure detection point is relatively high.
  • the arrangement of the pressure detection points is not limited to the lattice-like arrangement, and any arrangement may be adopted.
  • a band-type tactile sensor 6 may be employed, and pressure detection points may be arranged in a one-dimensional straight line.
  • the number of arranged pressure detection points is not limited.
  • each pressure detection point corresponds to a position (row number and column number values) on the two-dimensional matrix, and the pressure value corresponds to the element value at that position.
  • the pressure detection points are arranged in a one-dimensional straight line, for example, the pressure values are simply converted into a numerical sequence and generated as the surface pressure distribution data 24 .
  • the specific format of the surface pressure distribution data 24 generated by the tactile sensor 6 is not limited.
  • the pressure value at each pressure detection point is detected and generated as the surface pressure distribution data 24 . That is, it is possible to reflect the state of contact of the operator's hand 8 with the tactile sensor 6 in more detail in the detection result.
  • the surface pressure distribution data 24 corresponds to an embodiment of the detection result of the tactile sensor 6 according to the present technology.
  • the surface pressure distribution data 24 generated by the tactile sensor 6 is transmitted to the information processing device 2 (step 203). Specifically, the surface pressure distribution data 24 is transmitted to the communication unit 19 of the information processing device 2 via the communication unit 13 of the robot arm 1 . Then, when the mode of the robot arm 1 is the direct teaching mode (Yes in step 201), the surface pressure distribution data 24 is acquired by the information processing device 2 (step 204).
  • the process of steps 204 to 208 is repeated in this embodiment. Specifically, the process is repeated such that the process from step 204 to step 208 is completed in several tens of milliseconds.
  • step 204 acquisition of the surface pressure distribution data 24 in step 204 is also performed once every several tens of milliseconds.
  • the information processing device 2 outputs an instruction to transmit the surface pressure distribution data 24 to the tactile sensor 6 .
  • transmission of the surface pressure distribution data 24 in step 203 is executed.
  • step 203 is executed at the same timing (same period) in conjunction with step 204 .
  • the cycle in which the tactile sensor 6 transmits the surface pressure distribution data 24 is not limited.
  • the cycle in which the information processing device 2 acquires the surface pressure distribution data 24 is not limited.
  • the cycle in which the surface pressure distribution data 24 is generated by the tactile sensor 6 is not limited.
  • the generation of the surface pressure distribution data 24 by the tactile sensor 6 may be performed in a relatively short cycle, and the transmission and acquisition of the surface pressure distribution data 24 may be performed in a relatively long cycle.
  • the plurality of surface pressure distribution data 24 accumulated by the tactile sensor 6 are acquired by the information processing device 2 at once.
  • an appropriate processing period may be adopted based on the performance of the tactile sensor 6 or the like.
  • the specific timing of generating, transmitting, and acquiring the surface pressure distribution data 24 is also not limited.
  • the surface pressure distribution data 24 may be generated, transmitted, and obtained only when the operator's hand 8 is touching the tactile sensor 6 .
  • the tactile sensor 6 transmits low-order information (for example, a physical quantity such as voltage detected by the tactile sensor 6), and based on the acquired information, the information processing device 2 side generates surface pressure distribution data 24. good too.
  • low-order information for example, a physical quantity such as voltage detected by the tactile sensor 6
  • FIG. 6 schematically shows the instantaneous surface pressure distribution data 24 acquired at each time t. Specifically, surface pressure distribution data 24-0 acquired at time ⁇ is shown. Similarly, surface pressure distribution data 24-1 acquired at time ⁇ -1, surface pressure distribution data 24-2 acquired at time ⁇ -2, and surface pressure distribution data 24-w acquired at time ⁇ -W. is shown.
  • the surface pressure distribution data 24 is obtained every 20 milliseconds
  • the surface pressure distribution data 24-1 is information obtained 20 milliseconds before the surface pressure distribution data 24-0.
  • the surface pressure distribution data 24-2 is information obtained 20 milliseconds before the surface pressure distribution data 24-1. In this way, the time at which each piece of surface pressure distribution data 24 is acquired is determined according to the cycle of acquisition. are doing.
  • averaged surface pressure distribution data 25 is generated based on a plurality of pieces of surface pressure distribution data 24 acquired during a certain period of time in the past.
  • average surface pressure distribution data 25 is generated based on a plurality of surface pressure distribution data 24 acquired from time ⁇ to time ⁇ W.
  • the average value of each pressure value at pressure detection points at the same position of the plurality of surface pressure distribution data 24 is calculated. Specifically, when the pressure values of the pressure detection points at the position “row: 1, column: 2" of each surface pressure distribution data 24 are "30", “50", and "70", the average surface pressure distribution The pressure value at the position "row: 1, column: 2" of the data 25 is "50". Thus, the pressure value at each position of the average surface pressure distribution data 25 is calculated, and the average surface pressure distribution data 25 is generated.
  • a predetermined threshold may be set, and only pressure values exceeding (or falling below) the threshold may be used for calculating the average value.
  • how the average surface pressure distribution data 25 is generated is not limited.
  • the averaging process By executing the averaging process, it is possible to remove noise contained in the data. For example, due to erroneous detection by the tactile sensor 6 or the like, some of the surface pressure distribution data 24 may include extreme outliers. Even in such a case, the influence of outliers is suppressed by averaging.
  • the average surface pressure distribution data 25 is generated by the information processing device 2 after the surface pressure distribution data 24 is acquired in step 204 .
  • the average surface pressure distribution data 25 may be generated in advance on the tactile sensor 6 side and transmitted to the information processing device 2 in step 203 .
  • the average surface pressure distribution data 25 corresponds to one embodiment of the detection result of the tactile sensor 6 according to the present technology.
  • the stiffness of the joint 4 is set by the stiffness control section 20 (step 205).
  • the stiffness control section 20 calculates the stiffness based on the obtained detection result. Specifically, the stiffness is calculated based on the average surface pressure distribution data 25 .
  • the average value of the pressure values at all positions of the average surface pressure distribution data 25 is calculated.
  • the average surface pressure distribution data consists of 2 rows and 2 columns, Pressure value in “row: 1, column: 1" is “10” Pressure value in “row: 1, column: 2” is “20” Pressure value in “row: 2, column: 1” is “30” Pressure value in “row: 2, column: 2” is “40” , the average value of these "25” is calculated.
  • the stiffness is calculated by a stiffness calculation function that inputs the calculated average value and outputs the stiffness.
  • a monotonically increasing function is used as the stiffness calculation function, as in the first embodiment.
  • the rigidity may be calculated by any method such as a method using other functions, a method using a table, or a method not including calculation of the average value of the average surface pressure distribution data 25 .
  • the time stamp, the set stiffness of the joint 4, and the generated trajectory data of the link 5 are associated and stored (step 206).
  • the storage unit 18 stores the stiffness set by the stiffness control unit 20 and the trajectory of the link 5 by driving the joint 4 in association with each other.
  • Trajectory data corresponds to an embodiment of the trajectory of the link 5 driven by the joint 4 according to the present technology.
  • the trajectory of each link 5 is determined by driving each joint 4 (change in joint angle).
  • the trajectory data is information representing the trajectory of the link 5 with position information.
  • a timestamp is stored in association with the stiffness and trajectory data.
  • a time stamp is information representing the time when the robot arm 1 entered a certain state.
  • the set stiffness of the joint 4 is "50”
  • the three data sets are temporarily stored in the buffer within the storage unit 18 . In the present embodiment, since detailed information about the movement of the robot arm 1 is stored in this way, the robot arm 1 can be driven more accurately.
  • the set stiffness of the joint 4 is displayed to the user (step 207).
  • feedback FB is provided to the operator by informing the operator of the set stiffness.
  • the notification control section 21 controls notification of the stiffness set by the stiffness control section 20 .
  • the notification of stiffness is carried out using, for example, an expression device installed on the link 5 .
  • FIG. 7 is a schematic diagram showing an example of stiffness notification control by the notification control unit 21. As shown in FIG. FIG. 7A shows a state in which the stiffness values are displayed on the display 15 . FIG. 7B shows the gauge displayed on the display 15 . FIG. 7C shows a state in which the LED 14 emits light.
  • the notification control unit 21 controls at least one of display of the stiffness value, display of the gauge corresponding to the height of the stiffness, display of the color corresponding to the height of the stiffness, and voice output of the stiffness. do. For example, by displaying the set stiffness value during teaching, the stiffness level is notified in real time. Further, the rigidity may be notified while the robot arm 1 is being driven.
  • the compact display 15 displays a stiffness value of "50".
  • the display 15 provided on the link 5a displays the stiffness value "50" of the joint 4a.
  • the present invention is not limited to this, and the display 15 may collectively display three stiffnesses of the joints 4a to 4c.
  • the level of rigidity may be displayed in stages such as “large”, “medium”, and "small”.
  • the LED 14 is emitting light in a predetermined color.
  • the LED 14 emits light in a color corresponding to the rigidity. for example, Green if the stiffness value is between 0 and 30 Blue if the stiffness value is between 31 and 70 Red if the stiffness value is between 71 and 100 Stiffness It emits different colors depending on its height.
  • the light emission of the LED 14 may be controlled so that the display color density differs according to the rigidity. For example, when the rigidity is relatively high, the LED 14 emits strong (intense) light, and when the rigidity is relatively low, the LED 14 emits weak (light) light.
  • rigid audio output by the speaker 16 may be performed.
  • a voice such as "The current stiffness is 50" is output to inform the operator of the stiffness.
  • the operator can grasp the stiffness value and determine whether the link 5 should be gripped stronger or weaker in order to set the stiffness to a desired height.
  • the operator can intuitively grasp the degree of rigidity from the display of the gauge or the like.
  • the contents of locus data and a time stamp may be notified together with the stiffness.
  • the stiffness value, the position of the link 5 and the time of day may be displayed together on the display 15 .
  • the notification control unit 21 sets the rigidity for teaching when the operator moves the link 5 to perform teaching according to the rigidity set by the rigidity control unit 20 .
  • the stiffness of the joint 4 changes in real time. That is, the force required for the operator to move the link 5 during teaching changes, such as increasing or decreasing.
  • the change in stiffness is realized by setting the stiffness by the notification control section 21 and controlling the stiffness by the stiffness control section 20 based on the set stiffness.
  • the notification control unit 21 sets the teaching rigidity so that the teaching rigidity increases as the rigidity set by the rigidity control unit 20 increases. That is, when the operator strongly grips the link 5 during teaching and the set stiffness is relatively high, the teaching stiffness is controlled to be relatively high, and the operator needs to move the link 5. power increases. As a result, the operator feels that the joints 4 and links 5 are stiff. On the other hand, if the operator grips the link 5 weakly and the set stiffness is relatively low, less force is required for the operator to move the link 5 . As a result, the operator feels that the joints 4 and links 5 are softened.
  • the operator can perform teaching while intuitively grasping the set rigidity. For example, if you want to set the rigidity low but the link 5 feels stiff, it is possible to determine that the rigidity is set high and reduce the force that grips the link 5. . In addition, since it is possible to grasp the height of the rigidity only by the sense of the fingertips, it is possible to grasp more intuitively.
  • the stiffness set in teaching and the teaching stiffness may or may not match, and may be in a proportional relationship, for example.
  • the relationship between the set stiffness and the teaching stiffness is not limited to the relationship in which the higher the set stiffness, the higher the teaching stiffness, and may be arbitrary.
  • notification of stiffness may be controlled by any method.
  • step 208 It is determined whether or not the direct teaching mode has ended. If the direct teaching mode is being executed (No in step 208), the surface pressure distribution data 24 is acquired again (step 204).
  • step 208 If the direct teaching mode has ended (Yes in step 208), time-series data of the stored time stamp, stiffness, and trajectory data are written (step 209).
  • step 206 the timestamp, stiffness, and trajectory data sets are temporarily stored in a buffer within storage 18 . Since the process of step 206 is repeated many times while the teach mode is being executed, a plurality of sets of data are accumulated in the buffer.
  • Time-series data is data in which sets of data are arranged along time.
  • the data sets are rearranged according to the timestamp values and written out as time-series data.
  • the time-series data can also be said to be data in which the stiffness of the joint 4 and the position of the link 5 are arranged in time-series order.
  • a normal robot operation sequence is executed in drive mode (step 202). Specifically, the robot arm 1 is driven according to the written time-series data.
  • Step 204 acquisition of surface pressure distribution data 24 is a process corresponding to step 101 (acquisition of detection result) in FIG.
  • Step 205 setting of stiffness is a process corresponding to step 102 (setting of stiffness).
  • Step 206 store time stamp, stiffness, and trajectory data in association with each other is a process corresponding to step 103 (store stiffness and motion of robot arm 1 in association with each other).
  • FIG. 8 mainly shows a functional configuration example of the robot control system.
  • FIG. 9 is a flowchart showing an example of processing in the direct teaching mode by the information processing device 2. As shown in FIG.
  • the controller 17 of the information processing device 2 configures a stroke determination unit 28 .
  • the stroking determination unit 28 is implemented as a functional block by the CPU of the controller 17 executing a program according to the present technology.
  • the stroking determination unit 28 determines whether or not a stroking operation has been performed on the tactile sensor 6 . Also, it is determined what type of stroking operation has been performed on the tactile sensor 6 .
  • steps 301-304 of FIG. 9 the same processing as in the second embodiment is executed.
  • the stiffness of the joint 4 is set by the stiffness control section 20 (step 205).
  • the stiffness control unit 20 holds the maximum pressure value detected by the tactile sensor 6 . Under the teaching mode, generation of average surface pressure distribution data 25 is repeatedly executed. The stiffness control unit 20 holds the maximum value of a plurality of average surface pressure distribution data 25 generated from the start of the teaching mode to the present.
  • the average value of the pressure values at each position of the average surface pressure distribution data 25 is calculated, and the maximum value of the calculated average values is held.
  • the pressure value at the moment when the operator puts the most force into gripping the link 5 from the start of the teaching mode to the present is held as the maximum value.
  • the maximum value of the plurality of average surface pressure distribution data 25 generated from the start of the teaching mode to the present corresponds to an embodiment of the maximum value of pressure detected by the pressure sensor according to the present technology. .
  • the operator can set the stiffness of the joint 4a by gripping the link 5a.
  • the link 5b it is possible to set the stiffness of the joint 4b
  • by gripping the link 5c it is possible to set the stiffness of the joint 4c.
  • the stiffness of the joints 4 can be set only up to two at the same time.
  • the stiffness control unit 20 By holding the maximum pressure value by the stiffness control unit 20, it is possible to input motion while setting the stiffness of the three joints 4a to 4c. For example, the operator first grabs the link 5a and sets the stiffness of the joint 4a to "50". Then, without moving the robot arm 1, the hand is once released from the link 5a. At this time, since the stiffness of the joint 4a is maintained, the stiffness of the joint 4a will not return to "0" when the hand is released. The operator then grabs the links 5b and 5c and moves the robot arm 1. Thereby, for example, the stiffness of the joint 4b is set to "40". Also, the stiffness of the joint 4c is set to "60". Furthermore, motion is input. Ultimately, a state is entered in which the three types of stiffness "50", "40", and "60" of the joints 4a to 4c and the movement of the robot arm 1 are input.
  • the stroking determination unit 28 determines whether or not a stroking operation has been performed on the tactile sensor 6 (step 306).
  • the stiffness control section 20 reduces the stiffness when a predetermined operation is input to the tactile sensor 6 .
  • the predetermined operation on the tactile sensor 6 includes a stroking operation. That is, the rigidity setting is executed so that the rigidity of the joint 4 is reduced when the stroking operation is performed on the tactile sensor 6 .
  • FIG. 10 is a schematic diagram showing an example of determination processing by the stroking determination unit 28.
  • the machine learning model 31 is used for determining the stroking operation. Specifically, the machine learning model 31 receives a plurality of surface pressure distribution data 24 as input, and outputs whether or not a stroking operation has been performed on the tactile sensor 6 and the duration of the stroking operation.
  • a CNN Convolutional Neural Network
  • a neural network is originally a model that imitates a human brain neural circuit, and has a layered structure consisting of three types of layers: an input layer, an intermediate layer (hidden layer), and an output layer.
  • a network such as an LSTM (Long Short-Term Memory) network is used.
  • any type of machine learning model 31 may be employed.
  • learning is executed in advance based on a machine learning algorithm. As learning samples, a sufficient amount of time series of the surface pressure distribution data 24 when the tactile sensor 6 is stroked and a time series of when the tactile sensor 6 is not stroked are prepared. Through learning, parameters (weights, coefficients) for calculating the correct answer (teacher label) are updated and generated as learned parameters. A program incorporating the generated learned parameters is generated as the machine learning model 31 . For example, the stochastic gradient descent method can be used as the learning method. Any other machine learning algorithm may be used.
  • a plurality of surface pressure distribution data 24 are input to the learned machine learning model 31 . Then, the machine learning model 31 outputs whether or not a stroking operation has been performed on the tactile sensor 6 . Also, when a stroking operation has been performed, the duration of the stroking operation (such as how many seconds) is also output.
  • the set value of stiffness is updated in step 305 .
  • the rigidity control unit 20 acquires the result that "a stroking operation has been performed” and the duration of the stroking operation. Based on the acquired information, the maximum stiffness value held by the stiffness control unit 20 is set to be low.
  • the maximum value of stiffness is set so that the longer the duration of the stroking operation is, the greater the range of decrease. For example, when the maximum stiffness value is "50" and the stroking operation is continued for one second, the maximum stiffness value is decreased by 10 and set to "40". If the stroking operation continues for 2 seconds, the maximum stiffness value is decreased by 20 and set to "30".
  • the relationship between the duration of the stroking operation and the amount of decrease in the maximum stiffness value is not limited to this, and may be arbitrary.
  • the stroking operation may be determined based on not only the surface pressure distribution data 24 but also any information detected by the tactile sensor 6 such as the average surface pressure distribution data 25 . Further, the determination of the stroking operation may be performed by any method, not limited to the method using the machine learning model 31 .
  • the stiffness may be set so that the stiffness of the joint 4 is reduced when a specific portion of the tactile sensor 6 is pressed.
  • the tactile sensor 6 is divided into an upper half area and a lower half area. If the upper half area is grabbed, the stiffness is set according to the grabbing force as usual. On the other hand, if the lower half area is grabbed, the set stiffness is lowered. In this case, the degree of rigidity reduction may be determined, for example, according to the duration for which the lower half area is gripped.
  • the stiffness setting tactile sensor 6 and the stiffness lowering tactile sensor 6 may be arranged separately.
  • the stiffness control unit 20 when the maximum value of the pressure is held by the stiffness control unit 20, it is possible to reduce the held pressure. For example, in the robot arm 1 having three or more joints, the stiffness is set high for the first 4/5 of the movement, then the tactile sensor 6 is stroked, and the stiffness is set low for the remaining 1/5. settings are possible.
  • steps 307-310 the same processing as in the second embodiment is executed.
  • the operator can set the stiffness of the joint 4a by touching the tactile sensor 6a.
  • the rigidity of the joint 4b can be set by touching the tactile sensor 6b.
  • the rigidity of the joint 4c can be set by touching the tactile sensor 6c.
  • joints 4 corresponding to each tactile sensor 6 are predetermined.
  • the operator may be able to freely determine the corresponding joint.
  • it may be possible to change the setting such that the stiffness of the joint 4a is set by touching the tactile sensor 6c.
  • the tactile sensor 6 it is possible to use not only the tactile sensor 6 but also any pressure sensor.
  • the tactile sensor 6 it is possible to determine the stroking operation, etc. Therefore, it is possible to set the rigidity more flexibly, such as lowering the set value of the rigidity based on the stroking operation.
  • the pressure can be detected with higher accuracy.
  • the tactile sensor 6 is attached to a portion of the hand 8 where the force is most likely to be applied when gripping, such as the line from the index finger to the thumb, or the pads of the fingers. As a result, it is possible to accurately reflect the force applied to the detection result.
  • This technology can also be applied as a stiffness control system having only the tactile sensor 6 and the stiffness control section 20.
  • FIG. 11 is a block diagram showing a hardware configuration example of a computer 500 capable of implementing the information processing device 2.
  • the computer 500 comprises a CPU 501, a ROM 502, a RAM 503, an input/output interface 505, and a bus 504 connecting them together.
  • a display unit 506, an input unit 507, a storage unit 508, a communication unit 509, a drive unit 510, and the like are connected to the input/output interface 505.
  • the display unit 506 is a display device using liquid crystal, EL, or the like, for example.
  • the input unit 507 is, for example, a keyboard, pointing device, touch panel, or other operating device.
  • a storage unit 508 is a non-volatile storage device, such as an HDD, flash memory, or other solid-state memory.
  • the drive unit 510 is a device capable of driving a removable recording medium 511 such as an optical recording medium or a magnetic recording tape.
  • a communication unit 509 is a modem, router, or other communication equipment connectable to a LAN, WAN, or the like, for communicating with other devices. The communication unit 509 may use either wired or wireless communication. The communication unit 509 is often used separately from the computer 500 .
  • Information processing by the computer 500 having the hardware configuration as described above is realized by cooperation of software stored in the storage unit 508 or the ROM 502 or the like and the hardware resources of the computer 500 .
  • the information processing method according to the present technology is realized by loading a program constituting software stored in the ROM 502 or the like into the RAM 503 and executing the program.
  • the program is installed in the computer 500 via the removable recording medium 511, for example.
  • the program may be installed on computer 500 via a global network or the like.
  • any non-transitory storage medium readable by computer 500 may be used.
  • the information processing method according to the present technology may be executed by a plurality of computers communicably connected via a network or the like, and the information processing apparatus according to the present technology may be constructed. That is, the information processing method according to the present technology can be executed not only in a computer system configured by a single computer, but also in a computer system in which a plurality of computers operate in conjunction with each other.
  • a system means a set of multiple components (devices, modules (parts), etc.), and it does not matter whether all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and a single device housing a plurality of modules within a single housing, are both systems.
  • Execution of the information processing method according to the present technology by a computer system includes both cases in which, for example, stiffness control and the like are executed by a single computer, and cases in which each process is executed by different computers. Execution of each process by a predetermined computer includes causing another computer to execute part or all of the process and obtaining the result. That is, the information processing method according to the present technology can also be applied to a configuration of cloud computing in which a single function is shared and processed jointly by a plurality of devices via a network.
  • expressions using "more than” such as “greater than A” and “less than A” encompass both the concept including the case of being equivalent to A and the concept not including the case of being equivalent to A. is an expression contained in For example, “greater than A” is not limited to not including equal to A, but also includes “greater than or equal to A.” Also, “less than A” is not limited to “less than A”, but also includes “less than A”. When implementing the present technology, specific settings and the like may be appropriately adopted from concepts included in “greater than A” and “less than A” so that the effects described above are exhibited.
  • An information processing apparatus comprising: a rigidity control unit that controls the rigidity related to driving the joint of the robot arm based on the detection result of a pressure sensor provided at a position with reference to the joint of the robot arm.
  • the information processing device according to (1) further comprising: An information processing apparatus comprising a storage unit that stores the stiffness set by the stiffness control unit and the movement of the robot arm caused by driving the joint in association with each other.
  • the storage unit stores the stiffness and the motion in association with each other when an operator selects a direct teaching mode in which a predetermined motion is stored by moving the robot arm.
  • the information processing device has one or more joints and one or more links that rotate or move linearly by driving each of the one or more joints, The information processing device, wherein the stiffness control unit controls stiffness relating to rotation or translation of the one or more links.
  • the information processing device further comprising: An information processing apparatus comprising a storage unit that stores the stiffness set by the stiffness control unit and the trajectory of the link by driving the joint in association with each other.
  • the storage unit stores the stiffness and the trajectory in association with each other when an operator selects a direct teaching mode in which a predetermined trajectory is stored by moving the link.
  • the information processing device according to any one of (4) to (6), The information processing apparatus, wherein the stiffness control section controls the stiffness such that the stiffness increases as the pressure detected by the pressure sensor increases.
  • the information processing device according to any one of (4) to (7), The information processing apparatus, wherein the pressure sensor is provided in an area where the link is to be held when an operator moves the link.
  • the information processing device according to any one of (1) to (8), further comprising: An information processing apparatus comprising a notification control section that controls notification of the stiffness set by the stiffness control section.
  • the information processing device controls at least one of display of the stiffness value, display of a gauge corresponding to the height of the stiffness, display of a color corresponding to the height of the stiffness, or audio output of the stiffness.
  • Information processing equipment (11) The information processing device according to (9) or (10), The information processing device, wherein the notification control unit sets the rigidity for teaching when an operator moves the link to perform teaching according to the rigidity set by the rigidity control unit. (12) The information processing device according to (11), The information processing device, wherein the notification control unit sets the teaching rigidity so that the teaching rigidity increases as the rigidity set by the rigidity control unit increases.
  • the information processing device according to any one of (1) to (12), The information processing apparatus, wherein the stiffness control unit holds a maximum value of the pressure detected by the pressure sensor, and sets the stiffness according to the held maximum value. (14) The information processing device according to (13), The information processing apparatus, wherein the stiffness control unit reduces the stiffness when a predetermined operation is input to the pressure sensor. (15) The information processing device according to (14), The information processing apparatus, wherein the predetermined operation includes a stroking operation. (16) The information processing device according to any one of (1) to (15), The information processing device, wherein the pressure sensor is a tactile sensor.
  • a robot control system comprising: a stiffness control unit that controls stiffness relating to driving of the joint of the robot arm based on the detection result of the pressure sensor.
  • a stiffness control system comprising: a stiffness control unit that controls stiffness relating to driving of the joint of the robot arm based on a detection result of the pressure sensor.

Landscapes

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

Abstract

本技術の一形態に係る情報処理装置は、剛性制御部を具備する。前記剛性制御部は、ロボットアームの関節を基準とした位置に設けられた圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する。この情報処理装置では、例えばオペレータが動きを入力しながら、同時に剛性の設定を行うことが可能であるため、動きの入力や剛性の設定に係るオペレータの労力が低減される。これにより、ロボットアームを精度よく駆動させることが可能となる。

Description

情報処理装置、情報処理方法、及びロボット制御システム
 本技術は、ロボットアームの駆動を制御可能な情報処理装置、情報処理方法、及びロボット制御システムに関する。
 特許文献1には、ロボットアームのリンク部分に取り付ける触覚センサについて開示されている。この触覚センサは、柔軟性を有する材料にてシート状に構成されている。これにより、リンク部分に巻きつけるようにして簡単に触覚センサを取り付けることが可能である。また、ロボットアームの関節に対して触覚センサを取り付けなくてもよいため、ロボットアームの動作の妨げにならない。
特開2003-071778号公報
 このようなロボットアームが使用される場合、ロボットアームを精度よく動作させることが重要となる。
 以上のような事情に鑑み、本技術の目的は、ロボットアームを精度よく動作させることが可能となる情報処理装置、情報処理方法、及びロボット制御システムを提供することにある。
 上記目的を達成するため、本技術の一形態に係る情報処理装置は、剛性制御部を具備する。
 前記剛性制御部は、ロボットアームの関節を基準とした位置に設けられた圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する。
 この情報処理装置では、圧力センサの検出結果に基づいて、ロボットアームの関節の駆動に関する剛性が制御される。これにより、ロボットアームを精度よく駆動させることが可能となる。
 前記情報処理装置は、さらに、前記剛性制御部により設定された前記剛性と、前記関節の駆動による前記ロボットアームの動きとを、互いに関連付けて記憶する記憶部を具備してもよい。
 前記記憶部は、オペレータが前記ロボットアームを動かして所定の動きを記憶させるダイレクトティーチングモードが選択されている場合に、前記剛性と前記動きとを互いに関連付けて記憶してもよい。
 前記ロボットアームは、1以上の関節と、前記1以上の関節の各々が駆動することにより、回転又は直動する1以上のリンクとを有してもよい。この場合、前記剛性制御部は、前記1以上のリンクの回転又は直動に関する剛性を制御してもよい。
 前記情報処理装置は、さらに、前記剛性制御部により設定された前記剛性と、前記関節の駆動による前記リンクの軌道とを、互いに関連付けて記憶する記憶部を具備してもよい。
 前記記憶部は、オペレータが前記リンクを動かして所定の軌道を記憶させるダイレクトティーチングモードが選択されている場合に、前記剛性と前記軌道とを互いに関連付けて記憶してもよい。
 前記剛性制御部は、前記圧力センサにより検出された圧力が高くなるのに応じて、前記剛性が高くなるように前記剛性を制御してもよい。
 前記圧力センサは、オペレータが前記リンクを動かす際に、前記リンクの保持の対象となる領域に設けられてもよい。
 前記情報処理装置は、さらに、前記剛性制御部により設定された前記剛性の報知を制御する報知制御部を具備してもよい。
 前記報知制御部は、前記剛性の値の表示、前記剛性の高さに応じたゲージの表示、前記剛性の高さに応じた色の表示、又は前記剛性の音声出力の少なくとも1つを制御してもよい。
 前記報知制御部は、前記剛性制御部により設定された前記剛性に応じて、オペレータが前記リンクを動かしてティーチングを行う際のティーチング用の剛性を設定してもよい。
 前記報知制御部は、前記剛性制御部により設定された前記剛性が高くなるのに応じて、前記ティーチング用の剛性が高くなるように、前記ティーチング用の剛性を設定してもよい。
 前記剛性制御部は、前記圧力センサにより検出された圧力の最大値を保持し、保持された前記最大値に応じた前記剛性を設定してもよい。
 前記剛性制御部は、前記圧力センサに対して所定の操作が入力された場合に、前記剛性を低くしてもよい。
 前記所定の操作は、撫でる操作を含んでもよい。
 前記圧力センサは、触覚センサであってもよい。
 本技術の一形態に係る情報処理方法は、コンピュータシステムが実行する情報処理方法であって、ロボットアームの関節を基準とした位置に設けられた圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御することを含む。
 本技術の一形態に係るロボット制御システムは、前記ロボットアームと、前記圧力センサと、前記剛性制御部とを具備する。
主にロボット制御システムのハードウェア構成例を示す模式図である。 主にロボット制御システムの機能的な構成例を示す模式図である。 ダイレクトティーチングモードにおける基本的な処理例を示すフローチャートである。 ダイレクトティーチングにより記憶されるロボットアームの動きの一例を示す模式図である。 ダイレクトティーチングモードにおける処理例を示すフローチャートである。 面圧力分布データの平均化処理の一例を示す模式図である。 報知制御部による剛性の報知制御の一例を示す模式図である。 主にロボット制御システムの機能的な構成例を示す模式図である。 ダイレクトティーチングモードにおける処理例を示すフローチャートである。 撫で判定部による判定処理の一例を示す模式図である。 情報処理装置を実現可能なコンピュータのハードウェア構成例を示すブロック図である。
 以下、本技術に係る実施形態を、図面を参照しながら説明する。
 <第1の実施形態>
 本技術に係るロボット制御システムについて、第1の実施形態を説明する。
 [ロボット制御システムの構成]
 図1及び図2は、ロボット制御システムの構成例を示す模式図である。
 図1には、主にロボット制御システムのハードウェア構成例が図示されている。
 図2には、主にロボット制御システムの機能的な構成例が図示されている。
 図1に示すように、ロボット制御システム100は、ロボットアーム1及び情報処理装置2を含む。本実施形態では、1つのロボットアーム1及び1つの情報処理装置2によりロボット制御システム100が構成されている。これに限定されず、複数のロボットアーム1、あるいは複数の情報処理装置2により、ロボット制御システム100が構成されてもよい。
 ロボットアーム1と、情報処理装置2とは、有線又は無線を介して、通信可能に接続されている。各デバイス間の接続形態は限定されず、例えばWiFi等の無線LAN通信や、Bluetooth(登録商標)等の近距離無線通信を利用することが可能である。
 ロボットアーム1は、基体部3、複数の関節4(4a~4c)、複数のリンク5(5a~5c)、複数の触覚センサ6(6a~6c)、及びエンドエフェクタ7を有する。
 基体部3は、ロボットアーム1の全体を支持する。図1に示すように、本実施形態では、基体部3は円柱形状を有する。もちろん、基体部3の形状等の具体的な構成は限定されない。
 関節4は、基体部3とリンク5との間、及びリンク5同士の間に構成される。また関節4は、部材(基体部3やリンク5)同士を互いに回転可能に接続する。
 本実施形態では、関節4aにより基体部3とリンク5aとが接続される。典型的には、基体部3は設置対象面に設置される。そして、基体部3に対してリンク5aが回転可能に接続される。
 また、関節4bによりリンク5aとリンク5bとが互いに回転可能に接続される。
 また、関節4cによりリンク5bとリンク5cとが互いに回転可能に接続される。
 関節4を駆動させることでリンク5が回転し、関節角度(接続される部材同士が交差する角度)を任意に制御することが可能である。もちろん、関節角度が取り得る範囲が規定されていてもよい。
 ロボットアーム1は、1以上の関節4と、1以上の関節4の各々が駆動することにより、回転又は直動する1以上のリンク5とを有する。
 特に本実施形態では、各々の関節4が部材同士を回転可能に接続する回転関節として構成されている。
 これに限定されず、関節4が、部材同士を少なくとも一方の部材を直動させることが可能に接続する直動関節として構成されてもよい。また、関節4として、回転関節及び直動関節が混在していてもよい。
 すなわち、関節4の各々が駆動することにより、リンク5が回転又は直動する任意のロボットアーム1に対して、本技術は適用可能である。
 その他、関節4の具体的な構成は限定されない。なお、関節4は、一般的にジョイント等と呼称される場合もある。
 リンク5は、基体部3とエンドエフェクタ7とを接続する部材として機能する。
 リンク5a~5cは、一方向に延在するように構成され、端部が関節4又はエンドエフェクタに接続される。
 リンク5aは、一方の端部が関節4aに接続され、他方の端部が関節4bに接続される。
 リンク5bは、一方の端部が関節4bに接続され、他方の端部が関節4cに接続される。
 リンク5cは、一方の端部が関節4cに接続され、他方の端部がエンドエフェクタ7に接続される。
 各々のリンク5の具体的な形状や材料等は限定されず、任意に設計されてよい。
 触覚センサ6は、触覚センサ6に対する物体の接触状態を検出可能である。
 例えば、触覚センサ6は、物体の接触の有無や触覚センサ6に対して作用する圧力(圧力値)を検出することが可能である。
 触覚センサ6が、所定の面積を有する2次元状の検出エリアを備える場合、検出エリアにおける圧力分布(圧力値の分布)を検出することも可能である。この場合、圧力分布に基づいて、検出エリアに対する接触位置等を検出することも可能である。なお、触覚センサ6による圧力分布の検出も、圧力の検出に含まれる。
 さらに、触覚センサ6は、触覚センサ6に対する操作(撫でる、掴む等)も検出可能である。
 触覚センサ6は、本技術に係る圧力センサの一実施形態に相当する。触覚センサ6の具体的な構成は限定されない。また、触覚センサ6以外の任意の圧力センサが用いられてもよい。
 図1には、触覚センサ6が長方形にて模式的に示されている。本実施形態では、例えば曲面に貼り付け可能なシート状の触覚センサ6が用いられる。触覚センサ6aはリンク5aに貼り付けられる。同様に、触覚センサ6bがリンク5bに、触覚センサ6cがリンク5cに貼り付けられる。
 触覚センサ6は、ロボットアーム1の関節4を基準とした位置に設けられる。すなわち、触覚センサ6は、関節4の位置を基準として貼り付けられる位置が設定されている。
 具体的には、触覚センサ6は、オペレータが手8を使ってリンク5を動かす際に、リンク5の保持の対象となる保持対象領域9に設けられる。
 保持対象領域9は、典型的にはオペレータにとって保持しやすい領域、あるいはオペレータが保持する可能性が高い領域として想定される。
 なお、例えばオペレータがリンク5を掴む行為等が、リンク5の保持に含まれる。
 例えば、ロボットアーム1の全体構成や、動かしたいリンク5の長さ等により、オペレータがリンク5を保持するのに適した領域は異なってくる。例えば、オペレータが自然に保持するであろうという位置を想定して、保持対象領域9が設定されてもよい。あるいは、リンク5をスムーズに動かすことが可能となる位置を想定して、保持対象領域9が設定されてもよい。
 また、オペレータの利便性等を考慮することなしに、保持すべき領域として指定する形で、保持対象領域9が設定されてもよい。
 なお、図1には、保持対象領域9(9a~9c)が破線の楕円にて模式的に示されている。
 触覚センサ6は、設定された保持対象領域9に設けられる。
 本実施形態では、触覚センサ6aは、関節4a及び4bを基準として、関節4a及び4bの概ね真ん中の位置に設けられる。同様に、触覚センサ6bは保持対象領域9b内に設けられ、触覚センサ6cは保持対象領域9c内に設けられる。
 オペレータがリンク5を動かしたい場合には、オペレータの手(指)8が、触覚センサ6に接触する。そして、触覚センサ6により、オペレータの手8の接触状態が検出される。
 ロボットアーム1の関節4を基準として触覚センサ6を設ける具体的な位置や、設ける位置を決定する方法は限定されない。
 エンドエフェクタ7は、例えば物体の把持等を行うための機構である。図1においては、エンドエフェクタ7が直方体にて模式的に示されており、リンク5cの一方の端部に接続されている。
 例えば、エンドエフェクタ7としてアームが接続される。この場合、物体を把持したり、持ち上げたりすることが可能である。また、エンドエフェクタ7に物体を吸引する機構が備えられ、物体が吸引されることで持ち上げられてもよい。その他、エンドエフェクタ7の構成は限定されず、物を貼り付ける、曲面を磨く等、任意の動作が可能であってよい。
 情報処理装置2は、例えば、PC(Personal Computer)等の任意のコンピュータにより構成される。
 情報処理装置2は、本技術に係る情報処理装置の一実施形態として機能する。情報処理装置2により、本技術に係るプログラムに基づいて、本技術に係る情報処理方法が実行される。
 図2に示すように、ロボットアーム1は、さらに、関節駆動部12、通信部13、LED(light Emitting Diode)14、ディスプレイ15、及びスピーカ16を有する(図1では図示は省略)。
 関節駆動部12は、関節4を駆動させ、リンク5を回転させるための機構である。
 関節駆動部12として、関節4の内部にバネやダンパ系等の機構が構成され、バネの伸縮等により関節4の駆動が実現される。その他、関節駆動部12として、サーボモータ等を含む任意の構成が採用可能されてよい。
 通信部13は、WANやLAN等のネットワークを介して他のデバイスと通信するための通信モジュールである。Bluetooth(登録商標)等の近距離無線通信用の通信モジュールが備えられてもよい。またモデムやルータ等の通信機器が用いられてもよい。本実施形態では、通信部13により情報処理装置2との通信が実行される。
 通信部13は、例えばロボットアーム1の所定の位置に内蔵される。その他、通信部13の具体的な構成は限定されない。
 LED14は、例えばリンク5の表面に配置される。本実施形態では、LED14は所定の色に発光することが可能であり、発光色の違いや色の濃さの違いにより、ユーザに対して種々の情報を報知することが可能である。
 LED14は、照明装置として機能する。その他、ランプ等、LED14以外の任意の照明装置が用いられてもよい。
 ディスプレイ15は、例えば液晶、EL(Electro Luminescence)等を用いた表示デバイスである。ディスプレイ15は、例えばリンク5の表面に配置される。ディスプレイ15には、種々の画像や種々のGUI(Graphical User Interface)等が表示され、ユーザに対して種々の情報が報知される。
 その他、ディスプレイ以外の任意の表示デバイスが用いられてよい。
 スピーカ16は、例えばロボットアーム1の基体部3等、所定の位置に内蔵される。スピーカ16から音声が出力されることにより、ユーザに対して種々の情報の報知が実行される。スピーカ16の構成は限定されず、例えばステレオ音声やモノラル音声等を出力可能なスピーカ16が適宜用いられてよい。
 LED14、ディスプレイ15、スピーカ16により、ユーザに対して種々の情報を報知する報知部が構成される。もちろん、報知部に含まれる機構は限定されず、ユーザに対して種々の情報を報知可能な任意の構成が採用されてよい。
 図2に示すように、情報処理装置2は、コントローラ17、記憶部18、及び通信部19を有する。
 コントローラ17は、例えばCPU、ROM、RAM、及びHDD等のコンピュータの構成に必要なハードウェアを有する。例えばCPUがROM等に予め記録されている本技術に係るプログラムをRAMにロードして実行することにより、本技術に係る情報処理方法に関する処理が実行される。
 コントローラ17として、例えばFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)、その他ASIC(Application Specific Integrated Circuit)等のデバイスが用いられてもよい。
 プログラムは、例えば種々の記録媒体を介して情報処理装置2にインストールされる。あるいは、インターネット等を介してプログラムのインストールが実行されてもよい。プログラムが記録される記録媒体の種類等は限定されず、コンピュータが読み取り可能な任意の記録媒体が用いられてよい。
 本実施形態では、コントローラ17のCPUが本技術に係るプログラム(例えばアプリケーションプログラム)を実行することで、機能ブロックとして、剛性制御部20及び報知制御部21が実現される。
 そしてこれらの機能ブロックにより、本実施形態に係る情報処理方法が実行される。なお各機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが適宜用いられてもよい。
 剛性制御部20は、ロボットアーム1の関節4の駆動に関する剛性を制御する。
 関節4の駆動に関する剛性とは、関節4の駆動に対する抵抗(関節4を駆動させるのに必要な力の大きさ)を意味する。関節4の駆動に関する剛性は、関節4の駆動のしにくさとも言える。
 例えば剛性が相対的に高く設定されているとする。この場合、関節4に対して働く力が小さい場合には、関節4は駆動せず、関節4の関節角やリンク5の位置は変化しない。一方で、剛性が相対的に低く設定されている場合には、関節4に対して働く力が小さい場合でも、関節4が駆動する。
 剛性制御部20は、関節4の駆動に関する剛性の設定や、剛性を高くする、低くするといった剛性の変更を実行することが可能である。
 報知制御部21は、剛性制御部20により設定された剛性の報知を制御する。
 具体的には、報知制御部21により、ロボットアーム1のLED14、ディスプレイ15、及びスピーカ16の動作が制御される。
 LED14の発光、ディスプレイ15による画像の表示、又はスピーカ16による音声の出力により、剛性制御部20により設定された剛性がユーザに対して報知される。
 記憶部18は、不揮発性メモリ等の記憶デバイスであり、例えばHDDやSSD等が用いられる。その他、コンピュータ読み取り可能な非一過性の任意の記憶媒体が用いられてよい。
 通信部19は、ロボットアーム1の通信部13と同様に、他のデバイスと通信するための通信モジュールである。本実施形態では、通信部19によりロボットアーム1との通信が実行される。
 通信部19の具体的な構成は限定されない。
 図1及び2を用いて説明したロボットアーム1や情報処理装置2の構成はあくまで一例であり、具体的な構成は限定されない。また、ロボット制御システム100全体の具体的な構成も限定されない。
 [ダイレクトティーチングモード]
 本実施形態では、オペレータにより、ダイレクトティーチングを行うことが可能である。
 ダイレクトティーチングとは、オペレータがロボットアーム1を動かして所定の動きを記憶させる処理である。
 例えば、ロボット制御システム100のメンテナンス等を担当する専門のオペレータにより、ダイレクトティーチングが実行される。もちろん、オペレータ以外の任意のユーザにより、ダイレクトティーチングが実行されてもよい。
 オペレータは、ダイレクトティーチングを行いたい場合に、ダイレクトティーチングモードへのモードの変更を実行する。
 ダイレクトティーチングモードとは、ダイレクトティーチングを実行するためのモードである。すなわち、ダイレクトティーチングモードとは、オペレータがロボットアーム1を動かして所定の動きを記憶させるモードである。
 以下、ダイレクトティーチングをティーチングと記載する場合がある。
 また、ダイレクトティーチングモードをティーチングモードと記載する場合がある。
 例えば、ロボットアーム1に設けられたモード変更のボタンが押されることにより、ティーチングモードが実行される。具体的には、ロボットアーム1から情報処理装置2に対して、ティーチングモードの開始の指示が送信される。
 その他、任意の方法によりティーチングモードが開始されてよい。
 図3は、情報処理装置2による、ダイレクトティーチングモードにおける基本的な処理例を示すフローチャートである。
 図4は、ダイレクトティーチングにより記憶されるロボットアーム1の動きの一例を示す模式図である。
 本例では、オペレータにより、ロボットアーム1が図4Aの状態から図4Bの状態に動かされるとする。
 具体的には、図4Aの状態を最初の状態として、関節4aが駆動し、リンク5aが後方側(図4の左側)に回転され、図4Bの状態に変位される。図4Bには、関節4aの回転の方向が、反時計回りの矢印にて模式的に示されている。
 また、関節4b及び4cも若干回転し、リンク5aに対するリンク5bの相対的な角度や、リンク5bに対するリンク5cの相対的な角度も変化している。ロボットアーム1全体としては、リンク5aから先の機構が後方側に回転し、エンドエフェクタ7は大きく上方側(図4の上側)に移動している。
 このようなロボットアーム1の動きが、ティーチングモードで記憶される。具体的には、オペレータがロボットアーム1を掴んで所定の動きをさせることで、その所定の動きが記憶される。例えば図4に示す動きを記憶させたい場合には、オペレータはロボットアーム1を掴み、図4と同じ動きを再現すればよい。
 本実施形態では、オペレータによりリンク5が掴まれ、オペレータの手8が触覚センサ6に触れた状態で動きが入力される。
 例えば、ティーチングモードが選択された場合に、触覚センサ6に触れながらロボットアーム1を動かす旨の指示が報知されてもよい。具体的には、報知制御部21により、ディスプレイ15やスピーカ16の動作が制御され、画像の表示や音声の出力により指示が報知される。
 以下、オペレータによりリンク5aの中央付近の位置が掴まれ、図4に示す動きが入力される場合を例として説明する。
 オペレータによりティーチングモードが選択されている場合、図3に示す処理が実行される。
 情報処理装置2により、触覚センサ6aにより検出された圧力が取得される(ステップ101)。
 オペレータは、リンク5aの中央付近の位置を手のひらで掴む。このとき、手のひらの一部が触覚センサ6aに接触した状態となる。すなわち、オペレータの手のひらから触覚センサ6aに対して圧力が働き、触覚センサ6により圧力が検出される。
 例えばリンク5aが相対的に強く掴まれた場合には、相対的に高い圧力値が検出される。
 リンク5aが相対的に弱く掴まれた場合には、相対的に低い圧力値が検出される。
 また、触覚センサ6aに対して手のひらが広い範囲で接触している場合には、広い範囲の圧力分布が検出される。
 手のひらが狭い範囲で接触している場合には、狭い範囲の圧力分布が検出される。
 その他、接触状態に関する任意の情報が検出されてよい。
 このようにして触覚センサ6aにより検出された圧力が、検出結果として情報処理装置2に送信される。具体的には、ロボットアーム1の通信部13を介して、情報処理装置2の通信部19に検出結果が送信される。これにより検出結果が、情報処理装置2により取得される。
 [剛性の設定]
 剛性制御部20により、関節4aの剛性が設定される(ステップ102)。
 剛性制御部20は、触覚センサ6aの検出結果に基づいて、ロボットアーム1の関節4aの駆動に関する剛性を制御する。
 また本実施形態では、剛性制御部20は、触覚センサ6aにより検出された圧力が高くなるのに応じて、剛性が高くなるように剛性を制御する。
 具体的には、まず情報処理装置2の通信部19に対して送信された検出結果が、剛性制御部20により取得される。
 そして、取得された検出結果に基づいて、剛性の算出が実行される。例えば圧力値を入力、剛性を出力とする剛性算出用の関数が用いられ、剛性が算出される。剛性算出用の関数としては、入力される圧力値が高くなると出力される剛性が高くなる関数(単調増加関数)が用いられる。言い換えれば、入力される圧力値が低くなると、出力される剛性は低くなる。
 このような単調増加関数は、キャリブレーションプロセス(計算)により容易に決定可能である。例えば単調増加関数として、圧力値と剛性とが比例する関数が用いられる。また、剛性の増加率が圧力値によって変化する関数が用いられてもよい。その他、任意の単調増加関数が用いられてよい。
 このようにして、関節4aの剛性が設定される。なお、剛性制御部20による剛性の設定は、剛性の制御に含まれる。
 もちろんこれに限定されず、任意の方法により剛性の設定がされてよい。例えばテーブル等を用いた方法により、剛性が算出されてもよい。また、圧力と剛性の関係も、圧力値が高くなると剛性が高くなるような関係に限らず、任意であってよい。
 このように、オペレータによりリンク5aが掴まれた場合に、関節4aの剛性が設定される。同様に、リンク5bが掴まれた場合には関節4bの剛性が設定される。また、リンク5cが掴まれた場合には関節4cの剛性が設定される。
 設定された関節4aの剛性と、ロボットアーム1の動きとが、関連付けて記憶される(ステップ103)。
 本実施形態では、記憶部18により、剛性制御部20により設定された剛性と、関節4の駆動によるロボットアーム1の動きとが、互いに関連付けて記憶される。
 例えば、オペレータがリンク5aを所定の力で掴んだ場合に、剛性制御部20により設定される関節4aの剛性が「50」であるとする。さらに、掴む力を同じ大きさ(所定の大きさのまま)に保ったまま、関節4の駆動によるロボットアーム1の動きである「図4に示す動き」を入力したとする。
 この場合、剛性「50」と、動き「図4に示す動き」とが互いに関連付けられ、記憶部18に記憶される。
 なお、「50」という剛性の値はあくまで一例であり、剛性の値や、剛性の値の単位は任意であってよい。
 また、リンク5aを掴む力が途中で変化した場合にも、剛性と動きとが関連付けて記憶される。
 例えば、図4Aの状態及び図4Bの状態の「中間の状態」で、リンク5aを掴む力が変化する場合を考える。「中間の状態」とは、図4Aの状態及び図4Bの状態のちょうど真ん中の状態である。例えば関節4aが図4Aの状態から図4Bの状態になるまでに回転する角度の、半分の角度だけ回転した状態が、「中間の状態」に相当する。他の関節4についても同様である。
 オペレータは、動き「図4A→中間」(図4Aの状態から中間の状態に変位される動き)を入力するときは、リンク5aを相対的に強い力で掴む。これにより、例えば相対的に高い剛性である剛性「70」が設定される。
 そして、剛性「70」と、動き「図4A→中間」とが互いに関連付けられ、記憶部18に記憶される。
 また、動き「中間→図4B」を入力するときは、リンク5aを相対的に弱い力で掴む。これにより、例えば相対的に低い剛性である剛性「30」が設定される。
 そして、剛性「30」と、動き「中間→図4B」とが互いに関連付けられ、記憶部18に記憶される。
 [ロボットアームの駆動]
 本実施形態では、ロボットアーム1は、記憶部18に記憶された剛性及び動きに基づいて駆動することが可能である。
 例えば、記憶部18により『剛性「70」及び動き「図4A→中間」』と、『剛性「30」及び動き「中間→図4B」』とが記憶されているとする。この場合、ロボットアーム1は「図4A→中間」の動きを剛性「70」で実行し、「中間→図4B」の動きを剛性「30」で実行するように駆動する。
 このような駆動を実現するために、剛性制御部20により、1以上のリンク5の回転又は直動に関する剛性が制御される。
 特に本実施形態では、各々の関節4a~4cが全て回転関節にて構成されているため、3つのリンク5a~5cの回転に関する剛性が制御される。リンク5の回転に関する剛性とは、関節4の回転に対する抵抗(関節4の回転のしにくさ)である。
 リンク5の回転に関する剛性の制御は、剛性制御部20により、関節駆動部12を構成するバネやダンパ系等の機構の状態が制御され、駆動トルクが変化することで実現する。例えば、剛性制御部20によりバネの位置が制御され、バネによる押圧力が変化する。
 これにより、関節駆動部12の種々の機構に働く摩擦力が変化し、関節4を駆動させるために必要な力の大きさも変化する。従って、関節4の回転に対する抵抗が変化する。
 もちろん、剛性制御部20による具体的な剛性の制御方法は限定されない。
 リンク5の回転に関する剛性が制御されると、外部からの衝撃によるロボットアーム1の動きへの影響の度合いも変化する。
 例えば、回転に関する剛性が相対的に高い場合には、ロボットアーム1が駆動している間に外部から衝撃が加わった場合でも、関節4の回転が阻害されにくい。すなわち、ロボットアーム1の動きに影響が出にくく、記憶された動きと異なる動きをする可能性が低い。
 一方で、剛性が相対的に低い場合には、外部から衝撃が加わった場合に、関節4の回転が阻害されやすい。従って、ロボットアーム1の動きに影響が出やすく、記憶された動きと異なる動きをする可能性が高い。
 本実施形態では、一連の「図4に示す動き」のうち、「図4A→中間」の動きは剛性が相対的に高い状態で実行される。従って、外部からの衝撃があった場合でも、ロボットアーム1の動きに相対的に影響が出にくい。
 一方で、「中間→図4B」の動きは剛性が相対的に低い状態で実行される。従って、外部からの衝撃によりロボットアーム1の動きに相対的に影響が出やすい。
 なお、関節4に直動関節が含まれる場合には、リンク5の直動に関する剛性が制御される。リンク5の直動に関する剛性とは、関節4の直動に対する抵抗(関節4の直動のしにくさ)である。
 この場合にも、剛性制御部20により、関節駆動部12を構成するバネやダンパ系等の機構の状態が制御される。
 また、ティーチングにおける、剛性制御部20による、回転関節である関節4の剛性の設定も、リンク5の回転に関する剛性の制御に含まれる。
 剛性制御部20による、直動関節である関節4の剛性の設定も、リンク5の直動に関する剛性の制御に含まれる。
 ティーチングの際にオペレータが動きを入力しやすくするために、ロボットアーム1を動かすのに必要な力が弱められてもよい。具体的には、例えばティーチングモードへのモードの変更が実行されると同時に、剛性制御部20により、関節4の回転又は直動に関する剛性が低く制御されてもよい。
 以上、本実施形態に係る情報処理装置2では、触覚センサ6の検出結果に基づいて、ロボットアーム1の関節4の駆動に関する剛性が制御される。これにより、ロボットアーム1を精度よく駆動させることが可能となる。
 工場等で所定の作業を行う産業用ロボットとして、ロボットアームが広く用いられている。ロボットアームは、例えば物を持ち上げて移動させる、物を貼り付ける、曲面を磨く等、様々な動作が可能なように設計されており、多くの場合エンドエフェクタ(アーム等)と対象物との物理的接触を伴う。
 ロボットアームは、所定の作業を精度よく行うために、オペレータ等により設定(教示)された動きに基づいて精度よく駆動することが望ましい。従って基本的には、ロボットアームが動いている間の剛性は高く制御される。これにより、ロボットアームが想定外の動きをすることを防止することが可能となる。
 しかしながら、ロボットアームのエンドエフェクタが対象物と接触している場面においては、ロボットアームの剛性が高く制御されていると、対象物に強い力が及ぼされてしまう。具体的には、ロボットアームが対象物に接触し、対象物から抗力が働いた場合でも、ロボットアームは設定された動きを変えることなく駆動し続ける。従って、例えばエンドエフェクタが対象物に押し込まれ、対象物が破壊されてしまうといったこともあり得る。
 このようなことを防止するために、エンドエフェクタが対象物と接触している場合、あるいはエンドエフェクタが対象物の付近にある場合に限っては、剛性が低く制御されることが望ましい。これにより、対象物からの抗力がエンドエフェクタに及んだ際にその力を受け流すような「柔らかい制御」を構成することが可能となる。
 ロボットアームの各々の動きに対して剛性を設定する方法としては、例えばリモコンを用いた方法が考えられる。この場合、例えば各関節に対応するスイッチが備え付けられ、剛性を設定したい関節のスイッチを何回か押し、累積のプッシュ回数で剛性が設定されるといった方法となる。
 しかしながら、この方法では動きの設定を行いながら細かい剛性の設定をすることは困難であり、オペレータへの負担が大きい。
 本実施形態では、オペレータが動きを入力しながら、同時に剛性の設定を行うことが可能であるため、動きの入力や剛性の設定に係るオペレータの労力が低減される。
 例えば対象物との接触を伴うタスクを安全に実現するために、ロボットアームの動きの最初の5分の4(エンドエフェクタが対象物と離れている場合)は剛性が高く設定され、残りの5分の1(エンドエフェクタが対象物の付近にある場合)は剛性が低く設定される。このような複雑な剛性の設定も容易に行うことが可能となる。
 さらに本実施形態では、触覚センサは、オペレータがリンクを動かす際に、リンクの保持の対象となる領域に設けられる。
 例えば、オペレータにとって保持しやすい領域、あるいはオペレータが保持する可能性が高い領域等、オペレータがリンクを保持するのに適した領域に触覚センサが設けられる。
 これにより、オペレータがロボットアームの動きを入力する場合の操作性が向上する。また、触覚センサにより、圧力が精度よく検出される。
 また、剛性制御部により、触覚センサにより検出された圧力が高くなるのに応じて、剛性が高くなるように剛性が制御される。例えば、オペレータによりリンクが強く掴まれた場合には、剛性が相対的に高く設定される。
 これにより、オペレータは直感的に剛性を設定することが可能となる。
 また、剛性制御部により、1以上のリンクの回転又は直動に関する剛性が制御される。
 すなわち、関節が全て回転関節にて構成される場合、全て直動関節にて構成される場合、あるいは回転関節と直動関節とが混在する場合、いずれにおいても剛性を制御することが可能である。
 これにより、ロボットアームにより実行される作業の内容等に基づいて、適した関節の構成を採用することが可能となる。
 <第2の実施形態>
 本技術に係る第2の実施形態のロボット制御システム100について説明する。
 これ以降の説明では、上記の実施形態で説明したロボット制御システム100における構成及び作用と同様な部分については、その説明を省略又は簡略化する。
 図5は、情報処理装置2による、ダイレクトティーチングモードにおける処理例を示すフローチャートである。
 ロボットアーム1のモードがダイレクトティーチングモードであるか否かが判定される(ステップ201)。
 ロボットアーム1のモードがダイレクトティーチングモードでない場合(ステップ201のNo)、ティーチングの内容に基づいてロボットアーム1が駆動する駆動モードが選択される。駆動モードでは、通常のロボット動作シーケンスが実行される(ステップ202)。
 [軌跡データ]
 ティーチングモードである場合、オペレータによる動きの入力が実行される。
 本実施形態は、オペレータによりロボットアーム1の軌道が入力され、入力された軌道に基づいて、軌跡データが生成される。
 なお、ロボットアーム1の軌道は、ロボットアーム1の動きに含まれる。
 軌跡データは、ロボットアーム1の各々の部位の位置を表すデータである。例えば基体部3等を基準として所定の直交座標系(XYZ座標系)が設定される。そして、リンク5の「X:100、Y:200、Z:300」といった位置情報が、軌跡データとして生成される。
 軌跡データは極座標系等、他の任意の座標系により表現されてもよい。また、関節4やエンドエフェクタ7の位置、あるいは関節4の関節角により表現されてもよい。
 軌跡データの生成は、例えば情報処理装置2の剛性制御部20により実行される。これに限定されず、専用の機能ブロックが構成されてもよい。
 [面圧力分布データ]
 本実施形態では、触覚センサ6により面圧力分布データが生成される。
 以下、面圧力分布データの具体的な内容について説明する。
 図6は、面圧力分布データの平均化処理の一例を示す模式図である。
 面圧力分布データとは、触覚センサ6上の各位置における圧力値の分布である。
 本実施形態では、例えば触覚センサ6の検出エリア内に格子状に複数の圧力検出点(センサノード)が配置され、各々の検出点に働く圧力値が検出される。
 図6には、面圧力分布データ24が模式的に示されている。図6の例においては、触覚センサ6に、格子状に縦4つ、横4つの圧力検出点が配置されている。さらに、各々の圧力検出点に働いた圧力値が、バーの高さで模式的に表現されている。例えばバーが相対的に高い場合には、その圧力検出点で検出された圧力値が相対的に高いことを意味している。
 その他、圧力検出点の配置として、格子状の配置に限らず任意の配置が採用されてよい。例えばバンド型の触覚センサ6が採用され、圧力検出点が1次元の直線状に配置されてもよい。
 また、配置される圧力検出点の数も限定されない。
 格子状に圧力検出点が配置される場合には、例えば各々の圧力検出点で検出された圧力値が二次元行列に変換され、面圧力分布データ24として生成される。具体的には、各々の圧力検出点が二次元行列上の位置(行番号及び列番号の値)に対応し、圧力値が当該位置における要素の値に対応する。
 また、圧力検出点が1次元の直線状に配置される場合には、例えば圧力値が単なる数列に変換され、面圧力分布データ24として生成される。
 その他、触覚センサ6により生成される面圧力分布データ24の具体的な形式は限定されない。
 例えばオペレータにより軌道が入力される時に、触覚センサ6の中央が強く押された場合には、中央付近に配置された圧力検出点で、相対的に高い圧力値が検出される。一方で、触覚センサ6の四隅等、中央から離れた部分に配置された圧力検出点では、相対的に低い圧力値が検出される。
 このように本実施形態では、圧力値として単に1つの値が検出されるのではなく、各々の圧力検出点における圧力値が検出され、面圧力分布データ24として生成される。すなわち、触覚センサ6に対するオペレータの手8の接触の状態を、より詳細に検出結果に反映することが可能となる。
 面圧力分布データ24は、本技術に係る、触覚センサ6の検出結果の一実施形態に相当する。
 触覚センサ6により生成された面圧力分布データ24が、情報処理装置2に対して送信される(ステップ203)。
 具体的には、ロボットアーム1の通信部13を介して、情報処理装置2の通信部19に面圧力分布データ24が送信される。
 そして、ロボットアーム1のモードがダイレクトティーチングモードである場合には(ステップ201のYes)、情報処理装置2により、面圧力分布データ24が取得される(ステップ204)。
 図5に示すように、本実施形態ではステップ204~ステップ208の処理が繰り返される。具体的には、ステップ204~ステップ208の処理が数十ミリ秒で一巡するように、処理が繰り返される。
 従って、ステップ204における面圧力分布データ24の取得も、数十ミリ秒ごとに1回の周期で実行される。
 また、ステップ204では、情報処理装置2により触覚センサ6に対して面圧力分布データ24の送信の指示が出力される。そして、指示をトリガーとして、ステップ203の面圧力分布データ24の送信が実行される。従って、ステップ203は、ステップ204に連動する形で、同じタイミング(同じ周期)で実行される。
 触覚センサ6により面圧力分布データ24の送信が実行される周期は限定されない。
 情報処理装置2により面圧力分布データ24の取得が実行される周期は限定されない。
 また、触覚センサ6により面圧力分布データ24の生成が実行される周期も限定されない。
 例えば、触覚センサ6による面圧力分布データ24の生成が、相対的に短い周期で実行され、面圧力分布データ24の送信や取得が、相対的に長い周期で実行されてもよい。この場合、触覚センサ6により蓄積された複数の面圧力分布データ24が、情報処理装置2により一度に取得されることとなる。
 その他、触覚センサ6等の性能等に基づいて、適切な処理の周期が採用されてよい。
 面圧力分布データ24の生成、送信、及び取得が実行される具体的なタイミングも限定されない。
 例えば、オペレータの手8が触覚センサ6に触れている場合に限り、面圧力分布データ24の生成、送信、及び取得が実行されてもよい。
 触覚センサ6により低次の情報(例えば触覚センサ6により検出された、電圧等の物理量)が送信され、取得された情報に基づいて、情報処理装置2側で面圧力分布データ24が生成されてもよい。
 [平均化処理]
 本実施形態では、面圧力分布データ24の平均化処理が実行される。
 平均化処理の具体的な内容について説明する。
 図6には、各々の時刻tで取得された瞬時の面圧力分布データ24が模式的に図示されている。
 具体的には、時刻τで取得された面圧力分布データ24-0が図示されている。
 同様に、時刻τ-1で取得された面圧力分布データ24-1、時刻τ-2で取得された面圧力分布データ24-2、時刻τ-Wで取得された面圧力分布データ24-wが図示されている。
 例えば20ミリ秒ごとに面圧力分布データ24が取得される場合には、面圧力分布データ24-1は、面圧力分布データ24-0の20ミリ秒前に取得された情報となる。同様に、面圧力分布データ24-2は、面圧力分布データ24-1の20ミリ秒前に取得された情報となる。
 このように、各々の面圧力分布データ24が取得される時刻は、取得の周期に応じて決まるものであるが、取得の1周期分を1単位として、時刻τ、時刻τ-1等と表現している。
 平均化処理では、過去一定時間の間に取得された複数の面圧力分布データ24に基づいて、平均化された平均面圧力分布データ25が生成される。
 図6の例では、時刻τから時刻τ-Wまでの間に取得された複数の面圧力分布データ24に基づいて、平均面圧力分布データ25が生成される。
 例えば、複数の面圧力分布データ24の、同一の位置の圧力検出点における各々の圧力値の平均値が算出される。具体的には、各々の面圧力分布データ24の位置「行:1、列:2」における圧力検出点の圧力値が「30」「50」「70」である場合には、平均面圧力分布データ25の位置「行:1、列:2」における圧力値は「50」となる。
 このようにして、平均面圧力分布データ25の各々の位置における圧力値が算出され、平均面圧力分布データ25が生成される。
 また、所定の閾値が設定され、閾値を上回る(もしくは下回る)圧力値のみが平均値の算出に用いられてもよい。
 その他、平均面圧力分布データ25がどのように生成されるかは限定されない。
 平均化処理が実行されることで、データに含まれるノイズを除去することが可能となる。
 例えば、触覚センサ6の誤検出等に起因して、面圧力分布データ24の一部に極端な外れ値が含まれてしまう場合がある。このような場合にも、平均を取ることにより外れ値の影響が抑制される。
 本実施形態では、ステップ204にて面圧力分布データ24が取得された後に、情報処理装置2により平均面圧力分布データ25が生成される。
 これに限定されず、例えば触覚センサ6側であらかじめ平均面圧力分布データ25が生成され、ステップ203で情報処理装置2に送信されてもよい。
 この場合、平均面圧力分布データ25は、本技術に係る、触覚センサ6の検出結果の一実施形態に相当する。
 剛性制御部20により、関節4の剛性が設定される(ステップ205)。
 まず、剛性制御部20により、取得された検出結果に基づいて剛性が算出される。具体的には、平均面圧力分布データ25に基づいて剛性が算出される。
 具体的には、平均面圧力分布データ25の全ての位置における圧力値の平均値が算出される。例えば平均面圧力分布データが2行2列で構成されており、
 「行:1、列:1」における圧力値が「10」
 「行:1、列:2」における圧力値が「20」
 「行:2、列:1」における圧力値が「30」
 「行:2、列:2」における圧力値が「40」
 である場合には、これらの平均値「25」が算出される。
 そして、算出された平均値を入力、剛性を出力とする剛性算出用の関数により、剛性が算出される。剛性算出用の関数としては、第1の実施形態と同様に単調増加関数が用いられる。もちろん、他の関数を用いた方法、テーブルを用いた方法、又は平均面圧力分布データ25の平均値の算出を含まない方法等、任意の方法により剛性が算出されてよい。
 タイムスタンプと、設定された関節4の剛性と、生成されたリンク5の軌跡データとが、関連付けて記憶される(ステップ206)。
 本実施形態では、記憶部18により、剛性制御部20により設定された前記剛性と、関節4の駆動によるリンク5の軌道とが、互いに関連付けて記憶される。
 例えば、リンク5の位置が「X:100、Y:200、Z:300」である状態において、設定された関節4の剛性が「50」であったとする。この場合、剛性「50」と、軌跡データ「X:100、Y:200、Z:300」とが、互いに関連付けて記憶される。
 軌跡データは、本技術に係る、関節4の駆動によるリンク5の軌道の一実施形態に相当する。各々の関節4の駆動(関節角度の変化)により、各々のリンク5の軌道が決定する。そして、軌跡データは、リンク5の軌道を位置情報にて表す情報である。
 さらに本実施形態では、タイムスタンプが、剛性及び軌跡データと関連付けて記憶される。
 タイムスタンプとは、ロボットアーム1がある状態となった時刻を表す情報である。タイムスタンプとしては、例えば図6に示す「t=τ」といった時刻を表す数値が用いられる。
 例えばリンク5の位置が「X:100、Y:200、Z:300」である状態において、設定された関節4の剛性が「50」、その状態となった時刻が「t=τ」であった場合には、タイムスタンプ「t=τ」、剛性「50」、及び軌跡データ「X:100、Y:200、Z:300」の3つのデータの組が、セットで記憶される。
 なおステップ206では、3つのデータの組が、記憶部18内のバッファに一時的に記憶される。
 本実施形態では、このようにロボットアーム1の動きに関する詳細な情報が記憶されるため、ロボットアーム1がさらに精度よく駆動することが可能となる。
 [剛性の報知]
 設定された関節4の剛性が、ユーザに対して表出される(ステップ207)。
 例えば設定された剛性がオペレータに対して報知されることで、オペレータに対するフィードバック(FB)がなされる。
 本実施形態では、報知制御部21により、剛性制御部20により設定された剛性の報知が制御される。剛性の報知は、例えばリンク5に設置された表出デバイスが用いられ、実行される。
 図7は、報知制御部21による剛性の報知制御の一例を示す模式図である。
 図7Aには、ディスプレイ15に剛性の値が表示された状態が示されている。
 図7Bには、ディスプレイ15にゲージが表示された状態が示されている。
 図7Cには、LED14が発光している状態が示されている。
 本実施形態では、報知制御部21は、剛性の値の表示、剛性の高さに応じたゲージの表示、剛性の高さに応じた色の表示、又は剛性の音声出力の少なくとも1つを制御する。
 例えばティーチングの実行中に、設定されている剛性の値が表示されることにより、剛性の高さがリアルタイムで報知される。
 また、ロボットアーム1が駆動しているときに、剛性の高さが報知されてもよい。
 図7Aでは、小型のディスプレイ15に剛性の値「50」が表示されている。
 具体的には、リンク5aに設けられたディスプレイ15により、関節4aの剛性の値「50」が表示されている。これに限らず、ディスプレイ15に関節4a~4cの剛性が3つまとめて表示されてもよい。
 あるいは、「大」「中」「小」等、剛性の高さが段階的に表示されてもよい。
 図7Bでは、ディスプレイ15にゲージが表示されている。
 例えば剛性の値「100」を上限として、剛性に応じた長さのゲージが表示される。図7Bに示す例では、ゲージの長さが上限の半分程度であるため、剛性の値が「50」程度であることが表現されている。
 スピードメータのようなメータにより、剛性の値が表現されてもよい。
 図7Cでは、LED14が所定の色に発光している。
 LED14は、剛性の高さに応じた色に発光する。例えば、
 剛性の値が「0~30」である場合には緑色
 剛性の値が「31~70」である場合には青色
 剛性の値が「71~100」である場合には赤色
 というように、剛性の高さに応じて異なる色に発光する。
 あるいは、剛性の高さに応じて表示色の濃さが異なるように、LED14による発光が制御されてもよい。例えば、剛性が相対的に高い場合にはLED14が強く(濃く)発光し、相対的に低い場合にはLED14が弱く(薄く)発光する、といった制御が実行されてもよい。
 また、スピーカ16による剛性の音声出力が実行されてもよい。
 例えば、「現在の剛性は50です」といった音声が出力され、オペレータに対して剛性が報知される。
 これにより、オペレータは剛性の値を把握し、剛性を所望の高さに設定するために、リンク5をもっと強く掴めばよいか、あるいは弱く掴めばよいかを判断することが可能となる。
 また、オペレータはゲージの表示等により剛性の高さを直感的に把握することが可能となる。
 なお、剛性を含む情報として、軌跡データの内容やタイムスタンプが、剛性と一緒に報知されてもよい。例えば、ディスプレイ15に剛性の値、リンク5の位置、及び時刻が一緒に表示されてもよい。
 また、本実施形態では、報知制御部21は、剛性制御部20により設定された剛性に応じて、オペレータがリンク5を動かしてティーチングを行う際のティーチング用の剛性を設定する。
 具体的には、ティーチングモードにおいてオペレータがリンク5を動かしている最中に、関節4の剛性がリアルタイムで変化する。すなわち、ティーチングの際にオペレータがリンク5を動かすのに必要な力が大きくなったり、小さくなったりというように変化する。
 剛性の変化は、報知制御部21により剛性が設定され、設定された剛性に基づいて、剛性制御部20により剛性が制御されることで実現される。
 本実施形態では特に、報知制御部21は、剛性制御部20により設定された剛性が高くなるのに応じて、ティーチング用の剛性が高くなるように、ティーチング用の剛性を設定する。
 すなわち、ティーチングの最中において、オペレータがリンク5を強く掴み、設定される剛性が相対的に高い場合には、ティーチング用の剛性が相対的に高く制御され、オペレータがリンク5を動かすのに必要な力が大きくなる。これにより、オペレータは関節4やリンク5が固くなっているように感じる。
 一方で、オペレータがリンク5を弱く掴み、設定される剛性が相対的に低い場合には、オペレータがリンク5を動かすのに必要な力が小さくなる。これにより、オペレータは関節4やリンク5が柔らかくなっているように感じる。
 これにより、オペレータは設定されている剛性の高さを直感的に把握しながら、ティーチングを行うことが可能となる。例えば剛性を低く設定したいのに、リンク5が固くなっているように感じる場合には、剛性が高く設定されてしまっていると判断し、リンク5を掴む力を弱める、といった対処が可能となる。
 また、手先の感覚だけで剛性の高さの把握が可能であるため、さらに直感的な把握が可能となる。
 ティーチングにおいて設定される剛性とティーチング用の剛性は、一致していてもよいし、一致しておらず、例えば比例する関係等にあってもよい。
 また、設定される剛性とティーチング用の剛性の関係は、設定される剛性が高くなるとティーチング用の剛性が高くなるような関係に限らず、任意であってよい。
 その他、任意の方法により剛性の報知が制御されてよい。
 ダイレクトティーチングモードが終了しているか否かが判定される(ステップ208)。
 ダイレクトティーチングモードが実行されている場合は(ステップ208のNo)、再び面圧力分布データ24が取得される(ステップ204)。
 ダイレクトティーチングモードが終了している場合は(ステップ208のYes)、記憶されたタイムスタンプ、剛性、及び軌跡データの時系列データの書き出しが実行される(ステップ209)。
 ステップ206においては、タイムスタンプ、剛性、及び軌跡データの組が、記憶部18内のバッファに一時的に記憶される。ステップ206の処理はティーチモードが実行されている間何度も繰り返されるため、バッファにはデータの組が複数個蓄積された状態となる。
 ステップ209では、バッファに蓄積されたデータの組が、時系列データとして書き出される。時系列データとは、データの組が時刻に沿って並べられたデータである。本実施形態では、タイムスタンプの値に応じてデータの組が並べ変えられ、時系列データとして書き出される。
 例えば、
 タイムスタンプ「t=3」、剛性「70」、軌跡データ「X:300」
 タイムスタンプ「t=1」、剛性「50」、軌跡データ「X:100」
 タイムスタンプ「t=2」、剛性「60」、軌跡データ「X:200」
 というデータの組がバッファに蓄積されていた場合には、これらがタイムスタンプの値の小さい順に並べ替えられ、
 タイムスタンプ「t=1」、剛性「50」、軌跡データ「X:100」
 タイムスタンプ「t=2」、剛性「60」、軌跡データ「X:200」
 タイムスタンプ「t=3」、剛性「70」、軌跡データ「X:300」
 という時系列データが書き出される。
 つまり、時系列データは、関節4の剛性やリンク5の位置を、時系列順に並べたデータとも言える。
 時系列データの書き出しがされた後は、駆動モードにて通常のロボット動作シーケンスが実行される(ステップ202)。具体的には、書き出された時系列データに従って、ロボットアーム1が駆動する。
 なお、ステップ204(面圧力分布データ24の取得)は、図3のステップ101(検出結果の取得)に相当する処理である。
 ステップ205(剛性の設定)は、ステップ102(剛性の設定)に相当する処理である。
 ステップ206(タイムスタンプ、剛性、及び軌跡データを互いに関連付けて記憶)は、ステップ103(剛性及びロボットアーム1の動きを互いに関連付けて記憶)に相当する処理である。
 <第3の実施形態>
 本技術に係る第3の実施形態のロボット制御システム100について説明する。
 図8には、主にロボット制御システムの機能的な構成例が図示されている。
 図9は、情報処理装置2による、ダイレクトティーチングモードにおける処理例を示すフローチャートである。
 図8に示すように、本実施形態では、情報処理装置2のコントローラ17により、撫で判定部28が構成される。
 撫で判定部28は、コントローラ17のCPUが本技術に係るプログラムを実行することで、機能ブロックとして実現される。
 撫で判定部28は、触覚センサ6に対して撫でる操作がされたか否かを判定する。
 また、触覚センサ6に対してどのような撫でる操作がされたかを判定する。
 図9のステップ301~304では、第2の実施形態と同様の処理が実行される。
 剛性制御部20により、関節4の剛性が設定される(ステップ205)。
 [圧力値の保持]
 本実施形態では、剛性制御部20は、触覚センサ6により検出された圧力の最大値を保持する。
 ティーチングモードの下では、平均面圧力分布データ25の生成が繰り返し実行される。剛性制御部20は、ティーチングモードの開始時から現在までの間に生成された複数の平均面圧力分布データ25の最大値を保持する。
 例えば、平均面圧力分布データ25の各位置における圧力値の平均値が算出され、算出された平均値の最大値が保持される。
 例として、ティーチングモードの開始時から順に、以下のような平均値が算出された場合を考える。
 時刻「t=1」において、平均値「50」
 時刻「t=2」において、平均値「40」
 時刻「t=3」において、平均値「60」
 この場合、まず時刻「t=1」においては、これまでに算出されている平均値が存在しないため、「50」が最大値として保持される。最大値「50」は、例えば最大値の保持用の変数Mに「M=50」のように代入される形で保持(ラッチ)される。
 次に、時刻「t=2」においては、「t=2」において算出された平均値「40」よりも現在保持されている最大値「M=50」の方が高いため、最大値は更新されず、引き続き「M=50」が最大値として保持される。
 次に、時刻「t=3」においては、「t=3」において算出された平均値「60」が、現在保持されている最大値「M=50」を上回っているため、最大値が更新され、新たに「M=60」が最大値として保持される。
 つまり、ティーチングモードの開始時から現在までの間に、オペレータが最も力を入れてリンク5を掴んだ瞬間における圧力値が、最大値として保持される。
 ティーチングモードの開始時から現在までの間に生成された、複数の平均面圧力分布データ25の最大値は、本技術に係る、圧力センサにより検出された圧力の最大値の一実施形態に相当する。
 また、剛性制御部20は、保持された最大値に応じた剛性を設定する。具体的には、
 時刻「t=1」においては、最大値「M=50」
 時刻「t=2」においては、最大値「M=50」
 時刻「t=3」においては、最大値「M=60」
 に応じて、最大値が高いほど剛性が高くなるように剛性が設定される。
 すなわち、オペレータが一度リンク5を強く掴むと、それ以降の全ての時刻において、剛性が高く設定される。例えばその後リンク5を掴む力を弱めたとしても、剛性制御部20により保持されている最大値は変わらないため、剛性が高く設定され続ける。
 このように、剛性制御部20により剛性の最大値が保持されているとも言える。
 本実施形態では、オペレータはリンク5aを掴むことにより関節4aの剛性の設定が可能である。同様に、リンク5bを掴むことにより関節4bの剛性の設定が可能であり、リンク5cを掴むことにより関節4cの剛性の設定が可能である。
 例えばオペレータが1人で、同時に3つの関節4a~4cの剛性を設定しながら、動きの入力を行いたい、といった場合がありえる。しかしながら、オペレータはリンク5を2つまでしか掴むことができないため、関節4の剛性の設定は、同時に2つまでしか行うことができない。
 剛性制御部20により圧力の最大値が保持されることで、3つの関節4a~4cの剛性を設定しながら、動きの入力を行うことが可能となる。
 例えば、まずオペレータはリンク5aを掴み、関節4aの剛性を「50」に設定する。
 そして、ロボットアーム1を動かすことなく、一旦リンク5aから手を離す。
 この時、関節4aの剛性は保持されるため、手を離したことによって関節4aの剛性が「0」に戻ることはない。
 次に、オペレータはリンク5b及び5cを掴み、ロボットアーム1を動かす。これにより、例えば関節4bの剛性が「40」に設定される。また、関節4cの剛性が「60」に設定される。さらに、動きが入力される。
 最終的には、関節4a~4cの3種類の剛性「50」「40」「60」と、ロボットアーム1の動きとが入力された状態となる。
 これにより、ロボットアーム1が3つ以上のリンク5を有する場合でも、1人で全ての関節4の剛性を設定することが可能となる。ロボットアーム1が多数のリンク5や関節4を含む複雑な機構を有したとしても、1人で簡単にティーチングが可能であり、多人数のオペレータを必要とすることがない。すなわち、ティーチングに係る労力や人件費が節減される。
 [撫でる操作]
 撫で判定部28により、触覚センサ6に対して撫でる操作がされたか否かが判定される(ステップ306)。
 本実施形態では、剛性制御部20は、触覚センサ6に対して所定の操作が入力された場合に、剛性を低くする。
 さらに、触覚センサ6に対する所定の操作は、撫でる操作を含む。
 すなわち、触覚センサ6に対して撫でる操作がされた場合に、関節4の剛性が下がるように、剛性の設定が実行される。
 図10は、撫で判定部28による判定処理の一例を示す模式図である。
 本実施形態では、撫でる操作の判定に機械学習モデル31が用いられる。具体的には、機械学習モデル31は、複数の面圧力分布データ24を入力として、触覚センサ6に対して撫でる操作がされたか否か、及び撫でる操作の継続時間を出力する。
 機械学習モデル31としては、例えばCNN(Convolutional Neural Network、畳み込みニューラルネットワーク)が用いられる。
 ニューラルネットワークとは、元々人間の脳神経回路を模倣したモデルであり、入力層、中間層(隠れ層)、出力層の3種類の層からなる層構造を持ったモデルである。
 また、例えばLSTM(Long Short-Term Memory、長・短期記憶)ネットワーク等のネットワークが用いられる。
 その他、任意の種類の機械学習モデル31が採用されてよい。
 機械学習モデル31に対しては、あらかじめ機械学習アルゴリズムに基づいて学習が実行される。学習サンプルとして、触覚センサ6が撫でられた場合の面圧力分布データ24の時系列と、撫でられていない場合の時系列とが、それぞれ十分な量用意される。
 学習により、正解(教師ラベル)を算出するためのパラメータ(重み、係数)が更新され、学習済パラメータとして生成される。生成された学習済パラメータが組み込まれたプログラムが、機械学習モデル31として生成される。
 学習手法には、例えば確率的勾配降下法を用いることができる。その他、任意の機械学習アルゴリズムが用いられてよい。
 図10に示すように、学習済みの機械学習モデル31に対して、複数の面圧力分布データ24が入力される。
 そして、機械学習モデル31により、触覚センサ6に対して撫でる操作がされたか否かが出力される。
 また、撫でる操作がされていた場合には、撫でる操作の継続時間(何秒等)も出力される。
 機械学習モデル31により「撫でる操作がされた」という結果が出力された場合には、ステップ305にて剛性の設定値が更新される。
 具体的には、剛性制御部20により「撫でる操作がされた」という結果と、撫でる操作の継続時間とが取得される。取得された情報に基づいて、剛性制御部20により保持されている剛性の最大値が、低くなるように設定される。
 剛性の最大値は、撫でる操作の継続時間が長ければ長いほど、下げ幅が大きく設定される。
 例えば、剛性の最大値が「50」であった場合に、撫でる操作が1秒間継続された場合には、剛性の最大値が10下げられ、「40」に設定される。
 撫でる操作が2秒間継続された場合には、剛性の最大値が20下げられ、「30」に設定される。
 もちろん、撫でる操作の継続時間と剛性の最大値の下げ幅との関係は、これらに限定されず任意であってよい。
 一方で、機械学習モデル31により「撫でる操作がされていない」という結果が出力された場合には、ステップ305にて剛性の最大値は変更されず、そのままの値が保持される。
 面圧力分布データ24のみならず、平均面圧力分布データ25等、触覚センサ6により検出される任意の情報に基づいて、撫でる操作の判定がされてよい。また、機械学習モデル31を用いた方法に限らず、任意の方法により撫でる操作の判定が実行されてよい。
 また、触覚センサ6の特定の部分が押圧された場合に、関節4の剛性が下がるように、剛性の設定が実行されてもよい。
 例えば、触覚センサ6が上半分と下半分のエリアに分けられる。上半分のエリアが掴まれた場合には、通常通り掴む力に応じて剛性が設定される。一方で、下半分のエリアが掴まれた場合には、設定されている剛性が下げられる。
 この場合、例えば下半分のエリアが掴まれた継続時間に応じて、剛性の下げ幅が決定されてもよい。
 あるいは、剛性設定用の触覚センサ6と、剛性を下げるための触覚センサ6とが、それぞれ別個に配置されてもよい。
 これにより、剛性制御部20により圧力の最大値が保持される場合において、保持された圧力を下げる操作が可能となる。
 例えば3つ以上の関節を有するロボットアーム1において、動きの最初の5分の4は剛性を高く設定し、その後触覚センサ6を撫で、残りの5分の1は剛性を低く設定する、といった柔軟な設定が可能となる。
 ステップ307~310では、第2の実施形態と同様の処理が実行される。
 <その他の実施形態>
 本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
 図1に示す例では、オペレータが触覚センサ6aに触れることで、関節4aの剛性の設定が可能である。また、触覚センサ6bに触れることで関節4bの剛性の設定が可能である。また、触覚センサ6cに触れることで関節4cの剛性の設定が可能である。このように、各々の触覚センサ6に対応する関節4があらかじめ決まっている。
 これに限定されず、オペレータが対応する関節を自由に決めることが可能であってもよい。例えば、触覚センサ6cに触れることで関節4aの剛性を設定する、というように、設定の変更が可能であってもよい。
 本技術においては、触覚センサ6に限らず、任意の圧力センサを用いることが可能である。
 特に触覚センサ6が用いられる場合には、撫でる操作等の判定が可能となるため、撫でる操作に基づいて剛性の設定値を下げる等、さらに柔軟に剛性の設定を行うことが可能となる。
 オペレータの手8の形を考慮して、触覚センサ6を設ける位置を決めることで、さらに精度よく圧力を検出することが可能となる。
 例えば、手8の人差し指から親指にかけてのラインや、指の腹等、握ったときに力が一番入れやすいような部位に触覚センサ6が貼り付けられる。これにより、力の入れ具合を検出結果に精度よく反映させることが可能となる。
 本技術は、触覚センサ6及び剛性制御部20のみを有する剛性制御システムとしても適用可能である。
 図11は、情報処理装置2を実現可能なコンピュータ500のハードウェア構成例を示すブロック図である。
 コンピュータ500は、CPU501、ROM502、RAM503、入出力インタフェース505、及びこれらを互いに接続するバス504を備える。入出力インタフェース505には、表示部506、入力部507、記憶部508、通信部509、及びドライブ部510等が接続される。
 表示部506は、例えば液晶、EL等を用いた表示デバイスである。入力部507は、例えばキーボード、ポインティングデバイス、タッチパネル、その他の操作装置である。入力部507がタッチパネルを含む場合、そのタッチパネルは表示部506と一体となり得る。
 記憶部508は、不揮発性の記憶デバイスであり、例えばHDD、フラッシュメモリ、その他の固体メモリである。ドライブ部510は、例えば光学記録媒体、磁気記録テープ等、リムーバブル記録媒体511を駆動することが可能なデバイスである。
 通信部509は、LAN、WAN等に接続可能な、他のデバイスと通信するためのモデム、ルータ、その他の通信機器である。通信部509は、有線及び無線のどちらを利用して通信するものであってもよい。通信部509は、コンピュータ500とは別体で使用される場合が多い。
 上記のようなハードウェア構成を有するコンピュータ500による情報処理は、記憶部508またはROM502等に記憶されたソフトウェアと、コンピュータ500のハードウェア資源との協働により実現される。具体的には、ROM502等に記憶された、ソフトウェアを構成するプログラムをRAM503にロードして実行することにより、本技術に係る情報処理方法が実現される。
 プログラムは、例えばリムーバブル記録媒体511を介してコンピュータ500にインストールされる。あるいは、グローバルネットワーク等を介してプログラムがコンピュータ500にインストールされてもよい。その他、コンピュータ500が読み取り可能な非一過性の任意の記憶媒体が用いられてよい。
 ネットワーク等を介して通信可能に接続された複数のコンピュータが協働することで、本技術に係る情報処理方法が実行され、本技術に係る情報処理装置が構築されてもよい。
 すなわち本技術に係る情報処理方法は、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。
 なお本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
 コンピュータシステムによる本技術に係る情報処理方法の実行は、例えば剛性の制御等が単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部または全部を他のコンピュータに実行させその結果を取得することを含む。
 すなわち本技術に係る情報処理方法は、1つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
 各図面を参照して説明したロボット制御システム、情報処理装置、各処理フロー等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成やアルゴリズム等が採用されてよい。
 本開示において、「略」という文言が使用される場合、これはあくまで説明の理解を容易とするための使用であり、「略」という文言の使用/不使用に特別な意味があるわけではない。
 すなわち、本開示において、「中心」「中央」「均一」「等しい」「同じ」「直交」「平行」「対称」「延在」「軸方向」「円柱形状」「円筒形状」「リング形状」「円環形状」等の、形状、サイズ、位置関係、状態等を規定する概念は、「実質的に中心」「実質的に中央」「実質的に均一」「実質的に等しい」「実質的に同じ」「実質的に直交」「実質的に平行」「実質的に対称」「実質的に延在」「実質的に軸方向」「実質的に円柱形状」「実質的に円筒形状」「実質的にリング形状」「実質的に円環形状」等を含む概念とする。
 例えば「完全に中心」「完全に中央」「完全に均一」「完全に等しい」「完全に同じ」「完全に直交」「完全に平行」「完全に対称」「完全に延在」「完全に軸方向」「完全に円柱形状」「完全に円筒形状」「完全にリング形状」「完全に円環形状」等を基準とした所定の範囲(例えば±10%の範囲)に含まれる状態も含まれる。
 従って、「略」の文言が付加されていない場合でも、いわゆる「略」を付加して表現される概念が含まれ得る。反対に、「略」を付加して表現された状態について、完全な状態が排除される訳ではない。
 本開示において、「Aより大きい」「Aより小さい」といった「より」を使った表現は、Aと同等である場合を含む概念と、Aと同等である場合を含まない概念の両方を包括的に含む表現である。例えば「Aより大きい」は、Aと同等は含まない場合に限定されず、「A以上」も含む。また「Aより小さい」は、「A未満」に限定されず、「A以下」も含む。
 本技術を実施する際には、上記で説明した効果が発揮されるように、「Aより大きい」及び「Aより小さい」に含まれる概念から、具体的な設定等を適宜採用すればよい。
 以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
 なお、本技術は以下のような構成も採ることができる。
(1)
 ロボットアームの関節を基準とした位置に設けられた圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する剛性制御部
 を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、さらに、
 前記剛性制御部により設定された前記剛性と、前記関節の駆動による前記ロボットアームの動きとを、互いに関連付けて記憶する記憶部を具備する
 情報処理装置。
(3)(2)に記載の情報処理装置であって、
 前記記憶部は、オペレータが前記ロボットアームを動かして所定の動きを記憶させるダイレクトティーチングモードが選択されている場合に、前記剛性と前記動きとを互いに関連付けて記憶する
 情報処理装置。
(4)(1)から(3)のうちいずれか1つに記載の情報処理装置であって、
 前記ロボットアームは、1以上の関節と、前記1以上の関節の各々が駆動することにより、回転又は直動する1以上のリンクとを有し、
 前記剛性制御部は、前記1以上のリンクの回転又は直動に関する剛性を制御する
 情報処理装置。
(5)(4)に記載の情報処理装置であって、さらに、
 前記剛性制御部により設定された前記剛性と、前記関節の駆動による前記リンクの軌道とを、互いに関連付けて記憶する記憶部を具備する
 情報処理装置。
(6)(5)に記載の情報処理装置であって、
 前記記憶部は、オペレータが前記リンクを動かして所定の軌道を記憶させるダイレクトティーチングモードが選択されている場合に、前記剛性と前記軌道とを互いに関連付けて記憶する
 情報処理装置。
(7)(4)から(6)のうちいずれか1つに記載の情報処理装置であって、
 前記剛性制御部は、前記圧力センサにより検出された圧力が高くなるのに応じて、前記剛性が高くなるように前記剛性を制御する
 情報処理装置。
(8)(4)から(7)のうちいずれか1つに記載の情報処理装置であって、
 前記圧力センサは、オペレータが前記リンクを動かす際に、前記リンクの保持の対象となる領域に設けられる
 情報処理装置。
(9)(1)から(8)のうちいずれか1つに記載の情報処理装置であって、さらに、
 前記剛性制御部により設定された前記剛性の報知を制御する報知制御部を具備する
 情報処理装置。
(10)(9)に記載の情報処理装置であって、
 前記報知制御部は、前記剛性の値の表示、前記剛性の高さに応じたゲージの表示、前記剛性の高さに応じた色の表示、又は前記剛性の音声出力の少なくとも1つを制御する
 情報処理装置。
(11)(9)又は(10)に記載の情報処理装置であって、
 前記報知制御部は、前記剛性制御部により設定された前記剛性に応じて、オペレータが前記リンクを動かしてティーチングを行う際のティーチング用の剛性を設定する
 情報処理装置。
(12)(11)に記載の情報処理装置であって、
 前記報知制御部は、前記剛性制御部により設定された前記剛性が高くなるのに応じて、前記ティーチング用の剛性が高くなるように、前記ティーチング用の剛性を設定する
 情報処理装置。
(13)(1)から(12)のうちいずれか1つに記載の情報処理装置であって、
 前記剛性制御部は、前記圧力センサにより検出された圧力の最大値を保持し、保持された前記最大値に応じた前記剛性を設定する
 情報処理装置。
(14)(13)に記載の情報処理装置であって、
 前記剛性制御部は、前記圧力センサに対して所定の操作が入力された場合に、前記剛性を低くする
 情報処理装置。
(15)(14)に記載の情報処理装置であって、
 前記所定の操作は、撫でる操作を含む
 情報処理装置。
(16)(1)から(15)のうちいずれか1つに記載の情報処理装置であって、
 前記圧力センサは、触覚センサである
 情報処理装置。
(17)
 ロボットアームの関節を基準とした位置に設けられた圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する
 ことをコンピュータシステムが実行する情報処理方法。
(18)
 ロボットアームと、
 前記ロボットアームの関節を基準とした位置に設けられた圧力センサと、
 前記圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する剛性制御部と
 を具備するロボット制御システム。
(19)
 ロボットアームの関節を基準とした位置に設けられた圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御するステップ
 をコンピュータシステムに実行させるプログラム。
(20)
 ロボットアームの関節の位置を基準として設けられた圧力センサと、
 前記圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する剛性制御部と
 を具備する剛性制御システム。
 100…ロボット制御システム
 1・・・ロボットアーム
 2・・・情報処理装置
 4・・・関節
 5・・・リンク
 6・・・触覚センサ
 8・・・手
 12・・・関節駆動部
 14・・・LED
 15・・・ディスプレイ
 16・・・スピーカ
 18・・・記憶部
 20・・・剛性制御部
 21・・・報知制御部
 24・・・面圧力分布データ
 25・・・平均面圧力分布データ
 28・・・撫で判定部

Claims (18)

  1.  ロボットアームの関節を基準とした位置に設けられた圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する剛性制御部
     を具備する情報処理装置。
  2.  請求項1に記載の情報処理装置であって、さらに、
     前記剛性制御部により設定された前記剛性と、前記関節の駆動による前記ロボットアームの動きとを、互いに関連付けて記憶する記憶部を具備する
     情報処理装置。
  3.  請求項2に記載の情報処理装置であって、
     前記記憶部は、オペレータが前記ロボットアームを動かして所定の動きを記憶させるダイレクトティーチングモードが選択されている場合に、前記剛性と前記動きとを互いに関連付けて記憶する
     情報処理装置。
  4.  請求項1に記載の情報処理装置であって、
     前記ロボットアームは、1以上の関節と、前記1以上の関節の各々が駆動することにより、回転又は直動する1以上のリンクとを有し、
     前記剛性制御部は、前記1以上のリンクの回転又は直動に関する剛性を制御する
     情報処理装置。
  5.  請求項4に記載の情報処理装置であって、さらに、
     前記剛性制御部により設定された前記剛性と、前記関節の駆動による前記リンクの軌道とを、互いに関連付けて記憶する記憶部を具備する
     情報処理装置。
  6.  請求項5に記載の情報処理装置であって、
     前記記憶部は、オペレータが前記リンクを動かして所定の軌道を記憶させるダイレクトティーチングモードが選択されている場合に、前記剛性と前記軌道とを互いに関連付けて記憶する
     情報処理装置。
  7.  請求項4に記載の情報処理装置であって、
     前記剛性制御部は、前記圧力センサにより検出された圧力が高くなるのに応じて、前記剛性が高くなるように前記剛性を制御する
     情報処理装置。
  8.  請求項4に記載の情報処理装置であって、
     前記圧力センサは、オペレータが前記リンクを動かす際に、前記リンクの保持の対象となる領域に設けられる
     情報処理装置。
  9.  請求項1に記載の情報処理装置であって、さらに、
     前記剛性制御部により設定された前記剛性の報知を制御する報知制御部を具備する
     情報処理装置。
  10.  請求項9に記載の情報処理装置であって、
     前記報知制御部は、前記剛性の値の表示、前記剛性の高さに応じたゲージの表示、前記剛性の高さに応じた色の表示、又は前記剛性の音声出力の少なくとも1つを制御する
     情報処理装置。
  11.  請求項9に記載の情報処理装置であって、
     前記報知制御部は、前記剛性制御部により設定された前記剛性に応じて、オペレータが前記リンクを動かしてティーチングを行う際のティーチング用の剛性を設定する
     情報処理装置。
  12.  請求項11に記載の情報処理装置であって、
     前記報知制御部は、前記剛性制御部により設定された前記剛性が高くなるのに応じて、前記ティーチング用の剛性が高くなるように、前記ティーチング用の剛性を設定する
     情報処理装置。
  13.  請求項1に記載の情報処理装置であって、
     前記剛性制御部は、前記圧力センサにより検出された圧力の最大値を保持し、保持された前記最大値に応じた前記剛性を設定する
     情報処理装置。
  14.  請求項13に記載の情報処理装置であって、
     前記剛性制御部は、前記圧力センサに対して所定の操作が入力された場合に、前記剛性を低くする
     情報処理装置。
  15.  請求項14に記載の情報処理装置であって、
     前記所定の操作は、撫でる操作を含む
     情報処理装置。
  16.  請求項1に記載の情報処理装置であって、
     前記圧力センサは、触覚センサである
     情報処理装置。
  17.  ロボットアームの関節を基準とした位置に設けられた圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する
     ことをコンピュータシステムが実行する情報処理方法。
  18.  ロボットアームと、
     前記ロボットアームの関節を基準とした位置に設けられた圧力センサと、
     前記圧力センサの検出結果に基づいて、前記ロボットアームの前記関節の駆動に関する剛性を制御する剛性制御部と
     を具備するロボット制御システム。
PCT/JP2022/033865 2021-10-18 2022-09-09 情報処理装置、情報処理方法、及びロボット制御システム WO2023067942A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202280068845.7A CN118119487A (zh) 2021-10-18 2022-09-09 信息处理装置、信息处理方法和机器人控制系统

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021170152 2021-10-18
JP2021-170152 2021-10-18

Publications (1)

Publication Number Publication Date
WO2023067942A1 true WO2023067942A1 (ja) 2023-04-27

Family

ID=86059046

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/033865 WO2023067942A1 (ja) 2021-10-18 2022-09-09 情報処理装置、情報処理方法、及びロボット制御システム

Country Status (2)

Country Link
CN (1) CN118119487A (ja)
WO (1) WO2023067942A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003071778A (ja) * 2001-09-05 2003-03-12 National Institute Of Advanced Industrial & Technology ロボットアーム用触覚センサー
JP2008121783A (ja) * 2006-11-13 2008-05-29 Japan Science & Technology Agency 関節システム
JP5454499B2 (ja) * 2010-03-19 2014-03-26 株式会社デンソーウェーブ ロボットシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003071778A (ja) * 2001-09-05 2003-03-12 National Institute Of Advanced Industrial & Technology ロボットアーム用触覚センサー
JP2008121783A (ja) * 2006-11-13 2008-05-29 Japan Science & Technology Agency 関節システム
JP5454499B2 (ja) * 2010-03-19 2014-03-26 株式会社デンソーウェーブ ロボットシステム

Also Published As

Publication number Publication date
CN118119487A (zh) 2024-05-31

Similar Documents

Publication Publication Date Title
JP6314134B2 (ja) ロボット訓練のためのユーザインターフェース
Mintchev et al. A portable three-degrees-of-freedom force feedback origami robot for human–robot interactions
Khurshid et al. Effects of grip-force, contact, and acceleration feedback on a teleoperated pick-and-place task
Gupta et al. Master–slave control of a teleoperated anthropomorphic robotic arm with gripping force sensing
Hetrick et al. Comparing virtual reality interfaces for the teleoperation of robots
KR101548156B1 (ko) 촉감과 관절 저항감을 동시에 전달하는 무선 외골격 햅틱 인터페이스 장치 및 그 구성 방법
US9300430B2 (en) Latency smoothing for teleoperation systems
JP6730363B2 (ja) 操作訓練システム
WO2011065034A1 (ja) ロボットの動作を制御する方法およびロボットシステム
US20170028549A1 (en) Robotic navigation system and method
KR20030024681A (ko) 3차원 휴먼 컴퓨터 인터페이스
JP2015182142A (ja) ロボット、ロボットシステム及び教示方法
Singh et al. An interface for remote robotic manipulator control that reduces task load and fatigue
Hummel et al. A lightweight electrotactile feedback device for grasp improvement in immersive virtual environments
JP6504032B2 (ja) 触感提供装置、及び、触感提供システム
TW201805127A (zh) 機械手臂之控制裝置及其教導系統與方法
WO2023067942A1 (ja) 情報処理装置、情報処理方法、及びロボット制御システム
Coppola et al. An affordable system for the teleoperation of dexterous robotic hands using leap motion hand tracking and vibrotactile feedback
US20050231468A1 (en) Methods and systems for interacting with virtual objects
JP2022538281A (ja) ロボットマニピュレータに入力を実行するためのシステム
Wongphati et al. Gestures for manually controlling a helping hand robot
Ciobanu et al. Robot telemanipulation system
Thompson Redesigning the human-robot interface: intuitive teleoperation of anthropomorphic robots
Anderson Advanced dexterous manipulation for IED defeat: report on the feasibility of using the ShadowHand for remote operations.
US11822712B2 (en) Multilayer controller

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE