Here are the hands-on labs completed during the industrial robotics course of CEGEP de Victoriaville.
At the moment of this writing, I'm a Software Technology Manager at Cogiscan with a strong background in software development, and computer engineering in general.
Labs #1, #4, and #5 were simulations using RobotStudio from ABB.
Labs #2, #3, #6, #7, #8, and final exam were developed using the IRB 140 6-axis industrial robot (external link).
Most labs were created from scratch, and had to be completed during a 3-hour window.
Lab | Name | Simulation | ABB IRB 140 | Media | Learnings |
---|---|---|---|---|---|
1 | stencil | ✓ | screenshot | positioning instructions (MoveJ , MoveL , MoveC ) |
|
2 | tracing | ✓ | picture | FlexPendant usage, coordinate systems, jogging, singularity | |
3 | weight | ✓ | calibration, fork tool, work objects | ||
4 | leapfrog | ✓ | screenshot | offset instruction (Offs ), procedures and functions |
|
5 | the wall | ✓ | screenshot | gripper tool, FlexPendant display, Clock type |
|
6 | commissioning the IRC5 | ✓ | video | system creation, I/O configuration, joints limitation | |
7 | I/O | ✓ | DeviceNet, I/O usage in RAPID | ||
8 | zones and interrupts | ✓ | world zones, limits, interrupts | ||
- | final exam | ✓ | picture | - |
No official coding convention was enforced by the instructor. Programs had to be turned-in with French identifiers where possible, and usage of global variables was encouraged for simplicity purposes.
Programs of this repository were converted to English before publication. Some errors might have creeped in during the translation process.
The following sections list the personal convention that I adhered to for most of the labs.
Routine | Identifier prefix | Example |
---|---|---|
function | f |
FUNC num fComputeSomething(...) |
procedure | p |
PROC pDoSomething(...) |
trap | t |
TRAP tSomethingHappened |
Constant / Variable | RAPID types | Identifier prefix | Example |
---|---|---|---|
boolean | bool |
b |
bool bDisassemble |
interrupt identity | intnum |
i |
intnum iButtonPressed |
load | loaddata |
load |
loaddata loadDice |
number | num |
n |
num nOffsetX |
position | robtarget , joint position , pos |
p |
robtarget pHome |
shape | shapedata |
z |
shapedata zBox |
speed | speeddata |
v |
speeddata vFast |
timer | clock |
c |
clock cClock |
tool | tooldata |
t |
tooldata tPencil |
work object | wobjdata |
wobj |
wobjdata wobjStencil |
world zone | wztemporary |
wz |
wztemporary wzSupplyArea |