Robot arm, scanning method for creation of working area 3D model of robot arm, and medium recording scanning program for creation of working area 3D model of robot arm
The robot arm system autonomously creates 3D models of its work area using a 3D sensor and control unit, addressing the need for skilled operators and reducing costs by automating obstacle detection and notification.
Patent Information
- Application Number
- JP2023171809
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-10-03
- Publication Date
- 2025-04-15
AI Technical Summary
Existing robot arm systems require skilled operators to manually create 3D models of their work areas, which is a barrier for unfamiliar users and leads to increased costs due to frequent reconfiguration when the environment changes.
A robot arm system equipped with a 3D sensor unit, a user interface unit, and a control unit that operates the robot arm on a predetermined trajectory to autonomously create a 3D model of its work area, allowing for obstacle detection and notification.
Enables the creation of 3D models of work areas without manual operation, facilitating the integration of robot arms into new environments and reducing operational costs by automating obstacle detection and notification.
Smart Images

Figure 2025062647000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a robot arm, a scanning method for creating a 3D model of a working area of a robot arm, and a medium having a scanning program recorded thereon for creating a 3D model of a working area of a robot arm. Regarding. [Background technology]
[0002] Articulated robot arms are used for tasks such as grasping an object within a specified working area, moving to another location and releasing the object. At this time, the robot arm photographs the object with a 3D camera (3D sensor), and is able to confirm the position of the object and grasp it accurately. Many types of articulated robots have been developed, including the one shown in Patent Document 1. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2023-1941 Summary of the Invention [Problem to be solved by the invention]
[0004] A robot arm such as that shown in Patent Document 1 can automatically generate a trajectory if only known obstacles exist in the working area and their position information is 3D modeled. However, the task of creating the 3D model requires the operation of the equipment by a skilled worker. For example, the operation may be performed manually via a controller or directly by an operator who is skilled in operating the robot arm. For this reason, if a user is unfamiliar with operating the robot arm, this becomes a barrier to the introduction of the robot arm in the working area. In addition, this confirmation task occurs every time the working environment of the robot arm changes, which also causes an increase in costs for the user.
[0005] The present invention provides a robot arm that can create a 3D model of a working area without manually operating the robot arm, a scanning method for creating a 3D model of a working area of a robot arm, and a medium having recorded thereon a scanning program for creating a 3D model of a working area of a robot arm. [Means for solving the problem]
[0006] The present invention provides a robot arm comprising a multi-joint robot arm section capable of operating in a predetermined working area, a 3D sensor section supported by the robot arm section and outputting spatial information, a user interface section for inputting and notifying instructions, and a control section for controlling the robot arm section, the 3D sensor section, and the user interface section, wherein the control section is configured to operate the robot arm section in a predetermined trajectory and create a 3D model of the working area of the robot arm section based on information of the working area imaged by the 3D sensor section.
[0007] In the present invention having the above configuration, the control unit operates the robot arm unit along a predetermined trajectory. The control unit obtains spatial information of the working area imaged by the 3D sensor unit supported by the robot arm unit, and creates a 3D model of the working area of the robot arm unit.
[0008] The control unit can also change the trajectory to move the robot arm a plurality of times. Furthermore, the control unit may be configured to widen the trajectory of the multiple times. The control unit can also detect obstacles to the movement of the robot arm unit based on a 3D model of the working area, and can cause the user interface unit to notify when an obstacle is detected. Furthermore, when the control unit moves the robot arm unit along the trajectory, the control unit can notify the user interface unit of any known obstacles, and when a release instruction is input via the user interface unit, can move the robot arm unit along the remainder of the trajectory.
[0009] In addition, when the control unit detects an unknown obstacle imaged by the 3D sensor unit while moving the robot arm unit along the trajectory, the control unit can notify the user interface unit and move the robot arm unit to return to its initial posture. Furthermore, the control unit can also cause the robot arm unit to rotate forward and backward along a predetermined rotation axis and cause the 3D sensor unit to capture an image of the work area.
[0010] The control unit can also reverse the robot arm unit by a predetermined angle, and then rotate it forward by an angle approximately twice that angle, while causing the 3D sensor unit to capture an image of the work area. Furthermore, the control unit can also cause the robot arm unit to rotate forward and backward along a plurality of different rotation axes. In addition, the control unit can be configured to notify the user interface unit when the obstacle is detected and to stop the robot arm unit, and to operate the robot arm unit when a specified instruction is input via the user interface unit.
[0011] The present invention can be realized not only as a tangible device, but also as a method thereof. That is, the present invention can be configured as a method for pre-detecting a working area of a robot arm including a multi-joint robot arm unit operable in a predetermined working area, a 3D sensor unit supported by the robot arm unit, a user interface unit for inputting and notifying instructions, and a control unit for controlling the robot arm unit, the 3D sensor unit, and the user interface unit, the method including a step of moving the robot arm unit along a predetermined trajectory, and a step of creating a 3D model of the working area of the robot arm unit based on information of the working area captured by the 3D sensor unit. Furthermore, the present invention can be realized as a scanning program for creating a 3D model of the working area of a robot arm, which causes a computer to implement such a method. In other words, the present invention is a medium on which a pre-detection scanning program for a working area of a robot arm having a multi-joint robot arm unit capable of operating in a predetermined working area, a 3D sensor unit supported by the robot arm unit, a user interface unit for inputting and notifying instructions, and a control unit for controlling the robot arm unit, the 3D sensor unit, and the user interface unit, which causes a computer to realize a function of operating the robot arm unit in a predetermined trajectory and a function of creating a 3D model of the working area of the robot arm unit based on information of the working area imaged by the 3D sensor unit, and can also be used as a medium on which such a program is recorded. Effect of the Invention
[0012] According to the robot arm of the present invention, the method for advance detection of the working area of a robot arm, and the medium having recorded thereon a scanning program for creating a 3D model of the working area of a robot arm, spatial information about the working area in which the robot arm is installed and works is obtained, and the presence or absence of obstacles that the robot arm may collide with is detected and notified. Therefore, even an operator who is unfamiliar with operating a robot arm can prevent collisions with obstacles that would not normally exist when creating a 3D model of the working area of the robot arm. [Brief description of the drawings]
[0013] [Figure 1] 1 is a schematic block diagram of a robot arm to which the present invention is applied. [Diagram 2] FIG. 1 is a front view of a five-axis robot arm. [Diagram 3] FIG. 1 is a front view of a six-axis robot arm. [Figure 4] FIG. 1 is a front view of a seven-axis robot arm. [Diagram 5] 1 is a flowchart of a basic operation of a robot arm. [Figure 6] 13 is a flowchart of posture reading control of a robot arm. [Figure 7] 13 is a flowchart of the control of a robot arm. [Figure 8] 13 is a flowchart of the control of a robot arm. [Figure 9] 13 is a flowchart of the control of a robot arm. [Figure 10] FIG. 13 is a diagram showing a notification screen of the robot arm. [Figure 11] FIG. 13 is a diagram showing a notification screen of the robot arm. [Figure 12] 13 is a flowchart of the control of a robot arm. [Figure 13] 13 is a flowchart of the control of a robot arm. [Figure 14] FIG. 2 is a perspective view showing a starting posture of the robot arm. [Figure 15] FIG. 13 is a perspective view showing another posture of the robot arm. [Figure 16] FIG. 13 is a perspective view showing another posture of the robot arm. [Figure 17] FIG. 13 is a perspective view showing another posture of the robot arm. [Figure 18] FIG. 13 is a perspective view showing another posture of the robot arm. [Figure 19] FIG. 13 is a perspective view showing another posture of the robot arm. [Figure 20]FIG. 13 is a perspective view showing another posture of the robot arm. [Figure 21] FIG. 13 is a perspective view showing a starting posture of another robot arm. [Figure 22] FIG. 13 is a perspective view showing another posture of the other robot arm. [Diagram 23] FIG. 13 is a perspective view showing another posture of the other robot arm. [Figure 24] FIG. 13 is a perspective view showing a starting posture of another robot arm. [Diagram 25] FIG. 13 is a perspective view showing another posture of the other robot arm. [Figure 26] FIG. 13 is a perspective view showing another posture of the other robot arm. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a robot arm according to one embodiment of the present invention. In the figure, the robot arm 1 comprises a multi-joint robot arm unit 10 that can operate in a specified working area, a 3D camera unit 20 that is supported by the robot arm unit 10 and outputs spatial information, a user interface unit 30 that inputs and notifies instructions, and a control unit 40 that controls the robot arm unit 10, the 3D camera unit 20, and the user interface unit 30.
[0015] The control unit 40 includes a robot controller unit 41 which inputs sensor values from the robot arm unit 10 and outputs control signals for driving, a reconstruction system unit 42 which inputs color / depth data output from the 3D camera unit (3D sensor unit) 20 and converts it into three-dimensional (3D) spatial data, an environment model unit 43 which inputs the spatial data reconstructed by the reconstruction system unit 42 and stores it as environment model data, a trajectory calculation unit 44 which calculates trajectory data based on the model data and posture data and outputs it to the robot controller unit 41, a memory area 45 which stores the posture data, and a collision detection unit 46 which inputs state information in the robot controller unit 41 and detects the presence or absence of a collision. The model data is three-dimensional spatial data. The control unit 40 is, for example, a computer including a CPU, a ROM, a RAM, and a storage. For example, a program for controlling each part is stored in the ROM or the storage. The CPU loads the program into the RAM and executes various operations.
[0016] Based on the above configuration, the control unit 40 operates the robot arm unit 10 on a predetermined trajectory, detects obstacles to the movement of the robot arm unit 10 based on information on the working area captured by the 3D camera unit 20, and when an obstacle is detected, notifies the user interface unit 30. In this embodiment, the 3D camera unit 20 is used as the 3D sensor unit, but the sensor is not limited to a camera, and other sensors such as 3D LiDAR can also be used.
[0017] FIG. 2 shows a front view of a robot arm having a five-axis configuration, FIG. 3 shows a front view of a robot arm having a six-axis configuration, and FIG. 4 shows a front view of a robot arm having a seven-axis configuration. The robot arm unit 10 of this embodiment may be any of these, and the robot controller unit 41 outputs a control signal to drive the robot arm unit 10 so as to move along the trajectory calculated by the trajectory calculation unit 44. The robot arm unit 10 has joints that can rotate around a rotation axis at any angle within a range of 360 degrees or a preset angle, and is called a 5-axis, 6-axis, or 7-axis configuration depending on the number of joints. The joint at the lowest end is called the first joint (or the first axis), and the joints toward the tip of the robot arm unit 10 are called the second joint, the third joint, and so on.
[0018] The first joint enables the robot arm unit 10 to rotate relative to the installation plane, rotating 360 degrees with the installation location as a fulcrum. The second joint allows the upper part of the robot arm unit 10 to tilt relative to the installation plane. It can tilt within a predetermined angle range with the vertical state being 0 degrees. The 3D camera unit 20 is held by the last joint near the tip of the robot arm unit 10, and the robot controller unit 41 drives this joint to appropriately specify the shooting direction of the 3D camera unit 20.
[0019] Below, a description will be given with reference to a flowchart showing the control operations of the basic operations in which the control unit 40 of the robot arm 1 moves the robot arm unit 10 on a predetermined trajectory, acquires information on the working area imaged by the 3D camera unit 20 to create a 3D model of the working area of the robot arm unit, and further detects obstacles to the movement of the robot arm unit 10 and notifies the user interface unit 30 when an obstacle is detected.
[0020] FIG. 5 is a flowchart of the basic operation of the robot arm, and FIG. 6 is a flowchart of the posture reading control of the robot arm. The control unit 40 first reads the initial posture and the scan trajectory in step S100. The initial posture and the scan trajectory are read in by reading data of a predetermined initial posture from the memory area 45 in step S200, and then reading the result of calculation by the trajectory calculation unit 44 of the trajectory from this posture to the target posture in step S205. The target posture is read as posture data from the memory area 45. As will be described later, a plurality of initial postures and trajectories are stored corresponding to the number of scans.
[0021] Next, in step S105, the control unit 40 checks for collisions with known obstacles in the trajectory. This is done by simulating changes in the posture of the robot arm unit 10 based on the trajectory data, and by referring to the model data stored in the environment model unit 43, it is determined whether or not there will be a collision with a known obstacle that is known to already exist in the three-dimensional space. The collision detection may be performed at each point in time while driving the robot arm unit 10, or may be performed by simulation.
[0022] If it is determined in step S105 that the collision detection unit 46 has detected a collision, then in step S115 the user is notified to remove the known collision obstacle. The notification is displayed on the screen in the user interface unit 30. At this time, an alarm may be used to notify the user. After the notification to remove the known obstacle is given, steps S100 and after are repeated again to have the user remove all known obstacles in the track.
[0023] That is, when an obstacle is detected, the control unit 40 notifies the user interface unit 30 and stops the robot arm unit 10, and when a specified instruction is input via the user interface unit 30, it operates the robot arm unit 10. In this way, when the control unit 40 moves the robot arm unit 10 along the trajectory, it notifies the user interface unit 30 of known obstacles, and when a release command is inputted to the user interface unit 30, it moves the robot arm unit 10 along the remaining trajectory. It is also possible to distinguish between known obstacles that cannot be removed and those that can. For known obstacles that cannot be removed, even if the collision detection unit 46 determines in step S105 that a collision has been detected, in step S115, the trajectory calculation unit 44 calculates a trajectory that avoids the known obstacle, and the robot arm unit 10 is moved along this trajectory, without informing the user to remove the known collision obstacle. In this way, when the control unit 40 moves the robot arm unit 10 along a trajectory, if there is a known, unavoidable obstacle, the control unit 40 moves the robot arm unit 10 along a trajectory that avoids a collision.
[0024] Examples of screens displayed on the user interface unit 30 are shown in FIG. 10 and FIG. Fig. 10 is an example of a screen showing the progress of the flowchart shown in Fig. 5, with a progress bar indicating the progress at the top. The progress bar shows the progress as a percentage, and for example, the progress is displayed so that it is 100% from the beginning to the end of the trajectory. The scanned environment is also displayed in an animated form at the bottom. Note that a "Complete" button is displayed at the very bottom, and instead of automatically changing the screen when the progress bar reaches 100%, the user is required to confirm this before pressing the "Complete" button. This ensures that the user is aware that the scan is complete.
[0025] In FIG. 11, when it is determined in step S105 that the collision detection unit 46 has detected a collision, a message stating "Obstacle detected. Please remove the obstacle and resume." is displayed to notify the user of the situation and instruct the user on what to do. In addition, a "Resume" button is displayed at the bottom of the screen, allowing the user to obtain information that the obstacle has been removed.
[0026] After that, the control unit 40 executes a peripheral scan in step S120. Specifically, the robot controller unit 41 outputs a driving control signal to the robot arm unit 10 so that the robot arm unit 10 moves according to the trajectory calculated by the trajectory calculation unit 44. Then, the robot arm unit 10 rotates each joint in response to the control signal. When the robot arm unit 10 is driven, the 3D camera unit 20 supported by the robot arm unit 10 starts to sequentially output color / depth data to the reconstruction system unit 42. Together with this color / depth data, the robot controller unit 41 outputs camera attitude data to the reconstruction system unit 42. Since the reconstruction system unit 42 obtains the attitude and color / depth data of the 3D camera unit 20 at each time point, it is possible to virtually reproduce the three-dimensional space photographed by the 3D camera unit 20, and the three-dimensional space thus constructed can be output to the environment model unit 43 as model data. In this way, the control unit 40 operates the robot arm unit 10 on a predetermined trajectory and creates a 3D model of the working area of the robot arm unit 10 based on information about the working area captured by the 3D camera unit 20 serving as a 3D sensor unit.
[0027] When starting a surrounding scan, the environmental model unit 43 may detect the presence of an obstacle that was not present before, and the collision detection unit 46 can determine whether there has been a collision with an obstacle as a simulation result, or by actually inputting the sensor value from the robot arm unit 10 as a status signal from the robot controller unit 41. When a collision with an obstacle is detected in this way in step S120, the user is notified in step S130 to remove this unknown (new) collision obstacle. After the notification, the process waits in step S130 until a trigger is detected (the user clicks the "Resume" button or the OK button shown in FIG. 11). When the trigger is detected, the process moves to the initial posture in step S140, and when the process moves to the initial posture, steps S120 and after are repeated.
[0028] In this way, when the control unit 40 detects an unknown obstacle captured by the 3D camera unit 20 while moving the robot arm unit 10 along the trajectory, the control unit 40 notifies the user interface unit 30 and moves the robot arm unit 10 to return to its initial posture. That is, in steps S105 and S115, the robot arm unit 10 is moved along the remaining trajectory for known obstacles, but in steps S130 and S140, the robot arm unit 10 is returned to its initial posture for unknown obstacles. The detection of an unknown obstacle means that a 3D space not present in the environment model unit 43 exists, so that the unknown obstacle can be added to the 3D space before obstacle detection.
[0029] The trigger processing is performed according to the flowchart shown in FIG. 9. That is, when a collision with an obstacle is detected, a pop-up window (FIG. 11) indicating the collided obstacle is generated in step S500. Specifically, a pop-up window is displayed on the display of the user interface unit 30 to indicate that a collision with an obstacle has been detected, and the user is instructed to remove the collided obstacle. Step S505 is the operation of the operator removing the collided obstacle, and actually, processing is resumed when it is detected in step S510 that the user has pressed down the resume button. Then, in step S515, it is determined whether a collision with a known obstacle has been detected, and if no collision has been detected, the notification to the user is terminated.
[0030] However, if a collision with a known obstacle is detected, the scan count value is reset to the initial value in step S520. This is because, as will be described later, the range of the scan is gradually expanded by repeating the peripheral scan multiple times, so the number of scans is controlled by the scan count value, and it is preferable to control the number of scans after collision with a known obstacle has ceased.
[0031] On the other hand, if it is determined in step S120 that the process has ended without collision, the number of scans is counted up in step S150. As described above, the number of scans is used to gradually expand the range of the scan by repeating peripheral scans multiple times. In step S155, it is determined based on the number of scans whether the scan of the entire region has been completed, and if so, the process ends. If not, the process returns to step S100 and the initial attitude is read.
[0032] As described above, this robot arm implements a method of detecting the working area in advance, and performs the steps of operating the robot arm unit 10 on a predetermined trajectory, detecting obstacles to the movement of the robot arm unit 10 based on information about the working area captured by the 3D camera unit 20, and notifying the user interface unit 30 when an obstacle is detected. In this way, when performing a peripheral scan, the control unit 40 moves the robot arm unit 10 multiple times while changing the trajectory.
[0033] 14 to 17 show specific examples of the initial postures of the robot arm unit 10. FIG. Figure 14 shows the initial position before starting operation. When the operation is finished, it returns to this position, and it may be returned to this position before starting the next operation. Basically, the overall size becomes the smallest, and it is easy to store.
[0034] Fig. 15 shows the initial posture when the number of scans is "1". This initial posture is assumed to be the posture in which the volume of the 3D space passing through in the working area is the smallest when the robot arm unit 10 rotates at the first joint within a range of 360 degrees or a specified angle less than that. However, this is not a strictly minimum condition, but rather the posture that occupies the smallest volume when changing from small to large in the process of gradually increasing the volume as described later. At this time, the field of view of the 3D camera unit 20 is parallel to the horizontal plane.
[0035] Fig. 16 or 17 shows the initial posture when the number of scans is "2." This initial posture shows a state in which, after a peripheral scan is performed in the posture with the smallest volume shown in Fig. 15, the robot arm unit 10 is opened slightly and the field of view of the 3D camera unit 20 is tilted diagonally 45 degrees upward or downward in order to capture an image of a working area that could not be captured in the first peripheral scan.
[0036] Figure 15 shows a posture that emphasizes minimizing the volume required in the working area, while Figure 16 or Figure 17 slightly increases the volume required by spreading out the robot arm unit 10, but achieves the purpose of expanding the 3D space obtained by peripheral scanning by tilting the 3D camera unit 20 diagonally upward or downward, which tends to be a blind spot when the 3D camera unit 20 is facing horizontally.
[0037] In other words, as the number of scans increases, the volume through which the robot arm unit 10 passes gradually becomes larger, or the trajectory gradually widens, and as the number of scans increases, the field of view of the 3D camera unit 20 is changed so as to reduce what were previously blind spots. In this way, when performing a peripheral scan, the control unit 40 moves the robot arm unit 10 multiple times while changing the trajectory, and the trajectory is widened during the multiple movements.
[0038] Next, FIGS. 18 to 20 show other specific examples of the initial posture of the robot arm unit 10. In FIG. Figure 18 shows an example of the posture when scanning the lower front with the robot arm tilted at 45 degrees, Figure 19 shows an example of the posture when scanning the lower front left with the robot arm tilted at 45 degrees, and Figure 20 shows an example of the posture when scanning the lower rear left with the robot arm tilted at 45 degrees. In an upright position as in Fig. 14, it is difficult to reach the bottom. For example, in the manufacturing industry, when a part is taken out of a deep basket and placed on a processing device, the tip of the robot arm unit 10 can reach a relatively low position by tilting it as in Fig. 18. In this case, the area to be scanned as the working area is from the front to the bottom on both sides. From these basic positions, the control shown in the flowchart of FIG. 13 is performed to rotate the 3D camera unit 20 around the X-axis and Y-axis, thereby making it possible to obtain 3D model data of the surrounding environment.
[0039] FIG. 7 is a flowchart showing the process executed by the robot arm in step S105 to verify whether or not there is a collision with a known obstacle in the vicinity that has already been scanned on the scan trajectory. In step S300, the control unit 40 checks for a collision on the trajectory from the current attitude to the initial attitude. If a collision is detected in step S305, the process proceeds to step S320 to process the collision. Specifically, the process displays the collision on the user interface unit 30 shown in FIG. 9 and waits for the operator to perform an operation. During this process, the obstacle is removed. On the other hand, if no collision is detected in step S305, the control unit 40 checks for a collision with a known obstacle on the predetermined scan trajectory in step S310. If a collision is detected in step S315, the control unit 40 proceeds to processing for detecting a collision in step S320, as before.
[0040] However, if no collision is detected in step S315, the robot moves to the initial posture in step S325. In this way, even if an unknown obstacle is detected and the robot returns to the initial posture, it is possible to avoid a situation in which the robot collides with the obstacle during the process. By implementing this type of control, collisions with known obstacles can be verified through simulation, eliminating the need to actually move the robot arm, thereby shortening work time.
[0041] FIG. 8 is a flowchart showing the peripheral scan process executed by the robot arm in step S120. In step S400, the control unit 40 starts collecting color 3D data. Specifically, the control unit 40 instructs the 3D camera unit 20 to start outputting color / depth data, and also outputs a control signal to the robot arm unit 10 to the robot controller unit 41 and instructs the robot controller unit 41 to start outputting posture data of the 3D camera unit 20. Next, in step S405, the control unit 40 instructs the robot arm unit 10 to rotate 180 degrees counterclockwise. Specifically, the control unit 40 causes the robot controller unit 41 to output a control signal for the first joint of the robot arm unit 10, so that the robot arm unit 10 rotates 180 degrees counterclockwise by the first joint.
[0042] Thereafter, in step S410, the control unit 40 issues an instruction to rotate 360 degrees clockwise. As a result, the robot controller unit 41 outputs a control signal to the first joint of the robot arm unit 10, and the robot arm unit 10 rotates 360 degrees clockwise by the first joint. During this 360-degree clockwise rotation, the color / depth data of the 3D camera unit 20 and the attitude data of the robot controller unit 41 are output to the reconstruction system unit 42, and the reconstruction system unit 42 outputs model data that virtually reproduces the three-dimensional space photographed by the 3D camera unit 20 to the environment model unit 43.
[0043] After the 360-degree clockwise rotation is completed, the control unit 40 rotates the camera 180 degrees counterclockwise in step S415, and ends the collection of color 3D data in step S420. The 180-degree counterclockwise rotation is necessary to return the camera 10 to its initial position. In this way, the control unit 40 causes the robot arm unit 10 to rotate forward and backward along a predetermined rotation axis such as the first joint, and causes the 3D camera unit 20 to capture an image of the working area. In this embodiment, the image captured by the 3D camera unit 20 includes the posture data of the robot controller unit 41 in addition to the color / depth data, but the posture data may also be added and output from the 3D camera unit 20. Furthermore, the control unit 40 rotates the robot arm unit 10 in the reverse direction by a predetermined angle, and then rotates it forward by an angle approximately twice the angle, while causing the 3D camera unit 20 to capture an image of the working area. As described above, according to this control, since only the so-called first joint is rotated, the area through which the robot passes becomes axially symmetrical, and from the user's viewpoint, the movement is highly predictable in terms of collision with surrounding obstacles. Generally, the movement of the robot arm unit 10 can be difficult for humans to intuitively predict, but if the movement is axially symmetrical, the robot arm unit 10 can be made to move in a way that humans can intuitively predict.
[0044] Fig. 13 is a flow chart of control for scanning the periphery with the robot arm tilted as shown in Fig. 18 to Fig. 20. In the following, the X-axis and Y-axis are the X-axis and Y-axis of the camera coordinate system, or the X-axis and Y-axis of the coordinate system of the final joint of the robot arm unit 10 (the sixth joint in a six-axis robot, and the seventh joint in a seven-axis robot). To perform a tilted scan, control unit 40 starts acquisition of color 3D data in step S700.
[0045] First, in the scan around the X axis, in step S705, the object is rotated 30 degrees around the X axis, and in step S710, color 3D data is collected while rotating -60 degrees around the X axis. Finally, in step S715, the object is rotated 30 degrees around the X axis to return to the initial position. Similarly, in the scan around the Y axis, in step S720, the object is rotated 30 degrees around the Y axis, and in step S725, color 3D data is collected while rotating -60 degrees around the Y axis. Finally, in step S730, the object is rotated 30 degrees around the Y axis to return to the initial position. In this manner, finally, in step S735, collection of color 3D data ends. In this manner, the control unit 40 may cause the robot arm unit 10 to rotate forward and backward along a plurality of different rotation axes such as the X-axis and the Y-axis. In this way, by rotating around the X-axis and Y-axis and scanning, a wider area can be scanned in one posture, which has the effect of reducing the number of basic postures equivalent to the "start posture" and shortening the overall work time.
[0046] FIG. 12 is a flow chart showing the control for returning the robot arm to its initial position. The control unit 40 calculates a trajectory from the current attitude to the initial attitude in step S600, and executes trajectory progression in step S605.
[0047] 21 to 23 are perspective views showing other postures of the robot arm. Fig. 21 is a perspective view showing the starting posture, in which the robot arm unit 110 is in a compact state. Fig. 22 shows a posture in which the 3D camera unit 120 captures and scans an image obliquely upward, and Fig. 23 shows a posture in which the 3D camera unit 120 captures and scans an image obliquely downward.
[0048] 24 to 26 are perspective views showing other postures of the robot arm. Fig. 24 is a perspective view showing the starting posture, in which the robot arm unit 210 is in a compact state. Fig. 25 shows a posture in which the 3D camera unit 220 captures and scans an image obliquely upward, and Fig. 26 shows a posture in which the 3D camera unit 220 captures and scans an image obliquely downward.
[0049] It goes without saying that the present invention is not limited to the above-mentioned embodiment. -Appropriately change and apply the mutually replaceable members and configurations disclosed in the above embodiments. · Appropriately replacing members and configurations that are not disclosed in the above embodiments but are publicly known and can be mutually substituted for the members and configurations disclosed in the above embodiments, and changing the combinations thereof for application. - Substitute members and configurations, etc. that are not disclosed in the above embodiments but that a person skilled in the art could imagine as substitutes for the members and configurations, etc. disclosed in the above embodiments based on publicly known techniques, and change and apply the combinations. is disclosed as one embodiment of the present invention. [Explanation of symbols]
[0050] 1...Robot arm, 10...Robot arm part, 20…3D camera unit, 30...User interface section, 40...control unit, 41...Robot controller section, 42…Reconstruction System Division, 43…Environmental Modeling Division, 44...Trajectory calculation section, 45...Storage area, 46...Collision detection unit, 110…Robot arm part, 120…3D camera unit, 210…Robot arm section, 220...3D camera unit.
Claims
1. A robot arm including a multi-joint robot arm section operable in a predetermined working area, a 3D sensor section supported by the robot arm section and outputting spatial information, a user interface section for inputting and notifying instructions, and a control section for controlling the robot arm section, the 3D sensor section, and the user interface section, A robot arm characterized in that the control unit operates the robot arm unit on a predetermined trajectory and creates a 3D model of the working area of the robot arm unit based on information of the working area imaged by the 3D sensor unit.
2. The robot arm according to claim 1 , wherein the control unit changes the trajectory to move the robot arm unit a plurality of times.
3. The robot arm according to claim 2 , wherein the control unit changes and widens the trajectory of the multiple times.
4. 2. The robot arm according to claim 1, wherein the control unit detects obstacles to the movement of the robot arm unit based on a 3D model of the working area, and notifies the user interface unit when the obstacle is detected.
5. 5. The robot arm according to claim 4, wherein the control unit, when moving the robot arm unit along the trajectory, notifies the user of a known obstacle via the user interface unit, and, when a release instruction is input via the user interface unit, moves the robot arm unit along the remainder of the trajectory.
6. The robot arm according to claim 1, characterized in that when the control unit detects an unknown obstacle imaged by the 3D sensor unit while moving the robot arm unit along the trajectory, it notifies the user interface unit and moves the robot arm unit to return to its initial posture.
7. The robot arm according to claim 1 , wherein the control unit causes the robot arm unit to rotate forward and backward along a predetermined rotation axis and causes the 3D sensor unit to capture an image of the working area.
8. The robot arm according to claim 7, wherein the control unit reverses the robot arm unit by a predetermined angle, and then rotates the robot arm unit forward by an angle approximately twice that angle while causing the 3D sensor unit to capture an image of the working area.
9. 2. The robot arm according to claim 1, wherein the control unit causes the robot arm unit to rotate forward and backward along a plurality of different rotation axes.
10. 2. The robot arm according to claim 1, wherein the control unit notifies the user interface unit when the obstacle is detected and stops the robot arm unit, and operates the robot arm unit when a predetermined instruction is input via the user interface unit.
11. 5. The robot arm according to claim 4, wherein the control unit, when moving the robot arm unit along the trajectory, moves the robot arm unit along a trajectory that avoids a collision with a known obstacle if such an obstacle is present.
12. A method for advance detection of a working area of a robot arm including a multi-joint robot arm unit operable in a predetermined working area, a 3D sensor unit supported by the robot arm unit, a user interface unit for inputting and notifying instructions, and a control unit for controlling the robot arm unit, the 3D sensor unit, and the user interface unit, moving the robot arm unit along a predetermined trajectory; and creating a 3D model of the working area of the robot arm based on information of the working area imaged by the 3D sensor unit.
13. A medium on which a pre-detection scanning program for a work area of a robot arm is recorded, the pre-detection scanning program comprising: a multi-joint robot arm section operable in a predetermined work area; a 3D sensor section supported by the robot arm section; a user interface section for inputting and notifying instructions; and a control section for controlling the robot arm section, the 3D sensor section, and the user interface section; A function of moving the robot arm unit along a predetermined trajectory; A medium having recorded thereon a scanning program for creating a 3D model of the working area of a robot arm, characterized in that the program causes a computer to realize a function of creating a 3D model of the working area of the robot arm based on information of the working area imaged by the 3D sensor unit.
Citation Information
Patent Citations
Game machine
JP2023001941A