Deadzone: Adding a "Deadzone" to J1 of the robot which the robot cannot rotate through would be helpful. Create a setting which the user can input the deadzone size (Ex. 20 degrees) and the degree in which the center of the deadzone resides (Ex. 180 degrees). This would result in the rotation of J1 being between 170 degrees and -170 degrees, a total of 340 degrees.
Joint Speeds: Creating a way to use joint speeds while still controlling robot motions with the motion path option would be beneficial. This would allow the user to input the robot manufacturers joint speeds for J1-J6. Then instead of using the "MoveTime" in the robot motion paths to "weight" the individual motion, allow for the user to input a percentage of the max joint speeds to run the robot at for that individual motion. For example, this would allow for a single motion path to have the robot travel to an "above" point at 100% speed and then travel to the "pick" point at 30% speed. This could be set up to work only when the "Path Cycle Time" is set to "0" to have the "Path Cycle Time" remain as an option for some users.
Part Offset: Creating a registry of offsets to use with robot motion paths would be helpful. This would primarily adjust the X, Y, and Z location of the robots J6 by a preset distance from the actual point which the motion path is taught, adjusting the rest of the joints accordingly. For instance, this would allow for a pallet with 9 circular parts evenly spaced in a 3x3 pattern to be unloaded by the robot by using a single motion path. This would work by having the user input X, Y, and Z offset values into the columns of a table with each row representing an offset location. The user could then set a parameter in their process flow "Task Sequences" logic to use the desired offset. This parameter could be easily modified using custom code to increment or adjust the offset parameter being used, so all 9 part locations could be picked by using the same block of logic as well. With this, the user could set the motion path to have the robot pick up one part off the pallet and then apply the "part offset" to the same motion path the next time the robot picks from the pallet. This would move the robot to the adjusted location (likely above the next part to be picked). This would either prevent the robot going to the same point on the pallet (where the first part was picked) while using a single motion path to unload all 9 parts, or this would prevent the user from taking the time to create a motion path for all 9 of the parts individually.
Light for Robot Vision: Adding a light to represent the robot executing a vision process would be beneficial. This light would be on the underside of the robots EOAT, so the user could position the robot above the pallet or parts which are being scanned and then turn on the light. This light could be turned on by a process flow "Task Sequence" logic with options such as color, brightness, and duration (with a "leave on" option). This would be helpful to account for vision processes as adding the visual of the light scanning the pallet or parts is something that can be easily recognized compared to just adding a "Delay" while the robot is stationed above the pallet or parts.
Show More