Professional Documents
Culture Documents
Simulation Assignment-1
Simulation Assignment-1
Simulation Assignment-1
Aeronautical Informatics
Contact Person:
apl. Prof. Dr.-Ing. habil. Umut Durak
WiSe 21/22
Announced: 12.11.2021
Deadline: 26.11.2021
Assignment 1
𝐅(𝑡) = 𝑀𝑥(𝑡) ̈
where F is the force vector in three directions, M is the mass of the object,
and 𝑥̈ is the second derivative of x with respect to time (i.e., the acceleration).
The versions of these equations of motion that affect orientation use torque,
the rotational version of force. It is again a three-element vector as a function
of time, representing the net rotational force on an object.
𝐓(𝑡) = 𝐼𝜃(𝑡) ̈
where T is the torque vector in three axes and I is the moment of inertia of
the object.
Using these equations, if you know the initial orientation and initial rotational
velocity of an object and the torques on the object in all three axes as a
function of time, you can determine the rotational acceleration, velocity, and
orientation of the object at any time. Often, we can simplify these equations
by reducing the number of dimensions that are considered. In general, such a
simplification is called a model-order reduction.
input a continuous time signal Ty, the torque around the y axis (which causes
changes in yaw). This torque is the sum of the torque caused by the main
rotor and that caused by the tail rotor. When these are perfectly balanced, that
sum is zero. The output of our system will be the angular velocity 𝜃̈ and yaw
𝜃 around the y axis.
𝜃̈𝑦 = 𝑇𝑦 (𝑡)/𝐼𝑦𝑦
Please write a simulation in C++ using the above formula to calculate the yaw
of a helicopter for 10 seconds with the following input, parameter and initial
state specification.
Please provide your source files, a make file with a build and run target, and a
Markdown document or an attached PDF.
1. The Code and its associated makefile should be well documented. Please
ensure that the code runs with the right output.
2. A design document supporting your code. It should explain the rationale
behind your work and should make the code easier to understand for us.
You may use diagrams to supplement your code in this document. It
should also contain the output of your program.
3. Please add the files to git repo and send only the link to your repo to
ahmad.naja@tu-clausthal.de with the subject Simulation Engineering
Assignment 1 along with your name and enrollment number.
Contact Person:
apl. Prof. Dr.-Ing. habil. Umut Durak
WiSe 21/22
Announced: 26.11.2021
Deadline: 10.12.2021
Assignment 2
The outputs produced by this machine are sigG to turn on the green light,
sigY to change the light to yellow, and sigR to change the light to red.
Please write a simulation in Python using the above formula to simulate the
traffic light for 200 seconds with a scenario where a pedestrian is present at
70. second.
.
Seite 2
Please follow the following steps. The git repo should contain your code and
an associated file (markdown or PDF).
1. The Code should be well documented. Please ensure that the code runs
with the right output.
2. A design document supporting your code. It should explain the rationale
behind your work and should make the code easier to understand for us.
You may use diagrams to supplement your code in this document. It
should also contain the output of your program.
3. Please add the files to git repo and send only the link to your repo to
ahmad.naja@tu-clausthal.de with the subject Simulation Engineering
Assignment 2 along with your name and enrollment number.
Seite 3
Contact Person:
apl. Prof. Dr.-Ing. habil. Umut Durak
WiSe 21/22
Announced: 17.12.2021
Deadline: 21.01.2022
Assignment 3
Consider the above figure depicting a system comprising two tanks containing
water. Each tank is leaking at a constant rate. Water is added at a constant rate
to the system through a hose, which at any point in time is filling either one
tank or the other. It is assumed that the hose can switch between the tanks
instantaneously. For 𝑖 ∈ {1,2}, let 𝑥𝑖 denote the volume of water in Tank i and
Visitors Address:
𝑣𝑖 > 0 denote the constant flow of water out of Tank i. Let w denote the
constant flow of water into the system. The objective is to keep the water Building D5
volumes above 𝑟1 and 𝑟2 , respectively, assuming that the water volumes are Albrecht-von-Groddeck-Str. 7
Room 202a
above 𝑟1 and 𝑟2 initially. This is to be achieved by a controller that switches the D-38678 Clausthal-Zellerfeld
inflow to Tank 1 whenever 𝑥1 (𝑡) ≤ 𝑟1 (𝑡) and to Tank 2 whenever 𝑥2 (𝑡) ≤
𝑟2 (𝑡)
Seite 2
Please provide your model files, your Plot, and a PDF document with
additional explanation (including output graph) in a zip file. Please send the
zip file to ahmad.naja@tu-clausthal.de.
Hint: Please read the following document for help (especially chapter 6)
https://ptolemy.berkeley.edu/books/Systems/PtolemyII_DigitalV1_02.pdf
This assignment uses a tool called Plotemy II. You can install it using the link
https://ptolemy.berkeley.edu/ptolemyII/tutorial.htm.
Seite 3
Contact Person:
apl. Prof. Dr.-Ing. habil. Umut Durak
WiSe 21/22
Announced: 04.02.2022
Deadline: 18.02.2022
Assignment 4
For this assignment, we will work with Ubuntu 18.04 and ROS Melodic Morenia. We
highly recommend you use a virtual machine and the provided image that already
contains a preinstalled environment. If you wish to install it manually, please install
ROS Melodic with Gazebo 9.
http://wiki.ros.org/melodic/Installation/Ubuntu (Please use Full Desktop Install)
http://gazebosim.org/tutorials?tut=install_ubuntu&ver=9.0&cat=install
To run the provided image, you need the VMware Workstation free player(windows)
or VMware fusion (Mac). Please follow the given instructions to download and install
the software from VMware. We recommend you have at least 20GB of available disk
space on your computer to run the virtual machine.
Download the zipped folder “Ubuntu_18_04_ROS_Course.zip” using the link
below
( https://polybox.ethz.ch/index.php/s/iSwkLBhRJNKuv8a) (~ 5.6 GB) from polybox
and extract it.
Start Up Virtual Machine
● Open VMware Workstation
● Open file Ubuntu_18_04_ROS_Course.vmx in the downloaded folder
Start the virtual machine with “Power on this virtual machine” or “Start up this guest
operating system”. Important! If it is the first time you are using an virtual machine Visitors Address:
on your laptop, there might be an error message that tells you that “This host
Building D5
supports Intel VT-x, but Intel VT-x is disabled”. The Intel Virtual Technology Albrecht-von-Groddeck-Str. 7
(Intel VT) has to be enabled in your BIOS (or UEFI). You will have to restart the Room 202a
D-38678 Clausthal-Zellerfeld
computer and press either Enter, F1, F10, or DEL to go to BIOS settings (depending
on your PC manufacturer). Under Security -> System Security you will find the
option to enable VT. Some more explanations can be found here.
To login under Ubuntu use the provided account ROS Course:
Password: student
Please run the following commands. The workspace is already setup for you. The
default keyboard is German. You can change it to English using the top right
section of the desktop. Before proceeding further make sure you understand the
concepts from the “Intro to Gazebo” session.
Seite 2
Task1:
• Build a simple vehicle model Using Gazebo Model Editor. The vehicle
should have Chassis, Wheels, joints between each wheel and the chassis.
• Add a depth camera sensor to the car to detect objects in front of the car (It
is already installed, just add it from the model database).
• Add "libFollowerPlugin.so" plugin to enhance the model with some
autonomy.
• Insert a box in front of the vehicle, then run the Model. The vehicle is
expected to move slowly towards the box.
Links to use:
http://gazebosim.org/tutorials?cat=guided_b&tut=guided_b3
Task2:
• Creating an SDF model of an HDL-32 sensor. The sensor has:
o a base cylinder and top cylinder, where the top cylinder spins, and
o a set of laser rays oriented in the vertical fan. Just follow the link to
create this sensor:
http://gazebosim.org/tutorials?cat=guided_i&tut=guided_i1
• Use the created car in task1 with your HDL-32 sensor. Make a simple
scenario like illustrated in the image below (the car moves through the rays).
Run the model and visualize the sensors data (camera and HDL-32) using
Gazebo's topic visualizer.
Links to use:
http://gazebosim.org/tutorials?cat=guided_i&tut=guided_i3
1. Please submit the model files and three screenshots from different angles
2. Please add the files to git repo and send only the link to your repo to
ahmad.naja@tu-clausthal.de with the subject Simulation Engineering
Assignment 4 along with your name and enrollment number.