diff --git a/result/README.md b/result/README.md index f2941acf785644520aea1c33eee3356bbcb63f35..0890f2fa1fdfbd795b099a9ad3c46e838590a8e3 100644 --- a/result/README.md +++ b/result/README.md @@ -1,95 +1,77 @@ -The goal of this experiment is analyze which factor can influenciate on the reachability of a robot, based on that -were listed variables that can affect the reachability of a robot: +Extending the executability of assembly task poses by robots through end-effectors - - Task - - Dimension of the tool - - Robot model - - Resolution of reachability map. - - IK Solver - - World position - - Joint limits - - Deviation of robot and CAD file - - Mass inertia +Aline Kluge-Wilkes, Presley Demuner Reverdito -From these variables, those that were easily manipulable were selected for further analysis then combined with each -other. The selected variables with their corresponding levels are as follows: +The following data set was created during the validation of a proposed method to evaluate assembly station formations considering the executability of assembly tasks, including the effects of equipped end-effectors on robots. -Tasks: +The underlying paper can be found at: https://doi.org/10.1007/978-3-031-34821-1_58 - Task 1 = 0.416,-0.399,0.764,0.071,0.703,0.134,0.694 - Task 2 = 0.438,-0.647,0.816,0.005,0.707,0.068,0.704 - Task 3 = 0.448,-0.755,0.945,-0.243,0.664,-0.183,0.683 +The underlying source code can be found at: https://git-ce.rwth-aachen.de/wzl-mq-public/iop/ws-b2.iv_formation-planning-of-mobile-robots/end-effector-dependent-executability -Dimension of the tools: +In dependence on the geometries and degrees of freedom of the equipped end-effectors on the robot, a single task pose is transferred into an area of feasible task poses. Determining the executability of the task, the resulting representation of the feasible task poses is overlapped with the robot's workspace. If an overlap occurs, it can be assumed that there is a feasible robot configuration to execute the allocated assembly task. The proposed method is exemplified on a UR10 equipped with a screwdriver, and distributed task poses. The proposed method quantifies the end-effector's effect on the executability of assembly tasks and provides a means of determining the feasible base placement of robots in changeable assembly stations. Therefore, the method lays the foundation for automated formation planning in assembly stations. - - (0.1,0.2) - - (0.2,0.1) +Design of Experiments: -Robot model: +The published data here results from a conducted series of experiments structured as a full-factorial design of experiments. The following variables and expressions / data points of those variables were chosen: - - UR10 - - UR5 +Tasks ("GoalPose") poses as [x, y, z, x-quaternion, y-quaternion, z-quaternion, w-quaternion]: -Resolution of reachability map: - - - 0.05 - - 0.08 - - 0.1 - -IK solver: - - - TRAC-IK - - KDL solver - -Based on these definitions, a fully factorial design was implemented, resulting in a total of 72 required tests -(2³ × 3²). These tests were randomly organized into a single experimental block. - -The function "[calcForAllTasks](https://git-ce.rwth-aachen.de/wzl-mq-ms/forschung-lehre/spp-maa/-/blob/DoE/code/main.py?ref_type=heads#L345)" on the file main.py was created to generate 72 files, each containing 10 poses of -the circle of possible poses for the robot with a calculated reachability map. These poses were manually tested -using MoveIt! and using two differents IK solvers, KDL and TRAC-IK. - -There were now four packages: ur5_kdl, ur5_trac_ik, ur10_kdl, and ur10_trac_ik. Each package had its own group_name, -which was the same as the package name. For each test was necessary run the Moveit! file of the robot with the correspondent -IK solver, and the [move_group_python_interface.py](https://git-ce.rwth-aachen.de/wzl-mq-ms/forschung-lehre/spp-maa/-/blob/DoE/code/move_group_python_interface.py?ref_type=heads) with the desired pose. On the python code the goal pose was setted and using -the MoveGroupPythonIntefaceTutorial class, Moveit! attempt to move the robot to the desired pose. If the pose is reachable, the -reachability index was set to 1, otherwise it was set to 0 and the terminal output would show "ABORTED: No motion plan found. -No execution attempted." - -After simulating all poses, the reachability average of each test was calculated, along with the sum of reachable -results. Reachability index ranged from 0 to 100, and reachable column ranged from 0 to 10. This result can be found on the file -DoE-tests-and-results.xlsx. - -After all simulations, it is possible to conclude that the reachability depends on the position of the task also -the model of the robot. For example, UR5 could not reach the Task 3, while the UR10 had a high value of reachability -for it. By the reason that UR10 has a bigger workspace. - -It is important to note the reachability map only describe the possibility to reach a position, and it does not -influenciate if the position is reachable or not. + Task 1 = (0.416m ,-0.399m, 0.764m, 0.071, 0.703, 0.134, 0.694) + Task 2 = (0.438m, -0.647m, 0.816m, 0.005, 0.707, 0.068, 0.704) + Task 3 = (0.448m, -0.755m, 0.945m, -0.243, 0.664 ,-0.183, 0.683) +Dimension of the tools ("DimensionOfTool") as [x, y, z]: + (0.1m, 0.2m, 0m) + (0.2m, 0.1m, 0m) +Robot model ("RobotModel"): + UR10 (https://www.universal-robots.com/de/produkte/ur10-roboter/) + UR5 (https://www.universal-robots.com/products/ur5-robot/) +Resolution of reachability map ("ReachMap"): + 0.05m + 0.08m + 0.1m +IK solver ("IKSolver"): +TRAC-IK +documented in: http://docs.ros.org/en/kinetic/api/moveit_tutorials/html/doc/trac_ik/trac_ik_tutorial.html +source: https://bitbucket.org/traclabs/trac_ik/src/master/ +KDL solver +https://docs.orocos.org/kdl/overview.html +Based on these definitions, a fully factorial design was implemented, resulting in a total of 72 required tests (2³ × 3²). These tests were randomly organized into a single experimental block. +Test execution: +The function "[calcForAllTasks](https://git-ce.rwth-aachen.de/wzl-mq-public/iop/ws-b2.iv_formation-planning-of-mobile-robots/end-effector-dependent-executability/-/blob/main/code/main.py?ref_type=heads)" on the file main.py was created to generate 72 files, each containing 10 poses of the circle of possible poses for the robot with a calculated reachability map. These poses were manually tested using MoveIt! (https://moveit.ros.org/) and using two different IK solvers, KDL and TRAC-IK. +There were now four packages: ur5_kdl, ur5_trac_ik, ur10_kdl, and ur10_trac_ik. Each package had its own group_name, which was the same as the package name. For each test, it was necessary to run the MoveIt! file of the robot with the correspondent IK solver, and the [move_group_python_interface.py](https://git-ce.rwth-aachen.de/wzl-mq-public/iop/ws-b2.iv_formation-planning-of-mobile-robots/end-effector-dependent-executability/-/blob/main/code/move_group_python_interface.py?ref_type=heads) with the desired pose. On the Python code, the goal pose was set, and using the MoveGroupPythonIntefaceTutorial class, Moveit! attempt to move the robot to the desired pose. If the pose is reachable, the reachability index was set to 1. Otherwise, it was set to 0, and the terminal output would show "ABORTED: No motion plan found. No execution attempted." +After simulating all poses, the reachability average of each test was calculated, along with the sum of reachable results. The reachability index ranged from 0 to 100, and the reachable column ranged from 0 to 10. This result can be found in the file DoE-tests-and-results.xlsx. +The file "DoE-tests-and-results.xlsx" provides an overview of all experiments in its first table. The creation order ("StdOrder") and the order in which the experiments were conducted are given ("RunOrder"). The following columns in the first table indicate the expressions of the variables as explained above (GoalPose, DimensionOfTool, RobotMode, ReachMap, IKSolver). Next, the results of the experiments are given: the average reachability index per tested goal pose and the indication of how many of the ten discrete robot flange poses per goal pose are reachable by the robot (Reachability Index, Reachable). +The following 72 tables each provide the ten robot flange poses per goal pose per experiment as as [x, y, z, x-quaternion, y-quaternion, z-quaternion, w-quaternion]. +The 72 .csv files contain the same information as the 72 tables in the Excel file but contain the information as it was transferred during execution. +After all simulations, it is possible to conclude that the reachability depends on the position of the task and the model of the robot. For example, UR5 could not reach task 3, while the UR10 had a high value of reachability for it due to the fact that the UR10 has a bigger workspace. +------------------------------------------------------------------------------------------------------------------------------------------------------- +Acknowledgement: +Funded by the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany's Excellence Strategy - EXC-2023 Internet of Production - 390621612.