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.
Loading...
Searching...
No Matches
mainwindow.h File Reference

Main window class for the LARS GUI, managing UI events, robot tracking, video, and arena controls. More...

#include <QMainWindow>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/video.hpp>
#include <opencv2/imgcodecs.hpp>
#include <iostream>
#include <fstream>
#include <QTimer>
#include <QMouseEvent>
#include <QRubberBand>
#include <QFileDialog>
#include <QDebug>
#include <QThread>
#include <stdio.h>
#include <stdlib.h>
#include "etc/publicvars.h"
#include "qcustomplot.h"
#include "savevidthread.h"
#include "tracker/robottracker.h"
#include "Kilobot/kilobotoverheadcontroller.h"
#include "arenaWindow.h"
#include "ui/renderarea.h"
#include "ui/worldmodel.h"
#include "envbrain.h"

Go to the source code of this file.

Classes

struct  detectedMarker
class  MainWindow
 Main application window for the LARS system. More...

Macros

#define PAGE_SIZE   128
#define PACKET_HEADER   0x55
#define PACKET_SIZE   PAGE_SIZE+4

Enumerations

enum  {
  PACKET_STOP , PACKET_LEDTOGGLE , PACKET_FORWARDMSG , PACKET_FORWARDRAWMSG ,
  PACKET_BOOTPAGE
}
enum  message_type_t {
  NORMAL = 0 , GPS , SPECIAL = 0x80 , BOOT = 0x80 ,
  BOOTPGM_PAGE , BOOTPGM_SIZE , RESET , SLEEP ,
  WAKEUP , CHARGE , VOLTAGE , RUN ,
  READUID , CALIB
}
enum  {
  CALIB_SAVE , CALIB_UID , CALIB_TURN_LEFT , CALIB_TURN_RIGHT ,
  CALIB_STRAIGHT
}

Functions

struct __attribute__ ((__packed__))

Variables

 calibmsg_t

Detailed Description

Main window class for the LARS GUI, managing UI events, robot tracking, video, and arena controls.

This class handles all primary GUI logic and interfaces with hardware controllers, tracking, and experimental logic.