Add optional robot and parts model packages#16
Merged
Merged
Conversation
Refine internal array handling, naming, comments and metadata in the core geometry, prism, ellipsoid and PLY helper code while preserving the public interfaces used by the labs.
Add reusable tests for geometry helpers, PLY processing, public imports and robot model setup, along with pytest configuration, development test requirements and a GitHub Actions workflow.
Port a large set of legacy UTS MATLAB Robotics Toolbox models into ir_support so they can be used directly from Python and displayed in Swift. Added new UTS robot model classes and DAE mesh assets for: - DensoVM6083 - DobotMagician - Fetch - HansCute - IRB120 - KinovaGen2 - KinovaGen3 - LinearUR10 - MotomanHC10DTP - MyCobot280 - Sawyer - Turtlebot3Waffle - UR10 - UR3e - UR5e - UR10e Added UTSMeshRobot as a shared base class for MATLAB-style DH robots with link-local mesh assets. The new classes preserve the MATLAB DH parameters, home poses, offsets, joint limits, and Swift-compatible mesh loading. Converted legacy MATLAB PLY/MAT geometry into colour-preserving DAE assets. Only DAE assets are packaged for the new models; copied PLY link files are not retained in ir_support. DensoVM6083 is generated from its MATLAB shapeModel MAT data via a temporary PLY conversion workflow. Added ir_support.parts with packaged UTS scene assets and helper APIs: - part_names() - part_path() - part_mesh() Converted the UTS Parts collection to DAE and included the original license text. The parts include people, furniture, barriers, emergency stops, fire extinguishers, tables, fences, tools, and other lab scene objects. Added developer conversion tools: - convert_ply_to_dae_blender.py - export_shape_model_mat_to_ply.py Added tests and visual Swift viewers: - test_uts_robot_models.py - test_uts_parts.py - view_uts_robots_swift.py - view_uts_parts_swift.py Updated package exports so the new robots and parts are available from ir_support, and updated pyproject.toml so mesh/text assets are included in future package builds. Also narrowed the .gitignore parts rule so ir_support/parts is tracked while a root-level parts directory remains ignored. Verification: - 46 pytest tests pass - all UTS robot models load and animate in headless Swift - all UTS parts load and animate in headless Swift - no local absolute paths or temporary conversion folders remain
Adds a SwiftParrotQuadrotor helper for loading and moving a Parrot drone mesh in Swift, including the converted ParrotQuadrotor.dae asset and exported public import. Also adds cow.dae for Swift-based scene examples. Adds headless tests for the Parrot asset, pose handling, and scale handling, plus a simple visual Swift viewer for manually inspecting the quadrotor model.
Add new extra robot and parts package folders for optional IR Support models, separate from the core lab-required package. Move non-core UTS MATLAB toolbox models, extra parts assets, and the first audited student-derived robot models into these optional packages, with provenance notes for future tracking. Update imports, package metadata, and visual/test playgrounds so core models, extra robots, and extra parts can be tested independently.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds the first large model migration from the old UTS MATLAB Robotics Toolbox and recent student Assignment 2 model audits into
ir-support.It keeps the core
ir_supportpackage focused on models and assets used by the current labs, quizzes, assignments, and Python Wiki examples, while adding separate optional package folders for larger non-core assets:ir_support_extra_robotsir_support_extra_partsChanges
Testing
Local test suite passes: