Upload project files

This commit is contained in:
wangdequan
2026-06-28 08:20:33 +08:00
parent f0e96308d2
commit 84a5b54195
162 changed files with 14070 additions and 31381 deletions

View File

@@ -0,0 +1,9 @@
language grl 0.1
module A120Smoke
const speed v_joint = joint(40 %)
const zone zf = fine
target home = joint_target { joints: [0 deg, 0 deg, 0 deg, 0 deg, 0 deg, 0 deg] }
proc main()
movej home speed v_joint zone zf
end
end

View File

@@ -0,0 +1,22 @@
language grl 0.1
module A120JointPickPlace
const speed v_fast = joint(40 %)
const speed v_slow = joint(10 + 10 %)
const zone z10 = z(5 + 5 mm)
target home = joint_target { joints: [0 deg, 0 deg, 0 deg, 0 deg, 0 deg, 0 deg] }
target approach = joint_target { joints: [0 deg, -22.918312 deg, 28.647890 deg, 0 deg, 11.459156 deg, 0 deg] }
target pick = joint_target { joints: [11.459156 deg, -20.053523 deg, 25.783101 deg, 5.729578 deg, -11.459156 deg, 17.188734 deg] }
target place = joint_target { joints: [-20.053523 deg, -14.323945 deg, 20.053523 deg, -14.323945 deg, 8.594367 deg, -22.918312 deg] }
path pick_place {
defaults { speed: v_fast, zone: z10 }
point p_home movej home zone fine
point p_approach movej approach
event before p_pick io.do[1] = true
point p_pick movej pick speed v_slow zone fine
point p_place movej place
event after p_place io.do[1] = false
}
proc main()
run_path pick_place
end
end

View File

@@ -0,0 +1,20 @@
language grl 0.1
module A120CartesianBlend
persistent tool gripper = tool { tcp: pose(0 mm, 0 mm, 100 mm, 0 deg, 0 deg, 0 deg), mass: 1 kg }
persistent frame fixture = frame { origin: pose(800 mm, 0 mm, 0 mm, 0 deg, 0 deg, 0 deg) }
const speed v_linear = linear(100 + 50 mm/s)
const zone z10 = z(clamp(10 mm, 1 mm, 50 mm))
target pick = pose_target { pose: pose(500 mm, 0 mm, 0 mm, 0 deg, 0 deg, atan2(0, 1)), tool: gripper, frame: fixture }
target mid = pose_target { pose: pose(550 mm, 50 mm, 0 mm, 0 deg, 0 deg, 0 deg), tool: gripper, frame: fixture }
target arc_end = pose_target { pose: pose(600 mm, 0 mm, 0 mm, 0 deg, 0 deg, 0 deg), tool: gripper, frame: fixture }
path cart_path {
defaults { speed: v_linear, zone: z10, tool: gripper, frame: fixture }
point p_pick movel pick zone fine
point p_arc movec via mid target arc_end speed linear(max(50 mm/s, 150 mm/s)) zone z10
}
proc main()
set_tool gripper
set_frame fixture
run_path cart_path
end
end

View File

@@ -0,0 +1,17 @@
language grl 0.1
module A120IOWaitPulse
const speed v = joint(35 %)
const zone zf = fine
target home = joint_target { joints: [0 deg, 0 deg, 0 deg, 0 deg, 0 deg, 0 deg] }
path io_path {
defaults { speed: v, zone: zf }
point p0 movej home
event at p0 distance 5 + 5 mm pulse io.do[20] duration 50 + 50 ms
}
proc main()
io.do[1] = true
wait io.di[1] == true timeout 1 + 1 s on_timeout alarm "DI1 timeout"
pulse io.do[2] duration 50 + 50 ms
run_path io_path
end
end

View File

@@ -0,0 +1,12 @@
language grl 0.1
module A120ErrorDiagnostics
const speed v = joint(30 %)
const zone zf = fine
target over_limit = joint_target { joints: [200 deg, 0 deg, 0 deg, 0 deg, 0 deg, 0 deg] }
target unreachable_pose = pose_target { pose: pose(3000 mm, 0 mm, 3000 mm, 0 deg, 0 deg, 0 deg) }
proc main()
movej over_limit speed v zone zf
movel unreachable_pose speed linear(100 mm/s) zone zf
wait io.di[99] == true timeout 10 ms on_timeout alarm "expected timeout"
end
end

View File

@@ -0,0 +1,25 @@
language grl 0.1
module A120OperationProcess
const speed v = joint(35 %)
const zone zf = fine
target home = joint_target { joints: [0 deg, 0 deg, 0 deg, 0 deg, 0 deg, 0 deg] }
path op_path {
defaults { speed: v, zone: zf }
point p0 movej home
}
operation pick_op {
kind: handling
path: op_path
process {
dwell_ms: 50 + 50 ms,
clamp_force: max(20, 10)
}
start_action:
io.do[1] = true
end_action:
io.do[1] = false
}
proc main()
run_operation pick_op
end
end