No version for distro humble showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange

Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.
Package symbol

rmoss_cam package from rmoss_core repo

rmoss_base rmoss_cam rmoss_core rmoss_projectile_motion rmoss_util

ROS Distro
github

Package Summary

Tags No category tags.
Version 1.0.0
License Apache License 2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description RoboMaster OSS中的基础项目,为RoboMaster提供通用基础功能模块包,如相机模块,弹道运动模块等。
Checkout URI https://github.com/robomaster-oss/rmoss_core.git
VCS Type git
VCS Version humble
Last Updated 2023-04-17
Dev Status UNKNOWN
Released UNRELEASED
Tags ros2 robomaster
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

RoboMaster Camera Package, it provides a simple usb camera ros node and a general camera interface, in addition, it also provides simulated camera based on iamge and video.

Additional Links

No additional links.

Maintainers

  • zhenpeng ge

Authors

No additional authors.

rmoss_cam模块

简介

rmoss_camrmoss_core中的一个基础功能包,提供了usb相机ROS节点和虚拟相机ROS节点相关功能,同时,实现了一个camera C/S模型,封装了图像获取等操作,只需要注重图像处理部分。主要实现功能如下:

  • usb相机ROS节点 :获取usb相机图像,并发布成ROS topic (sensor_msgs::msg::Image).
  • 基于图片与视频的虚拟相机ROS节点:将视频或者图片发布成ROS topic (sensor_msgs::msg::Image).
  • camera C/S模型:CamServer负责将相机获取的图像发布成ROS topic , CamClient 负责订阅图像ROS topic,并调用callback进行图像处理。

camera C/S模型如下图所示:

同时相机节点支持二次开发,支持自定义相机扩展,该模块将相机操作(CamDevice) 与相机ROS节点 (CamServer) 进行解偶,对于不同的工业相机有不同的驱动,通过该相机接口,可以无需关心ROS部分,快速实现相机ROS节点, 支持ROS Composition方式启动, 详细介绍参考二次开发部分。

文件说明:

  • cam_interface.hpp:定义通用相机设备接口
  • usb_cam.hpp/cpp : usb相机设备实现。
  • virtual_cam.hpp/cpp:虚拟相机设备实现,支持基于图片和基于视频两种方式。
  • cam_server.hpp/cpp : CamServer 模块,负责将相机获取的图像发布成ROS topic,支持获取相机参数服务。
  • cam_client.hpp/cpp : CamClient 模块,订阅图像ROS topic,并调用callback进行图像处理。
  • usb_cam_node.hpp/cppvirtual_cam_node.hpp/cpp : ROS顶层模块(基于UsbCam,VirtualCamCamServer),实现usb相机节点和虚拟相机节点。

快速使用

usb相机:

launch方式运行:

ros2 launch rmoss_cam usb_cam.launch.py  #使用默认/dev/video0

  • 参数在yaml文件中(config/cam_params.yaml

虚拟相机:

launch方式运行图片虚拟相机:

ros2 launch rmoss_cam virtual_image_cam.launch.py  #使用默认图片resource/test.png

  • 可在launch文件中配置,图片路径image_path(必须),相机参数camera_k , fps 等参数。

采用rqt_image_veiw 查看图像topic

ros2 run rqt_image_veiw rqt_image_veiw

命令行方式运行视频虚拟相机

ros2 run rmoss_cam virtual_cam --ros-args -p "video_path:=/home/ubuntu/test.avi"

  • 至少需要一个参数video_path

ROS Composition启动

launch方式运行dynamic composition测试demo

ros2 launch rmoss_cam composition.launch.py

  • 先创建容器rmoss_container ,然后将相机节点rmoss_cam::VirtualCamNode以及图像任务节点ImageTaskDemoNode加载到容器中,支持继续加载多个节点。

Tip: 容器内一般加载多个节点,需要采用多线程模型,因此容器类型一般使用component_container_mt或者 component_container_isolatedcomponent_container_isolated性能目前表现最好。

使用例子可参考image_task_demo_node.hpp/cpp

二次开发

cam_interface接口

  • 整个相机模块通过CamInterface 接口,该接口定义了设备规范,实现了模块的可扩展性,以下为接口API
//接口
virtual bool open() = 0;  // 打开设备
virtual void close() = 0;  // 关闭设备
virtual bool is_open() = 0;  //检测设备是否打开
virtual bool grab_image(cv::Mat & imgae) = 0;  //获取图像
virtual bool set_parameter(CamParamType type,int value) = 0; //设置参数
virtual bool get_parameter(CamParamType type,int& value) = 0; //获取参数
virtual std::string error_message() = 0;  // error message when open(),grab_image(),set_parameter(),get_parameter() return false.

相机接口运行模型 (简化模型,不考虑运行时修改参数)

  • 一般运行流程:set_parameter()->open()->grab_image()->close()
  • 参数设置应该在相机关闭下进行设置,若需要修改相机参数(如曝光),需要先重启相机进行设置,即:close()-> set_parameter()->open()
  • 参数set和get方法可以参考UsbCamVirualCam的实现,采用unordered_map存储参数。

相机参数(CamParamType)说明:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged rmoss_cam at Robotics Stack Exchange