|
LARS
LARS (Light Augmented Reality System) is an open-source framework for light-based interaction and real-time tracking in multi-robot experiments. Inspired by ARK, LARS extends the augmented reality paradigm to robotic collectives by projecting dynamic visual cues and environments onto the arena, enabling new experimental possibilities for collective robotics research, education, and outreach. LARS features integrated tracking, light projection, and modular experiment control with a user-friendly Qt GUI.
|
Environment logic and utility class for the robot arena. More...
#include <envbrain.h>
Public Slots | |
Environment update and utility slots | |
| void | refresh () |
| Periodically refreshes environment state and visualization. | |
| void | addNoise () |
| Adds spatial noise to the arena image and updates the visualization. | |
| void | resetHeatMap () |
| Resets the heatmap to its initial state. | |
| void | updateNoiseProps (int time_interval) |
| Updates the noise timer interval based on a slider/time parameter. | |
| void | connect_disconnect_add_noise (bool connect_bool) |
| Connects or disconnects the timer for adding noise to the environment. | |
| void | update_centroid () |
| Updates centroid of robot distribution. (Empty or placeholder) | |
| void | update_objects_to_draw () |
| Updates arena objects (e.g. ball, robots) to be drawn. | |
Public Member Functions | |
| EnvBrain (WorldModel *wm=nullptr) | |
| Constructs the EnvBrain object. | |
| QList< QPoint > | makeGridPoints (int nRows=1, int nCols=1, int dx=10, int dy=10, QPoint origin=QPoint(0, 0)) |
| Generates a grid of points within the arena. | |
| QList< QPoint > | makeStarPoints (int nArms=5, int nLayers=10, int d=10, QPoint origin=QPoint(0, 0)) |
| Generates star-shaped point arrangements centered at a given origin. | |
Environment logic and utility class for the robot arena.
Handles collective environment updates, heatmap operations, spatial noise, and geometry generation.
|
explicit |
Constructs the EnvBrain object.
| wm | Pointer to the world model. |
Initializes environment logic, heatmaps, ball velocity, and timers for periodic updates.
| wm | Pointer to the world model. |
|
slot |
Adds spatial noise to the arena image and updates the visualization.
Adds spatial noise to the arena image.
Applies random noise to each tile of the arena image and updates the processed image for visualization.
|
slot |
Connects or disconnects the timer for adding noise to the environment.
| connect_bool | If true, connect; else disconnect. |
| QList< QPoint > EnvBrain::makeGridPoints | ( | int | nRows = 1, |
| int | nCols = 1, | ||
| int | dx = 10, | ||
| int | dy = 10, | ||
| QPoint | origin = QPoint(0,0) ) |
Generates a grid of points within the arena.
Generates a grid of points within the arena, helpful for initialization of an experiment.
| nRows | Number of rows. |
| nCols | Number of columns. |
| dx | Horizontal spacing between points. |
| dy | Vertical spacing between points. |
| origin | Top-left origin for the grid. |
| QList< QPoint > EnvBrain::makeStarPoints | ( | int | nArms = 5, |
| int | nLayers = 10, | ||
| int | d = 10, | ||
| QPoint | origin = QPoint(0,0) ) |
Generates star-shaped point arrangements centered at a given origin.
Generates star-shaped point arrangements centered at a given origin, helpful for initialization of an experiment.
| nArms | Number of star arms. |
| nLayers | Number of layers (distance steps) on each arm. |
| d | Distance between layers. |
| origin | Center of the star. |
|
slot |
Periodically refreshes environment state and visualization.
Periodically refreshes environment state, heatmap, and visualization objects.
Called on a timer, updates robot positions, heatmap accumulation, centroid, and visualization elements.
|
slot |
Resets the heatmap to its initial state.
Resets the heatmap to an initial (zeroed) state.
|
slot |
Updates centroid of robot distribution. (Empty or placeholder)
(Placeholder) Updates centroid of robot distribution. [Empty function]
|
slot |
Updates arena objects (e.g. ball, robots) to be drawn.
Updates objects (e.g., the ball) to be drawn in the environment.
Handles movement, collision with arena bounds, and collisions with robot circles.
|
slot |
Updates the noise timer interval based on a slider/time parameter.
Updates the noise timer interval exponentially with respect to a slider/time parameter.
| time_interval | User-defined time interval (slider value). |