MEAM 6200: Advanced Robotics at the University of Pennsylvania is an ongoing graduate-level course dedicated to the theoretical and practical aspects of motion planning, control, and vision for mobile robotics. The course currently emphasizes mathematical foundations, including robot dynamics, nonlinear and linear control, path and trajectory planning, and real-time software implementation. Initial projects involve developing robust control systems, trajectory generation, and optimal path planning algorithms, particularly for quadrotors. Upcoming course modules will incorporate computer vision techniques, camera-based localization, inertial sensing, and advanced perception methods for autonomous navigation.
Project Overview: Developed algorithms for quadrotor modeling, autonomous control, and trajectory planning within simulated 3D environments. Implementations include Dijkstra and A* algorithms for optimal path planning, dynamic trajectory generation using polynomial smoothing, and nonlinear control methods for quadrotor stability and maneuverability.
Once we reach desired results in simulation, we test our system with a real-life "Crazyflie" drone.
Skills learnt:
Robot Dynamics and Modeling:
Developed nonlinear equations of motion using rigid body dynamics.
Defined rotational transformations and angular velocities for quadrotor state representation.
Control Algorithms:
Implemented linear backstepping and nonlinear geometric controllers (based on rotation frames) to stabilize and maneuver the quadrotor.
Tuned feedback controllers for precise trajectory tracking and improved stability.
Optimal Path Planning:
Implemented graph search algorithms (Dijkstra, A*) for 3D obstacle avoidance.
Experimented with varying grid resolutions and safety margins to optimize path feasibility and computation speed.
Trajectory Generation and Optimization:
Developed minimum jerk and snap polynomial trajectory smoothing to ensure dynamically feasible quadrotor paths.
Addressed issues of sharp turns and discretization errors through trajectory refinement.
Simulation and Lab Testing:
Simulating environments with varying complexities to validate control and planning algorithms.
Implemented our code on the drone, fine-tuning our control parameters post-simulation.
Made adjustments for performance optimization, collision avoidance, and computational efficiency.