Skip to content

Expand IR Support robot and part model packs#21

Merged
gapaul merged 16 commits into
masterfrom
add-student-robot-batch-2
Jun 13, 2026
Merged

Expand IR Support robot and part model packs#21
gapaul merged 16 commits into
masterfrom
add-student-robot-batch-2

Conversation

@gapaul

@gapaul gapaul commented Jun 13, 2026

Copy link
Copy Markdown
Owner

This PR expands the IR Support optional model packages and prepares them for the next PyPI release.

Main changes:

  • Add a large set of extra robot models ported from previous student project submissions
  • Add a large set of reusable object and part meshes for Swift simulation scenes
  • Clean, recolour, resize, and reorient many DAE meshes so they load more consistently in Swift
  • Add provenance notes and categorisation for the extra robot and part libraries
  • Add general Swift viewer scripts for inspecting any packaged robot or part model
  • Add reference URL support for robot models where a useful manufacturer/product page is available
  • Update Canvas/Python Wiki documentation for the available simulated robot and part models
  • Remove temporary batch-review scripts and keep the reusable inspection/testing workflow
  • Update PyPI release preparation tooling
  • Extend the GitHub release workflow so the core, extra robots, extra parts, and full packages can be published together

Testing/checks:

  • Added and updated tests for packaged robot and part models
  • Checked model loading, mesh presence, and basic motion/animation behaviour
  • Verified the reusable Swift viewers for robot and part inspection
  • Rebuilt release artifacts locally with the updated package metadata

gapaul added 16 commits June 3, 2026 15:24
Add ten more student-contributed robot models to ir-support-extra-robots, including ABB IRB2600, KUKA KR3/KR10/KR60, Epson VT6, FANUC LR Mate 200iC, Unitree Z1, ProSix VT6, MyCobot 320, and Mitsubishi RV-2RF. Include converted DAE visual assets, provenance notes, and a reusable batch-2 Swift viewer/test for visual inspection.

Add small visual-asset maintenance tooling and allow UTSMeshRobot subclasses to pass link colours through to DHRobot3D. Ignore generated Swift screenshot captures. KukaKR60 is included with an explicit warning because its final wrist visuals are known to be incorrect and need future repair.
Adds nine additional student-sourced robot models to the extra robot package: ABB IRB 1520ID, ABB IRB 1660ID, Denso VP6242, Denso VS068, Dobot CR10, Dobot Nova 2, Fanuc M-20, Igus ReBel, and KUKA LBR iiwa 14. The models include converted DAE visual assets, standardised Python robot classes, provenance notes, and visual fixes for mesh alignment, colour, and end-effector placement where practical.

Also updates the shared mesh robot helper and visual asset tooling, adds a batch 3 pytest loader test, a Swift viewing playground, and a screenshot capture helper for inspecting robot motion from multiple camera views.
Add ten more candidate robots to ir-support-extra-robots with DAE visual meshes, provenance notes, and a dedicated Swift inspection playground/test for batch 4. This batch includes DoosanA0509, DobotNova5, UR16e, OmronTM12, OmronTM5700, KukaKR4, KukaKR5Arc, KukaKR6R900, KukaTitan, and BCN3DMoveo.

Update the visual asset tooling and mesh preparation for these models, including colour/material fixes, double-sided DAE material hints, cache-busted Swift loading, and size/scale cleanup where needed. Some models remain student-derived candidates and are documented as visually acceptable but not yet fully manufacturer-verified.
Add seven visually accepted student-sourced robot models to the extra robot package: Pulse75, MotomanGP7, FanucCRX10IAL, ABBIRB6740_260_300, OmronTM5900, KukaKR6R700CR, and KukaKR10. Clean up mesh colours, scale, base placement, end-effector geometry, and double-sided triangle issues where needed, and add a batch 5 Swift playground plus structural import/mesh tests.

Record batch 5 provenance and audit outcomes, including the rejected Pulse90 attempt, so future model migration work can avoid revisiting known-bad sources.
Add OmronTM12X, KukaK6R900, Kuka361, KukaAgilusKR, and JakaZu3 to the extra robots package with DAE meshes, robot classes, package exports, and provenance notes. These models were visually checked in Swift and sanity-checked against manufacturer reach/spec information where available, with Kuka361 kept as a cautious student-named KUKA candidate.

