资料介绍
描述
该项目是 ME 461(机械系统的计算机控制)的最终作业的结果,这是伊利诺伊大学提供的一门课程。
介绍
Noot Shoot是一款云台上的橡皮筋射击游戏,使用计算机视觉瞄准特定颜色。云台使用 HiTec HS-311 伺服系统移动,安装在从 servocity 获得的块中。摄像头被拧在前面。另一个伺服器用作射手的触发器。
伺服系统使用德州仪器 (TI) 的微控制器 MSP430 进行定向,而 Orange Pi Zero 则用于与相机接口。舞台和腿是 3D 打印的。
系统输入
系统的输入是来自摄像机的实时馈送。在 Pi 中连续运行的 C++ 程序逐帧读取此提要并计算我们感兴趣的对象的中心坐标。在我们的例子中,我们将颜色范围定位在一系列 HSV 值之间:(239*, 103 , 103) 和 (15*, 255, 255)。这对应于 HSV 光谱中的亮粉色。该程序计算帧中的所有粉红色像素,如果有超过 60 个活动像素,则计算对象的质心(这是必要的,因此环境中的噪声不会被视为对象)。这些坐标使用 I2C 通信协议发送到 MSP430。
其他输入是两个按钮。一个用于手动拍摄,另一个用于改变状态。下一节将详细介绍更多信息。
比例控制器
一旦 MSP430 接收到物体的中心坐标,x 轴和 y 轴的误差就会计算为相机框架中心与物体中心之间的差值。误差的大小表明需要多少转弯。因此,我们将转率计算为误差和我们调整的比例增益的乘积。然后从先前发送的伺服命令中减去该转速,并将该新值设置为伺服的新目的地。我们需要减去,因为误差和舵机的正角运动方向相反。
errorX = 160 - rxlong1; // rxlong1 is the x-coordinate of the object in frame.
errorY = 120 - rxlong2; // rxlong2 is the y-coordinate of the object in frame.
turnrateX = kpx*errorX; // kpx and kpy are gain values that need to be tuned.
turnrateY = kpy*errorY;
currX = prevX - (turnrateX * 20)/1000; //We multiply with 0.02 based on the loop time
currY = prevY - (turnrateY * 20)/1000;
状态机
我们将控制程序包装在状态机中。射手可以分为两种状态。它要么正在主动识别要射击的目标,要么处于重新加载模式,此时载物台停止移动,以便用户可以加载下一个橡皮筋。射手以主动观察模式开始。以下是导致状态改变的条件:
从主动寻找到重装模式:
按状态更改按钮。
- 按状态更改按钮。
按下手动拍摄按钮。这会启动橡皮筋,并且射手会在很短的延迟后进入重新加载模式。
- 按下手动拍摄按钮。这会启动橡皮筋,并且射手会在很短的延迟后进入重新加载模式。
x 轴和 y 轴的误差小于定义的阈值超过 3 秒。这意味着目标要么移动非常缓慢,要么根本不动。在这种情况下,射击者会自动射击橡皮筋,然后在很短的延迟后进入装弹模式。
- x 轴和 y 轴的误差小于定义的阈值超过 3 秒。这意味着目标要么移动非常缓慢,要么根本不动。在这种情况下,射击者会自动射击橡皮筋,然后在很短的延迟后进入装弹模式。
从重新加载模式到积极寻找:
按状态更改按钮(这是唯一的方法)。
- 按状态更改按钮(这是唯一的方法)。
更多 MSP430 实施细节
结合三个伺服系统:我们使用定时器 B 来实现平移和倾斜伺服系统。载波频率设置为 20 ms。定时器设置为向上模式,输出模式设置为重置/设置。计时器 A 也进行了类似的调整,以控制射手伺服系统。
按钮连接:如上所述,我们使用了 2 个按钮。为此,我们将引脚 2.4 和 2.5 定义为启用和下拉电阻器的输入引脚。这些按钮还连接到电容器以防止弹跳。
- Arduino Arduboy控制台开源分享
- Eurorack台式调音台开源分享
- 微型焊台开源项目
- 亮风台公司介绍
- 基于FreeRTOS的嵌入式云台控制系统设计
- 开源网络协议分析器WireShark软件下载 15次下载
- 开源课程行动倡议及科学导论综述 6次下载
- 矿用云台解码驱动器的设计详析 16次下载
- 私有云平台资源监控与优化系统 3次下载
- MiNi 3D 机载云台说明书 3次下载
- 无刷云台IMU原理图 34次下载
- 云计算与开源 0次下载
- 基于DSP 和陀螺仪的视觉云台设计
- 基于ATmega64云台板卡测试平台的设计
- 基于ATmega64云台板卡测试平台的设计
- 一文概叙自制舵机云台 214次阅读
- 利用开源软件的最佳实践 464次阅读
- 前沿开源技术领域的开源大数据一一解读 1005次阅读
- 如何使用两个舵机为ESP32-CAM创建云台控制 1.3w次阅读
- 编写机智云安卓开源框架的UI界面 1626次阅读
- dfrobot全方位蜂巢云台简介 1072次阅读
- dfrobot迷你2自由度云台简介 1512次阅读
- dfrobot云台舵机支架套件简介 1258次阅读
- dfrobot2自由度DF05BB舵机云台介绍 4137次阅读
- 开源过程中的5件注意事项 3548次阅读
- 开源与云的一些争论 3200次阅读
- DFRobot长U型支架组合成云台介绍 2057次阅读
- 微雪电子树莓派云台扩展板|Pan-Tilt HAT介绍 3355次阅读
- 步进电机改善暂态特性的方法 1349次阅读
- NASA的开源软件是什么?NASA的开源软件的详细分析 7186次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多