Skip to content

Robothon Task Board 2025 Updates#30

Merged
peterso merged 36 commits intopeterso:mainfrom
4ntn:task_quality_metric
May 2, 2025
Merged

Robothon Task Board 2025 Updates#30
peterso merged 36 commits intopeterso:mainfrom
4ntn:task_quality_metric

Conversation

@4ntn
Copy link
Contributor

@4ntn 4ntn commented Apr 9, 2025

Update Task Board to match 2025 requirements.

Switch to M5STACK Core2 as default device in project configuration.

Add a score() method to task steps.

  • All-or-nothing steps return 100% score. The score() method can be modified to calculate any desired metric.
  • Task step score is calculated only once, upon completion of the step, just before saving the time. So, computationally intensive score functions should be OK.
  • An array with all the scores has been added to the robothon_task_status ros message.
  • The score is shown on completed task steps in the web interface. It is only shown for task steps in which it is relevant.
  • An average score is calculated for the whole protocol. The average score for each run is saved on the non volatile storage.

Add a new type of TaskStep: TRACE_SHAPE:

  • It generates an std::vector expected_path_ of vector3 points.
  • It measures an std::vector measured_path_ with the path generated by touching the screen.
  • It displays both paths on the screen of the device.
  • It does a basic calculation for the score of the task based on distance between the two starting points, distance between the two finish points, and difference in length of the two paths.
  • It implements several shape types:
    • Single point.
    • Line (two points).
    • Triangle (irregular).
    • Square (regular).
    • Circle (regular polygon with 100 sides).
    • Four sided irregular polygon.

Possibility to obtain the shape to trace at random from a pool through a new task step: trace shape from pool.
There are also three new task steps to manage the pool:

  • TaskStepTraceShapeSetPool: Empty a shape pool and fill it with certain shapes.
  • TaskStepTraceShapeEmptyPool: Empty a pool.
  • TaskStepTraceShapeFillPool: Add certain shapes to a pool without emptying it.

To measure the touch screen position, a new sensor has been added:

  • It returns the position on the touch screen where it is being touched, inside a Vector3 variable.
  • The origin is the top left of the screen. The units are 0 to 100 on both directions.
  • The z component of the Vector is 0 when the screen is not being touched, 1 when it is.

Change task step time spent representation from elapsed time from the beginning of the protocol to increment since start of the task step.

Add automatic completion task steps:

  • These do not require user/robot action to complete.
  • Create a new type of automatic task step: Wait a random amount of time (between certain limits).
  • The time spent in automatic tasks is not taken into account for final protocol run time.

Added a new kind of automatic task step to act on hardware.

Added the new sensors and task steps to the 2025 Task Board Driver.

To do:

  • Test the new sensors.
  • Rename "task" to "protocol" across the project.
  • Hide "uninteresting" steps (actuators mainly) on the web interface.

4ntn added 7 commits April 9, 2025 08:50
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
@4ntn 4ntn changed the title Add scores to task steps Add FollowPath task step type, and add score to task steps Apr 15, 2025
@4ntn 4ntn changed the title Add FollowPath task step type, and add score to task steps Add FollowPath task step type and score to task steps Apr 15, 2025
peterso and others added 10 commits April 15, 2025 09:53
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
…ifferential time for steps instead of total.

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
@4ntn 4ntn changed the title Add FollowPath task step type and score to task steps Robothon Task Board 2025 Updates Apr 16, 2025
4ntn added 4 commits April 16, 2025 09:47
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
@4ntn 4ntn force-pushed the task_quality_metric branch from 2dde49e to a15a095 Compare April 21, 2025 09:59
4ntn added 5 commits April 21, 2025 10:19
…mum waiting time

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
…rom a pool of shapes

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
… first one.

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
At this point incompatible with v2023 build.

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
4ntn added 10 commits April 23, 2025 10:03
Add actuators (LEDS and solenoid) and 2025 task steps to TaskBoardDriver_TBv2025.hpp

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
…ce write operations to PaHub by saving last selected channel.

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
…st be met during a random amount of time

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
… depends on random parameter

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
…interface and screen

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Copy link
Owner

@peterso peterso left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Accepting general clean up, feature additions for trace task, random wait task step, and interface for actuators, however, actuators have not been successfully tested. Will need to update output and input pin assignments to match as-built in the next PR

@peterso peterso merged commit 301db47 into peterso:main May 2, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants