WO2022123850A1 - 制御装置、制御方法、プログラム - Google Patents

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

Info

Publication number
WO2022123850A1
WO2022123850A1 PCT/JP2021/033780 JP2021033780W WO2022123850A1 WO 2022123850 A1 WO2022123850 A1 WO 2022123850A1 JP 2021033780 W JP2021033780 W JP 2021033780W WO 2022123850 A1 WO2022123850 A1 WO 2022123850A1
Authority
WO
WIPO (PCT)
Prior art keywords
area
robot
dimensional sensor
search
control device
Prior art date
Application number
PCT/JP2021/033780
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
Priority claimed from JP2020204430A external-priority patent/JP7494719B2/ja
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP21902954.3A priority Critical patent/EP4238721A1/en
Priority to US18/253,818 priority patent/US20240017412A1/en
Priority to CN202180080524.4A priority patent/CN116669915A/zh
Publication of WO2022123850A1 publication Critical patent/WO2022123850A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • 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/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion

Definitions

  • the present invention relates to a control device, a control method, and a program.
  • the robot control device is a technique for determining a region (interference region) of an object by acquiring depth data of each point on the surface of the object by a depth sensor (three-dimensional sensor) provided in the robot. Is disclosed.
  • Patent Document 1 discloses that the robot control device acquires depth data while changing the position of the depth sensor by changing the posture of the robot. Then, the robot control device determines the area (interference area) of the object based on the depth data. However, there is no description of how to determine the position of the depth sensor.
  • an operation program that prevents the robot from hitting the structure is provided. It may be created in advance by a system engineer with specialized skills. Furthermore, a worker who does not have the know-how (preliminary information) or knowledge of a skilled worker does not visually know the space in which the robot can be operated at the initial stage when moving the robot. Therefore, when such a worker moves the robot, the robot may collide with a surrounding object. Also, when setting (generating) the movement of the robot on the 3D simulator, the range in which the robot can move is not visualized, so specialized skills are required.
  • the robot or depth sensor may collide with an object when determining the interference area, which poses a safety problem.
  • an object of the present invention is to provide a technique capable of determining an object area using a three-dimensional sensor with high safety without work by a person having specialized skills.
  • the present invention adopts the following configuration.
  • control device of the robot having the three-dimensional sensor permits the search area, which is the area measured by the three-dimensional sensor, and the robot to move in order to measure the search area.
  • the search area can be measured while the robot moves within the safe range of the free area, so that the search area can be measured using a three-dimensional sensor with high safety (interference area). Judgment) can be done. Moreover, if the free area is set, the robot can move only inside the free area (inside the free area). Therefore, it is not necessary for a person having specialized skills to create a control program for the robot in advance or to measure the search area while manually moving the robot. That is, according to this configuration, the search area can be measured using the three-dimensional sensor without the work of a person having specialized skills.
  • the setting means may set the free area based on the information input to the control device by the user operation. According to this, the area desired by the user can be set as the free area. In addition, the user can freely change (modify) the free area.
  • the setting means may set the free area so as to include an area in which the user has previously moved the robot. According to this, since the free area can be set to include the actually moved area, the user can intuitively set the free area.
  • the setting means may set the free area based on the area where the robot is arranged. According to this, for example, since the periphery of the robot can be set as a free area, an appropriate range in which the robot is likely to move can be set as a free area.
  • the setting means may set the free area so as not to include an area in which an object other than the robot is arranged. According to this, since the robot can be prevented from moving to the area where the object other than the robot is arranged, it becomes possible to measure the search area more safely.
  • the setting means may set the free area so as not to include an area in which the robot is prohibited from moving in advance. According to this, it is possible to prevent the robot from moving to an area where movement is prohibited in advance, so that it is possible to measure the search area more safely.
  • the setting means may set the free area based on the movable range of the robot. According to this, the maximum range in which the robot can move can be set in the free area, so that the three-dimensional sensor can measure the search area from a more flexible position. This improves the accuracy of measurement in the search area.
  • the setting means may set the free area based on the measurement specifications of the three-dimensional sensor.
  • the measurement specifications of the three-dimensional sensor include information on the shortest distance that can be measured from the three-dimensional sensor, and the setting means extends the movable range of the robot by the length of the shortest distance.
  • the free area may be set so as to include the area.
  • the measurement specifications of the three-dimensional sensor include information on the longest distance that can be measured from the three-dimensional sensor, and the setting means extends the movable range of the robot by the length of the longest distance.
  • a region that does not include the free region may be set as the search region. According to this, it is possible to prevent the search area from including the area that cannot be measured by the three-dimensional sensor, so that the search area can be measured more efficiently.
  • the setting means updates the free area based on the result of the measurement of the search area by the three-dimensional sensor, and the operation control means moves in the free area updated by the setting means.
  • the three-dimensional sensor that measures the search area may be moved. According to this, since the free area can be widened each time it is determined to be a safe area, the search area can be safely measured even if the safe area is unknown in the initial state. Then, by gradually widening the free area, it becomes possible to gradually measure a wide range, and as a result, it is possible to measure a wide range of search areas.
  • the control device may further have a display means for displaying the free area or the search area.
  • a display means for displaying the free area or the search area.
  • the user can intuitively grasp the area (search area) to be measured (search) and / or the area (free area) in which the robot may move.
  • the user can then easily modify the displayed search area and / and free area to a more appropriate size, range, and position. Therefore, it becomes easy to set a safer free area in order to measure an appropriate search area, so that the search area can be measured using a three-dimensional sensor with higher safety.
  • the setting means may set the search area so as not to include the free area.
  • the present invention may be regarded as a device having at least a part of the above means, or may be regarded as an electronic device, a control system, a search system, or a search device. Further, the present invention may be regarded as a robot control method, setting method, and search method including at least a part of the above processing. Further, the present invention can be regarded as a program for realizing such a method and a recording medium in which the program is temporarily recorded. It should be noted that each of the above means and treatments can be combined with each other as much as possible to form the present invention.
  • the present invention it is possible to determine the area of an object using a three-dimensional sensor with high safety even if there is no work by a person having specialized skills.
  • FIG. 1 is a diagram illustrating a search system according to the first embodiment.
  • FIG. 2 is a diagram illustrating an internal configuration of the control device according to the first embodiment.
  • FIG. 3 is a flowchart for determining the interference region according to the first embodiment.
  • FIG. 4A is a diagram for explaining the display of the UI according to the first embodiment
  • FIG. 4B is a diagram for explaining the setting of the free area and the like according to the first embodiment.
  • FIG. 5 is a diagram illustrating the setting of the free area and the like according to the first embodiment.
  • 6A and 6B are diagrams for explaining the setting of the free area and the like according to the first embodiment.
  • 7A and 7B are diagrams for explaining the setting of the free area and the like according to the first embodiment.
  • FIG. 8 is a diagram illustrating the setting of the free area and the like according to the first embodiment.
  • the search system 1 measures (searches) the search area 50 from a plurality of measurement positions by the three-dimensional sensor 20 to determine the area (interference area) in which the object is arranged in the search area 50.
  • the robot 10 having the three-dimensional sensor 20 moves so as not to move to the outside of the preset free area 70, and measures (searches) the search area 50. If the interference region is determined, for example, the robot 10 can move in addition to the free region 70 so as not to collide with an object inside the search region 50 by avoiding the interference region. Similarly, devices other than the robot 10 can also move inside the search area 50 so as not to collide with an object.
  • the measurement position indicates the three-dimensional coordinates and the posture (optical axis direction) of the three-dimensional sensor 20.
  • the search area 50 can be measured while the robot 10 moves within the safe range of the free area 70, the area (interference area) of the object is determined using the three-dimensional sensor 20 with high safety. can do.
  • the search system 1 includes a robot 10, a three-dimensional sensor 20, a control device 30, and a control server 40.
  • the robot 10 moves the three-dimensional sensor 20 by changing its own posture.
  • the robot 10 can be any type of robot such as a vertical articulated robot, a moving mechanism robot, a parallel link robot, and a linear motion mechanism robot.
  • the robot 10 is an articulated robot having an arm having a plurality of joints and controlling the position (posture) of the three-dimensional sensor 20 by controlling the angle of each joint.
  • Each joint is provided with a drive shaft driven by a motor to rotate the arm.
  • the robot 10 can move only inside the free area 70 set by the control device 30. That is, the free area 70 is an area (a region that may move) in which the robot 10 (three-dimensional sensor 20) is permitted to move in order to measure the search area 50. Therefore, the robot 10 cannot move except inside (outside) the free area 70.
  • the 3D sensor 20 measures (searches) the search area 50 and acquires 3D information (point cloud data) of the search area 50.
  • the three-dimensional sensor 20 is provided at the tip of the arm of the robot 10. Therefore, it may be considered that the robot 10 has the three-dimensional sensor 20.
  • the three-dimensional sensor 20 is, for example, a depth sensor that acquires depth information or a distance image sensor that acquires a distance image. By repeatedly executing (searching) the search area 50 from a plurality of different measurement positions by the three-dimensional sensor 20, the interference area in the search area 50 can be determined.
  • the three-dimensional sensor 20 may be provided with a camera (imaging unit), and may be capable of capturing (acquiring) a two-dimensional image as well as acquiring three-dimensional information. Further, the three-dimensional sensor 20 may have an irradiation unit that illuminates the search area 50 by irradiating it with light, or a projector that projects an image.
  • the three-dimensional sensor 20 may be either an active type sensor or a passive type sensor as long as the distance from the three-dimensional sensor 20 to the object in the search area 50 can be acquired.
  • the active method is a method in which the light projected from the three-dimensional sensor 20 is applied to an object, and the reflected light from the object is received to acquire the distance.
  • the passive method is a method of receiving light from an object illuminated by natural light or other lighting to acquire a distance.
  • an active method for example, a projector irradiates an object with infrared light, and a camera receives the infrared light reflected by the object, so that the distance to the object is measured by the principle of triangulation.
  • spot method may be used.
  • an active method for example, a projector irradiates an object with a pattern image, and a camera captures a pattern image projected on the object, so that the object is up to the object according to the distortion of the captured pattern image.
  • a method of obtaining the distance may be used.
  • a passive method a method may be used in which an object is imaged from two different positions and the distance is acquired from the difference between the two captured images.
  • the control device 30 controls the robot 10 and the three-dimensional sensor 20.
  • the control device 30 controls the measurement position (posture; viewpoint) of the three-dimensional sensor 20 by controlling the posture (movement; angle of the joint of the arm) of the robot 10. Further, the control device 30 controls the measurement timing of the three-dimensional sensor 20. Further, the interference region can be determined based on the result measured by the three-dimensional sensor 20.
  • the control server 40 controls a plurality of control devices 30 via the network 60.
  • the control server 40 may have all or a part of the components of the control device 30.
  • the control server 40 may have a setting unit 300 and a display unit 309, which will be described later, and may only perform a process of setting the free area 70 and the search area 50.
  • the control device 30 includes a setting unit 300, a control unit 301, a storage unit 302, a map acquisition unit 303, an area determination unit 304, a position determination unit 305, a route generation unit 306, an operation control unit 307, a sensor control unit 308, and a display unit 309. Has.
  • the setting unit 300 sets the search area 50 and the free area 70.
  • the setting unit 300 sets the area determined to be the area to be measured as the search area 50. Since the setting unit 300 is not the area of the object, the area determined that the robot 10 may be moved is set as the free area 70.
  • the processing (setting method) of setting the free area 70 and the search area 50 by the setting unit 300 will be described in detail later.
  • the robot 10 moves freely when setting the free area 70 and the search area 50, the robot 10 may come into contact with an object. Therefore, before the free area 70 and the search area 50 are set, the robot 10 does not move unless the user directly moves the robot 10. That is, when the free area 70 and the search area 50 are set for the first time, the free area 70 and the search area 50 are set without using the measurement result by the three-dimensional sensor 20.
  • the control unit 301 controls each component of the control device 30 according to the program stored in the storage unit 302.
  • the processing of the control unit 301 may be executed by the control server 40.
  • the storage unit 302 stores information for each component to operate.
  • the storage unit 302 stores, for example, information (information indicating a position, size, shape, etc.) that identifies the search area 50 and the free area 70.
  • a plurality of search areas 50 and a plurality of free areas 70 may exist, and the storage unit 302 may store information specifying the plurality of search areas 50 and the plurality of free areas 70.
  • the storage unit 302 stores the measurement specifications of the three-dimensional sensor 20 (measurable distance range, viewing angle, etc.) and the specifications of the robot 10 (movable range of the joints of the arm, rotatable speed of the joints, etc.). .. It should be noted that these information can be set in advance by the user for the control device 30.
  • the storage unit 302 stores map information indicating the measurement status (search status) of each point (voxel; three-dimensional information such as a point cloud) in the search region 50 by the three-dimensional sensor 20.
  • each point in the search region 50 corresponds to a different region (eg, a cube or a three-dimensional mesh).
  • each point in the search area 50 is a point (center of gravity) at the center of the corresponding area.
  • the storage unit 302 has a known area in which it is possible to determine whether or not an object exists and an unknown area in which it is not possible to determine whether or not an object exists in the area corresponding to each point in the search area 50. Stores map information indicating either.
  • the known region indicates either an object region which is a region where it is determined that an object exists and an empty region which is a region where it is determined that an object does not exist. That is, the map information indicates whether each point in the search area 50 corresponds to a point where an object exists or a point where it is unknown whether or not the object exists if the object does not exist. It can be said that.
  • the map acquisition unit 303 generates or updates the above-mentioned map information based on the result (measurement result; search result) measured by the three-dimensional sensor 20.
  • the three-dimensional sensor 20 measures the search area 50 (a plurality of measurement ranges) from a plurality of measurement positions, and the map acquisition unit 303 generates (updates) map information based on the measurement results.
  • the map acquisition unit 303 converts, for example, the coordinate conversion of the three-dimensional information (depth data) of each point on the surface of the object defined by the sensor coordinate system (the coordinate system of the three-dimensional sensor 20) based on the measurement position. Converts to three-dimensional position information defined by the robot coordinate system (coordinate system of the robot 10). As a result, the map acquisition unit 303 can determine the position of the object indicated by the depth data in the robot coordinate system.
  • the map acquisition unit 303 can determine (determine) whether the region corresponding to each point corresponds to the unknown region, the object region, or the empty region based on this reliability.
  • the area determination unit 304 determines (determines) the interference area based on the measurement result (search result) of the three-dimensional sensor 20. Specifically, the area determination unit 304 determines an area composed of an object area as an interference area based on the map information.
  • the position determination unit 305 determines a plurality of measurement positions (movement position; 3D coordinates and posture) when the 3D sensor 20 measures.
  • the position-determining unit 305 determines a plurality of candidates for the measurement position, and only the candidates in which the three-dimensional sensor 20 can move (the robot 10 moves the three-dimensional sensor 20) are among the plurality of candidates. Can also be selected as the measurement position.
  • the measurement position of the three-dimensional sensor 20 can be specified by information such as the height of the three-dimensional sensor 20 and the direction (direction) of the optical axis of the three-dimensional sensor 20.
  • the measurement position of the three-dimensional sensor 20 can be specified by the posture of the robot 10. It is assumed that the correspondence between the measurement position (position) of the three-dimensional sensor 20 and the posture of the robot 10 is measured (determined) in advance by a so-called calibration process.
  • the route generation unit 306 (route determination unit) generates (determines) the movement path of the robot 10 for moving the three-dimensional sensor 20 between the plurality of measurement positions determined by the position determination unit 305. For example, the route generation unit 306 determines a movement route that takes the shortest time to move the three-dimensional sensor 20 to all of the plurality of measurement positions.
  • the motion control unit 307 controls the motion of the robot 10 so as to move the three-dimensional sensor 20 to a plurality of measurement positions. As a result, the motion control unit 307 moves the range (measurement range) measured by the three-dimensional sensor 20 to the range corresponding to the plurality of measurement positions.
  • the motion control unit 307 controls the posture of the robot 10 according to the movement path determined by the route generation unit 306, and controls the position (coordinates and posture) of the three-dimensional sensor 20.
  • the sensor control unit 308 controls the three-dimensional sensor 20.
  • the sensor control unit 308 controls, for example, the three-dimensional sensor 20 to measure at the timing when the robot 10 moves the three-dimensional sensor 20 to the measurement position. Further, when the three-dimensional sensor 20 has an illumination unit, the sensor control unit 308 can also control the amount of light emitted (brightness) of the illumination unit.
  • the display unit 309 three-dimensionally displays the robot 10, the search area 50, and the free area 70 (see FIG. 4B).
  • the display unit 309 may display only one of the search area 50 and the free area 70. By displaying only one of the search area 50 and the free area 70, it is possible to prevent the visual recognition of the area to be confirmed from being obstructed by displaying the other area.
  • the user uses the UI (user interface) displayed on the display unit 309, and uses the search area 50 and the free area 70 via an operation member (for example, a mouse, a keyboard, or / and a touch panel) (not shown). Can be set.
  • an operation member for example, a mouse, a keyboard, or / and a touch panel
  • the display unit 309 may be a projector that displays an image on a display panel (display) or a projector that projects an image on a screen.
  • the user intuitively moves the area (search area 50) to be measured (search) and the robot 10. It is possible to grasp the area (free area 70) that may be used. Then, the user can easily modify the displayed search area 50 and free area 70 to a more appropriate size, range, and position via an operating member (not shown). Therefore, it becomes easier to set a safer free area 70 in order to measure an appropriate search area 50, so that the area (interference area) of the object is determined using the three-dimensional sensor 20 with higher safety. can do.
  • the search area 50 and the free area 70 it is considered that the areas other than these areas are not used for the search. Therefore, for example, a position where a power supply for the robot 10 and peripheral devices can be installed, etc. Can be grasped by the user.
  • control device 30 can be configured by, for example, a computer including a CPU (processor), a memory, a storage, and the like.
  • a computer including a CPU (processor), a memory, a storage, and the like.
  • the configuration shown in FIG. 2 is realized by loading the program stored in the storage into the memory and executing the program by the CPU.
  • the computer may be a general-purpose computer such as a personal computer, a server computer, a tablet terminal, or a smartphone, or an embedded computer such as an onboard computer.
  • all or part of the configuration shown in FIG. 2 may be configured by ASIC, FPGA, or the like.
  • all or part of the configuration shown in FIG. 2 may be realized by cloud computing or distributed computing.
  • FIG. 3 is a flowchart of the interference region determination process. Each process of the flowchart of FIG. 3 is realized by the control unit 301 executing the program stored in the storage unit 302 and controlling itself or each component.
  • step S1001 the control unit 301 acquires CAD (Computer-Aided Design) information of the robot 10 from the storage unit 302. Then, as shown in FIG. 4A, the control unit 301 draws (expresses) the robot 10 three-dimensionally based on the CAD information and displays it on the UI (display unit 309). As a result, the user can clearly grasp the arrangement of the robot 10. At this time, the control unit 301 may draw (express) the robot 10 and the three-dimensional sensor 20 three-dimensionally and display them on the display unit 309. Further, the control unit 301 may acquire CAD information of the robot 10 from an external device such as the control server 40.
  • CAD Computer-Aided Design
  • step S1002 the setting unit 300 sets the free area 70.
  • step S1003 the setting unit 300 sets the search area 50.
  • step S1004 the display unit 309 further draws and displays the free area 70 and the search area 50 on the UI on which the robot 10 (and the three-dimensional sensor 20) is three-dimensionally drawn.
  • the positional relationship between the robot 10, the free area 70, and the search area 50 displayed on the UI is the same as the actual positional relationship between them.
  • the size and position of the free area 70 and the search area 50 may be adjustable according to the user operation.
  • the display unit 309 may display only one of the search area 50 and the free area 70.
  • step S1005 the position determination unit 305 determines the measurement position (three-dimensional coordinates and posture) of the three-dimensional sensor 20 inside the free area 70.
  • the position determining unit 305 may determine the position adjacent to the immediately preceding measurement position as the current measurement position, or may determine the measurement position so that many unknown regions can be measured. That is, the position-determining unit 305 may arbitrarily determine the measurement position as long as it is inside the free area 70.
  • step S1006 the motion control unit 307 moves the three-dimensional sensor 20 (robot 10) to the measurement position determined by the position determination unit 305.
  • the motion control unit 307 moves the robot 10 so as not to move outside the free area 70 (controls the motion of the robot 10 so as to move inside the free area 70).
  • step S1007 the sensor control unit 308 controls the three-dimensional sensor 20 to measure the search area 50 at the measurement position after movement.
  • the three-dimensional sensor 20 can acquire the three-dimensional information (point cloud data) of the search area 50.
  • the three-dimensional sensor 20 outputs three-dimensional information to the control device 30.
  • step S1008 the map acquisition unit 303 updates (generates) the map information based on the three-dimensional information (point cloud data) which is the measurement result of the search area 50 by the three-dimensional sensor 20 and the information of the measurement position.
  • step S1009 the control unit 301 determines whether or not the inside of the search area 50 can be sufficiently measured. Specifically, the control unit 301 determines whether or not the number of unknown regions in the map information is equal to or less than the threshold value Th. If the number of unknown regions is equal to or less than the threshold value Th, it can be determined that the search region 50 has been sufficiently measured, so the process proceeds to step S1010 for determining the interference region. On the other hand, if the number of unknown regions is larger than the threshold value Th, it can be determined that the search region 50 has not been sufficiently measured, so the process returns to step S1005.
  • step S1009 the control unit 301 may determine whether or not the inside of the search area 50 can be sufficiently measured depending on whether or not the measurement is performed a predetermined number of times or more. In this case, if the three-dimensional sensor 20 measures the search area 50 a predetermined number of times or more, the process proceeds to step S1010, and if not, the process proceeds to step S1005.
  • the area determination unit 304 determines the interference area, which is the area where the object is arranged, based on the map information. Specifically, the area determination unit 304 determines an area composed of all the object areas as an interference area based on the map information.
  • the setting unit 300 can set the free area 70 and the search area 50 according to the user's input (user operation). Specifically, when the process of step S1001 is completed, as shown in FIG. 4A, the robot 10 and the three-dimensional sensor 20 are displayed on the UI, so that the user can refer to this information and be free on the UI. The information of the area 70 and the search area 50 is input.
  • the user inputs the information of the free area 70 and the search area 50 by inputting the coordinates on the UI of the free area 70 and the search area 50 (for example, the coordinates of two or more vertices). May be good.
  • the user can enlarge / reduce or move the initial data of the free area 70 and the search area 50 on the UI displayed as shown in FIG. 4B by using a mouse or the like, so that the free area 70 can be used.
  • the information of the search area 50 may be input.
  • the setting unit 300 may make it easy for the user to enlarge / reduce or move the free area 70 and the search area 50.
  • the setting unit 300 may set the smallest cylindrical region circumscribing the robot 10 as the initial data of the free region 70.
  • the setting unit 300 may set the search area 50 in a predetermined area to all areas other than the free area 70.
  • the setting unit 300 may set an area arbitrarily drawn by the user on the above UI by freehand in the free area 70 or the search area 50.
  • the setting unit 300 may set the area where the user has accumulated unit voxels on the UI as the free area 70 or the search area 50.
  • the user separately prepares CAD information indicating the free area 70 and the search area 50, and inputs the CAD information to the control device 30, so that the setting unit 300 can use the free area as indicated by the CAD information. 70 or the search area 50 may be set.
  • the user can select that the shapes of the free area 70 and the search area 50 are arbitrary shapes (shapes such as a sphere, a cylinder, a cone, a polygonal column, a polygonal weight, a rectangular parallelepiped, and an arbitrary polyhedron). May be good.
  • the setting unit 300 changes the shapes of the free area 70 and the search area 50 to the selected shape.
  • the shape of the free region 70 and the shape of the search region 50 may be the same or different.
  • the setting unit 300 may set the free area 70 and the search area 50 based on the CAD information of the robot 10 and the information of the objects around the robot 10 (peripheral information; CAD information of the surrounding objects).
  • the peripheral object is an object other than the robot such as a cable, a tip jig, or an end effector.
  • the setting unit 300 is a region having an arbitrary shape such that the respective regions of the object indicated by the peripheral information are in contact with each other from the outside (the regions are in contact with each region of the object and do not include the regions of these objects). Therefore, a region (centered region) including the position where the robot 10 is arranged may be set as the free region 70. As in the example shown in FIG.
  • the setting unit 300 may set a rectangular parallelepiped free region 70 so as to be in contact with the object 501 and the object 502.
  • the volume of the free region 70 is the largest among the plurality of shapes (for example, a cylinder, a sphere, and a rectangular parallelepiped).
  • the shape may be set (determined) to the shape of the free region 70.
  • the setting unit 300 may set a region other than the free region 70 and the region of the object indicated by the peripheral information in the search region 50.
  • the setting unit 300 has a free area 70 and a search area so as not to include the prohibited area. 50 may be set. For example, if a prohibited area is input so as to include an area surrounded by a net or an area where glass or the like is installed, which is difficult for the 3D sensor 20 to measure, the robot 10 can move more safely. become. Further, the three-dimensional sensor 20 can measure the search area with high accuracy.
  • the setting unit 300 may set the free area 70 and the search area 50 based on the setting of the movable range of the robot 10. Specifically, as shown in FIG. 6A, the setting unit 300 sets the movable range of the robot 10 (the range in which it can move physically or performance) as the free area 70 by setting the arm of the robot 10. You may.
  • the movable range of the robot 10 can be specified according to the length of the arm of the robot 10 and the movable angle of each joint (axis). At this time, the setting unit 300 may set the search area 50 in the area other than the free area 70.
  • the setting unit 300 may set the free area 70 and the search area 50 based on the setting of the movable range of the robot 10 and the measurement specifications of the three-dimensional sensor 20.
  • the measurement specifications of the three-dimensional sensor 20 include information on the range that can be measured by the three-dimensional sensor 20 (range of measurable distance, viewing angle, etc.).
  • the three-dimensional sensor 20 has a position (closest position) of a first distance D1 (the shortest distance in the range of measurable distance) from the three-dimensional sensor 20 and a second distance D2. Only the area 601 between the position (far position) and the position (the longest distance in the measurable distance range) can be measured.
  • the first distance D1 can be 30 cm and the second distance D2 can be 100 cm.
  • the setting unit 300 may set a region in which the movable range of the robot 10 (see FIG. 6A) is expanded by the length of the first distance D1 as the free region 70. That is, if the movable range of the robot 10 is spherical, a sphere having a radius longer than the radius of the movable range by a first distance D1 is set as the free area 70. Then, as shown in FIG. 6B, the setting unit 300 measures the movable range of the robot 10 (see FIG. 6A) in the area expanded by the length of the second distance D2 (that is, measured by the three-dimensional sensor 20). The area excluding the free area 70 may be set as the search area 50 (among the possible ranges).
  • the robot 10 may have a plurality of three-dimensional sensors 21 to 23.
  • the setting unit 300 sets the free area 70 and / and the search area 50 based on all the measurement specifications of the three-dimensional sensors 21 to 23.
  • the setting unit 300 may set the movable range of the robot 10 to the free area 70.
  • the setting unit 300 may set a region excluding the free region 70 from the region that can be measured by at least one of the three-dimensional sensors 21 to 23 as the search region 50.
  • the setting unit 300 may set the area where the user directly moves the robot 10 as the free area 70. This can be achieved by using a technique called direct teaching. By setting in this way, the user can intuitively set the free area 70.
  • the setting unit 300 may set an area other than the free area 70 as the search area 50 in the predetermined area (for example, the area previously input by the user). Further, the setting unit 300 may set a region excluding the free region 70 from the region in which the region in which the user has moved the robot 10 is expanded by the second distance D2 as described above as the search region 50.
  • the setting unit 300 may set (update) the free area 70 based on the map information.
  • the setting unit 300 may update the free area 70 and may update the search area 50 so as not to include the updated free area 70.
  • the setting unit 300 sets the free area 70 every time the map is updated in step S1008 or every time the map is measured a predetermined number of times after the initial free area 70 is set by any of the above methods. You may update it.
  • the setting unit 300 includes an empty area (area determined that no object exists) in contact with the current free area 70 indicated by the map information and the current free area 70.
  • the area may be set as a new free area 71. According to this, since the free area 70 can be gradually widened, the area (range) that can be physically measured by the three-dimensional sensor 20 can be widened.
  • the update unit (operation recording unit) (not shown) may update the free area 70 and / and the search area 50. That is, the setting unit 300 sets the free area 70 and the search area 50 without using the measurement result of the three-dimensional sensor 20, and then the update unit uses the measurement result of the three-dimensional sensor 20 for the free area 70 and the search area 50. May be updated.
  • the setting unit 300 may set the area excluding the prohibited area from the area input by the user as the free area 70. Further, for example, the setting unit 300 may determine the overlapping area (overlapping range) between the movable range of the robot 10 and the area input by the user as the free area 70. That is, the overlapping area in the plurality of free areas determined by the above method may be determined (updated) as a new free area 70.
  • the search area 50 is determined by setting the free area 70 in advance and controlling the robot 10 so as not to go out of the free area 70 (to operate inside the free area 70).
  • the robot 10 can be safely moved when measuring.
  • the free area 70 may be measured together with the search area 50, but is not directly measured by the three-dimensional sensor 20. Therefore, it is highly possible that each point corresponding to the free area 70 is shown as an unknown area in the map information. Therefore, the map acquisition unit 303 may set each point of the map information corresponding to the free area 70 as an empty area (known area) before or after the measurement of the search area 50. Further, the map acquisition unit 303 may be set so that each point of the map information corresponding to the free area 70 indicates the free area 70 before or after the measurement of the search area 50.
  • the display unit 309 has been described as displaying an image on a display panel or the like, but the display unit 309 may have an HMD (head-mounted display) and display the image on the HMD. Then, the display unit 309 (HMD) may display a VR image (omnidirectional image) representing the robot 10, the search area 50, and the free area 70.
  • the VR image can be generated by arranging the robot 10, the search area 50, and the free area 70 in the VR space in steps S1001 to S1004.
  • the display unit 309 controls unit 301 changes the area to be displayed in the VR image according to the change in the posture of the display unit 309. This allows the user to more accurately grasp the search area 50 and the free area 70.
  • the display unit 309 may display an AR image instead of the VR image. That is, the user can visually recognize the real space through the display unit 309, and the display unit 309 (HMD) superimposes the AR image representing the robot 10, the search area 50, and the free area 70 on the real space. May be displayed as follows.
  • the AR image can be generated by the same method as the VR image described above.
  • the display unit 309 controls the area to be displayed in the AR image according to the change in the posture of the display unit 309. According to this, since the user can visually recognize the real space together with the free area 70 and the like, the search area 50 and the free area 70 can be grasped more accurately (in an easy-to-understand manner) than the VR image.
  • the displayed search area 50 and the free area 70 can be easily and more appropriately obtained through an operation member (not shown). It can be modified (set) to any size, range and position. Therefore, it becomes easy to set a safer free area 70 in order to measure an appropriate search area 50, so that the area of the object (interference area) can be set with higher safety by using the three-dimensional sensor 20. It can be determined.
  • (Appendix 2) It is a control method of a robot (10) having a three-dimensional sensor (20).
  • a search area (50) which is an area measured by the three-dimensional sensor (20)
  • a free area (10) which is an area where the robot (10) is allowed to move in order to measure the search area (50).
  • a control method characterized by having.

