These docs are public and open source.Edit on GitHub
TROUBLESHOOTING / CAMERA
NO CAMERA FEED.
Either the camera node didn't start, the USB cable is loose, or the webcam doesn't advertise the MJPG format the driver expects. Three checks, in the order the data takes to reach your code.
~0 minutesVisible from SSHCommon right after a re-flash
01 / IS THE NODE EVEN UP?
IS THE NODE RUNNING?
bash# 1. Is the teleop driver running? ssh racecar@neoracer racecar status # shows running nodes ros2 topic list | grep camera # /camera should be there # 2. Does the kernel see the webcam, and does it advertise MJPG? ls -l /dev/osrbot_usb_cam # udev symlink v4l2-ctl --list-formats-ext -d /dev/osrbot_usb_cam # MJPG format must appear # 3. If teleop is up but /camera publishes nothing, bring the stack back up. racecar teleop # 4. Confirm the topic publishes. ros2 topic hz /camera
02 / THREE THAT ACTUALLY HAPPEN
LIKELY CAUSES.
01
Lens sticker
The shipping film stays on more often than you'd think.
The factory applies a clear protective film to the lens, and it is the quickest thing to rule out, so it is worth a peek before anything else. A frame that's uniformly dim but not pure black is usually this.
02
camera_node crashed
systemd thinks it's up but it isn't producing.
systemctl restart neoracer-camera clears most stuck states. If the log shows a permissions error on /dev/video0, re-flashing the SD card is the cleanest fix.03
Loose ribbon
The flex cable behind the camera module.
Behind the camera there's a small cover you can lift off to reach the ribbon, which should click fully into its socket. Once it's re-seated, restarting the camera service lets the driver re-enumerate the bus.
