Skip to content

Fixed inverse kinematics#214

Draft
MarleneBusch wants to merge 40 commits into
mainfrom
features/combined_optimization
Draft

Fixed inverse kinematics#214
MarleneBusch wants to merge 40 commits into
mainfrom
features/combined_optimization

Conversation

@MarleneBusch
Copy link
Copy Markdown
Member

Description

The main feature of this PR is the fixed inverse kinematics.

  • add second kinematics reconstruction method
  • add train test dataset splits for the kinematics reconstructor and surface reconstructor
  • rename the motor position optimizer to aim point optimizer

Fixes #205

Type of change

  • Bug fix (non-breaking change which fixes an issue)

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 29, 2026

Name Stmts Miss Cover Missing
artist\__init__.py 3 0 100%
artist\field\__init__.py 14 0 100%
artist\field\actuators.py 16 0 100%
artist\field\actuators_ideal.py 9 0 100%
artist\field\actuators_linear.py 57 0 100%
artist\field\heliostat_field.py 116 0 100%
artist\field\heliostat_group.py 52 0 100%
artist\field\heliostat_group_rigid_body.py 23 0 100%
artist\field\kinematics.py 12 0 100%
artist\field\kinematics_rigid_body.py 97 0 100%
artist\field\solar_tower.py 48 0 100%
artist\field\surface.py 22 0 100%
artist\field\tower_target_areas.py 15 0 100%
artist\field\tower_target_areas_cylindrical.py 40 0 100%
artist\field\tower_target_areas_planar.py 32 0 100%
artist\flux\__init__.py 2 0 100%
artist\flux\bitmap.py 65 1 98% 116
artist\geometry\__init__.py 4 0 100%
artist\geometry\coordinates.py 95 1 99% 290
artist\geometry\rotations.py 31 1 97% 112
artist\geometry\transforms.py 97 1 99% 346
artist\io\__init__.py 3 0 100%
artist\io\calibration_parser.py 42 2 95% 197-202
artist\io\h5_scenario_parser.py 149 5 97% 550, 554, 560, 565, 570
artist\io\paint_calibration_parser.py 66 0 100%
artist\io\paint_scenario_parser.py 193 0 100%
artist\io\stral_scenario_parser.py 42 0 100%
artist\nurbs\__init__.py 3 0 100%
artist\nurbs\surfaces.py 156 20 87% 210-241, 395, 399, 401-402, 553-554, 557-558
artist\nurbs\utils.py 24 0 100%
artist\optim\__init__.py 7 0 100%
artist\optim\aim_point_optimizer.py 164 15 91% 313-323, 473, 493, 567-574, 580, 631-640
artist\optim\kinematics_reconstructor.py 256 230 10% 115-142, 174-197, 228-310, 343-411, 446-751, 786-1074
artist\optim\loss.py 85 1 99% 545
artist\optim\regularizers.py 24 0 100%
artist\optim\surface_reconstructor.py 220 12 95% 761-769, 878-896
artist\optim\training.py 67 2 97% 32, 181
artist\raytracing\__init__.py 4 0 100%
artist\raytracing\blocking.py 283 9 97% 378, 380, 552-555, 592-593, 722, 737, 975
artist\raytracing\geometry.py 91 0 100%
artist\raytracing\heliostat_ray_tracer.py 142 1 99% 176
artist\raytracing\sampling.py 29 0 100%
artist\scenario\__init__.py 4 0 100%
artist\scenario\h5_scenario_generator.py 83 30 64% 117-141, 153-161, 185, 192-197, 215-218
artist\scenario\scenario.py 94 2 98% 215, 434
artist\scenario\surface_generator.py 89 0 100%
artist\scene\__init__.py 5 0 100%
artist\scene\light_source.py 11 0 100%
artist\scene\light_source_array.py 28 0 100%
artist\scene\rays.py 7 0 100%
artist\scene\sun.py 43 0 100%
artist\util\__init__.py 56 18 68% 101-135
artist\util\config.py 203 0 100%
artist\util\constants.py 305 0 100%
artist\util\env.py 110 23 79% 89-91, 186-228, 308
artist\util\indices.py 322 0 100%
artist\util\type_registry.py 11 0 100%
TOTAL 4271 374 91%

@codecov
Copy link
Copy Markdown

codecov Bot commented May 29, 2026

Codecov Report

❌ Patch coverage is 56.44699% with 152 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.24%. Comparing base (a5785f7) to head (2dd8497).

Files with missing lines Patch % Lines
artist/optim/kinematics_reconstructor.py 5.06% 150 Missing ⚠️
artist/optim/aim_point_optimizer.py 87.50% 1 Missing ⚠️
artist/optim/loss.py 95.00% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #214      +/-   ##
==========================================
- Coverage   96.10%   91.24%   -4.87%     
==========================================
  Files          57       57              
  Lines        4008     4271     +263     
==========================================
+ Hits         3852     3897      +45     
- Misses        156      374     +218     

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

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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.

Rename motor position optimization to aim point optimization

1 participant