Welcome back to the Hydroponics Robot project! In this update, I will be discussing some of the challenges I faced while trying to improve the navigation accuracy of my robot.
In the previous update, I mentioned that I was having trouble with the robot getting stuck halfway to its destination. After experimenting with DWB critics, I decided to add multiple waypoints to guide the robot to its target location. This approach involved first getting to the lane and then moving to the specific pot. This solution has worked well for me so far.
During my exploration of the navigation system, I came across some useful references. For example, I found that goal_distance_bias
(deprecated, replaced by GoalAlign/scale
and GoalDist/scale
) and PathDist.scale
could be used to adjust the goal distance bias. Additionally, I referred to the following issue on GitHub for further guidance: https://github.com/ros-planning/navigation2/issues/201.
Moving on to getting more precise when reaching a goal, I switched to the precise_goal_checker
and significantly reduced the xy_goal_tolerance
and yaw_goal_tolerance
. However, the robot seemed to be getting stuck when close to the goal. I tried adjusting min_theta
and max
and in velocities, but the problem persisted. Eventually, I tried removing the RotateToGoal
critic, and the issue was instantly resolved.
I guess that the RotateToGoal
critic may have been kicking in too early. It would get the angle correct but still be too far away from the goal and unable to get closer. I reverted the velocity parameters and continued to use the commander
API to get the bot to go between different locations.
To use the commander
API, I had to re-lookup how to get the initial coordinates in a format that worked for a PoseStamped
. I found that I could use an initialpose
published in rviz2
. Running ros2 topic echo /initialpos
helped me see the output. I then set up additional posts to the start and end of each column.
Unfortunately, while working on the project, one of the wheel treads came off, and I had to spend some time repairing it. After the repair, I called it a day.
That’s all for this update. Stay tuned for more updates on the Hydroponics Robot project!
Leave a Reply