Pegar posição atual e calcular

Olá !
Sou novo aqui e estou trabalhando com um robô kuka iiwa, e a sua linguagem de programção é Java, tenho experiencia em outros robôs, mas java estou começando agora, e a tarefa é achar a posição atual do CENTRO circulo, porem esse circulo nem sempre fica na mesma posição, ele sofre variações quanto ao posicionamento já que é posicionado manualmente na mesa(como na imagem 1, que esta de forma grosseira, porem na realidade varia apenas alguns milimetros), e gostaria de saber de qual forma consigo fazer a seguinte tarefa:
-Fazendo o robô tocar em 4 cantos do circulo (marcados em vermelho na imagem 1) o robô vai movimentar do ‘centro’ do circulo até cada canto, (essa parte de fazer os movimentos para ir até os pontos eu sei como fazer), e a cada vez que tocar o canto, um sensor sera acionado, e a programação vai identificar que naquele exato momento que o sensor acionou é uma posição que sera usada para um calculo, então deve guarda-la e depois usa-la para calculo.
-E fazer isso mais 3 vezes, até completer os 4 cantos do circulo, e ai sim calcular a posição do centro do circulo se baseando nesses 4 cantos encontrados, e me dar esse ponto central em uma variavel contendo o valor longitudinal e latitudinal encontrado.

Isso é facil fazer em outros robôs que tem linguagem própria e eu ja fiz, mas como voces sabem, o Java é bem complexo.
Alguem ja fez isso ou tem alguma sugestão de como posso começar?.

1