## 云台相机快速上手指南 ### 1. 编译与安装 #### 依赖项: 安装image_proc包,用于矫正图像。 ```bash sudo apt-get install ros-noetic-image-proc ``` #### 步骤: 1. 打开终端并导航到你的 ROS 工作空间目录: ```bash cd ~/catkin_ws ``` 2. 下载以下三个包到 `src` 目录下: - `cv_camera`:用于图像获取和标定数据。 - `pantilt_camera_serial`:用于云台串口驱动,控制云台转动。 - `rviz_pantilt_plugin`:云台控制的 RViz 可视化插件。 3. 进入 `src` 目录后,使用以下命令编译工作空间: ```bash catkin_make ``` 如果你使用的是 `catkin_tools`,则可以使用: ```bash catkin build ``` 4. Source 你的工作空间: ```bash source ~/catkin_ws/devel/setup.bash ``` ### 2. 配置摄像头路径和串口路径 #### 步骤: 1. 找到你的摄像头设备路径和云台串口路径: ```bash ls /dev/v4l/by-path ``` ```bash ls /dev/ttyUSB* ``` 2. 修改 `pantiltcamera.launch` 文件中的 `device_path` 和 `port_name` 参数: - `device_path`:摄像头设备路径,如 `/dev/video0`。 - `port_name`:云台控制的串口路径,如 `/dev/ttyUSB0`。 3. 确保当前用户有设备操作权限,使用以下命令添加权限: ```bash sudo usermod -a -G dialout $USER sudo chmod a+rw /dev/ttyUSB0 sudo chmod a+rw /dev/video0 ``` ### 3. 启动Launch文件 ![ControlPanel](./imgs/control-panel.png) ```bash roslaunch pantilt_camera_serial pantiltcamera.launch ``` 这将启动云台控制节点,允许你通过话题或服务控制云台的转动。 在 RViz 中,你可以通过插件界面实时控制云台,并查看摄像头的图像变化。 ### 4. ROS节点说明 #### 节点功能: - **cv_camera**:用于图像捕获和发布标定数据,提供矫正前后的图像。 - **pantilt_camera_serial**:通过串口控制云台的转动,发布当前的云台角度,并响应来自其他节点的控制命令。 - **rviz_pantilt_plugin**:提供 RViz 可视化控制界面,允许用户通过图形界面控制云台,并查看实时图像。 #### 话题和服务: - **cv_camera节点**: - 发布话题: - `/cv_camera/image_raw`:发布原始图像。 - `/cv_camera/camera_info`:发布相机的标定信息。 - **pantilt_camera_serial节点**: - 发布话题: - `/pantilt_camera_serial/pantilt_angle_info`:发布当前的云台角度信息。 - 订阅话题: - `/pantilt_camera_serial/pantilt_vel`:接收并执行云台速度控制指令。 - 提供服务: - `/pantilt_camera_serial/send_command`:允许用户发送控制命令,如设置云台角度、速度等。 - **rviz_pantilt_plugin节点**: - 提供一个交互式界面,通过 RViz 可视化控制云台角度,并显示实时图像。 按照这些步骤操作,你可以快速上手并有效控制你的云台相机系统。