Landscapes

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

Abstract

3次元センサを有するロボットの制御装置は、前記3次元センサが計測する領域である探索領域と、前記探索領域を計測するために前記ロボットが移動することを許可された領域であるフリー領域とを設定する設定手段と、前記フリー領域内を移動するように前記ロボットの動作を制御することによって、前記探索領域を計測する前記3次元センサを移動させる動作制御手段とを有する。

Description

制御装置、制御方法、プログラム
 本発明は、制御装置、制御方法、プログラムに関する。
 従来、物を製造する現場などにおいて、製造の安全性を図るために、或る領域内の物体の領域(干渉領域)を予め把握することが行われている。
 特許文献1では、ロボット制御装置は、ロボットに設けられた深度センサ(3次元センサ)が物体の表面上の各点の深度データを取得することにより、物体の領域(干渉領域)を判定する技術が開示されている。
特開2018-089728号公報
 特許文献1では、ロボット制御装置が、ロボットの姿勢を変更することにより、深度センサの位置を変更しながら深度データを取得することが開示されている。そして、ロボット制御装置は、深度データに基づき物体の領域(干渉領域)を判定している。しかしながら、深度センサの位置を決定する方法の記載がない。
 また、周辺の構造物に対して、ロボットが動き出す際の初期段階において、各軸のアームが動作してよい三次元空間を把握した上で、ロボットが構造物にぶつからないような動作プログラムを、専門スキルを有するシステムエンジニアが予め作成することがある。さらに、熟練工のノウハウ(事前の情報)や知識のない作業員は、ロボットを動かすにあたり、ロボットを初期に動作させてよい空間が視覚的に分からない。このため、このような作業員がロボットを動かすと、周辺の物体にロボットが衝突してしまう可能性がある。また、三次元シミュレータ上でロボットの動作を設定(生成)する際にも、ロボットが動作可能な範囲が可視化されていないので、専門スキルが必要である。
 このため、専門スキルを有する者による作業がなければ、干渉領域を判定する際に、ロボットや深度センサが物体に衝突してしまう可能性があり、安全性に課題があった。
 そこで、本発明は、専門スキルを有する者による作業がなくても、安全性高く、3次元センサを用いて物体の領域を判定することのできる技術を提供することを目的とする。
 上記目的を達成するために本発明は、以下の構成を採用する。
 すなわち、本発明の一側面に係る3次元センサを有するロボットの制御装置は、前記3次元センサが計測する領域である探索領域と、前記探索領域を計測するために前記ロボットが移動することを許可された領域であるフリー領域とを設定する設定手段と、前記フリー領域内を移動するように前記ロボットの動作を制御することによって、前記探索領域を計測する前記3次元センサを移動させる動作制御手段と、を有することを特徴とする制御装置である。
 このような構成によれば、フリー領域という安全な範囲内をロボットが動きながら探索領域を計測することができるため、安全性高く、3次元センサを用いて探索領域を計測すること(干渉領域を判定すること)ができる。また、フリー領域が設定されれば、フリー領域の内部(フリー領域内)でしかロボットは動かない。このため、専門スキルを有する者が、ロボットの制御プログラムを予め作成したり、または、ロボットを手動で動かしながら探索領域を計測したりする必要がない。つまり、本構成によれば、専門スキルを有する者の作業がなくとも、3次元センサを用いて探索領域を計測することができる。
 上記制御装置において、前記設定手段は、ユーザ操作により前記制御装置に入力された情報に基づき前記フリー領域を設定してもよい。これによれば、ユーザが所望する領域をフリー領域に設定することができる。また、ユーザが自由にフリー領域を変更(修正)することもできる。
 上記制御装置において、前記設定手段は、ユーザが予めロボットを動かした領域を含むように、前記フリー領域を設定してもよい。これによれば、実際に動かした領域を含むようにフリー領域が設定できるため、ユーザは直感的にフリー領域を設定することができる。
 上記制御装置において、前記設定手段は、前記ロボットが配置される領域に基づき、前記フリー領域を設定してもよい。これによれば、例えば、ロボットの周囲をフリー領域に設定できるため、ロボットが移動する可能性が高い適切な範囲をフリー領域に設定することができる。
 上記制御装置において、前記設定手段は、前記ロボット以外の物体が配置された領域を含まないように、前記フリー領域を設定してもよい。これによれば、ロボットが、ロボット以外の物体が配置された領域に移動してしまうことを防げるので、より安全に探索領域の計測が可能になる。
 上記制御装置において、前記設定手段は、前記ロボットが移動することが予め禁止された領域を含まないように、前記フリー領域を設定してもよい。これによれば、移動することが予め禁止された領域に、ロボットが移動してしまうことを防げるので、より安全に探索領域の計測が可能になる。
 上記制御装置において、前記設定手段は、前記ロボットの可動範囲に基づき前記フリー領域を設定してもよい。これによれば、ロボットが移動し得る最大限の範囲をフリー領域に設定することができるので、3次元センサは、より柔軟な位置から探索領域を計測することができる。これにより、探索領域の計測の精度が向上する。
 上記制御装置において、前記設定手段は、前記3次元センサの計測スペックに基づき前記フリー領域を設定してもよい。
 上記制御装置において、前記3次元センサの計測スペックは、前記3次元センサから計測可能な最短距離の情報を含み、前記設定手段は、前記ロボットの可動範囲を前記最短距離の長さ分だけ広げた領域を含むように、前記フリー領域を設定してもよい。
 上記制御装置において、前記3次元センサの計測スペックは、前記3次元センサから計測可能な最長距離の情報を含み、前記設定手段は、前記ロボットの可動範囲を前記最長距離の長さ分だけ広げた領域のうち前記フリー領域を含まない領域を前記探索領域として設定してもよい。これによれば、3次元センサが計測することのできない領域が探索領域に含まれることを防げるので、より効率的に探索領域の計測が可能になる。
 上記制御装置において、前記設定手段は、前記3次元センサが前記探索領域を計測した結果に基づき、前記フリー領域を更新し、前記動作制御手段は、前記設定手段が更新したフリー領域内を移動するように前記ロボットの動作を制御することによって、前記探索領域を計測する前記3次元センサを移動させてもよい。これによれば、安全な領域であると判定されるたびにフリー領域を広くできるので、初期状態で安全な領域が不明である場合でも安全に探索領域を計測することができる。そして、フリー領域を徐々に広くすることによって、徐々に広い範囲を計測することができるようになるので、結果として、広い範囲の探索領域を計測することができる。
 上記制御装置において、前記フリー領域若しくは前記探索領域を表示する表示手段をさらに有していてもよい。これによれば、ユーザは、直感的に、計測(探索)の対象となる領域(探索領域)または/およびロボットが移動する可能性のある領域(フリー領域)を把握することができる。すると、ユーザは、表示された探索領域または/およびフリー領域を、容易に、より適切な大きさ、範囲および位置に修正することもできる。従って、適切な探索領域を計測するために、より安全なフリー領域を設定することが容易になるので、より安全性高く、3次元センサを用いて探索領域の計測をすることができる。
 上記制御装置において、前記設定手段は、前記フリー領域を含まないように前記探索領域を設定してもよい。
 上記制御装置と探索領域を計測する3次元センサとを有することを特徴とするロボット。であってもよい。
 本発明は、上記手段の少なくとも一部を有する装置として捉えてもよいし、電子機器や制御システム、探索システム、探索装置として捉えてもよい。また、本発明は、上記処理の少なくとも一部を含むロボットの制御方法、設定方法、探索方法として捉えてもよい。また、本発明は、かかる方法を実現するためのプログラムやそのプログラムを非一時的に記録した記録媒体として捉えることもできる。なお、上記手段および処理の各々は可能な限り互いに組み合わせて本発明を構成することができる。
 本発明によれば、専門スキルを有する者による作業がなくても、安全性高く、3次元センサを用いて物体の領域を判定することができる。
