top of page
Projects
MR-3

- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
MR-3 PALLETIZING ROBOT
(click to view)
Design, simulation, and building of a 4-DoF palletizing robot powered by stepper motors. Robotics topics include: forward kinematics, inverse kinematics, trajectory generation and control. Parts are designed in Solidworks and 3D printed. A custom controller is made, featuring digital I/O, ADC, I2C, and UART ports, with the code written in C++. The user programs the robot via a GUI written in C#. It works like an industrial robot: the user can jog it in joint mode, linear mode, and create programs that are stored in memory, choosing the type of trajectory and velocity for each segment.
- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
Press

- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
FIBER REMOVING PRESS
(click to view)
Design and building of a machine for removing steel fibers from ultra-high performance concrete (UHPC). Parts are designed in Solidworks and machined in 6061 T6 aluminum from technical drawings. The tool is moved linearly by a ball-screw connected to a stepper motor with a planetary gearbox. Linear bearings guide the movement. A custom controller is made and code is written in C++ to allow the user to run tests, removing the fiber at very low speeds while measuring instant displacement and force using a load cell. The results are exported to a csv file created inside the microcontroller flash memory.
- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
MR-2

- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
MR-2 PALLETIZING ROBOT
(click to view)
Design, simulation, and building of a 4-DoF palletizer driven by serial bus servos. The robot can be controlled with a teach pendant or code in C++ using its own custom library. The user can create programs that are stored in memory, choosing the movement type (joint or linear) and velocity of each segment. By activating the manual mode, the robot can be manually moved to a desired location. It involves parts design in Solidworks, 3D printing and assembling, forward and inverse kinematics, trajectory generation, and custom PCBs design. It features a pneumatic system with pump, valve, and suction cup.
- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
MR-1

- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
MR-1 ARTICULATED ROBOT
(click to view)
Design, simulation, and building of a 4-DoF robot powered by serial bus servos. The robot can be controlled using its teach pendant or by writing lines of code in C++ using its own custom library. The user can create programs that are stored in memory, choosing the movement type (joint or linear) and velocity of each segment. By activating the manual mode, the user can manually move the robot to a desired location. It involves parts design in Solidworks, 3D printing and assembling, forward and inverse kinematics, and trajectory generation. As a tool, it has a linear electric gripper.
- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
6-dof-robot

6-DoF ROBOT MANIPULATOR
(click to view)
Design, simulion and control of a 6-degrees-of-freedom robot manipulator operated by servo motors. Topics include spatial representation, forward kinematics, inverse kinematics, choosing among multiple solutions, trajectory generation in joint-space (cubic polynomials) and cartesian-space (trapezoidal), control logic implementation to a pick & place task and a glue applying task involving two robots and a conveyor belt in an assembly line. In this project we use three different tools: a regular and a vacuum gripper, and a glue dispenser.
4-dof-robot
- Project explanation
- Multibody model
- Forward kinematics:
-
D-H parameters
-
Transformation matrices
-
Position and orientation
- Simulation​
Part I
- Workspace calc./ representation
- ​Inverse kinematics, including spatial limitations and choosing between multiple solutions.
- Simulation: raw model, chosen solution model, and pick/drop object model.​
Part II
- Velocity propagation:
-
end-effector linear velocity
-
end-effector angular velocity
- Jacobians
- Inverse velocities and inverse Jacobian
- Simulations
Part III
- 3D Path-planning algorithm that also identifies and shows unreachable coordinates.
- Path-following model
- Pick up, path-follow, and drop off object model
- Simulations
Part IV

4-DoF ROBOT MANIPULATOR
(click to view)
Simulation and control of a 4-degrees-of-freedom robot manipulator powered by servo motors. Topics include spatial representation: translation, rotation, and homogeneous transforms, forward kinematics, identifying system limitations, workspace calculation and representation, inverse kinematics and algorithm implementation, choosing pose solutions, jacobian matrices, linear and angular end-effector velocity, path-planning, path-following, and pick & place algorithms.
Rover
- Project explanation
- Multibody model
- Forward kinematics:
-
D-H parameters
-
Transformation matrices
-
Position and orientation
- Simulation​
Part I
- Workspace calc./ representation
- ​Inverse kinematics, including spatial limitations and choosing between multiple solutions.
- Simulation: raw model, chosen solution model, and pick/drop object model.​
Part II
- Velocity propagation:
-
end-effector linear velocity
-
end-effector angular velocity
- Jacobians
- Inverse velocities and inverse Jacobian
- Simulations
Part III
- 3D Path-planning algorithm that also identifies and shows unreachable coordinates.
- Path-following model
- Pick up, path-follow, and drop off object model
- Simulations
Part IV

- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
DIFFERENTIAL DRIVE ROVER
(click to view)
I build and program a 2-wheeled rover using Matlab, Simulink, and Arduino IDE (C++). Topics include deriving kinematic equations, operating dc motors, encoders and servos, PID controllers, path-following algorithms, state machines, image processing (morphological operations, geometric transformations), and TCP/IP Wireless communication. For each task, we simulate the robot's behavior and then implement it in the real-world model.
- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
Drawingrobot
- Configuring Matlab
- Operating DC motors
- Working with encoders
- Angular displacement
- Angular speed
- Moving the robot around
- Operating the forklift
Part I
- Equations of motion
- Simulink model
- Open-loop control
- Inverse kinematics
- Simulation
- Closed-loop speed control
- Controlling through WiFi
Part II
- Closed-loop distance control
- PID controllers implementation
- Troubleshooting
- Trajectory creating function
- Stateflow models
- Path following algorithms
Part III
- Image processing:
→ Morphological structuring
→ Geometric transformation
→ Color threshold
- Localization algorithm
- Pick up and drop object
- Driving with joystick (TCP/IP)
Part IV

DRAWING ROBOT
(click to view)
We build and control a robot that can draw images on a whiteboard using Matlab. Topics include forward and inverse kinematics, Matlab scripts and functions, Matlab app design and communication with the hardware, torque analysis, torque mapping, image processing, linear velocity control, various algorithms to transform pixels into drawable real-world coordinates within a whiteboard, and webcam incorporation: the robot reproduces an image drawn
by the user after taking a snapshot of it.
Motorcycle
- Configuring Matlab
- DC motors/encoders
- Designing two apps to drive the robot
- Coordinates system and positioning
- Forward kinematics
Part I
- Inverse kinematics
- User figure-creating function
- Motor control algorithm
- Drawing user-made figures
- Torque analysis and map
- Defining non-drawable areas on the whiteboard
Part II
- Image processing:
→ RGB and Binary images
→ Morphological operations
→ Creating pixels segments
- Processing different image types
- Designing an intuitive app
Part III
- Image processing algorithms:
→ Pixels to physical coordinates
→ Adapting to our whiteboard
→ Trimming unwanted points
- Drawing images on the board
- Webcam app design: take pictures, process, and draw them
Part IV

SELF-BALANCING MOTORCYCLE
(click to view)
Simulation and building of a motorcycle that can self-balance while standing still and moving. Topics include deriving differential equations using Newton's Laws and Lagrange's equations, state-space representation, full-state feedback control, building multibody models with Simscape, multibody simulation, response analysis, creation of failsafe mechanisms, controller tuning, and troubleshooting.
- Project explanation
- Testing mechanisms in Simulink:​
-
IMU calibration and reading
-
Velocity calc. with Hall Sensor
-
Servo steering logic
-
DC motor control
-
Battery reading
Part I
- System modeling:
-
Newton's Laws
-
Lagrange's Equations
- State-space equation
- Full-state feedback control
- Simulation
- Control tuning
Part II
- Multibody modeling:
-
Simple system
-
Real system
- Multibody dynamics simulation and analysis
- Control implementation and comparison with equations model
Part III
- Real-world model:
-
Implementation
-
Analysis
-
Creating failsafe mechanisms
-
Self-balancing
-
Driving forward and backward
-
Turning
Part IV

QUADCOPTER (in progress...)
We simulate and control a drone propelled by 4 motors. Topics include quadcopter dynamics, roll, pitch, yaw, and thrust control, altitude control, trajectory-planning and trajectory-following algorithms.
bottom of page