A surgical controlling system, comprising: a) at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) adapted to be inserted into a surgical environment of a human body for assisting a surgical procedure; b) at least one location estimating means adapted to real-time locate the 3D spatial position of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) at any given time t, thereby locating said 3D spatial position; c) a movement's database; d) at least one movement detection means; e) a controller's database being in communication with said movement detection means; f) a controller having a processing means communicable with said controller's database, said controller adapted to control the spatial position of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320); characterized in that said movement's database is adapted to store said 3D spatial positon of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) at time t f and at time t 0; where t f > t 0, said at least one movement detection means are communicable with said movement's database and with said location estimating means; said movement detection means is adapted to detect movement of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) if the 3D spatial position of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) at time t f is different than said 3D spatial position of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) at time t 0; and said controller's database is adapted to store a predetermined set of rules according to which ALLOWED and RESTRICTED movements of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) are determined, such that each detected movement by said movement detection means of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) is determined as either an ALLOWED movement or as a RESTRICTED movement according to said predetermined set of rules. a) at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) adapted to be inserted into a surgical environment of a human body for assisting a surgical procedure; b) at least one location estimating means adapted to real-time locate the 3D spatial position of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320) at any given time t, thereby locating said 3D spatial position; c) a movement's database; d) at least one movement detection means; e) a controller's database being in communication with said movement detection means; f) a controller having a processing means communicable with said controller's database, said controller adapted to control the spatial position of said at least one surgical tool (37, 310, 820, 830, 920, 930, 1020, 1030, 1150, 1160, 1220, 1230, 1240, 1310, 1320);