Predefined Vehicle Models - AIMotionLab-SZTAKI/AIMotionLab-Virtual GitHub Wiki

The Python class of a simulated object determines how the object will behave during simulation. They are generally subclasses of the MovingObject base class that provides functionalities common to all moving objects and some tools to attach controllers and trajectories to a vehicle.

Drone

All the drone types can be descended from the Drone class. It would be more accurate to call this class quadcopter, because it only supports 4-rotor drones for now. This class does everything that all drones have in common such as referencing the four rotor actuators, the various sensors, implementing the update() method, and providing several utility methods, for example one that sets the control input, one that calculates the input matrix, etc.

Crazyflie, Bumblebee

Crazyflie and Bumblebee are direct subclasses of the Drone class that is the subclass of MovingObject. The can be found in the classes/drone.py file. The only thing that they add to the Drone class, is that they calculate their input matrix with their own parameters (propeller positions and motor parameter). The drone parameters are also stored in the classes/drone.py file in CRAZYFLIE_PROP and BUMBLEBEE_PROP enums.

DroneHooked, BumblebeeHooked

This class is also the subclass of Drone. It adds the functionalities that handle the hook hanging off the drone, such as referencing the sensors attached to the hook and adding the extra information to its state variable.

BumblebeeHooked is the subclass of DroneHooked not Bumblebee because two hooked drones have more properties in common than a hookless drone and a hooked drone.

Car

The Car class can be the base class for all four-wheeled ground vehicles. It consists of two front wheels and two rear wheels. The front wheels have two actuators each: one for steering, and one for rolling. The rear wheels only have one actuator each for rolling. Currently, the only type of simulated car is the Fleet1Tenth.

Fleet1Tenth

The parameters of the car (such as friction, inertia of the wheels, damping of the joints, actuator feedback gains, etc.) were determined based on measurements on the real car and experimentation in the simulator to match the real parameters.