  A garden $G$ is populated by $n\ge 1$ bamboos $b_1, b_2, ..., b_n$ with the
respective daily growth rates $h_1 \ge h_2 \ge \dots \ge h_n$. It is assumed
that the initial heights of bamboos are zero. The robotic gardener maintaining
the garden regularly attends bamboos and trims them to height zero according to
some schedule. The Bamboo Garden Trimming Problem (BGT) is to design a
perpetual schedule of cuts to maintain the elevation of the bamboo garden as
low as possible. The bamboo garden is a metaphor for a collection of machines
which have to be serviced, with different frequencies, by a robot which can
service only one machine at a time. The objective is to design a perpetual
schedule of servicing which minimizes the maximum (weighted) waiting time for
servicing.
  We consider two variants of BGT. In discrete BGT the robot trims only one
bamboo at the end of each day. In continuous BGT the bamboos can be cut at any
time, however, the robot needs time to move from one bamboo to the next.
  For discrete BGT, we show tighter approximation algorithms for the case when
the growth rates are balanced and for the general case. The former algorithm
settles one of the conjectures about the Pinwheel problem. The general
approximation algorithm improves on the previous best approximation ratio. For
continuous BGT, we propose approximation algorithms which achieve approximation
ratios $O(\log \lceil h_1/h_n\rceil)$ and $O(\log n)$.
