Consider to implement self-localization in MRA repo.
- Step 1: define the component and its interface.
- Step 2: go-nogo (check if the use cases and other priorities make this activity worth-while)
- Step 3: port Falcons implementation(s)?
Use cases:
- to enable Falcons robots to play on fields with general line configuration, such as Ambition Challenge field (picture below)
- enable junior teams to implement robot localization using component(s) that just work out-of-the-box
Details: relevant Falcons code has been stable and performing well, not touched for many years. It has two parts:
- in
vision (actually multiCam) package, let's call it FalconsLocalizationVision
- input: observed white pixels in RCS
- configuration: basic model of field lines (
A=22, B=14 etc as defined in rules, typically measured on-premise with a mm-accurate cheap laser) -> this is the limiting factor for going to Ambition Challenge field
- output: one or more candidate location(s) in FCS
- method: use Simplex algorithm (
opencv::DownHillSolver) to fit given pixels with expected pixels
- in
worldModel package, let's call it FalconsLocalizationWorldModel
- input: FCS vision candidates, encoder velocity feedback in RCS, no compass/IMU
- configuration: some tuning factors
- output: "accurate" FCS location and FCS velocity
- method: mainly use encoders, use vision to correct for drift, initialize playing forward
Ambition Challenge field:

(retrieved from https://msl.robocup.org/wp-content/uploads/2023/01/Rulebook_MSL2023_v24.1.pdf#section.3.3)
Open questions:
get second opinion from Andre - done. Decided to leave dewarp out of scope for now, it is more general than self-localization and basically a different (upstream) component, unless users would bring this up as a highly desired related component.
- towards a go: find some team(s) outside Falcons who would want to actually want to use this ... -> Jan to email teams
Consider to implement
self-localizationin MRA repo.Use cases:
Details: relevant Falcons code has been stable and performing well, not touched for many years. It has two parts:
vision(actuallymultiCam) package, let's call itFalconsLocalizationVisionA=22,B=14etc as defined in rules, typically measured on-premise with a mm-accurate cheap laser) -> this is the limiting factor for going to Ambition Challenge fieldopencv::DownHillSolver) to fit given pixels with expected pixelsworldModelpackage, let's call itFalconsLocalizationWorldModelAmbition Challenge field:

(retrieved from https://msl.robocup.org/wp-content/uploads/2023/01/Rulebook_MSL2023_v24.1.pdf#section.3.3)
Open questions:
get second opinion from Andre- done. Decided to leave dewarp out of scope for now, it is more general than self-localization and basically a different (upstream) component, unless users would bring this up as a highly desired related component.