Someone told me when explaining about a controller module named CollisionDetector
that it only checks self-interference
and moves accordingly without detecting collision
. To me both sounds the same. How are they different?
1 Answer
One is internal, one is external.
Self-interference refers to instances where something like a robot arm (with many degrees of freedom) may attempt to move in a path that crosses part of its own body. Your CollisionDetector
is likely keeping track of the joint angles in a planned arm movement and seeing if any of them result in such a condition. The robot doesn't need any information about its environment to do this, just a reliable measurement of its own position (and possibly the shape of whatever it may be gripping).
"Collision Avoidance" usually refers to the detection of transient objects with externally-facing sensors. For example, a robot has planned a path based on a map of a room but other robots (or people) might be moving around in that same space; the robot detects them with some sort of sensor, and adjusts its planned path (or just stops) until the risk of collision has gone away. This is usually more difficult than detecting self-interference, because modeling the external environment is a bit more complicated than modeling a robot's internal state.
-
$\begingroup$ Thanks. Now I understand that real confusion to me came from the fact that people around my community also use
self-collision
check, which I presume is equivalent toself-interference
. $\endgroup$– IsaacSFeb 9, 2014 at 15:05