  A physical selfie stick extends the user's reach, enabling the acquisition of
personal photos that include more of the background scene. Similarly, a
quadcopter can capture photos from vantage points unattainable by the user; but
teleoperating a quadcopter to good viewpoints is a difficult task. This paper
presents a natural interface for quadcopter photography, the SelfieDroneStick
that allows the user to guide the quadcopter to the optimal vantage point based
on the phone's sensors. Users specify the composition of their desired
long-range selfies using their smartphone, and the quadcopter autonomously
flies to a sequence of vantage points from where the desired shots can be
taken. The robot controller is trained from a combination of real-world images
and simulated flight data. This paper describes two key innovations required to
deploy deep reinforcement learning models on a real robot: 1) an abstract state
representation for transferring learning from simulation to the hardware
platform, and 2) reward shaping and staging paradigms for training the
controller. Both of these improvements were found to be essential in learning a
robot controller from simulation that transfers successfully to the real robot.
