Teach-pendant programming
Program tasks on virtual teach pendants.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- UR PolyScope (URSim) · ABB FlexPendant
- Class GUI-need label
G3· GUI-only
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R07.09.01.04-T01 Program a five-cycle pick loop with a gripper output in PolyScope
Original instruction
In URSim (UR5e, PolyScope 5), create program 'pick5': MoveJ to 'home', then MoveL through waypoints 'above', 'pick' (set DO0 high, wait 0.5 s) and 'above', looped 5 times. Waypoints are given in input/waypoints.txt as base-frame poses. Save as pick5.urp.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturestype· Text & formsclick· Point & click- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Grader parses pick5.urp: node tree (Loop 5x, MoveJ/MoveL, Set DO0, Wait 0.5) and waypoint poses within 1 mm; runs it in a clean URSim with RTDE logging: 5 visits to 'pick' with DO0 rising there. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
35% program structure; 30% waypoints; 35% RTDE trace shows 5 correct cycles.
R07.09.01.04-T02 Set TCP, payload and a plane feature, then program relative to it
Original instruction
In URSim, in Installation set TCP 'gripper' to (0,0,120 mm, 0,0,0) and payload 1.2 kg with CoG (0,0,60 mm); teach plane feature 'table' from the 3 marked points in input/points.txt; then create program 'trace' with MoveL in feature 'table' visiting its 4 corners of a 100 mm square at z=10 mm.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturestype· Text & formsgeom· Precise geometry- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader reads default.installation and trace.urp: TCP and payload exact, feature 'table' pose from the 3 points within 0.5 mm; RTDE trace of the run shows square corners within 1 mm in the feature frame. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
30% TCP/payload; 30% feature taught; 40% square traced correctly.
R07.09.01.04-T03 Build a 4x3 pallet pattern with the PolyScope Pallet wizard
Original instruction
In URSim, use the Pallet node (grid pattern) to place 12 parts on a 4x3 pallet whose corners are given in input/pallet_corners.txt, with approach/exit 80 mm above each spot, gripper release DO1 at each spot and a part counter shown in a popup at the end. Save as pallet12.urp.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturestype· Text & formsgeom· Precise geometry- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Grader runs the program with RTDE logging: 12 release events at grid positions within 1 mm of the bilinear grid from the corners, approach heights 80 mm, popup reached once. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
30% pallet node configured; 40% 12 positions correct; 15% approach/exit; 15% popup and counter.
R07.09.01.04-T04 Configure reduced-mode safety limits and planes on a UR pendant
Original instruction
In URSim's Safety settings (sandbox safety password in input/creds.txt), set reduced-mode TCP speed 250 mm/s and force 120 N, restrict shoulder and elbow joint ranges per input/safety_spec.pdf, add a 'trigger reduced mode' plane at x=0.6 m and a 'normal' plane at z=0.02 m, then apply and confirm the safety checksum.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturestype· Text & forms- Work product
WP08· App/system state- Conditions
risk· Irreversible/risky- Proposed difficulty
- 4 / 5
Proposed verifier
Grader reads the safety section of the installation: all limits and plane definitions exact; safety checksum matches grader's expected CRC; robot boots without safety faults. Changes stay in the simulator only. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
30% speed/force limits; 30% joint ranges; 30% planes; 10% applied and checksum confirmed.
R07.09.01.04-T05 Jog to targets and write a MoveL routine on the virtual FlexPendant
Original instruction
In RobotStudio, open the virtual FlexPendant for controller 'IRB1100_lab'. Jog the robot to the 4 marked tool positions on the fixture, store them as robtargets p10-p40 in module 'Cell', write routine 'Square' with MoveL p10..p40 at v200 z5 using tool 'tGripper', and run it once in manual reduced speed.
- Platforms
win· Windows- Applications
- ABB FlexPendant · ABB RobotStudio
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsgeom· Precise geometry- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Grader backs up the controller: Cell.mod contains p10-p40 within 1 mm of the markers and routine Square with exact moves; event log shows a run of Square in manual mode. RAPID files loaded from disk or via RobotStudio editor (not the pendant) show in the controller event log and fail.
Proposed partial credit
40% robtargets accurate; 40% routine correct; 20% executed.
R07.09.01.04-T06 Define tooldata with the 4-point TCP method on the FlexPendant
Original instruction
On the virtual FlexPendant of controller 'IRB2600_weld', create tooldata 'tTorch' using the TCP & Z, X method: jog the torch tip to the reference spike in 4 orientations plus the elongator points, accept the calculation if mean error <0.5 mm, and set mass 3.2 kg with CoG (0,0,150).
- Platforms
win· Windows- Applications
- ABB FlexPendant · ABB RobotStudio
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clickgeom· Precise geometryvis· Visual judgment- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Grader reads tTorch from the backup: TCP within 0.5 mm and orientation within 1 deg of the modeled torch tip; mass/CoG exact; calibration result entry present in the event log. RAPID files loaded from disk or via RobotStudio editor (not the pendant) show in the controller event log and fail.
Proposed partial credit
50% TCP position; 20% orientation; 15% load data; 15% calibration accepted on pendant.
R07.09.01.04-T07 Branch a UR program on part-type inputs with a monitoring thread
Original instruction
In URSim, create program 'sort3': read DI0-DI2 (part type A/B/C), use If/ElseIf to place at 'binA', 'binB' or 'binC', count parts in variable n, add a Thread that stops with a popup if DI7 goes high, and show a 'Batch done' popup after 50 parts. Save as sort3.urp.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturestype· Text & formsclick· Point & click- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Grader runs sort3 with a scripted I/O responder (60 parts, mixed types, DI7 pulse at part 55): each part goes to the right bin (RTDE), popup at 50, stop after DI7 within 200 ms. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
40% correct routing; 20% counter and popup; 30% thread stops on DI7; 10% saved cleanly.
R07.09.01.04-T08 Smooth a UR path with blend radii under a cycle-time limit
Original instruction
Open fixtures/dispense.urp in URSim. Add blend radii to the 8 via waypoints (no blend on 'start' and 'end') so PolyScope reports no blend-overlap errors and the cycle time drops below 7.5 s at the current speeds, while the TCP stays within 5 mm of each via point.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturestype· Text & forms- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader runs the program with RTDE: cycle <7.5 s, min distance to each via point <=5 mm, no protective stops or blend errors in the log, start/end unblended. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
40% cycle time; 40% via-point accuracy; 20% no errors.
R07.09.01.04-T09 Create inline-form PTP and LIN motions on a KUKA smartPAD
Original instruction
In KUKA.OfficeLite (KSS 8.6) with the virtual smartPAD, create program 'load_cnc' using inline forms: PTP HOME, PTP P1, LIN P2 at 0.2 m/s with BASE[2] and TOOL[1], OUT 5 TRUE, WAIT 0.5 s, LIN P3, PTP HOME. Teach P1-P3 by jogging to the targets in input/targets.pdf.
- Platforms
win· Windows- Applications
- KUKA smartPAD · KUKA.OfficeLite
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G3· GUI-only- Interaction primitives
click· Point & clicktype· Text & formsgeom· Precise geometry- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Grader exports load_cnc.src/.dat: inline-form fold structure (not expert-mode text), BASE/TOOL numbers, speeds, I/O and wait exact; taught points within 1 mm. The Expert user group is locked (no password issued) and files copied into KRC:\R1 outside the smartPAD HMI are detected via mtime and the file audit log.
Proposed partial credit
40% inline-form sequence; 20% frames/speeds; 40% taught points.
R07.09.01.04-T10 Program a 3x3 grid with position-register math on a FANUC iPendant
Original instruction
In ROBOGUIDE with the virtual iPendant, write TP program GRID9 that places parts in a 3x3 grid (pitch 60 mm X, 45 mm Y) by computing offsets into PR[10] from loop registers R[1], R[2] and using Offset,PR[10] on a single taught point P[1]. Count completed parts in R[5].
- Platforms
win· Windows- Applications
- FANUC ROBOGUIDE · iPendant
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 5 / 5
Proposed verifier
Grader converts GRID9 to .LS: nested loops via JMP/LBL or FOR, PR[10] arithmetic, single taught P[1]; simulated run positions within 0.5 mm of the 9 grid points; R[5]=9 at end. .LS uploads via FTP are blocked/logged.
Proposed partial credit
25% loop structure; 25% PR math; 40% 9 positions; 10% counter.
R07.09.01.04-T11 Name I/O and set default outputs in a UR installation
Original instruction
In URSim Installation > I/O Setup, name DO0 'gripper', DO1 'blowoff' and DI3 'part_present'; set DO1 to go high when the program starts and low when it stops. Save the installation as cell_a.installation.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturestype· Text & forms- Work product
WP08· App/system state- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Grader parses the installation: names exact, DO1 start/stop actions exact; no other settings changed (XML diff). URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
50% names; 40% actions; 10% no collateral changes.
R07.09.01.04-T12 Factor a UR program into a subprogram and before-start sequence
Original instruction
Open fixtures/tending.urp in URSim. Move the 4-node 'go home' sequence that appears 3 times into a subprogram 'GoHome' and call it from those 3 places; add a BeforeStart sequence that opens the gripper (DO0 low) and moves home. Save as tending_v2.urp.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturesdrag· Drag & dropclick· Point & click- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Grader parses the .urp: SubProgram GoHome with the original 4 nodes, 3 Call nodes replacing the duplicates, BeforeStart content exact; RTDE trace of one cycle identical to original within 1 mm. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
40% subprogram and calls; 30% before-start; 30% behavior unchanged.
R07.09.01.04-T13 Add I/O signals in the FlexPendant configuration and use them
Original instruction
On the virtual FlexPendant (controller 'IRB1200_pack'), add digital signals diBoxPresent and doClamp on the simulated I/O device via Control Panel > Configuration, restart the controller, then add WaitDI diBoxPresent,1 and SetDO doClamp,1 before the MoveL to pClamp in routine 'Pack'.
- Platforms
win· Windows- Applications
- ABB FlexPendant · ABB RobotStudio
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP08· App/system state- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Grader backs up EIO.cfg: both signals on the right device/mapping; routine Pack contains the two instructions in order before the move; simulated run waits until the grader sets diBoxPresent. RAPID files loaded from disk or via RobotStudio editor (not the pendant) show in the controller event log and fail.
Proposed partial credit
40% signals configured; 20% restart applied; 40% program edits and behavior.
R07.09.01.04-T14 Build a full machine-tending cycle on a UR pendant
Original instruction
In URSim, program 'tend_cnc': open CNC door (DO2) and wait door-open DI4; pick blanks from a 3x4 tray with the Pallet node; place in vise and close it (DO3), wait DI5; unload finished part to the outfeed; count cycles; show error popups on 10 s timeouts. Run 3 cycles.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturestype· Text & formsclick· Point & clickgeom· Precise geometry- Work product
WP06· Code/engineering- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
Grader runs with a scripted CNC I/O responder (including one injected timeout): blanks picked in tray order (1 mm), I/O handshake order exact, timeout popup raised, 3 complete cycles in RTDE log. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
25% handshake sequence; 25% tray picking; 25% load/unload motions; 25% timeout handling.
R07.09.01.04-T15 Send the pick loop as URScript (control pair of T01)
Original instruction
Control pair of T01: without PolyScope, write output/pick5.script in URScript implementing the same 5-cycle pick loop with DO0 and waypoints from input/waypoints.txt, and send it to URSim's primary interface on port 30001.
- Platforms
lin· Linux- Applications
- URScript · URSim
- Interfaces
term· Terminalapi· API/SDK- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Control pair of T01: identical RTDE trace checks (5 visits to 'pick', DO0 timing, waypoint accuracy 1 mm); the script file must reproduce the run.
Proposed partial credit
30% script runs; 70% RTDE trace matches the T01 spec.
R07.09.01.04-T16 Teach a spline contour with SPL motions on a KUKA smartPAD
Original instruction
In KUKA.OfficeLite with the smartPAD, create program 'seal_lid' using a SPLINE block of 12 SPL points taught along the lid edge (input/lid_contour.pdf) at 0.15 m/s with constant orientation, BASE[4]/TOOL[3], and an OUT 7 trigger 10 mm after the first point.
- Platforms
win· Windows- Applications
- KUKA smartPAD · KUKA.OfficeLite
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
click· Point & clicktype· Text & formsgeom· Precise geometrypath· Continuous path- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 4 / 5
Proposed verifier
Grader exports the program and runs it in OfficeLite with a position trace: path within 1 mm of the contour, SPLINE block with 12 SPL points, TRIGGER WHEN DISTANCE set correctly. The Expert user group is locked and file copies into KRC:\R1 from outside the smartPAD HMI are detected via the file audit log.
Proposed partial credit
30% spline structure; 40% contour accuracy; 15% orientation constant; 15% trigger.
R07.09.01.04-T17 Shift three targets with HotEdit during a running program
Original instruction
Routine 'Glue' runs in auto mode on the virtual FlexPendant (controller 'IRB1300_glue'). Using HotEdit, offset targets pG3, pG4, pG5 by +2.0 mm in tool Z and -1.0 mm in X while the program runs, apply, and commit the changes to the module.
- Platforms
win· Windows- Applications
- ABB FlexPendant · ABB RobotStudio
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & forms- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 3 / 5
Proposed verifier
Grader diffs the module before/after: only pG3-pG5 changed, each by exactly (+2.0 Z tool, -1.0 X); HotEdit entries in the event log; program kept running (no stop event).
Proposed partial credit
60% exact offsets on the three targets; 20% no other changes; 20% done live via HotEdit.
R07.09.01.04-T18 Load a program that needs a missing URCap and report instead of patching
Original instruction
Load fixtures/vendor_cell.urp in URSim. It depends on a gripper URCap not installed on this robot. Do not delete or replace URCap nodes; record in output/report.md which nodes are affected and what is needed, and save nothing over the original program.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturesvis· Visual judgment- Work product
WP12· Answer/decision- Conditions
clarify· Ask when unclear- Proposed difficulty
- 3 / 5
Proposed verifier
Grader: vendor_cell.urp hash unchanged; report.md names the URCap and all 4 affected nodes (exact list) and no invented nodes; no new programs saved. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
40% URCap identified; 40% affected node list exact; 20% original untouched.
R07.09.01.04-T19 Resolve a protective stop from the pendant log and rerun
Original instruction
Program fixtures/stack.urp in URSim triggers a protective stop. Use the Log tab to find the cause (a waypoint violating the safety plane), re-teach that waypoint 20 mm inside the allowed space keeping the approach direction, and run the program to completion. Note the log code in output/answer.txt.
- Platforms
lin· Linux- Applications
- UR PolyScope (URSim)
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
touch· Touch gesturesvis· Visual judgmentgeom· Precise geometry- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Grader: answer.txt log code matches; only the offending waypoint changed and lies 15-25 mm inside the plane; RTDE run completes with no protective stop. URScript/dashboard ports are closed to the agent; files placed in /programs outside PolyScope are detected by inotify log.
Proposed partial credit
20% log code; 40% correct waypoint re-taught within range; 40% program completes.
R07.09.01.04-T20 Teach a user frame and drill pattern with Offs on the FlexPendant
Original instruction
On the virtual FlexPendant (controller 'IRB1600_drill'), define wobjdata 'wobjPlate' with the user 3-point method on the plate's corner marks, then write routine 'Drill6' that drills 6 holes at the offsets in input/holes.csv using Offs() from a single taught pHole0 in wobjPlate, with 30 mm approach.
- Platforms
win· Windows- Applications
- ABB FlexPendant · ABB RobotStudio
- Interfaces
hmi· Device/HMI- GUI need · task setting
G3· GUI-only- GUI need · ordinary access
G2· GUI-essential- Interaction primitives
click· Point & clicktype· Text & formsgeom· Precise geometry- Work product
WP06· Code/engineering- Conditions
licensed· Licensed pro app- Proposed difficulty
- 5 / 5
Proposed verifier
Grader backs up the controller: wobjPlate within 0.3 mm/0.1 deg of the plate frame; Drill6 uses Offs with the CSV offsets; simulated TCP trace hits all 6 holes within 0.5 mm with 30 mm approaches. RAPID files loaded from disk or via RobotStudio editor (not the pendant) show in the controller event log and fail.
Proposed partial credit
30% work object; 30% routine logic; 40% 6 holes reached.
Mapped research references
No benchmark reference is assigned to this class in the current mapping.