  We built a vision system of curling robot which can be expected to play with
human curling player. Basically, we built two types of vision systems for
thrower and skip robots, respectively. First, the thrower robot drives towards
a given point of curling sheet to release a stone. Our vision system in the
thrower robot initialize 3DoF pose on two dimensional curling sheet and updates
the pose to decide for the decision of stone release. Second, the skip robot
stands at the opposite side of the thrower robot and monitors the state of the
game to make a strategic decision. Our vision system in the skip robot
recognize every stones on the curling sheet precisely. Since the viewpoint is
quite perspective, many stones are occluded by each others so it is challenging
to estimate the accurate position of stone. Thus, we recognize the ellipses of
stone handles outline to find the exact midpoint of the stones using
perspective Hough transform. Furthermore, we perform tracking of a thrown stone
to produce a trajectory for ice condition analysis. Finally, we implemented our
vision systems on two mobile robots and successfully perform a single turn and
even careful gameplay. Specifically, our vision system includes three cameras
with different viewpoint for their respective purposes.
