LCAS / topological_navigation

The topological navigation framework
Apache License 2.0
40 stars 38 forks source link

Added toponap edit tool #192

Closed ibrahimhroob closed 1 month ago

ibrahimhroob commented 2 months ago

What type of PR is this? (check all applicable)

Description

This Python script provides a graphical interface for editing a topological map stored in a YAML file. Using tkinter and matplotlib, users can interactively edit node attributes (position, orientation, properties), scale polygons, and globally update node names. The script allows for quaternion-to-yaw conversions and provides save and scale functionalities for adjusting polygon sizes. Node edges and positions are visually represented, and users can easily edit node details by clicking on them

Related Tickets & Documents

QA Instructions, Screenshots, Recordings

Instructions for Using the Topological Map Editor Script:

  1. Run the Script:

    • Launch the script in your Python environment.
    • The script will open a file dialog to prompt you to select a YAML file that contains your topological map.
  2. Select the YAML File:

    • Browse your computer and select the desired YAML file containing your map data.
  3. View the Topological Map:

    • Once the file is loaded, the topological map is displayed using matplotlib, with nodes represented as points and edges between them as lines.
  4. Edit Node Attributes:

    • Click on a node to open a dialog where you can edit the following attributes:
      • Node position (X, Y)
      • Orientation (Yaw)
      • Localisation by topic
      • Parent frame
      • Properties like goal tolerance and restrictions
      • Metadata and edges associated with the node.
    • After editing, click Save to apply the changes or Cancel to discard them.
  5. Scale Polygons:

    • Use the Scale Up or Scale Down buttons to globally adjust the size of polygons (if any) associated with the nodes.
  6. Save Your Changes:

    • After making changes, click the Save button to write the updated data back to the YAML file.

image

[optional] Are there any post deployment tasks we need to perform?

marc-hanheide commented 2 months ago

can you check the failed test first?