1. A method comprising: providing a plurality of robots and a plurality of resources, wherein the plurality of resources are shared amongst the plurality of robots in execution of a plurality of tasks; assigning a task to a particular robot of the plurality of robots; determining at least a first resource from the plurality of resources required by the particular robot for completion of said task; determining a path from a current position of the particular robot to a destination associated with the task; establishing by the particular robot, a first synchronization primitive on the first resource prior to the particular robot accessing the first resource, wherein said establishing provides the particular robot exclusive access to the first resource and prevents other robots from the plurality of robots from accessing the first resource while said first synchronization primitive of the particular robot is established, wherein establishing the synchronization primitive comprises associating a unique identifier of the particular robot to the first resource; and accessing the first resource with the particular robot in execution of the task by the particular robot, wherein accessing the first resource comprises moving the particular robot from the current position to a first distance from a point of reference based on said path involving moving the particular robot in a first direction to reach the destination, and moving the particular robot from the current position to a second distance from the point of reference based on said path involving moving the particular robot in a second direction that is opposite to the first direction, wherein the particular robot determines the first and second distances based on visual sensors of the particular robot.