运行于小米CyberDog,基于Nvidia Argus和Ros2的相机程序。
该程序使用Argus API提供的接口来操控MIPI相机硬件并实时捕获图像,使用ROS2提供的接口来管理相机节点,为外部模块提供交互接口。
编译本模块需要依赖若干外部软件包,编译前需按照下列命令安装:
sudo apt-get install nvidia-l4t-jetson-multimedia-api
sudo apt-get install cuda-toolkit-10-2
sudo apt-get install libavformat-dev
git clone https://git.n.xiaomi.com/MiRoboticsLab/rop/bridges
基于相机api的相机测试程序,可以用来测试相机是否正常,亦可以作为camera api使用方式参考。
colcon build --merge-install --packages-up-to camera_test
./build/camera_test/camera_test cam_id width height rgb/bgr
例如,测试camera 0,640x480分辨率RGB出图的话,使用如下命令: ./build/camera_test/camera_test 0 640 480 rgb
ros2 run camera_test camera_server
拍照命令:
ros2 service call /camera_service protocol/srv/CameraService "{command: 1, args: ''}"
录像命令:
//开始
$ ros2 service call /camera_service protocol/srv/CameraService "{command: 2, args: ''}"
//停止
$ ros2 service call /camera_service protocol/srv/CameraService "{command: 3, args: ''}"
ros2 run camera_test stereo_camera
运行之后,双目相机和RGB相机将通过/image_left、/image_right、/image_rgb三个topic发布图像。