├── .gitattributes ├── YIP - Install on Smart Pendant └── ATI_FTEthernet_1_2_0.yip ├── MotoPlus - Install on YRC Pendant ├── Controller Model DX200 │ └── ATINETFTSDriver_DX200.out ├── Controller Model YRC1000 │ └── ATINETFTSDriver_YRC1000.out ├── Controller Model YRC1000 Micro │ └── ATINETFTSDriver_micro.out └── Robot Jobs - For Any Controller │ ├── NETFTS_BIAS.JBI │ ├── NETFTS_TT.JBI │ ├── NETFTS-DEMO-X&YSEARCH.JBI │ ├── NETFTS-DEMO-ZSEARCH.JBI │ └── NETFTS_FORCESEARCH.JBI └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Handle Line Endings 2 | *.jbi binary 3 | -------------------------------------------------------------------------------- /YIP - Install on Smart Pendant/ATI_FTEthernet_1_2_0.yip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ati-ia/yaskawa-ft-ethernet/HEAD/YIP - Install on Smart Pendant/ATI_FTEthernet_1_2_0.yip -------------------------------------------------------------------------------- /MotoPlus - Install on YRC Pendant/Controller Model DX200/ATINETFTSDriver_DX200.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ati-ia/yaskawa-ft-ethernet/HEAD/MotoPlus - Install on YRC Pendant/Controller Model DX200/ATINETFTSDriver_DX200.out -------------------------------------------------------------------------------- /MotoPlus - Install on YRC Pendant/Controller Model YRC1000/ATINETFTSDriver_YRC1000.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ati-ia/yaskawa-ft-ethernet/HEAD/MotoPlus - Install on YRC Pendant/Controller Model YRC1000/ATINETFTSDriver_YRC1000.out -------------------------------------------------------------------------------- /MotoPlus - Install on YRC Pendant/Controller Model YRC1000 Micro/ATINETFTSDriver_micro.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ati-ia/yaskawa-ft-ethernet/HEAD/MotoPlus - Install on YRC Pendant/Controller Model YRC1000 Micro/ATINETFTSDriver_micro.out -------------------------------------------------------------------------------- /MotoPlus - Install on YRC Pendant/Robot Jobs - For Any Controller/NETFTS_BIAS.JBI: -------------------------------------------------------------------------------- 1 | /JOB 2 | //NAME NETFTS_BIAS 3 | ///FOLDERNAME NETFTS_FORCETORQUESENSOR 4 | //POS 5 | ///NPOS 0,0,0,0,0,0 6 | //INST 7 | ///DATE 2021/10/18 12:49 8 | ///COMM Used By Ethernet FT Sensor Ext 9 | ///ATTR SC,RW 10 | ///GROUP1 RB1 11 | ///LVARS 1,0,0,0,0,0,0,0 12 | NOP 13 | SET LB000 B[80] 14 | ADD LB000 1 15 | VAL B[LB000] "1" 16 | TIMER T=0.50 17 | VAL B[LB000] "0" 18 | END 19 | -------------------------------------------------------------------------------- /MotoPlus - Install on YRC Pendant/Robot Jobs - For Any Controller/NETFTS_TT.JBI: -------------------------------------------------------------------------------- 1 | /JOB 2 | //NAME NETFTS_TT 3 | ///FOLDERNAME NETFTS_FORCETORQUESENSOR 4 | //POS 5 | ///NPOS 0,0,0,0,0,0 6 | //ARGINFO 7 | ///ARGTYPE I,I,I,I,I,I,B, 8 | ///COMMENT 9 | Dx 10 | Dy 11 | Dz 12 | Rx 13 | Ry 14 | Rz 15 | TT D units 16 | 17 | //INST 18 | ///DATE 2021/10/18 12:33 19 | ///COMM Used By Ethernet FT Sensor Ext 20 | ///ATTR SC,RW 21 | ///GROUP1 RB1 22 | ///LVARS 2,1,0,0,0,0,0,0 23 | NOP 24 | GETARG LI000 IARG#(1) 25 | SET LB001 B[80] 26 | SET I[LB001] LI000 27 | GETARG LI000 IARG#(2) 28 | INC LB001 29 | SET I[LB001] LI000 30 | GETARG LI000 IARG#(3) 31 | INC LB001 32 | SET I[LB001] LI000 33 | GETARG LI000 IARG#(4) 34 | INC LB001 35 | SET I[LB001] LI000 36 | GETARG LI000 IARG#(5) 37 | INC LB001 38 | SET I[LB001] LI000 39 | GETARG LI000 IARG#(6) 40 | INC LB001 41 | SET I[LB001] LI000 42 | GETARG LB000 IARG#(7) 43 | SET LB001 B[80] 44 | ADD LB001 2 45 | SET B[LB001] LB000 46 | INC LB001 47 | SET B[LB001] 1 48 | TIMER T=0.50 49 | SET B[LB001] 0 50 | TIMER T=0.25 51 | END 52 | -------------------------------------------------------------------------------- /MotoPlus - Install on YRC Pendant/Robot Jobs - For Any Controller/NETFTS-DEMO-X&YSEARCH.JBI: -------------------------------------------------------------------------------- 1 | /JOB 2 | //NAME NETFTS-DEMO-X&YSEARCH 3 | ///FOLDERNAME NETFTS_FORCETORQUESENSOR 4 | //POS 5 | ///NPOS 0,0,0,2,0,0 6 | ///TOOL 0 7 | ///POSTYPE PULSE 8 | ///PULSE 9 | P00080=0,0,0,0,-65536,0 10 | P00081=0,-24273,-36409,0,-50972,0 11 | //INST 12 | ///DATE 2021/10/18 14:35 13 | ///COMM Sample program-CAUTION:MOTION 14 | ///ATTR SC,RW 15 | ///GROUP1 RB1 16 | NOP 17 | 'CAUTION: Demo includes motion! 18 | 'Check the 2 MOVJs before use! 19 | 'IMOV in +X relative to TF #0 20 | 'IMOV in +Y relative to TF #0 21 | 'Check ToolFrame#0 before use! 22 | ' 23 | 'Joint: 0; 0; 0; 0; -90; 0) 24 | MOVJ P080 VJ=5.00 25 | 'Zero Tool Transform 26 | '(Sensor's axes match its labels) 27 | CALL JOB:NETFTS_TT ARGF0 ARGF0 ARGF0 ARGF0 ARGF0 ARGF0 ARGF3 28 | 'Bias (Zero/Tare) F/T data 29 | CALL JOB:NETFTS_BIAS 30 | 'Search in +X until Fx<-10N 31 | CALL JOB:NETFTS_FORCESEARCH ARGF1 ARGF2 ARGF100000 ARGF150 ARGF-10 ARGF0 32 | ' 33 | 'Joint: 0; 0; -20; -40; -70; 0) 34 | MOVJ P081 VJ=5.00 35 | 'Bias (Zero/Tare) F/T data 36 | CALL JOB:NETFTS_BIAS 37 | 'Search in +Y until Fy<-10N 38 | CALL JOB:NETFTS_FORCESEARCH ARGF2 ARGF2 ARGF100000 ARGF150 ARGF-10 ARGF0 39 | END 40 | -------------------------------------------------------------------------------- /MotoPlus - Install on YRC Pendant/Robot Jobs - For Any Controller/NETFTS-DEMO-ZSEARCH.JBI: -------------------------------------------------------------------------------- 1 | /JOB 2 | //NAME NETFTS-DEMO-ZSEARCH 3 | ///FOLDERNAME NETFTS_FORCETORQUESENSOR 4 | //POS 5 | ///NPOS 0,0,0,2,0,0 6 | ///TOOL 0 7 | ///POSTYPE PULSE 8 | ///PULSE 9 | P00080=0,0,0,0,-65536,0 10 | P00081=0,-24273,-36409,0,-50972,0 11 | //INST 12 | ///DATE 2021/10/18 14:31 13 | ///COMM Sample program-CAUTION:MOTION 14 | ///ATTR SC,RW 15 | ///GROUP1 RB1 16 | NOP 17 | 'CAUTION: Demo includes motion! 18 | 'Check the 2 MOVJs before use! 19 | 'IMOV in +Z relative to TF #0 20 | 'Check ToolFrame#0 before use! 21 | ' 22 | 'Joint: 0; 0; 0; 0; -90; 0) 23 | MOVJ P080 VJ=5.00 24 | 'Zero Tool Transform 25 | '(Sensor's axes match its labels) 26 | CALL JOB:NETFTS_TT ARGF0 ARGF0 ARGF0 ARGF0 ARGF0 ARGF0 ARGF3 27 | 'Bias (Zero/Tare) F/T data 28 | CALL JOB:NETFTS_BIAS 29 | 'Search in +Z until Fz<-10N 30 | CALL JOB:NETFTS_FORCESEARCH ARGF3 ARGF2 ARGF100000 ARGF150 ARGF-10 ARGF0 31 | ' 32 | 'Joint: 0; 0; -20; -40; -70; 0) 33 | MOVJ P081 VJ=5.00 34 | 'Tool Transform: 180* rot about Y 35 | '(Z is flipped in F/T data) 36 | CALL JOB:NETFTS_TT ARGF0 ARGF0 ARGF0 ARGF0 ARGF180 ARGF0 ARGF3 37 | 'Bias (Zero/Tare) F/T data 38 | CALL JOB:NETFTS_BIAS 39 | 'Search in +Z until Fz>10N 40 | CALL JOB:NETFTS_FORCESEARCH ARGF3 ARGF1 ARGF100000 ARGF150 ARGF10 ARGF0 41 | END 42 | -------------------------------------------------------------------------------- /MotoPlus - Install on YRC Pendant/Robot Jobs - For Any Controller/NETFTS_FORCESEARCH.JBI: -------------------------------------------------------------------------------- 1 | /JOB 2 | //NAME NETFTS_FORCESEARCH 3 | ///FOLDERNAME NETFTS_FORCETORQUESENSOR 4 | //POS 5 | ///NPOS 0,0,0,0,0,0 6 | //ARGINFO 7 | ///ARGTYPE B,B,D,D,R,B,, 8 | ///COMMENT 9 | DIR 10 | TYPE 11 | DIST 12 | SPEED 13 | FORCE 14 | TOOL FRAME 15 | 16 | 17 | //INST 18 | ///DATE 2021/10/18 13:48 19 | ///COMM Used by Ethernet FT Sensor Ext 20 | ///ATTR SC,RW 21 | ///GROUP1 RB1 22 | ///LVARS 5,0,2,1,0,1,0,0 23 | NOP 24 | 'Default 'Target Met' IO to OFF 25 | DOUT OT#(B081) OFF 26 | GETARG LB[2] IARG#(1) 27 | GETARG LB[1] IARG#(2) 28 | GETARG LD[0] IARG#(3) 29 | GETARG LD[1] IARG#(4) 30 | GETARG LR[0] IARG#(5) 31 | GETARG LB[4] IARG#(6) 32 | 'CREATE POS FOR IMOV 33 | ' Get current position XYZ 34 | GETS LPX000 $PX001 35 | ' Convert to tool frame 36 | CNVRT LPX000 LPX000 TF TL#(LB004) 37 | ' Initialize pos to zero 38 | SUB LP000 LP000 39 | 'SET VALUES 40 | 'B[80] = n 41 | 'Distance & Direction 42 | SETE LP000 (LB002) LD[0] 43 | 'Search Type (Bvar[n+6]) 44 | SET LB[0] B[80] 45 | ADD LB[0] 6 46 | SET B[LB000] LB[1] 47 | 'Target Force (Rvar[n]) 48 | SET R[LB000] LR[0] 49 | 'Search Direction/Axis (Bvar[n+5] 50 | SET LB[0] B[80] 51 | ADD LB[0] 5 52 | SET B[LB000] LB[2] 53 | 'Direction (Dvar[n+1]) 54 | SET LB[0] B[80] 55 | ADD LB[0] 1 56 | SET D[LB000] LD[0] 57 | 'Speed (Dvar[n+2]) 58 | SET LB[0] B[80] 59 | ADD LB[0] 2 60 | SET D[LB000] LD[1] 61 | 'Confirm DIO OFF before starting 62 | WAIT IN#(B081)=OFF 63 | 'Task Ctrl (Bvar[n+4]) 64 | SET LB[0] B[80] 65 | ADD LB[0] 4 66 | *LABEL 67 | SET B[LB000] 1 68 | IFTHENEXP IN#(B081)=ON 69 | JUMP *ENDLABEL 70 | ENDIF 71 | 'Rel Motion;Stop if Target met 72 | IMOV LP000 V=LD[1] TF UNTIL IN#(B081)=ON 73 | *ENDLABEL 74 | 'Kill target monitoring Task Ctrl 75 | SET B[LB000] 0 76 | DOUT OT#(B081) OFF 77 | END 78 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ATI Ethernet Force/Torque Sensors for Yaskawa Robots 2 | This `ati-ia/yaskawa-ft-ethernet` repository contains a Smart Pendant YIP as well as a standalone MotoPlus Application and robot Jobs. These software tools are compatible with Ethernet-Axia sensors and "NET F/T" sensors using a Net Box. Not all files are needed for all installations. Refer to the [yaskawa-ft-ethernet Wiki](https://github.com/ati-ia/yaskawa-ft-ethernet/wiki) for system requirements, install instructions, and other software documentation. 3 | 4 | To Download: Use git or click the green Code button > Download ZIP 5 | 6 | Maintained by: ATI Industrial Automation 7 | 8 | Contact: ftsupport@ati-ia.com 9 | 10 | More info: www.ati-ia.com/YaskawaFTSW 11 | 12 | ## ATI’s Yaskawa-Ready F/T Sensor Kits: 13 | Sensor hardware kits are available for common sensor and robot model combinations. Other sensor models may also be used, but accessories like compatible cables and interface plates (if available) will need to be purchased individually. 14 | ### Kits Include: 15 | - Sensor with communication electronics compatible with Yaskawa robots 16 | - Interface plate(s) and fasteners for mounting to the robot 17 | - Cables 18 | - Drawings and 3D models are available from ATI 19 | ## Software from ATI for Yaskawa Users: 20 | - For Smart Pendant Users: 21 | - ATI Yaskawa-Ready YIP which includes: 22 | - ATI Ethernet F/T Smart Pendant Extension 23 | - ATI NETFTS (Ethernet F/T Sensor) MotoPlus Application 24 | - ATI NETFTS Robot Jobs for Force Searching, biasing F/T data, and applying Tool Transforms 25 | - Variable Configuration 26 | 27 | - For Standard Pendant Users: 28 | - ATI NETFTS (Ethernet F/T Sensor) MotoPlus Application 29 | - ATI NETFTS Robot Jobs for Force Searching, biasing F/T data, and applying Tool Transforms 30 | 31 | # Yaskawa Smart Pendant 32 | The Yaskawa Smart Pendant provides simplified programming and fast implementation. Its easy-to-understand, tablet-based interface offers a simple learning curve compared to the standard pendant and is ideal for novice robot programmers. Not just for collaborative robots, Smart Pendant is available for use with select Yaskawa Motoman YRC-controlled robots. ATI Industrial Automation has partnered with Yaskawa to provide an easy-to-use Smart Pendant Extension for integrating data from and programming applications with ATI's 6-axis force/torque sensors. Contact your Yaskawa representative to learn more about how the Smart Pendant could work for your application. 33 | 34 | # Yaskawa MotoPlus 35 | MotoPlus SDK is a software development kit from Yaskawa. MotoPlus applications run on the robot controller concurrently with the standard robot software, but cannot be opened or edited on the robot pendant. ATI has developed a free MotoPlus driver which integrates data from ATI's Ethernet-based force/torque sensors with certain Yaskawa controllers. This MotoPlus Application powers the sensor communication in the background of the ATI NETFTS Smart Pendant Extension, but can also be installed as a standalone Application. 36 | --------------------------------------------------------------------------------