A tracking system for tracking the position and/or orientation of an object in an environment, the tracking system including: a) a body attachable to the object, the body having a camera array including a plurality of spaced apart cameras each having a field of view with a central axis, with the central axis of adjacent spaced apart cameras being divergently spaced by a predetermined fixed angle; b) a plurality of spaced apart targets (230, 232, 234), at least some of said targets (230, 232, 234) viewable by the at least one camera of the camera array, wherein the fields of view of adjacent cameras are at least partially overlapping so that at least some cameras can each view one or more common targets (230, 232, 234); and, c) one or more electronic processing devices (240, 250) configured to: i) determine target position data indicative of the relative spatial position of the targets (230, 232, 234); ii) receive image data indicative of an image from the at least one camera, said image including at least some of the targets (230, 232, 234); iii) process the image data to: identify one or more targets (230, 232, 234) in the image; determine pixel array coordinates corresponding to a position of the one or more targets (230, 232, 234) in the image; iv) use the processed image data to determine the position and/or orientation of the object by triangulation; and, d) characterised in that the object is a robotic arm. a) a body attachable to the object, the body having a camera array including a plurality of spaced apart cameras each having a field of view with a central axis, with the central axis of adjacent spaced apart cameras being divergently spaced by a predetermined fixed angle; b) a plurality of spaced apart targets (230, 232, 234), at least some of said targets (230, 232, 234) viewable by the at least one camera of the camera array, wherein the fields of view of adjacent cameras are at least partially overlapping so that at least some cameras can each view one or more common targets (230, 232, 234); and, c) one or more electronic processing devices (240, 250) configured to: i) determine target position data indicative of the relative spatial position of the targets (230, 232, 234); ii) receive image data indicative of an image from the at least one camera, said image including at least some of the targets (230, 232, 234); iii) process the image data to: identify one or more targets (230, 232, 234) in the image; determine pixel array coordinates corresponding to a position of the one or more targets (230, 232, 234) in the image; iv) use the processed image data to determine the position and/or orientation of the object by triangulation; and, i) determine target position data indicative of the relative spatial position of the targets (230, 232, 234); ii) receive image data indicative of an image from the at least one camera, said image including at least some of the targets (230, 232, 234); iii) process the image data to: identify one or more targets (230, 232, 234) in the image; determine pixel array coordinates corresponding to a position of the one or more targets (230, 232, 234) in the image; identify one or more targets (230, 232, 234) in the image; determine pixel array coordinates corresponding to a position of the one or more targets (230, 232, 234) in the image; iv) use the processed image data to determine the position and/or orientation of the object by triangulation; and, d) characterised in that the object is a robotic arm.