Inward Spiraling - umrover/mrover-ros2 GitHub Wiki
Overview
This project will be implemented inward spiraling for the rover path planning during the search state. Our current implementation utilizes outwards spiraling where the rover begins at the center and spirals outward until reaching the boundary. However, with inward spiraling, the rover starts at the boundary and spirals inward toward the center.
We want to implement this because the inward spiral approach because it’s more time-efficient when the rover is already positioned outside the search area. Instead of first navigating to the center just to begin searching outward, the rover can immediately start scanning inward—saving time.
Outwards spiraling -- our current implementation -- is on the left and inward spiraling is on the right.
Implementation
For this project, you will be working in the trajectory.py file. In here you will find the Trajectory class definition and a SearchTrajectory data class currently used to generate outward spirals. In SearchTrajectory's spiral_traj function, you will need to pass in one more parameter, the rover's position. Then you will implement
- the logic to choose the type of spiraling it should perform(ie. inward or outward)
- the inward spiraling path based on the current outward spiraling function
Run git fetch and then git checkout nav/inward-spiraling to checkout the shared path smoothing project branch.