├── Exe_file └── Solution_1_Tutorial.exe ├── Gripper_CAD └── smc_end_effector.sat ├── Gripper_RS_tool └── smc_gripper.rslib ├── LICENSE ├── RAPID └── Solution_1_RAPID │ ├── CalibData.mod │ └── Module1.mod ├── README.md ├── STEP_0 └── Solution_1_Base.rspag ├── STEP_1 └── Solution_1_Gripper.rspag ├── STEP_2 └── Solution_1_Positioner.rspag ├── STEP_3 └── Solution_1_Attacher_Detacher.rspag ├── STEP_4 └── Solution_1_Pick_obj_1.rspag ├── STEP_5 └── Solution_1_Final.rspag ├── images ├── smc_gripper.PNG ├── solution_1.PNG ├── solution_1_base.PNG ├── solution_1_final_move_obj_1.PNG ├── solution_1_final_move_obj_2.PNG ├── solution_1_final_move_obj_3.PNG ├── solution_1_final_move_obj_all.PNG ├── solution_1_move_obj_1.PNG ├── solution_att_det_1.PNG ├── solution_att_det_2.PNG ├── solution_positioner.png └── workspace.PNG └── video ├── Check_Workspace.7z ├── Solution_1_Attacher_Detacher.7z ├── Solution_1_Final.7z ├── Solution_1_positioner.7z └── create_smc_gripper.7z /Exe_file/Solution_1_Tutorial.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/Exe_file/Solution_1_Tutorial.exe -------------------------------------------------------------------------------- /Gripper_RS_tool/smc_gripper.rslib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/Gripper_RS_tool/smc_gripper.rslib -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Roman Parak 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /RAPID/Solution_1_RAPID/CalibData.mod: -------------------------------------------------------------------------------- 1 | MODULE CalibData 2 | PERS tooldata smc_gripper:=[TRUE,[[0,0.004,197.001],[1,0,0,0]],[1,[0.207,-0.496,71.18],[1,0,0,0],0,0,0]]; 3 | ENDMODULE -------------------------------------------------------------------------------- /RAPID/Solution_1_RAPID/Module1.mod: -------------------------------------------------------------------------------- 1 | MODULE Module1 2 | CONST robtarget Target_10:=[[302,0.004,360.999],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 3 | CONST robtarget Target_20_3:=[[-100,-400,339.482109829],[0,0,1,0],[-2,0,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 4 | CONST robtarget Target_20:=[[-100,-400,150],[0,0,1,0],[-2,0,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 5 | CONST robtarget Target_30_2:=[[250,0,224.88153549],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 6 | CONST robtarget Target_30:=[[250,0,150],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 7 | CONST robtarget Target_40_2:=[[100,-517.298,237.997639317],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 8 | CONST robtarget Target_40:=[[100,-517.298,150],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 9 | CONST robtarget Target_40_2_2:=[[-144.23137906,-420.892869102,321.185791052],[0,0,1,0],[-2,0,-2,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 10 | CONST robtarget Target_50_2:=[[450,-67.298,322.949199197],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 11 | CONST robtarget Target_50:=[[450,-67.298,150],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 12 | CONST robtarget Target_60_2:=[[200,-317.298,307.543483677],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 13 | CONST robtarget Target_60:=[[200,-317.298,150],[0,0,1,0],[-1,0,-1,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 14 | CONST robtarget Target_70_2:=[[500,182.702,228.799643124],[0,0,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 15 | CONST robtarget Target_70:=[[500,182.702,150],[0,0,1,0],[0,0,0,0],[9E+09,9E+09,9E+09,9E+09,9E+09,9E+09]]; 16 | !*********************************************************** 17 | ! 18 | ! Module: Module1 19 | ! 20 | ! Description: 21 | ! 22 | ! 23 | ! Author: romanp 24 | ! 25 | ! Version: 1.0 26 | ! 27 | !*********************************************************** 28 | 29 | 30 | !*********************************************************** 31 | ! 32 | ! Procedure main 33 | ! 34 | ! This is the entry point of your program 35 | ! 36 | !*********************************************************** 37 | PROC main() 38 | !****** Home Position ******! 39 | MoveAbsJ [[0,0,0,0,90,0],[9E9,9E9,9E9,9E9,9E9,9E9]]\NoEOffs,v100,fine,smc_gripper\WObj:=wobj0; 40 | !****** Pick and Place - Object 1 ******! 41 | Path_10; 42 | !****** Pick and Place - Object 2 ******! 43 | Path_20; 44 | !****** Pick and Place - Object 3 ******! 45 | Path_30; 46 | ENDPROC 47 | PROC Path_10() 48 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 49 | MoveL Target_20_3,v100,z100,smc_gripper\WObj:=wobj0; 50 | MoveL Target_20,v100,fine,smc_gripper\WObj:=wobj0; 51 | PulseDO object_1_att; 52 | WaitTime 1; 53 | MoveL Target_20_3,v100,fine,smc_gripper\WObj:=wobj0; 54 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 55 | MoveL Target_30_2,v100,z100,smc_gripper\WObj:=wobj0; 56 | MoveL Target_30,v100,fine,smc_gripper\WObj:=wobj0; 57 | PulseDO object_1_det; 58 | WaitTime 1; 59 | MoveL Target_30_2,v100,fine,smc_gripper\WObj:=wobj0; 60 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 61 | ENDPROC 62 | PROC Path_20() 63 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 64 | MoveL Target_40_2,v100,z100,smc_gripper\WObj:=wobj0; 65 | MoveL Target_40,v100,fine,smc_gripper\WObj:=wobj0; 66 | PulseDO object_2_att; 67 | WaitTime 1; 68 | MoveL Target_40_2,v100,fine,smc_gripper\WObj:=wobj0; 69 | MoveL Target_40_2_2,v100,z100,smc_gripper\WObj:=wobj0; 70 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 71 | MoveL Target_50_2,v100,z100,smc_gripper\WObj:=wobj0; 72 | MoveL Target_50,v100,fine,smc_gripper\WObj:=wobj0; 73 | PulseDO object_2_det; 74 | WaitTime 1; 75 | MoveL Target_50_2,v100,fine,smc_gripper\WObj:=wobj0; 76 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 77 | ENDPROC 78 | PROC Path_30() 79 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 80 | MoveL Target_60_2,v100,z100,smc_gripper\WObj:=wobj0; 81 | MoveL Target_60,v100,fine,smc_gripper\WObj:=wobj0; 82 | PulseDO object_3_att; 83 | WaitTime 1; 84 | MoveL Target_60_2,v100,fine,smc_gripper\WObj:=wobj0; 85 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 86 | MoveL Target_70_2,v100,z100,smc_gripper\WObj:=wobj0; 87 | MoveL Target_70,v100,fine,smc_gripper\WObj:=wobj0; 88 | PulseDO object_3_det; 89 | WaitTime 1; 90 | MoveL Target_70_2,v100,fine,smc_gripper\WObj:=wobj0; 91 | MoveL Target_10,v100,z100,smc_gripper\WObj:=wobj0; 92 | ENDPROC 93 | ENDMODULE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ABB-RobotStudio-Tutorial-Simple 2 | 3 | ## Requirements: 4 | 5 | **Software:** 6 | ```bash 7 | ABB RobotStudio 8 | ``` 9 | 10 | Link ABB RS: https://new.abb.com/products/robotics/robotstudio/downloads 11 | 12 | # ABB RobotStudio - Simple Tutorial (Create Tool, Pick and Place, etc.) 13 | 14 | The project demonstrates a few simple examples in ABB RobotStudio: 15 | 16 | Step 0) Import the designed Gripper (end effector) from Inventor / Solidworks (.sat file) into ABB RobotStudio. 17 | 18 | Step 1) Check the workspace and ensure that the robotic tool grabs all objects. 19 | 20 | Step 2) Designing the Positioner for Object 1. 21 | 22 | Step 3 - 4) Designing the Attacher, Detacher for Object 1 and creating a trajectory for a simple Pick and Place operation. 23 | 24 | Step 5) The result of the task with all objects. 25 | 26 |

27 | 28 |

29 | 30 | ## Step 0: 31 | 32 |

33 | 34 |

35 | 36 | **Video .7z (Step 0):** 37 | [SMC Gripper](https://github.com/rparak/ABB-RobotStudo-Tutorial-Simple/tree/master/video/create_smc_gripper.7z) 38 | 39 | ## Step 1: 40 | 41 |

42 | 43 |

44 | 45 | **Video .7z (Step 1):** 46 | [SMC Workspace](https://github.com/rparak/ABB-RobotStudo-Tutorial-Simple/tree/master/video/Check_Workspace.7z) 47 | 48 | ## Step 2: 49 | 50 |

51 | 52 |

53 | 54 | **Video .7z (Step 2):** 55 | [Positioner](https://github.com/rparak/ABB-RobotStudo-Tutorial-Simple/tree/master/video/Solution_1_positioner.7z) 56 | 57 | ## Step 3: 58 | 59 |

60 | 61 |

62 | 63 |

64 | 65 |

66 | 67 | **Video .7z (Step 3-4):** 68 | [Attacher, Detacher](https://github.com/rparak/ABB-RobotStudo-Tutorial-Simple/tree/master/video/Solution_1_Attacher_Detacher.7z) 69 | 70 | ## Step 4: 71 | 72 |

73 | 74 |

75 | 76 | **Video .7z (Step 3-4):** 77 | [Attacher, Detacher](https://github.com/rparak/ABB-RobotStudo-Tutorial-Simple/tree/master/video/Solution_1_Attacher_Detacher.7z) 78 | 79 | ## Step 5: 80 | 81 |

82 | 83 |

84 | 85 | **Video .7z (Step 5):** 86 | [Final result](https://github.com/rparak/ABB-RobotStudo-Tutorial-Simple/tree/master/video/Solution_1_Final.7z) 87 | 88 | ## Result: 89 | 90 | Youtube: https://www.youtube.com/watch?v=ohePUt-NylU 91 | 92 | ## Contact Info: 93 | Roman.Parak@outlook.com 94 | 95 | ## Citation (BibTex) 96 | ```bash 97 | @misc{RomanParak_ABB_RS, 98 | author = {Roman Parak}, 99 | title = {A few examples of robot control in the ABB RobotStudio simulation tool}, 100 | year = {2019-2021}, 101 | publisher = {GitHub}, 102 | journal = {GitHub repository}, 103 | howpublished = {\url{https://github.com/rparak/ABB-RobotStudio-Tutorial-Simple/}} 104 | } 105 | ``` 106 | 107 | ## License 108 | [MIT](https://choosealicense.com/licenses/mit/) 109 | -------------------------------------------------------------------------------- /STEP_0/Solution_1_Base.rspag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/STEP_0/Solution_1_Base.rspag -------------------------------------------------------------------------------- /STEP_1/Solution_1_Gripper.rspag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/STEP_1/Solution_1_Gripper.rspag -------------------------------------------------------------------------------- /STEP_2/Solution_1_Positioner.rspag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/STEP_2/Solution_1_Positioner.rspag -------------------------------------------------------------------------------- /STEP_3/Solution_1_Attacher_Detacher.rspag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/STEP_3/Solution_1_Attacher_Detacher.rspag -------------------------------------------------------------------------------- /STEP_4/Solution_1_Pick_obj_1.rspag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/STEP_4/Solution_1_Pick_obj_1.rspag -------------------------------------------------------------------------------- /STEP_5/Solution_1_Final.rspag: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/STEP_5/Solution_1_Final.rspag -------------------------------------------------------------------------------- /images/smc_gripper.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/smc_gripper.PNG -------------------------------------------------------------------------------- /images/solution_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_1.PNG -------------------------------------------------------------------------------- /images/solution_1_base.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_1_base.PNG -------------------------------------------------------------------------------- /images/solution_1_final_move_obj_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_1_final_move_obj_1.PNG -------------------------------------------------------------------------------- /images/solution_1_final_move_obj_2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_1_final_move_obj_2.PNG -------------------------------------------------------------------------------- /images/solution_1_final_move_obj_3.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_1_final_move_obj_3.PNG -------------------------------------------------------------------------------- /images/solution_1_final_move_obj_all.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_1_final_move_obj_all.PNG -------------------------------------------------------------------------------- /images/solution_1_move_obj_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_1_move_obj_1.PNG -------------------------------------------------------------------------------- /images/solution_att_det_1.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_att_det_1.PNG -------------------------------------------------------------------------------- /images/solution_att_det_2.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_att_det_2.PNG -------------------------------------------------------------------------------- /images/solution_positioner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/solution_positioner.png -------------------------------------------------------------------------------- /images/workspace.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/images/workspace.PNG -------------------------------------------------------------------------------- /video/Check_Workspace.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/video/Check_Workspace.7z -------------------------------------------------------------------------------- /video/Solution_1_Attacher_Detacher.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/video/Solution_1_Attacher_Detacher.7z -------------------------------------------------------------------------------- /video/Solution_1_Final.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/video/Solution_1_Final.7z -------------------------------------------------------------------------------- /video/Solution_1_positioner.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/video/Solution_1_positioner.7z -------------------------------------------------------------------------------- /video/create_smc_gripper.7z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rparak/ABB-RobotStudio-Tutorial-Simple/e2c73dfe444cac3a74d467791d1df552b0676531/video/create_smc_gripper.7z --------------------------------------------------------------------------------