CMUcam2 仿真#

CMUcam2 具有以下功能:

  • 以最高每秒 50 帧跟踪用户定义的颜色斑块(帧率取决于分辨率和窗口大小设置)

  • 以每秒 26 帧使用帧差分跟踪运动

  • 查找任何跟踪数据的质心

  • 收集平均颜色和方差数据

  • 收集每个颜色通道的 28 区间直方图

  • 处理水平边缘滤波图像(不支持)

  • 传输图像中被跟踪像素的实时二值位图

  • 任意图像窗口化

  • 图像降采样

  • 调整相机的图像属性

  • 转储一幅原始图像(单通道或多通道)

  • 最高 176 x 255 分辨率

  • 支持的波特率:115,200 57,600 38,400 19,200 9,600 4,800 2,400 1,200 BPS

  • 控制 5 个舵机输出

  • 基于单个相机总线的从属并行图像处理模式(不支持)

  • 自动使用舵机进行双轴颜色跟踪

  • 黑白模拟视频输出(PAL 或 NTSC,取决于所使用的相机模块)

  • 灵活的输出数据包定制

  • 掉电模式

  • 对缓冲图像进行多遍图像处理

预编译的 CMUcam2 仿真映像#

Compiled Firmware Image

CMUcam2 仿真与实际的 CMUcam2 之间有几处差异。下面是所有 CMUcam2 功能的列表,其中不支持的功能被划掉。许多被划掉的功能将在不久的将来得到支持。

BM 缓冲模式
CR 相机寄存器
CP 相机电源
DC 差分通道
DS 降采样
FD 帧差分
FS 帧流(在 r553 中添加)
GB 获取按钮
GH 获取直方图
GI 获取 Aux IO 输入
GM 获取均值
GS 获取舵机位置
GT 获取跟踪参数
GV 获取版本
GW 获取窗口
HC 直方图配置
HD 高分辨率差分
HR 高分辨率模式
HT 设置直方图跟踪(不支持)
L0 LED 控制
LF 加载帧以进行差分
LM 行模式
MD 掩码差分(不支持)
NF 噪声过滤器
OM 输出数据包掩码
PD 像素差分(不支持)
PF 数据包过滤器
PM 轮询模式
RF 将帧读入缓冲区
RM 原始模式
RS 复位
SF 发送帧
SM 舵机掩码
SO 舵机输出
SP 舵机参数
ST 设置跟踪命令
SV 舵机位置
TC 跟踪颜色
TI 反转跟踪
TW 跟踪窗口
UD 上传差分缓冲区(不支持)
VW 虚拟窗口

以下命令在不久的将来将不再受支持:

CT 设置相机类型
DM 延迟模式
L1 LED 控制(请改看 SO)
PS 数据包跳过
SD 深度睡眠
SL 睡眠命令

CMUcam2 仿真差异#

  • 舵机输入范围

    • 舵机现在是 0-255 的 8 位值

  • 跳线

    • 由于 CMUcam3 上缺少跳线,波特率和舵机方向的更改需要在编译时完成——这些由 cmucam.c 源代码顶部的 #define 控制

  • 设置输入 (SI pin ) 命令

    • pin 设置为输入

  • 软件颜色空间 (CS value ) 命令

    • CS 0 将颜色空间设置为硬件默认值(RGB 或 YCrCb)

    • CS 1 执行到 HSV 颜色空间的软件转换

      • 转换假定硬件已设置为 RGB 才能获得正确结果

      • HSV 空间是一个整数空间,其中所有值都被缩放到 16 到 240 之间

    • 注意:这仅在 r504 及更高版本中可用

  • 设置输出可以控制蓝色和橙色 LED

    • 舵机 2 和 3 将停止工作

    • SO 2 1 -> 蓝色亮起

    • SO 2 0 -> 蓝色熄灭

    • SO 3 1 -> 橙色亮起

    • SO 3 0 -> 橙色熄灭

  • 无从属模式

    • 这是可能的,但我们目前不支持它

  • 输出掩码 (OM)

    • 仅支持 T 和 S 数据包(类型 0 和 1)

  • 行模式 (LM)

    • 仅支持跟踪颜色模式 (LM 0 1)

    • 在 r523 中添加的跟踪颜色统计 (LM 0 2)

  • 发送 JPEG (SJ)

    • 发送一个 jpeg 压缩帧,包括头部和所有内容

  • 演示模式

    • 由于按住编程按钮会使 CMUcam3 进入编程模式,您需要在启动后半秒钟按下按钮以进入演示模式

  • 高分辨率帧差分

    • 现在这与低分辨率帧差分的工作方式相同,只是分辨率更高