Dynamics is the branch of mechanics that deals with the effect that forces have on the motion of objects. In engineering, particularly in computer engineering, mechatronics, and robotics, understanding dynamics is crucial for designing systems that interact with the physical world. From autonomous vehicles to robotic manipulators, dynamics principles govern how machines move and respond to forces.
1. Newton’s Laws of Motion in Engineering
Newton’s three laws form the foundation of classical mechanics and are essential for understanding how engineered systems behave under various forces.
1.1 First Law: The Law of Inertia
Statement: An object at rest stays at rest, and an object in motion continues in motion with the same speed and in the same direction unless acted upon by an unbalanced external force.
Engineering Application: In computer-controlled systems, this law explains why motors must overcome inertia to start movement. For instance, a robotic arm at rest requires a startup torque to begin motion, and once moving, it will continue until braking forces are applied.
1.2 Second Law: F = ma
Statement: The acceleration of an object is directly proportional to the net force acting on the object and inversely proportional to its mass.
Mathematical Form: ΣF = ma, where ΣF is the vector sum of all forces, m is mass, and a is acceleration.
Engineering Application: This law is critical in motion control algorithms. When programming a drone’s flight controller, engineers must calculate the thrust force needed to achieve desired acceleration based on the drone’s mass and payload.
1.3 Third Law: Action-Reaction
Statement: For every action, there is an equal and opposite reaction.
Engineering Application: In robotics, when a robotic gripper exerts force on an object, the object exerts an equal and opposite force on the gripper. This principle is crucial for force feedback sensors and haptic systems.
2. Force Analysis and Free Body Diagrams
Free body diagrams (FBDs) are essential tools for visualizing and analyzing forces acting on an object. In engineering design, FBDs help identify all forces and calculate net forces for motion prediction.
2.1 Steps to Create a Free Body Diagram
- Isolate the object of interest from its surroundings
- Represent the object as a point or simplified shape
- Draw all external forces acting on the object as vectors
- Label each force with its magnitude and direction
- Establish a coordinate system for analysis
2.2 Common Forces in Engineering Systems
| Force Type | Symbol | Direction | Engineering Example |
|---|---|---|---|
| Weight | W or mg | Downward (toward Earth’s center) | Payload on a drone |
| Normal Force | N or FN | Perpendicular to contact surface | Robot wheel on ground |
| Friction | f or Ff | Opposite to motion direction | Motor shaft bearing resistance |
| Tension | T | Along cable/rope | Cable-driven robotic system |
| Applied Force | Fapp | Direction of application | Motor thrust, actuator force |
| Air Resistance | Fd | Opposite to velocity | Drag on autonomous vehicle |
3. Friction, Tension, and Normal Forces
3.1 Friction Forces
Friction is a force that opposes motion between surfaces in contact. Understanding friction is critical in robotics for grip control, motion planning, and energy efficiency.
Static Friction (fs): Prevents objects from starting to move. Maximum static friction: fs,max = μsN, where μs is the coefficient of static friction.
Kinetic Friction (fk): Acts on moving objects. fk = μkN, where μk is the coefficient of kinetic friction (typically μk < μs).
3.2 Normal Forces
The normal force is the perpendicular contact force between surfaces. It adjusts to prevent objects from penetrating surfaces and is crucial for calculating friction forces.
3.3 Tension Forces
Tension is the pulling force transmitted through cables, ropes, or strings. In cable-driven robots and pulley systems, tension forces enable force transmission over distances.
4. Dynamics in Robotics and Mechatronics
Modern robotic systems rely heavily on dynamics principles for motion control, trajectory planning, and force interaction with the environment.
4.1 Robotic Manipulator Dynamics
Robotic arms must account for multiple forces: gravitational loads, inertial forces during acceleration, joint friction, and payload forces. The equations of motion for multi-link robots involve complex dynamics equations derived from Lagrangian or Newton-Euler formulations.
4.2 Mobile Robot Dynamics
Wheeled and tracked robots must overcome friction, navigate slopes, and handle dynamic obstacles. The traction force from wheels must exceed resistance forces for movement to occur.
4.3 Aerial Vehicle Dynamics
Drones and UAVs balance thrust forces, gravitational weight, air resistance, and control torques. The dynamics involve six degrees of freedom (three translational, three rotational) requiring sophisticated control algorithms.
5. Worked Examples with Step-by-Step Solutions
Example 1: Robot on Horizontal Surface
Problem: A mobile robot with mass 15 kg moves on a horizontal floor. The coefficient of kinetic friction is 0.25. If a motor applies a horizontal force of 50 N, what is the robot’s acceleration?
Solution:
Step 1: Draw free body diagram identifying all forces:
- Weight: W = mg = 15 kg × 9.8 m/s² = 147 N (downward)
- Normal force: N (upward)
- Applied force: Fapp = 50 N (horizontal)
- Friction: fk (opposite to motion)
Step 2: Apply equilibrium in vertical direction (no vertical acceleration):
ΣFy = 0
N – W = 0
N = 147 N
Step 3: Calculate friction force:
fk = μkN = 0.25 × 147 N = 36.75 N
Step 4: Apply Newton’s second law in horizontal direction:
ΣFx = ma
Fapp – fk = ma
50 N – 36.75 N = 15 kg × a
a = 13.25/15 = 0.883 m/s²
Answer: The robot accelerates at 0.883 m/s²
Example 2: Drone Vertical Acceleration
Problem: A quadcopter drone has a total mass of 2.5 kg (including payload). What total thrust force must the four rotors produce for the drone to accelerate upward at 3 m/s²?
Solution:
Step 1: Identify forces:
- Weight: W = mg = 2.5 kg × 9.8 m/s² = 24.5 N (downward)
- Thrust: T (upward)
Step 2: Apply Newton’s second law (upward is positive):
ΣF = ma
T – W = ma
T = ma + W
T = 2.5 kg × 3 m/s² + 24.5 N
T = 7.5 N + 24.5 N = 32 N
Answer: The rotors must produce a total thrust of 32 N
Example 3: Robot Arm Lifting Load
Problem: A vertical cable in a robotic crane system lifts a 50 kg component with an upward acceleration of 2 m/s². What is the tension in the cable?
Solution:
Step 1: Identify forces on the component:
- Weight: W = 50 kg × 9.8 m/s² = 490 N (downward)
- Tension: T (upward)
Step 2: Apply Newton’s second law (upward positive):
ΣF = ma
T – W = ma
T = m(a + g)
T = 50 kg × (2 m/s² + 9.8 m/s²)
T = 50 kg × 11.8 m/s² = 590 N
Answer: The cable tension is 590 N
Example 4: Robot on Inclined Surface
Problem: A 20 kg tracked robot climbs a 30° incline. The coefficient of kinetic friction is 0.15. What force parallel to the incline must the motors provide for the robot to move up at constant velocity?
Solution:
Step 1: Choose coordinate system aligned with incline (x-axis parallel to incline, y-axis perpendicular)
Step 2: Resolve weight into components:
Wx = mg sin(30°) = 20 kg × 9.8 m/s² × 0.5 = 98 N (down the incline)
Wy = mg cos(30°) = 20 kg × 9.8 m/s² × 0.866 = 169.7 N (into incline)
Step 3: Find normal force (perpendicular equilibrium):
N = Wy = 169.7 N
Step 4: Calculate friction:
fk = μkN = 0.15 × 169.7 N = 25.5 N (down the incline)
Step 5: For constant velocity, acceleration = 0:
ΣFx = 0
Fapp – Wx – fk = 0
Fapp = 98 N + 25.5 N = 123.5 N
Answer: The motors must provide 123.5 N parallel to the incline
Example 5: Two Connected Robots
Problem: Two robots are connected by a light cable. Robot A (mass 10 kg) pulls robot B (mass 15 kg) across a frictionless horizontal surface with a force of 75 N. Find: (a) the acceleration of the system, and (b) the tension in the connecting cable.
Solution:
Part (a) – System acceleration:
Step 1: Consider both robots as one system:
Total mass = mA + mB = 10 kg + 15 kg = 25 kg
Step 2: Apply Newton’s second law to system:
ΣF = (mA + mB)a
75 N = 25 kg × a
a = 3 m/s²
Part (b) – Cable tension:
Step 3: Isolate robot B and apply Newton’s second law:
ΣF = mBa
T = 15 kg × 3 m/s² = 45 N
Answer: (a) System accelerates at 3 m/s², (b) Cable tension is 45 N
Example 6: Circular Motion – Robotic Centrifuge
Problem: A sample holder in a laboratory centrifuge robot rotates in a horizontal circle of radius 0.3 m. The 0.5 kg sample completes one revolution every 0.8 seconds. What centripetal force is required?
Solution:
Step 1: Calculate angular velocity:
ω = 2π/T = 2π/0.8 s = 7.85 rad/s
Step 2: Calculate tangential velocity:
v = ωr = 7.85 rad/s × 0.3 m = 2.36 m/s
Step 3: Calculate centripetal acceleration:
ac = v²/r = (2.36 m/s)²/0.3 m = 18.5 m/s²
Step 4: Calculate centripetal force:
Fc = mac = 0.5 kg × 18.5 m/s² = 9.25 N
Answer: The required centripetal force is 9.25 N
6. Programming Simulations for Dynamics
Computer simulations allow engineers to model dynamic systems, predict behavior, and optimize control algorithms before physical implementation.
6.1 Simple Motion Simulation with Friction
import numpy as np
import matplotlib.pyplot as plt
# Simulation parameters
dt = 0.01 # time step (seconds)
t_max = 10 # simulation duration (seconds)
time = np.arange(0, t_max, dt)
# Robot parameters
mass = 15.0 # kg
mu_k = 0.25 # coefficient of kinetic friction
F_applied = 50.0 # applied force (N)
g = 9.8 # gravity (m/s^2)
# Calculate friction force
N = mass * g # normal force
f_friction = mu_k * N
# Net force and acceleration
F_net = F_applied - f_friction
acceleration = F_net / mass
# Initialize arrays
velocity = np.zeros(len(time))
position = np.zeros(len(time))
# Numerical integration using Euler method
for i in range(1, len(time)):
velocity[i] = velocity[i-1] + acceleration * dt
position[i] = position[i-1] + velocity[i] * dt
# Plotting results
fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize=(10, 8))
ax1.plot(time, position)
ax1.set_ylabel('Position (m)')
ax1.set_title('Robot Motion Simulation with Friction')
ax1.grid(True)
ax2.plot(time, velocity)
ax2.set_ylabel('Velocity (m/s)')
ax2.grid(True)
ax3.plot(time, [acceleration]*len(time))
ax3.set_ylabel('Acceleration (m/s²)')
ax3.set_xlabel('Time (s)')
ax3.grid(True)
plt.tight_layout()
plt.show()
print(f"Net Force: {F_net:.2f} N")
print(f"Acceleration: {acceleration:.2f} m/s²")
print(f"Final Velocity: {velocity[-1]:.2f} m/s")
print(f"Final Position: {position[-1]:.2f} m")
6.2 Drone Vertical Motion Simulation
import numpy as np
import matplotlib.pyplot as plt
# Simulation parameters
dt = 0.01
t_max = 5
time = np.arange(0, t_max, dt)
# Drone parameters
mass = 2.5 # kg
g = 9.8 # m/s^2
thrust = 32.0 # N (from Example 2)
# Initialize arrays
altitude = np.zeros(len(time))
velocity = np.zeros(len(time))
acceleration = np.zeros(len(time))
# Simulation loop
for i in range(1, len(time)):
# Net force and acceleration
F_net = thrust - mass * g
acceleration[i] = F_net / mass
# Update velocity and position
velocity[i] = velocity[i-1] + acceleration[i] * dt
altitude[i] = altitude[i-1] + velocity[i] * dt
# Plotting
fig, (ax1, ax2, ax3) = plt.subplots(3, 1, figsize=(10, 8))
ax1.plot(time, altitude)
ax1.set_ylabel('Altitude (m)')
ax1.set_title('Drone Vertical Ascent Simulation')
ax1.grid(True)
ax2.plot(time, velocity)
ax2.set_ylabel('Velocity (m/s)')
ax2.grid(True)
ax3.plot(time, acceleration)
ax3.set_ylabel('Acceleration (m/s²)')
ax3.set_xlabel('Time (s)')
ax3.grid(True)
plt.tight_layout()
plt.show()
print(f"Final altitude: {altitude[-1]:.2f} m")
print(f"Final velocity: {velocity[-1]:.2f} m/s")
6.3 Robot on Incline Simulation
import numpy as np
import matplotlib.pyplot as plt
def simulate_robot_incline(mass, angle_deg, mu_k, F_applied, t_max=10, dt=0.01):
"""
Simulate robot motion on an inclined plane.
Parameters:
- mass: robot mass (kg)
- angle_deg: incline angle (degrees)
- mu_k: coefficient of kinetic friction
- F_applied: applied force parallel to incline (N)
- t_max: simulation time (s)
- dt: time step (s)
"""
g = 9.8
angle_rad = np.radians(angle_deg)
time = np.arange(0, t_max, dt)
# Force components
W_parallel = mass * g * np.sin(angle_rad)
W_perpendicular = mass * g * np.cos(angle_rad)
N = W_perpendicular
f_friction = mu_k * N
# Net force and acceleration
F_net = F_applied - W_parallel - f_friction
acceleration = F_net / mass
# Initialize arrays
velocity = np.zeros(len(time))
position = np.zeros(len(time))
# Integration
for i in range(1, len(time)):
if velocity[i-1] < 0 and F_applied < W_parallel + f_friction:
# Robot has stopped and won't move again
velocity[i] = 0
position[i] = position[i-1]
else:
velocity[i] = velocity[i-1] + acceleration * dt
position[i] = position[i-1] + velocity[i] * dt
# Plotting
fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 6))
ax1.plot(time, position)
ax1.set_ylabel('Position along incline (m)')
ax1.set_title(f'Robot on {angle_deg}° Incline')
ax1.grid(True)
ax2.plot(time, velocity)
ax2.set_ylabel('Velocity (m/s)')
ax2.set_xlabel('Time (s)')
ax2.grid(True)
plt.tight_layout()
plt.show()
return time, position, velocity, acceleration
# Run simulation with parameters from Example 4
time, pos, vel, acc = simulate_robot_incline(
mass=20,
angle_deg=30,
mu_k=0.15,
F_applied=123.5
)
print(f"Acceleration: {acc:.3f} m/s² (should be ~0 for constant velocity)")
6.4 Two-Body System Simulation
import numpy as np
import matplotlib.pyplot as plt
class TwoRobotSystem:
def __init__(self, m1, m2, F_applied, mu_k=0):
self.m1 = m1 # mass of robot A
self.m2 = m2 # mass of robot B
self.F_applied = F_applied
self.mu_k = mu_k
self.g = 9.8
def calculate_dynamics(self):
"""Calculate acceleration and cable tension"""
# System acceleration
total_mass = self.m1 + self.m2
self.acceleration = self.F_applied / total_mass
# Cable tension (force on robot B)
self.tension = self.m2 * self.acceleration
return self.acceleration, self.tension
def simulate(self, t_max=5, dt=0.01):
"""Run time-domain simulation"""
time = np.arange(0, t_max, dt)
# Calculate dynamics
acc, tension = self.calculate_dynamics()
# Initialize arrays
velocity = np.zeros(len(time))
position = np.zeros(len(time))
# Integration
for i in range(1, len(time)):
velocity[i] = velocity[i-1] + acc * dt
position[i] = position[i-1] + velocity[i] * dt
return time, position, velocity
def plot_results(self, time, position, velocity):
"""Plot simulation results"""
fig, (ax1, ax2) = plt.subplots(2, 1, figsize=(10, 6))
ax1.plot(time, position, 'b-', linewidth=2)
ax1.set_ylabel('Position (m)')
ax1.set_title('Two Connected Robots System')
ax1.grid(True)
ax2.plot(time, velocity, 'r-', linewidth=2)
ax2.set_ylabel('Velocity (m/s)')
ax2.set_xlabel('Time (s)')
ax2.grid(True)
plt.tight_layout()
plt.show()
# Example from Example 5
system = TwoRobotSystem(m1=10, m2=15, F_applied=75)
acc, tension = system.calculate_dynamics()
print(f"System acceleration: {acc:.2f} m/s²")
print(f"Cable tension: {tension:.2f} N")
# Run simulation
time, pos, vel = system.simulate()
system.plot_results(time, pos, vel)
7. Real-World Case Studies
7.1 Autonomous Vehicle Braking System
Application: Self-driving cars must calculate stopping distances based on dynamics principles to ensure safe braking.
Dynamics Analysis:
- Given: Vehicle mass = 1500 kg, initial velocity = 20 m/s (72 km/h), coefficient of friction (tire-road) = 0.7
- Maximum braking force: fmax = μN = μmg = 0.7 × 1500 × 9.8 = 10,290 N
- Maximum deceleration: a = fmax/m = 10,290/1500 = 6.86 m/s²
- Stopping distance: Using v² = v₀² + 2as, where v = 0:
s = -v₀²/(2a) = -(20)²/(2×(-6.86)) = 29.2 m - Stopping time: t = (v - v₀)/a = (0 - 20)/(-6.86) = 2.92 s
Engineering Impact: Autonomous vehicle control systems use these calculations in real-time to maintain safe following distances and execute emergency stops.
7.2 Quadcopter Drone Stability Control
Application: Commercial drones for package delivery must maintain stable flight under varying payload conditions.
Dynamics Challenge: A delivery drone's mass changes when it picks up or releases packages. The flight controller must adjust thrust dynamically.
Analysis:
- Empty drone mass: 2.0 kg
- Package mass: 1.5 kg
- Hover thrust (empty): T₁ = m₁g = 2.0 × 9.8 = 19.6 N
- Hover thrust (loaded): T₂ = (m₁ + m₂)g = 3.5 × 9.8 = 34.3 N
- Thrust increase required: ΔT = 14.7 N (75% increase)
Control Strategy: The flight controller uses IMU (Inertial Measurement Unit) sensors to detect altitude changes and adjusts motor speeds via PWM signals to maintain desired altitude despite mass changes.
7.3 Industrial Robotic Arm Pick-and-Place
Application: Manufacturing robots must accurately manipulate objects of varying masses.
Scenario: A 6-DOF robotic arm moves a component from position A to position B in 2 seconds.
Dynamics Considerations:
| Phase | Forces Involved | Control Requirement |
|---|---|---|
| Acceleration (0-0.5s) | Inertial forces, gravity, joint torques | High torque to overcome inertia |
| Constant velocity (0.5-1.5s) | Gravity compensation | Maintain trajectory, overcome friction |
| Deceleration (1.5-2s) | Braking torques, gravity | Precise position control |
Example Calculation: For a 5 kg payload accelerated at 2 m/s²:
- Force required (horizontal motion): F = ma = 5 kg × 2 m/s² = 10 N
- Additional force for gravity: Fg = 5 kg × 9.8 m/s² = 49 N (vertical component)
- Motor torque at joint (assuming 0.5m arm length): τ = F × r = 10 N × 0.5 m = 5 Nm
Engineering Solution: Modern robotic arms use force/torque sensors and model-based control to compensate for dynamic effects in real-time, ensuring smooth and accurate motion.
8. Practice Problems with Solutions
Problem 1: AGV Acceleration
Question: An Automated Guided Vehicle (AGV) with mass 200 kg accelerates from rest to 2 m/s in 4 seconds on a horizontal factory floor. If the coefficient of friction is 0.1, what driving force must the motors provide?
Solution:
Acceleration: a = Δv/Δt = 2 m/s / 4 s = 0.5 m/s²
Friction force: f = μmg = 0.1 × 200 × 9.8 = 196 N
Net force needed: Fnet = ma = 200 × 0.5 = 100 N
Applied force: Fapp = Fnet + f = 100 + 196 = 296 N
Problem 2: Elevator Robot System
Question: A robot in an elevator has mass 30 kg. The elevator accelerates upward at 1.5 m/s². What normal force does the elevator floor exert on the robot?
Solution:
Weight: W = mg = 30 × 9.8 = 294 N
Using Newton's second law (upward positive):
N - W = ma
N = ma + W = 30 × 1.5 + 294 = 45 + 294 = 339 N
Problem 3: Banked Turn for Autonomous Vehicle
Question: An autonomous car (mass 1200 kg) navigates a circular turn of radius 50 m at 15 m/s. What centripetal force is required?
Solution:
Centripetal acceleration: ac = v²/r = (15)²/50 = 4.5 m/s²
Centripetal force: Fc = mac = 1200 × 4.5 = 5400 N
Problem 4: Pulley System in Robot
Question: Two masses are connected by a cable over a frictionless pulley. Mass A (10 kg) hangs vertically, and mass B (15 kg) sits on a horizontal frictionless surface. When released, what is the system's acceleration?
Solution:
For mass A (downward positive): WA - T = mAa → 98 - T = 10a
For mass B (rightward positive): T = mBa → T = 15a
Substituting: 98 - 15a = 10a → 98 = 25a → a = 3.92 m/s²
Tension: T = 15 × 3.92 = 58.8 N
Problem 5: Drone Wind Resistance
Question: A drone (mass 3 kg) hovers in place against a horizontal wind force of 8 N. The drone tilts to angle θ from vertical to balance forces. What thrust magnitude is required, and what is the tilt angle?
Solution:
Weight: W = 3 × 9.8 = 29.4 N
For equilibrium:
Vertical: T cos(θ) = W → T cos(θ) = 29.4
Horizontal: T sin(θ) = 8
Dividing: tan(θ) = 8/29.4 = 0.272 → θ = 15.2°
Thrust: T = W/cos(θ) = 29.4/cos(15.2°) = 30.5 N
9. Comparison Tables
9.1 Static vs Kinetic Friction
| Property | Static Friction | Kinetic Friction |
|---|---|---|
| Occurs when | Object is stationary | Object is moving |
| Force equation | fs ≤ μsN | fk = μkN |
| Coefficient magnitude | Larger (μs > μk) | Smaller |
| Force behavior | Variable (0 to max) | Constant for given N |
| Robot application | Prevents wheel slippage | Opposes robot motion |
| Typical values | 0.5 - 1.5 | 0.3 - 1.0 |
9.2 Different Motion Scenarios
| Scenario | Net Force | Acceleration | Velocity | Example |
|---|---|---|---|---|
| Rest | Zero | Zero | Zero | Parked robot |
| Constant velocity | Zero | Zero | Constant | Robot cruising |
| Accelerating | Non-zero | Positive | Increasing | Robot speeding up |
| Decelerating | Opposite to motion | Negative | Decreasing | Robot braking |
| Free fall | Weight only | g (9.8 m/s²) | Increasing downward | Dropped object |
9.3 Force Characteristics in Robotic Systems
| Force Type | Controllable | Direction | Magnitude Range | Sensing Method |
|---|---|---|---|---|
| Motor thrust | Yes | Programmable | 0 to motor limit | Current sensors |
| Weight | No | Downward | mg (constant) | Load cells |
| Friction | Partially | Opposes motion | 0 to μN | Force/torque sensors |
| Normal force | No | Perpendicular to surface | Adjusts automatically | Pressure sensors |
| Air resistance | No | Opposes velocity | Proportional to v² | Airspeed sensors |
10. References
[1] R. C. Hibbeler, Engineering Mechanics: Dynamics, 14th ed. Upper Saddle River, NJ: Prentice Hall, 2016.
[2] J. L. Meriam and L. G. Kraige, Engineering Mechanics: Dynamics, 8th ed. Hoboken, NJ: Wiley, 2015.
[3] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, Robotics: Modelling, Planning and Control. London, UK: Springer, 2009.
[4] J. J. Craig, Introduction to Robotics: Mechanics and Control, 4th ed. Upper Saddle River, NJ: Pearson, 2018.
[5] M. W. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and Control, 2nd ed. Hoboken, NJ: Wiley, 2020.
[6] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics. Cambridge, MA: MIT Press, 2005.
[7] R. Siegwart, I. R. Nourbakhsh, and D. Scaramuzza, Introduction to Autonomous Mobile Robots, 2nd ed. Cambridge, MA: MIT Press, 2011.
[8] IEEE Std 1872-2015, "IEEE Standard Ontologies for Robotics and Automation," IEEE Standards Association, 2015.
[9] P. Corke, Robotics, Vision and Control: Fundamental Algorithms in MATLAB, 2nd ed. Berlin, Germany: Springer, 2017.
[10] K. M. Lynch and F. C. Park, Modern Robotics: Mechanics, Planning, and Control. Cambridge, UK: Cambridge University Press, 2017.
Continue Your Physics Journey
- Kinematics Example - Master motion before studying forces
- Dynamics of Rotation - Extend dynamics to rotational motion
- Fluids and Pressure - Apply dynamics to fluid systems
- Introduction to Differential Equations - Mathematical tools for modeling dynamic systems
- Numerical Methods - Solve complex dynamics problems computationally
