maliput / maliput/delphyne_gui

Maliput road networks inspection

Open
#207 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

type: meta
Dominant language
C++
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## Description

Currently, our `maliput_viewer` can render Maliput road geometries for visual inspection. However, it does not provide similar capabilities for road network rule books.

This ticket tracks progress as `delphyne-gui`s capabilities are augmented to fill that gap.

## Stages

Work's split in two stages.

### 1. Consolidate inspection procedures

This stage serves two main purposes:

- To verify the practical usefulness of the inspection outcome and how it is presented (or even help defining how it should be presented).
- To implement the inspection logic itself, which is the same regardless of how I/O is handled.

To this end, the existing `malidrive_query` command line tool can be used as grounds to work on each POC.

##### Tasks

- [x] Implement rules' (starting with right-of-way) inspection for a given lane region.
- [x] https://github.com/ToyotaResearchInstitute/malidrive/pull/270
- [x] Implement rules' state and region of influence inspection for a given phase.
- [x] https://github.com/ToyotaResearchInstitute/malidrive/pull/271

### 2. Support UI-based inspection

This stage deals with actually adding road network inspection support to `delphyne-gui`s visualizer. It does so incrementally, in two substages, using `ignition-gui`s plug-in widget infrastructure.

#### 2.1 Text-only I/O

The simplest transition from `malidrive_query` command line interface. This may include listing intersections, phases and/or rules in list or tree widgets, input boxes for region selection, dialogs, etc., suitable for each inspection procedure.

##### Tasks
- [ ] Show rules for a given lane.
- [ ] https://github.com/ToyotaResearchInstitute/delphyne-gui/pull/221
- [ ] Filter rules for a given lane by phase.

#### 2.2 Graphical I/O

Once text I/O is in place, inspection support can be extended to provide graphical I/O as well. This may include include highlighting a rule's region of influence and/or providing visual cues for it [1], rendering traffic lights, rendering floating labels, supporting point-n-click lane and/or intersection selection [2], etc., suitable for each inspection procedure.

[1] Ignition rendering struggles somewhat with large road networks. Road overlays may be too high a burden for it. Road outlines may help use here, but we might hit a performance limitation.
[2] Click position-to-scene coordinates transformation appears to be non-trivial in `ignition-rendering` / `ogre`. To be confirmed.

##### Tasks

- [ ] Enable point-n-click selection for lanes
- [x] https://github.com/ToyotaResearchInstitute/delphyne-gui/pull/217
- [ ] https://github.com/ToyotaResearchInstitute/delphyne-gui/pull/221
- [ ] Implement a hovering/highlighting device for select lanes.
- [ ] https://github.com/ToyotaResearchInstitute/delphyne-gui/pull/223
- [ ] Show `srh` and `xyz` coordinates for a clicked point.
- [ ] Add sliders for `s` lane region definition.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the existing malidrive_query command-line tool and the delphyne-gui plug-in/widget work described in the issue; ignition-gui is the stated UI infrastructure. Choose one unchecked inspection task before investigating, since the ticket spans text and graphical I/O; done would mean completing that task and its corresponding inspection behavior.

Written by the indexing model from the issue text.

Assessment

Domain
desktop, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.