The mavinsight package is a ROS2 Package configured to build a model of a Vehicle for later visualization in Foxglove.
MAVInsight/- This repo.mavinsight/- Source directory for the Nodes of this repo. // TODO UPDATEvehicle_tf_publisher.py- The Node that will publish transforms between frames based on the the relationships betweenVehiclesandSensors.Vehicledefinitions are written in.yamlfiles found invehicles/Sensordefinitions are written in.yamlfiles found insensors/- At startup, this node will look for
Vehicledefinitions in thevehicles/directory. It will either build all vehicles in that directory, or only those specified by the optional argument:build_list.
models/- Directory for the classes that define the relations between different frames.graph_member.py- Parent class for anything that can be published to the 3D panel of Foxglovevehicle.py- File for classes that represent a vehicle forSensors(i.e. CHIMERA A/D, any other drones, stationary cameras, etc.). Instances of this class should be constructed byvehicle_tf_publisher.pybased on the configurations specified invehicles/.sensor.py- File for class that represent a sensor (i.e. rangefinders, cameras, gimbals, etc.). Instances of this class or its subclasses are constructed at runtime during the creation of aVehicleor a parentSensorbased on the configurations specified insensors/.vehicles.py- Enum to capture supported vehicle types. Marginally useful.sensor_types.py- Enum to capture supported sensor types. Marginally useful.
sensors/- Directory for the config files that define an instance of aSensor.vehicles/- Directory for the config files that define an instance of aVehicle.
To define a new Vehicle or Sensor for vizualization, you have to write a new .yaml file in either vehicles/ or sensors/ (respectively).
The general format of a configuration file should be:
property: value
list_property:
- list_value1
- list_value2
empyt_list_property: []