Projects you can run tonight
Each project is small enough to finish in an evening, and complete enough to actually run: every script executes end to end in simulation in under 15 minutes, with a checklist of what to look for when it works. Hardware is optional.
ROS 2 talker, listener and a moving tf2 frame
A ROS 2 Jazzy package with a talker, a listener, a tf2 broadcaster that moves a frame in a circle and a node that looks the frame up, run in the official Docker image on macOS, Linux or Windows.
A two-link arm that draws a square with inverse kinematics
Build a planar two-link arm in MuJoCo, solve analytic inverse kinematics for 161 waypoints around a square, track them with joint position servos and measure how far the pen lags.
A differential-drive robot that plans with A* and localises with an EKF
Plan a path across a 10 m room with A*, follow it with pure pursuit and estimate the pose with an extended Kalman filter that fuses noisy wheel odometry with position fixes, in pure Python and NumPy.
Pick and place a cube with a scripted grasp in PyBullet
Define a five-joint arm with a parallel gripper as an inline URDF, solve its inverse kinematics in closed form and script a grasp in PyBullet that moves a 40 mm cube to within 1 mm of its target.