How gloryhry/hikrobotics-camera-ros-driver works
This ROS Noetic driver discovers and selects a Hikrobot industrial camera, configures acquisition and image controls, then publishes synchronized ROS image and camera-info messages. Its distinctive exposure-control path adjusts exposure from image brightness when automatic exposure is unavailable with external triggering; README also documents parameterized trigger, frame-rate, gain, digital-shift, and gamma settings. The source excerpts support the discovery/configuration and publication roles, but omit wiring details for several controls and optional LiDAR timestamps, so uncertain connections are not drawn.
Main entry points: camera.cpp Camera lifecycle · hik_driver.cpp ROS driver entry · libMvCameraControl.so.4.8.0.3 MVS camera SDK · camera.launch ROS launch
Components 14
Camera Runtime
- ROS driver entry
src/hik_driver.cpp - Camera lifecycle
src/camera.cpp - Camera interface
include/hik_camera_driver/camera.h - Image and info topics
src/camera.cpp - Brightness exposure control
src/camera.cpp
MVS Integration
- MVS camera SDK
libs/libMvCameraControl.so.4.8.0.3 - MVS API declarations
include/mvs/MvCameraControl.h - Platform SDK libraries
aarch64_libs
Camera Configuration
- Camera parameters
config/camera.yaml - Camera calibration
config/ost.yaml - ROS launch
launch/camera.launch
Other components
- ROS operator
- Hikrobot camera
- LiDAR timestamp source
Connections 16
- ROS operator → ROS launch: starts
- ROS launch → ROS driver entry: launches
- ROS driver entry → Camera parameters: reads settings
- ROS driver entry → Camera interface: constructs
- ROS driver entry → MVS camera SDK: enumerates devices
- ROS driver entry → Camera lifecycle: selects device
- Camera lifecycle → MVS camera SDK: opens and configures
- MVS camera SDK → Hikrobot camera: controls and streams
- Camera lifecycle → Image and info topics: publishes frames
- Camera calibration → Camera lifecycle: camera calibration
- Image and info topics → ROS operator: publishes image and info
- Camera lifecycle → Brightness exposure control: feeds brightness
- Brightness exposure control → Camera lifecycle: sets exposure
- Camera lifecycle → LiDAR timestamp source: optional timestamp read
- MVS API declarations → MVS camera SDK: declares API
- Platform SDK libraries → MVS camera SDK: platform runtime