Add batch 6 temporary Swift playground and pytest coverage so the new candidate robots can be loaded and reviewed separately before they are folded into broader package testing.
Adds the next batch of student-derived extra robots, including ABB IRB1100, ABB IRB1200, ABB IRB910SC, Epson VT6L, UR30, UFactory xArm6, UFactory Lite6, and KUKA LBR iiwa 7. The meshes have been converted for Swift use, with cleanup for platform/rail artefacts, corrected sizing, colour/material updates, and provenance entries.

Also adds the batch 7 Swift playground and focused loading test so the new robots can be inspected separately before being folded into broader validation.
Adds UR20, YaskawaHC20DTP, PAROL6, and ABBIRB1300 to the optional extra robot package, including mesh assets, package exports, provenance notes, and a batch 8 Swift inspection/test playground.

Also adds DAE mesh cleanup support for geometrically double-sided triangles, smooths PAROL6 materials, recolours YaskawaHC20DTP, and removes the detached ABBIRB1300 visual artefact.
Add reusable student-created scene objects to ir-support-extra-parts,
including drinkware, signs, a workbench, bin, fruit, helmet, cartons,
and bottles. Update provenance notes and add a Swift inspection
playground plus packaging tests for the candidate object batch.
Adds 20 reviewed student-derived scene objects to the extra parts package,
including bottles, bins, safety props, trays, tools, and small workplace items.
Updates provenance notes and adds batch 2 Swift viewer and smoke tests.
- add reusable table, bin, fixture, cup, alarm, cereal box, and button props
- polish CerealBoxGreen labels and PushButton materials
- remove rejected BlackjackTable and document batch provenance
- add Swift viewer and packaging tests for batch 3 parts
Add category metadata for the optional extra parts package, including
category exports, README documentation, a category-based Swift viewer,
and a focused category test.

Update Swift robot and part viewer scripts so mesh files are copied to
fresh per-run paths before loading, avoiding stale browser-cached DAE
assets during visual inspection.

Repair DensoVP6242 as a 6-axis candidate model using DENSO VP-6242
dimensions, rename the remaining visual alignment logic so it is clearly
mesh-only, and remove the old extra dummy link mesh files.
Add seven reviewed student-derived scene objects to ir_support_extra_parts:
Camera, CautionSign, ControlPanel, LightTower, MagneticSwitch, ProximitySensor,
and TrafficLight.

Clean the accepted meshes after Swift inspection, including removing detached
camera and traffic-light detail geometry, aligning caution sign text to the sign
faces, keeping the DAE files below the 4 MB target, and removing CutterHolder
after review because its purpose was unclear.

Update the extra-parts category metadata, README, model provenance, and add the
batch 5 Swift viewer and focused packaging tests.
Replace the temporary student batch robot/part viewers with a reusable Swift
robot model viewer that can load core and extra robots from a dropdown, animate
all joints, reset useful camera views, and avoid stale browser-cached mesh files.

Add manufacturer/reference URL metadata across the core and extra robot models
so the viewer can show useful product or documentation links for every selectable
robot. Add regression coverage to check named robot loading, non-mesh robot
fallback handling, reference URL display data, and URL coverage for all viewer
robot options.

Also update the shared UTSMeshRobot base class to support explicit mesh names
and qtest transforms, making the converted MATLAB-style mesh robots easier to
maintain without per-model viewer hacks.
- Add a single-part Swift inspection helper with dropdown selection, camera view buttons, cache-busted mesh loading, and bob/spin animation
- Show compact part details including category, DAE file, file size, bounding box, and optional reference URL
- Add optional part reference URL metadata support without adding dummy source links
- Add focused tests for part viewer helpers and optional URL lookup
- Document the new viewer alongside the existing robot and catalogue review helpers
- Bump ir-support and optional model-pack package metadata for the next release
- Update extra robot, extra parts, and full package dependency constraints
- Extend the GitHub PyPI release workflow to build and publish all four packages
- Add a local release-preparation script for version checks, locking, testing, and builds
- Remove stale runtime warnings from repaired extra robot models
- Keep only the KukaKR60 warning because that visual model still has known wrist-link issues
@gapaul gapaul merged commit 161594a into master Jun 13, 2026
2 checks passed
@gapaul gapaul deleted the add-student-robot-batch-2 branch June 13, 2026 01:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant