# Spherical coordinate system

Can the robot move along the dome-shaped hemispherical surface?

We did this once for a project where we wanted the robot to move a lamp alongside a spherical plane to simulate a sundial with a lamp. https://vimeo.com/265419380

We simply defined a new TCP with a center relative to the tool flange was the radius of the hemisphere, so that we could simply reorient the tool to move the actual tool along the sphere. The only limitation is that from Polyscope you can not define a TCP offset bigger than 500mm if I recall correctly. You can bypass that limitation by defining your TCP in urscript.

Keep in mind that the robot monitors the TCP speed so as you are never moving the TCP, only reorienting, you can end up with high joint movements.

This allows you to position the robot anywhere with only changing 2 rotation values. If you need more precise positioning, or pointing anywhere else than the center of the dome, you will have to compute the cartesian coordinates of the TCP along the sphere and the vector pointing towards the center. More maths involved than the simple trick above.