RobotecAI / robotec-o3de-tools

Toolset for demo recordings in O3DE
2 stars 1 forks source link

Adkrawcz/imgui #2

Open adamkrawczyk opened 6 months ago

adamkrawczyk commented 6 months ago

Updates

  1. Integration of ImGui with ROS2 Sensors: Implemented ImGui to enhance the user interface for ROS2 sensors.
  2. Custom Behavior Link via Bus: Added a bus system to link custom behaviors to button clicks.
  3. GNSS Post-Processing Bus: Established a bus for GNSS post-processing.
  4. Standard ImGui Element Creation: Developed a standard ImGui element for consistent user interface elements.

Detailed Description

ROS 2 Sensor Publishing Control: Introduced an option to enable or disable data publishing from ROS 2 sensors. While the component remains active and the topic is visible, this feature allows the emulation of a sensor fault by stopping data publication on the topic. This is useful for simulating scenarios where the sensor is faulty and does not publish any data. To have the sensor visible in the ImGui window the user needs to add a component SensorImGuiComponent to the entity where the sensors are added.

User Experience

  1. Add SensorImGuiComponent to the entity with the sensors you want to control.
  2. When the game is launched press the ~ to start ImGui
  3. The user will see ROS 2 ImGui tab on ImGui main menu

Screenshot from 2024-01-02 12-49-42

  1. After clicking the list of the link names to which the SensorImGuiComponent(s) were added will pop up.

Screenshot from 2024-01-02 12-49-59

  1. The user can click the link names to add sensors from this link to debug window. When the link is selected to be visible the tick mark is on the right of the name.

Screenshot from 2024-01-02 12-55-49

  1. The basic SensorImGuiComponent allows to disable/enable publishing and this is as follows:

Screenshot from 2024-01-02 12-50-28

  1. When the button is clicked the text will change to Enable and no data is published on the topic(s) shown above the button. If the sensor publishes on more than one topic (e.x. camera_image and camera_info) all topic names will be shown and a button click disables/enables publishing on all of them.

Screenshot from 2024-01-02 12-50-34

adamkrawczyk commented 6 months ago

To work correctly it needs interface from https://github.com/o3de/o3de-extras/pull/639