aa4cc/flying-ball-in-hoop

Files associated with Flying Ball and Hoop model we developed at FEE CTU in Prague.
98 Downloads
Updated 19 May 2021

Here, you can find all the files associated we Flying Ball and Hoop model we developed at Czech Technical University in Prague. You can find CAD files of all the components, simulation models in Simulink, trajectory optimization codes, controllers solving various tasks implemented in Simulink and many other things.
Hoop and ball model is, as the name suggests, a model consisting of a ball and hoop. The ball can freely rotate in the hoop, and the hoop is attached to a motor which allows us to exert a torque on the hoop. This model is used for demonstration and teaching of linear control theory where the goal is to damp the undesired oscillations of the ball. In other words, the goal is to calculate a torque acting against the oscillations based on the measured position of the ball.

Our improved version of Ball and Hoop model is shown in the figure below. In addition to the classical task of damping oscillations, it also allows some more challenging tasks like, for instance, Loop The Loop task. For more details see our paper describing two such tasks in detail [1].

Please bear in mind, that the project is still a work in progress and thus the M-files and Simulink schemes will get better over time. If you find yourself in doubts, why certain part are implemented the way they are, do not hesitate to contact me.

[1] M. Gurtner and J. Zemánek, “Ball in double hoop: demonstration model for numerical optimal control *,” IFAC-PapersOnLine, vol. 50, no. 1, pp. 2379–2384, Jul. 2017.

Cite As

Martin Gurtner (2024). aa4cc/flying-ball-in-hoop (https://github.com/aa4cc/flying-ball-in-hoop), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2017a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Modeling in Help Center and MATLAB Answers
Communities

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

m

m/calib

m/calib/vgg

m/control/downPos

m/control/getItUp

m/control/trajStab

m/control/upPos

m/estim

m/identification/Copy_of_exp03_prbs

m/identification/Copy_of_exp03_prbs/vgg

m/identification/exp01

m/identification/exp01/vgg

m/identification/exp02_prbs

m/identification/exp02_prbs/vgg

m/identification/exp03_prbs

m/identification/exp03_prbs/vgg

m/raspi/sobjects/Odrive

m/tmp

m/trajOptim

m/trajOptim/costAndConstrFunctions

m/utils

model

m/calib

m/control/downPos/real_rpi

m/control/getItUp/real_rpi

m/control/getItUp/simul

m/control/trajStab/real_rpi

m/control/trajStab/simul

m/control/upPos/real_rpi

m/estim

m/hybridModel

m/identification/Copy_of_exp03_prbs

m/identification/exp01

m/identification/exp02_prbs

m/identification/exp03_prbs

m/raspi/sobjects

Versions that use the GitHub default branch cannot be downloaded

Version Published Release Notes
1.0.0.0

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.