Neobotics Foundation Inc.
These docs are public and open source.Edit on GitHub

THE CAMERA

A forward-facing colour camera sits at the front of the car. It connects directly to the Jetson over USB.

The NeoRacer camera in its front housing

The camera

Used for lane following, colour and object detection, and other computer vision work.

Sensor typeRGB
Resolution1920 × 1200
FPS120
FOV130°
Focal length2.7 mm
Shutter typeGlobal shutter
Sensor model1/2.6 inch
Power consumption5V DC / 2W
Recommended frame rate640 × 480 @ 60 fps

THE FRAME

Everything below assumes the camera is running at its default 640 × 480. The sensor can capture 1920 × 1200, but the driver asks it for 640 × 480 at 60 fps.

python
color = rc.camera.get_color_image() # NDArray (480, 640, 3), uint8, BGR print(color.shape) # (480, 640, 3) print(rc.camera.get_width()) # 640 print(rc.camera.get_height()) # 480 # BGR, not RGB: the blue channel comes first. b, g, r = color[240, 320] # centre pixel, one per channel # The NeoRacer is RGB-only: get_depth_image() raises NotImplementedError. # Use rc.lidar for distance.

CHANGING THE RESOLUTION

The resolution and the frame rate are set in the driver's config/camera.yaml. Edit the three values below and restart the camera node. Every camera parameter is listed on the ROS 2 parameters page.

yaml
camera_node: ros__parameters: image_width: 640 image_height: 480 framerate: 60.0

One thing to watch: rc.camera.get_width() and rc.camera.get_height() are fixed at 640 and 480 in the library, so they do not follow the config file. Once you change the resolution, read the size off the frame instead.

python
color = rc.camera.get_color_image() height, width, _ = color.shape # the size the camera is actually running at