Hasanzade, Sevinj (2026) Optimization-Based Path Planning for Quadruped Robots in Unstructured Environments. Research Project, System and Control.
|
Text
SevinjHasanzadeS6114989Thesis.pdf Download (2MB) | Preview |
Abstract
Quadruped robots combine the terrain adaptability of legged locomotion with a small footprint, making them a promising platform for autonomous navigation in cluttered indoor environments. However, translating these hardware capabilities into reliable autonomy is non-trivial: the body is not negligibly small, mobility is axis-asymmetric, and perception, state estimation, locomotion and planning must run in real time on modest compute. This thesis presents an optimization-based motion replanning system for the Unitree Go2, integrating LiDAR-inertial odometry (RESPLE), a 2.5D ESDF mapper (FIESTA), an SE(2) B-spline replanner, and an RL locomotion policy (REASAN) bridged from Isaac Lab to Gazebo. The replanner follows the B-spline kinodynamic framework of Ding et al., pairing a kinodynamic A* front-end with a second-order cone program back-end. Its principal adaptation is per-axis velocity bounds replacing the original isotropic norm bound. The contribution is at the systems-integration level. Six engineering hardening steps were developed at the replanner's boundaries with the rest of the stack, including a U-turn regression guard, committed-prefix collision checks, a strafe-versus-rotate heading controller and deadband compensation. The planner logic carried over unmodified from a holonomic stand-in to the full Go2 URDF, evidencing a well-defined planner-controller contract. A five-goal navigation run in Gazebo reached all goals without collision.
| Item Type: | Thesis (Research Project) |
|---|---|
| Supervisor name: | Cao, M. and Li, K. |
| Degree programme: | System and Control |
| Thesis type: | Research Project |
| Language: | English |
| Date Deposited: | 05 Aug 2026 06:48 |
| Last Modified: | 05 Aug 2026 06:48 |
| URI: | https://fse.studenttheses.ub.rug.nl/id/eprint/37483 |
Actions (login required)
![]() |
View Item |
