Cartesian position of a robot

I am working on a project of ardunio+ROS for the development of a compact robot that does CNC operations in a defined area.
The problem here, is that we require that this area can change constantly depending on the work, for this we plan to place sensors in the corners of the area to communicate to the robot its current position, however we have not found much information on what type of sensors and libraries we could use, in addition to how to link them.
If anyone has any information on the subject, we would be very grateful for your help.

"A defined area" could mean anything.

Consider Poszyx.