auto-lookup sky locations instead of using sky catalog even for good positioners
- Dominant language
- C++
- Stars
- 9
- Forks
- 10
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 4
Description
Now that @dstndstn has implemented the on-the-fly lookup for whether stuck positioners are pointing at a blank sky location, this opens up the possibility of deprecating the DR9-based sky catalog and always looking up on the fly. Several cases:
1. stuck positioner at fixed (x,y) projected to fixed (ra,dec) -> sky or not?
2. bad phi motor, but can reliably rotate in theta: search a circle in (x,y) projected into an ellipse in (ra,dec) for sky locations that don't collide with neighbors
3. bad theta motor, but can reliably rotate in phi: search an arc in (x,y) projected into an ellipse in (ra,dec) for sky locations that don't collide with neighbors.
4. fully working positioner that isn't already assigned to a science target: instead of restricting its options to ~2 pre-selected sky targets that might not actually be reachable without causing neighboring collisions, let it search its entire non-colliding x,y space for options.
All of these would help us give more good fibers to science targets and reduce the number of genuinely unassigned fibers. I think we absolutely want/need to do (1) and (2) above and those are partially covered in other tickets. Item (4) is the new piece of this ticket.
If this was implemented, I think we could completely deprecate the DR9-based sky catalog, for which we currently spend a fair amount of I/O time, output disk space (listing targets that could have been covered), and (ra,dec) -> (x,y) mapping CPU time pre-calculating sky targets that we never use.
We would still need to support the Gaia-avoidance based "SUPP_SKY" target catalog for off-footprint tiles, or otherwise implement that version of "is this a sky" on the fly (thus bringing in the entire Gaia catalog as a input, which is non-trivial size).
@dstndstn @tskisner
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the existing on-the-fly blank-sky lookup for stuck positioners; no files or tests are named. Focus on case (4): searching reachable, non-colliding space for working positioners without science targets. Done means those positioners can obtain sky locations without DR9 preselected targets while preserving SUPP_SKY support for off-footprint tiles. Confirm scope with maintainers before starting, given the long inactivity.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- performance, robotics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 18/100