図1は、実施形態1に係る探索システムを説明する図である。 図2は、実施形態1に係る制御装置の内部構成を説明する図である。 図3は、実施形態1に係る干渉領域の判定のフローチャートである。 図4Aは実施形態1に係るUIの表示を説明する図であり、図4Bは実施形態1に係るフリー領域等の設定を説明する図である。 図5は、実施形態1に係るフリー領域等の設定を説明する図である。 図6Aおよび図6Bは、実施形態1に係るフリー領域等の設定を説明する図である。 図7Aおよび図7Bは、実施形態1に係るフリー領域等の設定を説明する図である。 図8は、実施形態1に係るフリー領域等の設定を説明する図である。
 以下、本発明を実施するための実施形態について図面を用いて記載する。
<適用例>
 以下では、制御装置30を有する探索システム1を説明する。探索システム1は、3次元センサ20により複数の計測位置から探索領域50を計測(探索)することによって、探索領域50において物体の配置された領域(干渉領域)を判定する。このとき、3次元センサ20を有するロボット10は、予め設定したフリー領域70の外部に移動しないように動いて、探索領域50を計測(探索)する。干渉領域が判定されれば、例えば、ロボット10は、干渉領域を避けることにより、フリー領域70に加えて、探索領域50内部を物体に衝突しないように移動することができる。また、ロボット10以外の装置も、同様に、探索領域50内部を物体に衝突しないように移動することができる。なお、計測位置とは、3次元センサ20の3次元座標および姿勢(光軸方向)を示す。
 これによれば、フリー領域70という安全な範囲内をロボット10が動きながら探索領域50を計測することができるため、安全性高く、3次元センサ20を用いて物体の領域(干渉領域)を判定することができる。
<実施形態1>
[探索システムの構成]
 実施形態1に係る探索システム1を、図1のシステム構成図を用いて説明する。探索システム1は、ロボット10、3次元センサ20、制御装置30、制御サーバ40を有する。
 ロボット10は、自らの姿勢を変化させることによって、3次元センサ20を移動させる。ロボット10は、例えば、垂直多関節ロボット、移動機構ロボット、パラレルリンクロボット、直動機構ロボットなど任意のタイプのロボットであり得る。本実施形態では、ロボット10は、複数の関節を有するアームを備えており、各関節の角度を制御することによって3次元センサ20の位置(姿勢)を制御する多関節ロボットである。各関節部は、モータにより駆動されてアームを回転させる駆動軸を備えている。
 また、ロボット10は、制御装置30によって設定されたフリー領域70の内部のみを移動することができる。つまり、フリー領域70は、探索領域50を計測するためにロボット10(3次元センサ20)が移動することを許可された領域(移動してもよい領域)である。このため、フリー領域70の内部以外(外部)には、ロボット10は移動することができない。
 3次元センサ20は、探索領域50を計測(探索)して、探索領域50の3次元情報(点群データ)を取得する。3次元センサ20は、ロボット10のアームの先端に設けられている。このため、ロボット10が3次元センサ20を有しているとみなしてもよい。3次元センサ20は、例えば、深度情報を取得する深度センサ、または距離画像を取得する距離画像センサである。互いに異なる複数の計測位置から探索領域50を計測(探索)することを3次元センサ20が繰り返し実行することによって、探索領域50における干渉領域が判定可能になる。なお、3次元センサ20は、カメラ(撮像部)を備えていてもよく、3次元情報を取得することのみならず、2次元画像を撮像(取得)可能であってもよい。また、3次元センサ20は、探索領域50に光を照射して照明する照射部や、画像を投影するプロジェクタを有していてもよい。
 ここで、3次元センサ20は、3次元センサ20から探索領域50における対象物までの距離が取得できればよいため、アクティブ方式とパッシブ方式のいずれのセンサであってもよい。ここで、アクティブ方式とは、3次元センサ20から投影した光を対象物にあてて、当該対象物での反射光を受光して距離を取得する方式である。一方、パッシブ方式とは、自然光や他の照明によって照らされた対象物からの光を受光して距離を取得する方式である。ここで、アクティブ方式として、例えば、赤外光をプロジェクタが対象物に照射し、当該対象物にて反射した赤外光をカメラが受光することで、三角測量の原理により当該対象物までの距離を取得する方法(スポット法;TOF)を用いてもよい。また、アクティブ方式として、例えば、パターン画像をプロジェクタが対象物に照射し、当該対象物に映し出されたパターン画像をカメラが撮像することで、撮像したパターン画像の歪みに応じて当該対象物までの距離を取得する方法を用いてもよい。また、パッシブ方式として、互いに異なる2点の位置から対象物を撮像して、2つの撮像画像の差分から距離を取得する方法を用いてもよい。
 制御装置30は、ロボット10および3次元センサ20を制御する。制御装置30は、ロボット10の姿勢(動き;アームの関節の角度)を制御することにより、3次元センサ20の計測位置(姿勢;視点)を制御する。また、制御装置30は、3次元センサ20の計測のタイミングを制御する。さらに、3次元センサ20が計測した結果に基づき、干渉領域を判定することもできる。
 制御サーバ40は、ネットワーク60を介して、複数の制御装置30を制御する。制御サーバ40は、制御装置30が有する構成要素の全部または一部を有していてもよい。例えば、制御サーバ40は、後述する設定部300および表示部309を有していて、フリー領域70および探索領域50を設定する処理のみを行うものであってもよい。
[制御装置の構成]
 図2の構成図を参照して、制御装置30の内部構成を説明する。制御装置30は、設定部300、制御部301、記憶部302、マップ取得部303、領域判定部304、位置決定部305、経路生成部306、動作制御部307、センサ制御部308、表示部309を有する。
 設定部300は、探索領域50やフリー領域70を設定する。設定部300は、計測の対象の領域であると判定した領域を探索領域50として設定する。設定部300は、物体の領域ではないため、ロボット10を動かしてもよいと判定した領域をフリー領域70として設定する。なお、設定部300によるフリー領域70や探索領域50の設定の処理(設定の方法)については、後述にて詳細に説明する。
 なお、フリー領域70および探索領域50を設定する際に、ロボット10が自由に動いてしまうと、ロボット10が物体に接触する可能性がある。このため、フリー領域70および探索領域50が設定される前には、ユーザが直接的にロボット10を動かさない限り、ロボット10は動かない。つまり、フリー領域70および探索領域50を初めて設定する際には、3次元センサ20による計測結果は用いられずに、フリー領域70および探索領域50が設定される。
 制御部301は、記憶部302に記憶されたプログラムに従って、制御装置30の各構成要素を制御する。なお、制御部301の処理は、制御サーバ40が実行してもよい。
 記憶部302は、各構成要素が動作するための情報を記憶する。記憶部302は、例えば、探索領域50やフリー領域70を特定する情報(位置や大きさ、形状などを示す情報)を記憶する。なお、探索領域50およびフリー領域70は複数個ずつ存在していてもよく、記憶部302は、複数の探索領域50および複数のフリー領域70を特定する情報を記憶していてもよい。また、記憶部302は、3次元センサ20の計測スペック(計測可能な距離の範囲、視野角度など)や、ロボット10のスペック(アームの関節の可動範囲、関節の回転可能速度など)を記憶する。なお、これらの情報は、制御装置30に対してユーザが予め設定可能である。
 さらに、記憶部302は、探索領域50における各点(ボクセル;ポイントクラウドなどの三次元情報)の3次元センサ20による計測状況(探索状況)を示すマップ情報を記憶する。ここで、探索領域50における各点は、それぞれ異なる領域(例えば、立方体または三次元のメッシュ)に対応している。例えば、探索領域50における各点は、それぞれ対応する領域の中心の点(重心)である。記憶部302は、探索領域50における各点に対応する領域について、物体が存在するか否かを判定できている領域である既知領域と、物体が存在するか判定できていない領域である未知領域とのいずれかを示すマップ情報を記憶する。ここで、マップ情報では、既知領域は、物体が存在すると判定された領域である物体領域と、物体が存在しないと判定された領域である空領域のいずれかを示す。つまり、マップ情報は、探索領域50における各点が、物体が存在する点と物体が存在しないと点と物体が存在するか否かが不明である点とのいずれに該当するかを示しているといえる。
 マップ取得部303は、3次元センサ20が計測した結果(計測結果;探索結果)に基づき、上述したマップ情報の生成または更新をする。ここで、3次元センサ20が、複数の計測位置から探索領域50を(複数の計測範囲を)計測して、マップ取得部303は、その計測結果に基づき、マップ情報を生成(更新)する。
 ここで、マップ取得部303は、例えば、センサ座標系(3次元センサ20の座標系)で定義された物体の表面上の各点の3次元情報(深度データ)を、計測位置に基づく座標変換によって、ロボット座標系(ロボット10の座標系)で定義される3次元位置情報に変換する。このことにより、マップ取得部303は、深度データが示す物体の、ロボット座標系での位置を判定できる。ここで、様々な計測位置において3次元センサ20が探索領域50を計測すれば、様々な深度データが取得できるため、探索領域50の各点(各領域)における物体の有無の信頼度が向上する。そして、マップ取得部303は、この信頼度に基づき、各点に対応する領域が未知領域と物体領域と空領域とのいずれに該当するかを決定(判定)できる。
 領域判定部304は、3次元センサ20の計測結果(探索結果)に基づき、干渉領域を判定する(決定する)。具体的には、領域判定部304は、マップ情報に基づき、物体領域から構成される領域を干渉領域として判定する。
 位置決定部305は、3次元センサ20が計測する際の複数の計測位置(移動位置;3次元座標および姿勢)を決定する。位置決定部305は、計測位置の複数の候補を決定しておき、複数の候補の中から、3次元センサ20が移動する(ロボット10が3次元センサ20を移動させる)ことが可能な候補のみを計測位置として選択することもできる。ここで、3次元センサ20の計測位置は、3次元センサ20の高さや3次元センサ20の光軸の向き(方向)の情報などにより特定できる。また、3次元センサ20の計測位置は、ロボット10の姿勢により特定できる。なお、3次元センサ20の計測位置(位置)とロボット10の姿勢との対応は、いわゆるキャリブレーション処理によって予め計測(決定)されているものとする。
 経路生成部306(経路決定部)は、位置決定部305が決定した複数の計測位置の間で3次元センサ20を移動させるための、ロボット10の移動経路を生成(決定)する。例えば、経路生成部306は、複数の計測位置の全てに3次元センサ20を移動させるために要する時間が最も短いような、移動経路を決定する。
 動作制御部307は、3次元センサ20を複数の計測位置に移動させるように、ロボット10の動作を制御する。これにより、動作制御部307は、3次元センサ20が計測する範囲(計測範囲)を、当該複数の計測位置に対応する範囲に移動させる。ここで、動作制御部307は、経路生成部306が決定した移動経路に従ってロボット10の姿勢を制御して、3次元センサ20の位置(座標および姿勢)を制御する。
 センサ制御部308は、3次元センサ20を制御する。センサ制御部308は、例えば、ロボット10が3次元センサ20を計測位置に移動させたタイミングで、3次元センサ20が計測するように制御する。また、センサ制御部308は、3次元センサ20が照明部を有する場合には、照明部の発光量(明るさ)などを制御することもできる。
 表示部309は、ロボット10、探索領域50およびフリー領域70を3次元的に表示する(図4B参照)。なお、表示部309は、探索領域50およびフリー領域70のうちいずれか一方のみを表示してもよい。探索領域50およびフリー領域70のうちいずれか一方のみを表示することによれば、他方の領域が表示されることによって、確認したい領域の視認が阻害されることが防げる。ここで、ユーザは、表示部309に表示されたUI(ユーザインタフェース)を用いて、不図示の操作部材(例えば、マウス、キーボード、または/およびタッチパネル)を介して、探索領域50やフリー領域70を設定することができる。表示部309は、表示パネル(ディスプレイ)に画像を表示するものであってもよいし、スクリーンに画像を投影するプロジェクタであってもよい。このように、探索領域50およびフリー領域70が3次元的に表示されることによれば、ユーザは、直感的に、計測(探索)の対象となる領域(探索領域50)およびロボット10が移動する可能性のある領域(フリー領域70)を把握することができる。すると、ユーザは、表示された探索領域50およびフリー領域70を、不図示の操作部材を介して、容易に、より適切な大きさ、範囲および位置に修正することもできる。従って、適切な探索領域50を計測するために、より安全なフリー領域70を設定することが容易になるので、より安全性高く、3次元センサ20を用いて物体の領域(干渉領域)を判定することができる。また、探索領域50とフリー領域70をユーザが把握できれば、これらの領域以外の領域については探索には用いられないと考えられるため、例えば、ロボット10のための電源や周辺機器を設置できる位置などをユーザは把握できる。
 また、制御装置30は、例えば、CPU(プロセッサ)、メモリ、ストレージなどを備えるコンピュータにより構成することができる。その場合、図2に示す構成は、ストレージに格納されたプログラムをメモリにロードし、CPUが当該プログラムを実行することによって実現されるものである。かかるコンピュータは、パーソナルコンピュータ、サーバコンピュータ、タブレット端末、スマートフォンのような汎用的なコンピュータでもよいし、オンボードコンピュータのように組み込み型のコンピュータでもよい。あるいは、図2に示す構成の全部または一部を、ASICやFPGAなどで構成してもよい。あるいは、図2に示す構成の全部または一部を、クラウドコンピューティングや分散コンピューティングにより実現してもよい。
[干渉領域の判定処理]
 図3を参照して、制御装置30が干渉領域を判定する処理を説明する。図3は、干渉領域の判定処理のフローチャートである。なお、図3のフローチャートの各処理は、制御部301が記憶部302に記憶されたプログラムを実行して、自身により、または各構成要素を制御することにより実現される。
 ステップS1001において、制御部301は、ロボット10のCAD(Computer-Aided Design)情報を記憶部302から取得する。そして、制御部301は、図4Aに示すように、このCAD情報に基づきロボット10を3次元的に描画(表現)してUI上(表示部309)に表示する。これによって、ユーザは、ロボット10の配置を明確に把握することができる。なお、このとき、制御部301は、ロボット10と3次元センサ20とを3次元的に描画(表現)して表示部309に表示してもよい。また、制御部301は、制御サーバ40などの外部装置から、ロボット10のCAD情報を取得してもよい。
 ステップS1002において、設定部300は、フリー領域70を設定する。ステップS1003において、設定部300は、探索領域50を設定する。なお、ステップS1002とステップS1003の処理の詳細は、後述にて詳細に説明する。
 ステップS1004において、表示部309は、ロボット10(および3次元センサ20)を3次元的に描画したUI上に、フリー領域70と探索領域50をさらに描画して表示する。なお、当然であるが、UI上に表示されたロボット10、フリー領域70および探索領域50の間の位置関係は、実際のこれらの間の位置関係と同様である。このとき、例えば、ユーザ操作に応じて、フリー領域70や探索領域50の大きさ、位置を調整可能であってもよい。なお、表示部309は、探索領域50およびフリー領域70のうちいずれか一方のみを表示してもよい。
 ステップS1005において、位置決定部305は、フリー領域70の内部において3次元センサ20の計測位置(3次元座標および姿勢)を決定する。このとき、位置決定部305は、直前の計測位置の隣接位置を今回の計測位置として決定してもよいし、多くの未知領域が計測できるような計測位置を決定してもよい。つまり、位置決定部305は、フリー領域70の内部であれば、任意に計測位置を決定してよい。
 ステップS1006において、動作制御部307は、位置決定部305が決定した計測位置に3次元センサ20(ロボット10)を移動させる。ここでは、動作制御部307は、フリー領域70の外部に移動しないようにロボット10を移動させる(フリー領域70内を移動するようにロボット10の動作を制御する)。
 ステップS1007において、センサ制御部308は、3次元センサ20を制御して、移動後の計測位置で探索領域50を計測する。これにより、3次元センサ20は、探索領域50の3次元情報(点群データ)を取得できる。3次元センサ20は、制御装置30に3次元情報を出力する。
 ステップS1008において、マップ取得部303は、3次元センサ20による探索領域50の計測結果である3次元情報(点群データ)と計測位置の情報とに基づき、マップ情報を更新(生成)する。
 ステップS1009において、制御部301は、探索領域50の内部を十分に計測できたか否かを判定する。具体的には、制御部301は、マップ情報における未知領域の数が閾値Th以下であるか否かを判定する。未知領域の数が閾値Th以下であれば、探索領域50を十分に計測できたと判定できるため、干渉領域を判定するためのステップS1010に進む。一方で、未知領域の数が閾値Thよりも大きければ、探索領域50を十分に計測できていないと判定できるため、ステップS1005に戻る。
 なお、ステップS1009において、制御部301は、所定回数以上の計測を行ったか否かによって、探索領域50の内部を十分に計測できたか否かを判定してもよい。この場合、3次元センサ20が所定回数以上、探索領域50を計測している場合にはステップS1010に進み、そうでない場合にはステップS1005に進む。
 ステップS1010において、領域判定部304は、マップ情報に基づき、物体が配置された領域である干渉領域を判定する。具体的には、領域判定部304は、マップ情報に基づき、全ての物体領域から構成される領域を干渉領域として判定する。
[フリー領域および探索領域の設定について]
 以下では、ステップS1002およびS1003にて行われる、フリー領域70と探索領域50の設定処理(設定方法)について詳細に説明する。
(ユーザの入力による設定)
 まず、設定部300は、フリー領域70と探索領域50を、ユーザの入力(ユーザ操作)に応じて設定することができる。具体的には、ステップS1001の処理が終了すると、図4Aに示すように、ロボット10と3次元センサ20がUI上に表示されるため、ユーザは、この情報を参照して、UI上でフリー領域70と探索領域50の情報を入力する。
 ここで、例えば、ユーザは、フリー領域70と探索領域50のUI上の座標(例えば、2点以上の頂点の座標)を入力することによって、フリー領域70と探索領域50の情報を入力してもよい。または、ユーザは、図4Bに示すように表示されたUI上で、マウスなどを用いて、フリー領域70と探索領域50の初期データを拡大/縮小させたり移動させたりすることによって、フリー領域70と探索領域50の情報を入力してもよい。このとき、設定部300は、フリー領域70と探索領域50を拡大/縮小させたり移動させたりすることを、ユーザがしやすいようにするとよい。例えば、設定部300は、ロボット10に外接する最小の円柱形状の領域を、フリー領域70の初期データとして設定してもよい。なお、設定部300は、所定の領域における、探索領域50をフリー領域70以外の全ての領域に設定してもよい。
 また、設定部300は、ユーザが上記のUI上において任意にフリーハンドで描いた領域を、フリー領域70や探索領域50に設定してもよい。設定部300は、ユーザが上記のUI上において単位ボクセルを積み上げた領域を、フリー領域70や探索領域50に設定してもよい。さらに、ユーザが別途、フリー領域70や探索領域50を示すCAD情報を用意しておき、当該CAD情報を制御装置30に入力することで、設定部300は、当該CAD情報が示すようなフリー領域70や探索領域50を設定してもよい。
 なお、このとき、ユーザは、フリー領域70と探索領域50の形状を任意の形状(球、円柱、円錐、多角柱、多角錘、直方体、任意の多面体などの形状)にすることを選択できてもよい。設定部300は、選択された形状に、フリー領域70と探索領域50の形状を変更する。なお、フリー領域70の形状と探索領域50の形状とは、同一であってもよいし、異なっていてもよい。
(周辺情報に基づく設定)
 設定部300は、ロボット10のCAD情報と、そのロボット10の周辺の物体の情報(周辺情報;周辺の物体のCAD情報)に基づき、フリー領域70と探索領域50を設定してもよい。ここで、周辺の物体とは、例えば、ケーブル、先端治具、またはエンドエフェクタなどのロボット以外の物体である。例えば、設定部300は、周辺情報が示す物体のそれぞれの領域が外側から接するような(物体のそれぞれの領域に接し、かつ、これらの物体の領域を含まないような)任意の形状の領域であって、ロボット10の配置された位置を含むような領域(中心とする領域)をフリー領域70として設定してもよい。図5に示す例のように、設定部300は、物体501と物体502に接するように、直方体形状のフリー領域70を設定してもよい。このとき、設定部300は、物体501と物体502が外側から接するようにフリー領域70を設定する場合に、複数の形状(例えば、円柱、球および直方体)のうち最もフリー領域70の体積が大きくなる形状を、フリー領域70の形状に設定(決定)してもよい。そして、設定部300は、フリー領域70と周辺情報が示す物体の領域以外の領域を、探索領域50に設定してもよい。
 なお、ロボット10が移動する(動く)ことを禁じる領域(禁止領域)をユーザが予め入力(設定)していれば、設定部300は、禁止領域を含まないように、フリー領域70と探索領域50を設定してもよい。例えば、網で囲まれた領域や、ガラスなどが設置された領域など、3次元センサ20が計測しにくい領域を含むように禁止領域が入力されていると、より安全なロボット10の移動が可能になる。また、3次元センサ20が探索領域を、精度高く計測することが可能になる。
(ロボットの可動範囲に基づく設定)
 設定部300は、ロボット10の可動範囲の設定に基づき、フリー領域70および探索領域50を設定してもよい。具体的には、設定部300は、図6Aに示すように、ロボット10のアームの設定により、ロボット10の可動範囲(物理的または性能的に動くことが可能な範囲)をフリー領域70として設定してもよい。なお、ロボット10のアームの長さや各関節(軸)の可動角度などに応じて、ロボット10の可動範囲が特定できる。このとき、設定部300は、フリー領域70を除く領域を、探索領域50を設定してもよい。
(3次元センサの計測スペックに基づく設定)
 設定部300は、ロボット10の可動範囲の設定と3次元センサ20の計測スペックに基づき、フリー領域70および探索領域50を設定してもよい。3次元センサ20の計測スペックは、3次元センサ20によって計測可能な範囲(計測可能な距離の範囲や視野角度など)の情報を含む。ここで、3次元センサ20は、図6Bに示すように、3次元センサ20から第1の距離D1(計測可能な距離の範囲の最短距離)の位置(至近位置)と、第2の距離D2(計測可能な距離の範囲の最長距離)の位置(遠方位置)との間の領域601のみを計測することができる。ここで、例えば、第1の距離D1は30cmであり、第2の距離D2は100cmであり得る。
 そこで、設定部300は、図6Bに示すように、ロボット10の可動範囲(図6A参照)を第1の距離D1の長さ分だけ広げた領域をフリー領域70として設定してもよい。つまり、ロボット10の可動範囲が球状であれば、可動範囲の半径よりも第1の距離D1だけ長い半径の球が、フリー領域70として設定される。そして、設定部300は、図6Bに示すように、ロボット10の可動範囲域(図6A参照)を第2の距離D2の長さ分だけ広げた領域のうち(つまり、3次元センサ20によって計測可能な範囲のうち)、フリー領域70を除いた領域を、探索領域50として設定してもよい。
 なお、図7Aに示すように複数の3次元センサ21~23をロボット10が有する場合がある。この場合には、設定部300は、3次元センサ21~23の全ての計測スペックに基づき、フリー領域70または/および探索領域50を設定する。例えば、設定部300は、ロボット10の可動範囲をフリー領域70に設定してもよい。また、設定部300は、3次元センサ21~23の少なくもいずれかによって計測できる領域から、フリー領域70を除いた領域を探索領域50として設定してもよい。
(ユーザが動かした範囲に基づく設定)
 また、設定部300は、図7Bに示すように、ユーザがロボット10を直接動かした領域を、フリー領域70として設定してもよい。これは、いわゆるダイレクトティーチングと呼ばれる技術を用いて実現できる。このように設定することによれば、ユーザが直感的にフリー領域70を設定することができる。このとき、設定部300は、所定の領域(例えば、ユーザが予め入力した領域)のうち、フリー領域70以外の領域を探索領域50として設定してもよい。また、設定部300は、上述のようにユーザがロボット10を動かした領域を第2の距離D2分だけ広げた領域から、フリー領域70を除いた領域を探索領域50として設定してもよい。
(マップ情報に基づく設定)
 また、設定部300は、マップ情報に基づき、フリー領域70を設定(更新)してもよい。なお、設定部300は、フリー領域70を更新するとともに、更新されたフリー領域70を含まないように探索領域50を更新してもよい。例えば、設定部300は、上述のいずれかの方法によって初期のフリー領域70を設定した後に、ステップS1008においてマップを更新するごとに、または、所定の回数の計測をするごとに、フリー領域70を更新してもよい。具体的には、設定部300は、図8に示すように、マップ情報が示す現在のフリー領域70に接する空領域(物体が存在しないと判定された領域)と現在のフリー領域70とを含む領域を、新たなフリー領域71として設定してもよい。これによれば、フリー領域70を徐々に広くできるため、3次元センサ20によって物理的に計測できる領域(範囲)を広くすることができる。
 なお、設定部300がフリー領域70または/および探索領域50を更新する必要はなく、不図示の更新部(動作記録部)がフリー領域70または/および探索領域50を更新してもよい。つまり、設定部300がフリー領域70および探索領域50を3次元センサ20の計測結果を用いずに設定し、その後、更新部がフリー領域70および探索領域50を3次元センサ20の計測結果を用いて更新してもよい。
 なお、上記、フリー領域70および探索領域50を設定する複数の方法を説明したが、これらの方法は任意に組み合わされてもよい。例えば、設定部300は、ユーザが入力した領域から、禁止領域を除いた領域を、フリー領域70に設定してもよい。また、例えば、設定部300は、ロボット10の可動範囲とユーザが入力した領域との重複領域(重複範囲)を、フリー領域70に決定してもよい。つまり、上記した方法で決定した複数のフリー領域における重複領域を、新たなフリー領域70として決定(更新)してもよい。
 このように、フリー領域70を予め設定しておき、フリー領域70の外に出ないように(フリー領域70の内部で動作するように)ロボット10を制御することによれば、探索領域50を計測する際に、安全にロボット10を動かすことができる。
 なお、上記では、フリー領域70は、探索領域50を計測する際に一緒に計測される可能性はあるが、3次元センサ20によって直接的には計測されない。このため、マップ情報においてフリー領域70に対応する各点は未知領域として示されている可能性が高い。従って、マップ取得部303は、探索領域50の計測前または計測後に、フリー領域70に対応するマップ情報の各点を空領域(既知領域)として設定してもよい。また、マップ取得部303は、探索領域50の計測前または計測後に、フリー領域70に対応するマップ情報の各点がフリー領域70を示すように設定してもよい。
 また、本実施形態では、表示部309は、表示パネルなどに画像を表示するとして説明したが、HMD(ヘッドマウントディスプレイ)を有し、HMDに画像を表示してもよい。そして、表示部309(HMD)は、ロボット10、探索領域50およびフリー領域70を表すVR画像(全天球画像)を表示してもよい。なお、VR画像は、ステップS1001~S1004において、ロボット10、探索領域50およびフリー領域70がVR空間上に配置されることによって生成可能である。このとき、ロボット10の周辺の物体などもVR空間上に配置されるようにVR画像が生成されると、VR画像を見た際に、フリー領域などと他の物体との位置関係をユーザが把握できる。そして、表示部309(制御部301)は、表示部309の姿勢の変化に応じて、VR画像のうちの表示する領域を変化させる。これによって、ユーザは、探索領域50およびフリー領域70をより正確に把握することができる。
 なお、表示部309(HMD)は、VR画像の代わりに、AR画像を表示してもよい。つまり、ユーザは表示部309を介して現実空間が視認可能であり、表示部309(HMD)は、この現実空間に対して、ロボット10、探索領域50およびフリー領域70を表すAR画像が重畳するような表示をしてもよい。なお、AR画像は、上記のVR画像と同様の方法によって生成可能である。そして、表示部309(制御部301)は、表示部309の姿勢の変化に応じて、AR画像のうちの表示する領域を変化させる。これによれば、ユーザは、フリー領域70などとともに現実空間を視認することができるので、VR画像よりもさらに正確に(分かりやすく)、探索領域50およびフリー領域70を把握することができる。
 従って、ユーザは、VR画像またはAR画像により探索領域50およびフリー領域70を正確に把握できれば、表示された探索領域50およびフリー領域70を、不図示の操作部材を介して、容易に、より適切な大きさ、範囲および位置に修正(設定)することができる。このため、適切な探索領域50を計測するために、より安全なフリー領域70を設定することが容易になるので、より安全性高く、3次元センサ20を用いて物体の領域(干渉領域)を判定することができる。
 なお、実施形態に記載された事項のみによって特許請求の範囲の記載の解釈が限定されるものではない。特許請求の範囲の記載の解釈には、出願時の技術常識を考慮した、発明の課題が解決できることを当業者が認識できるように記載された範囲も含む。
 (付記1)
 3次元センサ(20)を有するロボット(10)の制御装置(30)であって、
 前記3次元センサ(20)が計測する領域である探索領域(50)と、前記探索領域(50)を計測するために前記ロボット(10)が移動することを許可された領域であるフリー領域(70)とを設定する設定手段(300)と、
 前記フリー領域(70)の外部に前記ロボット(10)が移動しないように、前記探索領域(50)を計測する前記3次元センサ(20)を移動させる動作制御手段(307)と、
を有することを特徴とする制御装置(30)。
 (付記2)
 3次元センサ(20)を有するロボット(10)の制御方法であって、
 前記3次元センサ(20)が計測する領域である探索領域(50)と、前記探索領域(50)を計測するために前記ロボット(10)が移動することを許可された領域であるフリー領域(70)とを設定する設定ステップ(S1002,S1003)と、
 前記フリー領域の外部に前記ロボット(10)が移動しないように、前記探索領域(50)を計測する前記3次元センサ(20)を移動させる動作制御ステップ(S1006)と、
を有することを特徴とする制御方法。
1:探索システム、10:ロボット、20:3次元センサ、30:制御装置、
40:制御サーバ、50:探索領域、60:ネットワーク、70:フリー領域、
300:設定部、301:制御部、302:記憶部、303:マップ取得部、
304:領域判定部、305:位置決定部、306:経路生成部、307:動作制御部、308:センサ制御部、309:表示部

Claims (15)

  1.  3次元センサを有するロボットの制御装置であって、
     前記3次元センサが計測する領域である探索領域と、前記探索領域を計測するために前記ロボットが移動することを許可された領域であるフリー領域とを設定する設定手段と、
     前記フリー領域内を移動するように前記ロボットの動作を制御することによって、前記探索領域を計測する前記3次元センサを移動させる動作制御手段と、
    を有することを特徴とする制御装置。
  2.  前記設定手段は、ユーザ操作により前記制御装置に入力された情報に基づき前記フリー領域を設定する、
     ことを特徴とする請求項1に記載の制御装置。
  3.  前記設定手段は、ユーザが予めロボットを動かした領域を含むように、前記フリー領域を設定する、
     ことを特徴とする請求項1または2に記載の制御装置。
  4.  前記設定手段は、前記ロボットが配置される領域に基づき、前記フリー領域を設定する、
     ことを特徴とする請求項1から3のいずれか1項に記載の制御装置。
  5.  前記設定手段は、前記ロボット以外の物体が配置された領域を含まないように、前記フリー領域を設定する、
     ことを特徴とする請求項1から4のいずれか1項に記載の制御装置。
  6.  前記設定手段は、前記ロボットが移動することが予め禁止された領域を含まないように、前記フリー領域を設定する、
     ことを特徴とする請求項1から5のいずれか1項に記載の制御装置。
  7.  前記設定手段は、前記ロボットの可動範囲に基づき前記フリー領域を設定する、
     ことを特徴とする請求項1から6のいずれか1項に記載の制御装置。
  8.  前記設定手段は、前記3次元センサの計測スペックに基づき前記フリー領域を設定する、
     ことを特徴とする請求項1から7のいずれか1項に記載の制御装置。
  9.  前記3次元センサの計測スペックは、前記3次元センサから計測可能な最短距離の情報を含み、
     前記設定手段は、前記ロボットの可動範囲を前記最短距離の長さ分だけ広げた領域を含むように、前記フリー領域を設定する、
     ことを特徴とする請求項8に記載の制御装置。
  10.  前記3次元センサの計測スペックは、前記3次元センサから計測可能な最長距離の情報を含み、
     前記設定手段は、前記ロボットの可動範囲を前記最長距離の長さ分だけ広げた領域のうち前記フリー領域を含まない領域を前記探索領域として設定する、
     ことを特徴とする請求項9に記載の制御装置。
  11.  前記設定手段は、前記3次元センサが前記探索領域を計測した結果に基づき、前記フリー領域を更新し、
     前記動作制御手段は、前記設定手段が更新したフリー領域内を移動するように前記ロボットの動作を制御することによって、前記探索領域を計測する前記3次元センサを移動させる、
     ことを特徴とする請求項1から10のいずれか1項に記載の制御装置。
  12.  前記フリー領域若しくは前記探索領域を表示する表示手段をさらに有する、
     ことを特徴とする請求項1から11のいずれか1項に記載の制御装置。
  13.  前記設定手段は、前記フリー領域を含まないように前記探索領域を設定する、
     ことを特徴とする請求項1から12のいずれか1項に記載の制御装置。
  14.  3次元センサを有するロボットの制御方法であって、
     前記3次元センサが計測する領域である探索領域と、前記探索領域を計測するために前記ロボットが移動することを許可された領域であるフリー領域とを設定する設定ステップと、
     前記フリー領域内を移動するように前記ロボットの動作を制御することによって、前記探索領域を計測する前記3次元センサを移動させる動作制御ステップと、
    を有することを特徴とする制御方法。
  15.  請求項14に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
PCT/JP2021/033780 2020-12-09 2021-09-14 制御装置、制御方法、プログラム WO2022123850A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21902954.3A EP4238721A1 (en) 2020-12-09 2021-09-14 Control device, control method, and program
US18/253,818 US20240017412A1 (en) 2020-12-09 2021-09-14 Control device, control method, and program
CN202180080524.4A CN116669915A (zh) 2020-12-09 2021-09-14 控制装置、控制方法、程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020204430A JP7494719B2 (ja) 2020-12-09 制御装置、制御方法、プログラム
JP2020-204430 2020-12-09

Publications (1)

Publication Number Publication Date
WO2022123850A1 true WO2022123850A1 (ja) 2022-06-16

Family

ID=81973565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/033780 WO2022123850A1 (ja) 2020-12-09 2021-09-14 制御装置、制御方法、プログラム

Country Status (4)

Country Link
US (1) US20240017412A1 (ja)
EP (1) EP4238721A1 (ja)
CN (1) CN116669915A (ja)
WO (1) WO2022123850A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017077600A (ja) * 2015-10-20 2017-04-27 株式会社リコー マニピュレータ装置
JP2018089728A (ja) 2016-12-01 2018-06-14 ファナック株式会社 ロボットの干渉領域を自動で設定するロボット制御装置
JP2020028957A (ja) * 2018-08-24 2020-02-27 ファナック株式会社 干渉回避装置およびロボットシステム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017077600A (ja) * 2015-10-20 2017-04-27 株式会社リコー マニピュレータ装置
JP2018089728A (ja) 2016-12-01 2018-06-14 ファナック株式会社 ロボットの干渉領域を自動で設定するロボット制御装置
JP2020028957A (ja) * 2018-08-24 2020-02-27 ファナック株式会社 干渉回避装置およびロボットシステム

Also Published As

Publication number Publication date
EP4238721A1 (en) 2023-09-06
CN116669915A (zh) 2023-08-29
US20240017412A1 (en) 2024-01-18
JP2022091542A (ja) 2022-06-21

Similar Documents

Publication Publication Date Title
US11220002B2 (en) Robot simulation device
US10394327B2 (en) Integration of auxiliary sensors with point cloud-based haptic rendering and virtual fixtures
JP4850984B2 (ja) 動作空間提示装置、動作空間提示方法およびプログラム
JP6642968B2 (ja) 情報処理装置、情報処理方法、プログラム
US11420330B2 (en) Robot control device, robot, and simulation device
EP3283938B1 (en) Gesture interface
JP2014512530A (ja) 座標位置決め装置
JP5113666B2 (ja) ロボット教示システム及びロボットの動作のシミュレーション結果の表示方法
CN104897091A (zh) 关节臂坐标测量机
CN112313046A (zh) 使用增强现实可视化和修改操作界定区域
JP2018008347A (ja) ロボットシステムおよび動作領域表示方法
JP2016109669A (ja) 情報処理装置、情報処理方法、プログラム
JP2016197393A (ja) 情報処理装置、情報処理方法及びプログラム
CN114728413A (zh) 用于控制远程机器人的图形用户界面的方法和系统
WO2015186508A1 (ja) 作業ロボットの教示データ生成装置及び教示データ生成方法
JP2018176311A (ja) 情報処理装置、情報処理方法、プログラム、システム、および物品製造方法
JP2014203463A (ja) 人間工学的な人体模型の姿勢を作成し、かつナチュラルユーザインターフェースを用いてコンピュータ支援設計環境を制御すること
JP2019184340A (ja) 情報処理装置、情報処理方法、及びプログラム
WO2022123850A1 (ja) 制御装置、制御方法、プログラム
JP7494719B2 (ja) 制御装置、制御方法、プログラム
JP2016078142A (ja) ロボット装置の制御方法、およびロボット装置
US20220410394A1 (en) Method and system for programming a robot
JP2010064161A (ja) 遠隔操作支援装置
JP2021010994A (ja) センサ位置姿勢キャリブレーション装置及びセンサ位置姿勢キャリブレーション方法
WO2020067204A1 (ja) 学習用データ作成方法、機械学習モデルの生成方法、学習用データ作成装置及びプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21902954

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18253818

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 202180080524.4

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2021902954

Country of ref document: EP

Effective date: 20230601

NENP Non-entry into the national phase

Ref country code: DE