So, this is my first answer here. Hopefully this will help!
The golf balls, given that they are present in predefined locations, seem to be either be on a graph/grid, or at certain distances away from each other on the same plane.
Firstly, for a grid. You need to have line sensors to detect the presence of a grid which is either a junction (basically a complete black line detected by all sensors) or a right-angled turn. In either case the trick is to assign co-ordinates to it and travelling based on these. For example to travel from (0,0) to (0,1) you need to go north by 1 co-ordinate. So starting from (0,0) the bot must follow the line north till it detects a junction. And so on for any co-ordinate.
This link should help:
Secondly, for no grid. Assuming that these golf balls are at certain distances from the starting point, it is possible to create a virtual grid of your own where each co-ordinate is at fixed distances, just like on a grid or graph. In that case, the bot has to follow the same procedures to reach a destination but just by moving for those fixed distances. So it is suggested that your bot has encoders for the dc motors that will help in travelling precisely the distance that you wish to travel.
Good Luck!! \m/