Skip to content

Add support for g-series robots - #577

Open
urfeex wants to merge 1 commit into
UniversalRobots:masterfrom
urfeex:add_g_series_robot_types
Open

urfeex wants to merge 1 commit into
UniversalRobots:masterfrom
urfeex:add_g_series_robot_types

Conversation

@urfeex

@urfeex urfeex commented Sep 18, 2026

Copy link
Copy Markdown
Member
  • RobotType definitions
  • RobotSeries definition
  • Startupscript arguments (preparation for 10.15.0)

@urfeex
urfeex requested a review from a team September 18, 2026 11:32
@urfeex urfeex added the enhancement New feature or request label Sep 18, 2026
@codecov

codecov Bot commented Sep 18, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 58.97436% with 16 lines in your changes missing coverage. Please review.
✅ Project coverage is 17.93%. Comparing base (5062a24) to head (1349be0).

Files with missing lines Patch % Lines
include/ur_client_library/ur/datatypes.h 0.00% 8 Missing ⚠️
src/helpers.cpp 77.27% 5 Missing ⚠️
scripts/start_ursim.sh 66.66% 3 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #577      +/-   ##
==========================================
+ Coverage   15.98%   17.93%   +1.94%     
==========================================
  Files         121      121              
  Lines        7257     7289      +32     
  Branches     3227     3232       +5     
==========================================
+ Hits         1160     1307     +147     
+ Misses       5998     5865     -133     
- Partials       99      117      +18     
Flag Coverage Δ
check_version_ur10-3.15.8 11.26% <56.66%> (-0.10%) ⬇️
check_version_ur10e-10.11.0 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur10e-5.15.2 11.26% <56.66%> (+0.09%) ⬆️
check_version_ur12e-10.12.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur12e-5.25.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur15-10.12.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur15-5.25.1 11.26% <56.66%> (-0.06%) ⬇️
check_version_ur16e-10.12.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur16e-5.25.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur18-10.12.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur18-5.25.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur20-10.12.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur20-5.25.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur3-3.14.3 12.88% <56.66%> (+1.71%) ⬆️
check_version_ur30-10.12.1 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur30-5.25.1 11.26% <56.66%> (-0.06%) ⬇️
check_version_ur3e-10.11.0 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur3e-5.9.4 11.85% <56.66%> (+0.68%) ⬆️
check_version_ur5-3.15.8 11.30% <56.66%> (+0.17%) ⬆️
check_version_ur5e-10.11.0 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur5e-5.12.8 11.34% <56.66%> (-0.02%) ⬇️
check_version_ur7e-10.11.0 11.26% <56.66%> (+0.13%) ⬆️
check_version_ur7e-5.22.2 11.26% <56.66%> (-0.06%) ⬇️
check_version_ur8long-10.12.1 11.30% <56.66%> (+0.17%) ⬆️
check_version_ur8long-5.25.1 11.26% <56.66%> (-0.06%) ⬇️
python_scripts 75.90% <ø> (ø)
start_ursim 91.64% <66.66%> (+0.73%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

@urfeex urfeex added this to the 2.16.0 milestone Sep 18, 2026
- RobotType definitions
- RobotSeries definition
- Startupscript arguments (preparation for 10.15.0)
@urfeex
urfeex force-pushed the add_g_series_robot_types branch from aedf191 to 1349be0 Compare September 18, 2026 13:37
@urrsk
urrsk requested a balanced review from Copilot September 18, 2026 13:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The implementation consistently adds G-series support with appropriate version validation and focused test coverage.

Pull request overview

Adds G-series robot support across type definitions, series detection, URSim startup validation, and parsing.

Changes:

  • Defines three G-series robot types and the G_SERIES classification.
  • Supports G-series URSim models starting with version 10.15.0.
  • Extends parser, datatype, helper, and startup-script tests.
File summaries
File Description
include/ur_client_library/ur/datatypes.h Adds G-series enums and string conversions.
include/ur_client_library/helpers.h Documents supported G-series model strings.
src/helpers.cpp Maps G-series models and versions.
scripts/start_ursim.sh Adds G-series startup and validation support.
tests/test_datatypes.cpp Tests new enum conversions.
tests/test_helpers.cpp Tests model and series mapping.
tests/test_primary_parser.cpp Tests parsing G-series type IDs.
tests/test_start_ursim.bats Tests G-series URSim handling.
Review details
  • Files reviewed: 8/8 changed files
  • Comments generated: 0
  • Review effort level: Balanced

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@urfeex
urfeex marked this pull request as ready for review September 18, 2026 14:27
@cursor

cursor Bot commented Sep 18, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Additive enum and script validation changes with broad test coverage; no changes to motion, safety, or auth paths.

Overview
Adds g-Series robot models to the client library and URSim startup flow ahead of PolyScope X 10.15.0.

The library now defines RobotType values UR10g-1750, UR17g-1300, and UR18g-950 (primary-interface IDs 12–14), a new G_SERIES RobotSeries, and string/enum helpers (robotTypeFromString, robotTypeString, robotSeriesString). robotSeriesFromTypeAndVersion classifies these types as G_SERIES only when firmware is ≥ 10.15.0.

start_ursim.sh accepts the three hyphenated model names, maps them to polyscopex, enforces minimum URSim 10.15.0, and passes the uppercased model string through to Docker as ROBOT_TYPE. Help text and PolyScope X model validation lists are updated accordingly; latest resolution for polyscopex g-Series uses the new minimum instead of the UR15 X default.

Tests cover datatype strings, series/version logic, primary hardware info parsing for the new type IDs, and bats cases for series inference, version gates, and docker env vars.

Reviewed by Cursor Bugbot for commit 1349be0. Bugbot is set up for automated code reviews on this repo. Configure here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants