99 lines
3.0 KiB
Markdown
99 lines
3.0 KiB
Markdown
## 云台相机快速上手指南
|
||
|
||
### 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 可视化控制云台角度,并显示实时图像。
|
||
|
||
按照这些步骤操作,你可以快速上手并有效控制你的云台相机系统。 |