(0.5, 0.5, 0.5) should be added to the coordinate of the moving item, not the direction of the movement ray.
Added a check to make sure that a collision occurs within the range of a ray. Otherwise a moving item collides with all items on the line that it is moving along. (And could potentially push a robot that is ten spaces away)