The vision_bridge node recieves image frames from the camera through either madmux or a ros published topic (depending on the content of the madmux_socket parameter). It then processes them through modules with options for frame rate, resolution, and prioritization. The modules include face detection and tracking, general object detection and simple quality metrics.
None
None
joint_statesupward_looking_camera_linkTopic for Image messages, if not using madmux (sockets).
vision/capturedvision_msgs::ImageClustering Feedback for moment capture used to track capture of similar moments.
vision/resultsvision_msgs::VisionResults
Combined vision module results for a processed frame.
/cmdsvision_msgs::VisionCmdMsg Interface for managing vision modules. This is the runtime interface for managing which modules are running and their configuration. As there are significant performance consequences to running the neural network based detectors, managing when they are active and their framerate (along with other configuration) is needed.
rosservice call /vision/cmds '[["activate", "face_detector", ["fps": 6], ["skip_ratio", 3]]]'
/get_configvision_msgs::VisionQuery Request vision bridge related configuration for a module. These govern how the vision bridge manages the module.
/get_paramsvision_msgs::VisionQuery Request module specific parameters. The parameters returned by this service call are those which are changeable at runtime. For a full listing and description of parameters, see the module’s config yaml file.
/active_modulesvision_msgs::VisionQuery Service that provides a list of currently active vision modules. This is useful for testing or if multiple clients are managing modules.
None
madmux_socketPath to linux socket provided by madmux
optical_camera_frameDeprecated
camera_frameImage topic
results_pub_topicTopic aggregating results from all vision modules for each processed frame
fpsMax fps for any module
resolutionRoot resolution to resize incoming frames
available_modulesList of available vision modules
joints_sub_topicJoints topic used to block processing when eyes are too closed
eyelid_position_maxMaximum value for eyelid joint state to allow before blocking processing
vision_bridge.launch