Your robot has just received its first LiDAR point cloud.
The sensor has returned thousands of XYZ measurements, but right now they are just numbers. Your job is to figure out what those numbers represent and understand the robot's surroundings.
This lab works on phones, but writing code is much easier on a laptop.
Sensors · Point clouds · Lab 01 · Beginner
Your robot has just received its first LiDAR point cloud.
The sensor has returned thousands of XYZ measurements, but right now they are just numbers. Your job is to figure out what those numbers represent and understand the robot's surroundings.
Tap or click a point to inspect it.
Plain Python, math, and a browser-sized subset of NumPy: np.array, indexing like points[0], points[:, 0], points[-1] and masks; + − * / **; .min() .max() .sum() .mean() .argmin() .argmax() (with axis=); np.sqrt, np.sin, np.cos, np.arctan2, np.degrees, np.linalg.norm, np.column_stack. Code written here also runs with real NumPy.
A LiDAR spins and fires laser pulses. For every pulse it measures how far away the surface is and in which direction it fired. Each measurement becomes one point (x, y, z), and one sweep produces thousands of them: a point cloud. Robots use point clouds to see obstacles, build maps and localize themselves.
This lab starts at the very beginning: what the three numbers mean, how the sensor produces them, how to look at them in 3D, and how to answer basic questions about a scan with a few lines of Python. Everything runs in your browser; your code never leaves this page.
Get notified when new robotics labs are released. One email per new lab, nothing else.