MECH 415 Project Description #1
This project involves the development of a significant C++ programming application related to the material in this course.
Students are encouraged to develop an application related to their previous work or current interests in mechanical/industrial engineering.
Groups of one or two students are allowed.
This project is a good programming application that will apply many of the programming topics covered in this course.
The student will develop an object oriented simulation of a mechanical/industrial engineering system. This can include:
a) Vehicle (aerospace, automotive, etc.)
b) Mechatronic system (robot, automation system, control system, etc.).
c) Mechanism (multibody system, process, etc.)
In the next couple weeks you need to form a group and to pick a specific mechanical system.
The project will have the following key components:
a) A dynamic model (3 dimensional, dynamic or kinematic, ODEs).
b) C++ objects to represent each part of the mechanical system
c) An environment which is itself an object.
d) A world C++ object to represent the overall system.
e) Member functions to draw the object in 3D using DirectX, simulate the system, provide user input (keyboard, etc.), change the viewing perspective, etc.
f) A program using the C++ objects above to simulate the system with interactive user input and multiple viewing perspectives.
g) A program that simulates multiple mechanical systems (vehicle formation, etc.). The coordination of the systems can be through user input, predetermined trajectories, or controlled.
The program should make use of inheritance and virtual functions where possible.
I recommend starting with a simple model/system (maybe 2D, kinematic) and later increasing it’s level of complexity time permitting.
The following components are optional:
Networking (using TCP/IP)
Real-time simulation (using RTX)
Control and/or trajectory planning
Collaboration (of multiple mechanical systems)
Optimization and other numerical methods
Other programming topics (ask the instructor for approval)
Some assignments will be given during the term which deal with some aspects of the project.
A report of 7-10 pages is required. More details will be indicated later in the term.
A brief presentation in my office is also required followed by a question period.
The final exam will involve the project and other topics covered in the lectures. There will be a 3 hour written component and perhaps a programming component in a computer lab. Working hard on the project and careful following of the lecture material should be good preparation for the final exam. More details will be indicated later in the term.