算法问题:宽带扫荡(我自己瞎编的名字)

实际工程中遇到的算法问题,请指点解决方向:
地面上的一些点位,要用挖掘机逐个处理,挖掘机工作半径10m,也就是要用20m宽的带状,扫荡所有的点,求最短路径。图示如下:

img

这个问题基本上可以等价为:用一条线穿过所有半径为10m的圆。图示如下:

img

这是个实际工程问题,不求最优结果,工程可用即可。再拜,请指点迷津!