This simulator drives a circular mobile robot along a two-segment route past a round column. It compares the moment of physical contact with a swept-path test that checks the entire route against an obstacle inflated by the robot's radius. Move the waypoint to turn a collision course into a clear route.
• A circular robot footprint, a column obstacle, the inflated obstacle boundary, the planned polyline with its waypoint and a first-contact marker. • Controls for waypoint lateral offset (0-1.5 m), robot footprint radius (0.15-0.45 m), column radius (0.2-0.6 m), travel speed (0.2-0.8 m/s) and a stop-at-first-contact option. • Readouts for current surface clearance, minimum route clearance, whether the entire route is collision-free, distance traveled and whether the robot is currently in contact. • Experiments for a direct collision course (first contact at 1.25 m along the route) and for clearing the column by moving the waypoint.
Testing a moving disk against a circle is equivalent to testing the disk's center point against a larger circle: Rinflated = Rrobot + Robstacle. Clearance is the center-to-obstacle distance minus the inflated radius. For each route segment the closest point uses a clamped projection, and the first-contact position solves |a + u(b - a)|² = Rinflated². Checking only the start and end points would miss an obstacle in between, which is why the lab evaluates the whole segment.
The geometry is two-dimensional disk versus circle with exact segment tests. There is no orientation-dependent footprint, dynamics, sensing uncertainty or stopping-distance model. Stopping at contact is an ideal detection response, not a safety-rated collision-avoidance controller.
A route can begin and end in free space while passing straight through an obstacle in the middle. The lab checks the minimum distance along each segment, so it catches collisions the endpoints would hide.
The obstacle radius is increased by the robot's radius so the robot can be treated as a single center point. The robot touches the original column exactly when its center touches the inflated boundary.
The lab solves for where the center path reaches the inflated radius, |a + u(b - a)|² = Rinflated², along each segment, and takes the earliest valid intersection.
No. It detects collisions for a given route and lets you adjust the waypoint yourself. It has no global planner, braking model or safety rating.