A.K.03/appendix/Path-planning.ipynb
Mehrdad Mihankhah 12cabf65ea initial commit
2025-11-16 15:37:13 +01:00

52 lines
2.6 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## More advanced methods for path planning \n",
"**⚠️ Optional advanced method**\n",
"The contents below cover advanced topics that not all students are expected to understand.\n",
"\n",
"\n",
"Path planning is essential in robotics and autonomous driving applications. The A* algorithm is a popular pathfinding and graph traversal algorithm that can find the shortest path between two points on a grid. However, standard A* doesn't account for vehicle constraints like turning radius and orientation. To address this, you can use the Hybrid A* algorithm, which considers the vehicle's kinematics, allowing for feasible paths that a real vehicle can follow."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"incase you would like to follow such an approach the folloiwng steps are suggested : \n",
"\n",
"1. Create an Occupancy Map: Represent the environment with possible obstacles and borders.\n",
"\n",
"2. Impose Nonholonomic Constraints: Introduce vehicle kinematic constraints in your path finding algroithm or throw away the paths that dont fit your requirments. \n",
"\n",
"4. plan Path Using Hybrid A*: Find a feasible path that respects the vehicle's movement capabilities."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So Hybrid A* is the algorithm that extends the A* search by incorporating the vehicle's kinematic model into the path planning process. Instead of simply moving from one grid cell to adjacent cells, Hybrid A* simulates the vehicle's possible movements based on its steering capabilities and motion constraints. This involves generating continuous motion primitives—small, feasible movements like moving forward, turning left, or turning right—which are used to expand the search tree in a way that reflects the vehicle's actual movement abilities.\n",
"\n",
"A good begginer freindly guide or an introduction on it can be found on https://medium.com/@junbs95/gentle-introduction-to-hybrid-a-star-9ce93c0d7869 . The algorithm has been widely adopted and implemented in various platforms, including ROS (Robot Operating System), Unity, Python, and MATLAB, and continues to be a foundational method in the field of robotic motion planning so you might also find existing implmentation of it as well."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"name": "python",
"version": "3.12.6"
}
},
"nbformat": 4,
"nbformat_minor": 2
}