PrincePepper / inno_uavcan_VTOL_interface

Vtol interface for easy viewing of all nodes; based on gui_tool uavcan
https://github.com/UAVCAN/gui_tool
MIT License
3 stars 2 forks source link

VTOL interface 🚁+✈

Place and period of internship:

NTI Center for Component «Technologies robotics and mechatronics», unmanned technology laboratory. The Unmanned Technology Laboratory develops specialized robotic systems designed for specific tasks in a variety of applications. The field of special robotics includes both the sphere of interaction with a person and the replacement of a person in hazardous and harmful operations, such as work on nuclear reactors or in the immediate vicinity of hazardous substances and emissions, work on oil production plants, maintenance of infrastructure in difficult natural conditions, work under extreme weather conditions and strong magnetic fields.

Technical task

A little bit of theory

VTOL (Vertical Take-Off and Landing) — aircraft is one that can hover, take off, and land vertically. This classification can include a variety of types of aircraft including fixed-wing aircraft as well as helicopters and other aircraft with powered rotors, such as cyclogyros/cyclocopters and tiltrotors

UAVCAN is an open technology for intra-corporate distributed computing and real-time communication, based on modern network standards (Ethernet, CAN FD, etc.). It was created to solve the problem of onboard deterministic computing and data distribution in next-generation intelligent vehicles: manned and unmanned aircraft, spacecraft, robots and cars.

AIRFRAME.JSON

We have a configuration file, thanks to which we can determine which devices(nodes) we will have, as well as which VTOL we use.

Example:

{
  "elvator_right": {
    "id": 66,
    "name": "R_elvator",
    "fields": [
      "voltage uavcan.equipment.power.CircuitStatus voltage"
    ],
    "channels": "[5]",
    "params": [
      "A1_ch/mode 5",
      "A1_min 2000",
      "A1_max 1000",
      "A1_def 2000"
    ]
  },
  "engine": {
    "id": 70,
    "name": "engine",
    "fields": [
      "voltage uavcan.equipment.power.CircuitStatus voltage",
      "rpm uavcan.equipment.ice.reciprocating.Status engine_speed_rpm",
      "fuel uavcan.equipment.ice.FuelTankStatus available_fuel_volume_percent"
    ]
  },
  "vtol_object": 1
}

«vtol_object» - responsible for selecting the VTOL of the device

Revisions

v4.0

v2.0

The initial release.

the project was released for our internship in Innopolis

Responsible for the project

Our teachers - mentors