ROS
Navigation
In this project, a robot navigates autonomously around a custom-designed arena. The primary challenge was fine-tuning the navigation parameters to ensure smooth and accurate movement. Key steps involved setting up the ROS environment, integrating sensors for obstacle detection, and iteratively adjusting parameters such as linear and angular speeds, cost maps, and local planners. Through extensive testing and refinement, the robot achieved reliable navigation, successfully maneuvering around obstacles and reaching designated waypoints
Final Navigation of Autonomous Robot in Custom Arena
In this video, you'll see the culmination of my ROS navigation project, where the robot successfully navigates through a custom-designed arena. After extensive parameter tuning and testing, the robot smoothly maneuvers around obstacles and reaches its designated waypoints with precision. For a detailed explanation of the steps taken to achieve this seamless navigation, including setting up the ROS environment, integrating sensors, and fine-tuning crucial navigation parameters, please see the section below the video.
Initial Navigation Path Before Parameter Tuning
In this brief, I present a picture showcasing the initial navigation path of the autonomous robot in the custom-designed arena before any parameter tuning. Alongside the path, you'll see the pre-tuned parameters that the robot used. This image highlights the starting challenges, such as inefficient routes and difficulty maneuvering around obstacles. For a detailed explanation of the parameters, please see the section below the image.

Key Parameters Influencing Global Path Quality in ROS Navigation
Below is an image from a paper called ROS Navigation Tuning Guide by Kaiyu Zheng which shows her experimentation results with these three critical parameters which we have used as reference for our tuning.
In ROS navigation, besides the commonly adjusted parameters, there are three critical but often unlisted parameters that significantly influence the quality of the planned global path: cost factor, neutral cost, and lethal cost. These parameters are also present in the navfn package, which computes cost values using the formula:
cost = COST_NEUTRAL + COST_FACTOR × costmap_cost_value
The costmap values range from 0 to 252. For effective distribution of input values over the output range of 50 to 253, a COST_FACTOR of around 0.8 is suggested. A higher COST_FACTOR can create a plateau effect around obstacles, leading the planner to avoid narrow hallways by treating them as uniformly undesirable.
Experimentation has shown that incorrect values for these parameters result in poor path quality. A low or high cost factor produces paths that do not navigate well between obstacles and have undesirable curvatures. Extreme neutral cost values have a similar negative effect. Additionally, a low lethal cost can prevent any path from being generated, even when one exists.
Through experimentation, optimal values were determined: a cost factor of 0.55, neutral cost of 66, and lethal cost of 253 resulted in a highly desirable global path. The green line in the accompanying figures illustrates the global path produced under these optimal settings, demonstrating the significant impact of fine-tuning these parameters on path planning quality.

Key Parameters Influencing Global Path Quality in ROS Navigation
I present the updated navigation path of the autonomous robot in the custom-designed arena after fine-tuning the critical parameters: cost factor, neutral cost, and lethal cost. Through careful experimentation, I adjusted these parameters to achieve a more efficient and accurate path. The refined settings - cost factor of 0.55, neutral cost of 30, and lethal cost of 250 resulted in a smoother and more precise navigation path. The updated route showcases the robot effectively maneuvering around obstacles and navigating through narrow passages, demonstrating the significant improvements made by optimizing these parameters.
