Industrial robotics portfolio demonstrating 4-point pick-and-place programming across ABB, KUKA, and Fanuc - the three major robot brands used in South African manufacturing. Includes RAPID, KRL, and TP code with video demonstrations, screenshots, and technical documentation. Vendor agnostic programmer showcase.
Awande Gcabashe
- Applied Mathematics & Computer Science, UNISA
- 1-Year Gantry Robotics Experience
- Vendor Agnostic Robot Programmer
A comprehensive portfolio demonstrating industrial robot programming across the three major brands used in South African manufacturing: ABB, KUKA, and Fanuc. Each project implements a standard 4-point pick-and-place cycle with production-ready code.
South Africa's automotive and manufacturing sectors (VW, BMW, Ford, Toyota) use multiple robot brands. Being vendor agnostic means I can adapt to any controller placed in front of me.
| Brand | Software | Language | Status | Industry Use |
|---|---|---|---|---|
| ABB | RobotStudio / RoboDK | RAPID | Completed | Automotive, General Industry |
| KUKA | KUKA.Sim | KRL | Completed | Automotive, Logistics |
| Fanuc | ROBOGUIDE | TP | Complete | Automotive, Electronics |
| RoboDK | RoboDK | Python + RAPID | Complete | Multi-brand Simulation |
South-Africa-Robot-Programming-Showcase/ │ ├── README.md # This file ├── Comparative_Analysis.md # Brand-by-brand comparison ├── Project_Report.pdf # Complete engineering report ├── Acknowledgments.md # Industry contacts & mentors │ ├── ABB_RobotStudio/ │ └── 4_Point_Moves/ │ ├── ABB_Program.rap # RAPID source code │ ├── ABB_Demo_Video.mp4 # Full cycle demonstration │ ├── ABB_Screenshots/ # Pendant, program, cell views │ └── ABB_README.md # Brand-specific documentation │ ├── KUKA_Sim/ │ └── 4_Point_Moves/ │ ├── KUKA_Program.src # KRL source code │ ├── KUKA_Demo_Video.mp4 # Manual point execution │ ├── KUKA_Screenshots/ # Program tree, jog panel │ └── KUKA_README.md # Brand-specific documentation │ ├── Fanuc_ROBOGUIDE/ │ └── 4_Point_Moves/ │ ├── FANUC_4POINT_DEMO.LS # ASCII source code │ ├── FANUC_4POINT_DEMO.TP # Binary pendant file │ ├── Fanuc_Demo_Video.mp4 # Auto mode running │ ├── Fanuc_Screenshots/ # Pendant, position data │ └── Fanuc_README.md # Brand-specific documentation │ ├── RoboDK_Project/ │ └── Pick_Place/ │ ├── PickPlace_Project.rdk # RoboDK station │ ├── update_counter.py # Python production counter │ ├── PickPlace_Project.mod # Exported RAPID code │ ├── Demo_Video.mp4 # Full simulation run │ ├── Screenshots/ # TCP, cell, counter views │ └── RoboDK_README.md # Project documentation │ └── References/ └── Learning_Notes.md # Key concepts & shortcuts
- Robot Programming: ABB RAPID, KUKA KRL, Fanuc TP
- Simulation: RobotStudio, KUKA.Sim, ROBOGUIDE, RoboDK
- TCP Calibration: 4-point (ABB/KUKA), 3-point (Fanuc)
- Coordinate Systems: Work Objects, Bases, User Frames
- Logic Programming: Loops, WAIT commands, I/O simulation
- Python: Counter script for production tracking
- Vendor Agnostic: Adaptable to any robot brand
- Troubleshooting: License limits, singularities, software quirks
- Networking: Direct contact with ABB and Fanuc South Africa
- Documentation: Engineering-grade reports
- Time Management: Completed all projects within constraints
- Open
ABB_RobotStudio/4_Point_Moves/ABB_Demo_Video.mp4 - Review
ABB_Program.rapfor RAPID code - See pendant screenshots for verification
- Watch
KUKA_Sim/4_Point_Moves/KUKA_Demo_Video.mp4 - Review
KUKA_Program.srcfor KRL code - Note: Trial version limitations documented
- Watch
Fanuc_ROBOGUIDE/4_Point_Moves/Fanuc_Demo_Video.mp4 - Review
FANUC_4POINT_DEMO.LSfor TP code - See position data screenshots
- Watch
RoboDK_Project/Pick_Place/Demo_Video.mp4 - Python counter visible on screen
- RAPID code ready for real ABB
| Operation | ABB (RAPID) | KUKA (KRL) | Fanuc (TP) |
|---|---|---|---|
| Joint Move | MoveJ pHome, v100, fine, tool0; |
PTP PHOME Vel=100 % |
J P[1] 100% FINE |
| Linear Move | MoveL pPick, v100, fine, tool0; |
LIN PPICK Vel=0.1 m/s |
L P[2] 250mm/sec FINE |
| Wait | WaitTime 0.5; |
WAIT SEC 0.5 |
WAIT 0.50(sec) |
| Loop | WHILE TRUE DO...ENDWHILE |
LOOP...ENDLOOP |
LBL[1]...JMP LBL[1] |
| I/O Output | Set doGripper; |
$OUT[1]=TRUE |
RO[1]=ON |
- Stephan le Roux, Fanuc South Africa - Provided ROBOGUIDE files within hours; demonstrated industry mentorship
- Dhanya Prabhakaran, ABB SoftwareFactory - Guidance on educational licensing
- Professor E. Franc Doungmo Goufo, UNISA - Academic support and encouragement
- RoboDK - Accessible free simulation tools
- Google Search - Real-time assistance
Awande Gcabashe
- Applied Mathematics & Computer Science, UNISA
- 1-Year Gantry Robotics Experience
- Vendor Agnostic Robot Programmer
- https://www.linkedin.com/in/awande-g-b098123a1/
- https://github.com/Awande07
Educational use only. All projects built with trial/educational software licenses.
Project Completed: April 2026 Location: South Africa Goal: Demonstrate hireability in industrial robotics