资料介绍
描述
“Segbot”是 UIUC 的 SE 423 级平衡 segway 机器人。segbot 由 Dan Block (d-block@illinois.edu) 教授设计的电路板和 F28379D 微控制器组成,该微控制器是德州仪器 C2000 系列的一部分。该项目的目标是通过蓝牙向 segbot 无线发送转向命令。
蓝牙通讯
蓝牙 LE UART Friend 与 Bluefruit Connect 应用程序兼容。字符通过UART传输到segbot,可以在计算机终端上查看。从 segbot 传输的字符可以在应用程序中查看或绘制。在我的演示中,我从手机发送了加速度计数据,并用它来引导 segbot 通过障碍物。
传入的加速度计数据由前缀“!A”标识,后跟三个浮点值。由于数据是通过 UART 传输的,因此无法立即解释原始值。实现了一个联合,将六个 16 位整数与三个 32 位浮点数存储在内存中的同一位置。
typedef union phonedata_s{
uint16_t rawdata[6];
float fltdata[3];
}phonedata_t;
phonedata_t phoneaccel; //use new data type defined in union
下面的代码在串行接收函数中。首先,传入的 8 位值保存在过去状态的数组中。然后通过查找前缀“!A”来筛选这些值以确定它是否是加速度计数据。然后,与加速度计数据对应的值组合成 16 位整数并保存为上面定义的新数据类型。然后,这些值存储为浮点数。
if((past[0] == '!')&&(past[1] == 'A')){
//incoming accelerometer data
//X
phoneaccel.rawdata[0] = (past[3]<<8)|past[2];
phoneaccel.rawdata[1] = (past[5]<<8)|past[4];
//Y
phoneaccel.rawdata[2] = (past[7]<<8)|past[6];
phoneaccel.rawdata[3] = (past[9]<<8)|past[8];
//Z
phoneaccel.rawdata[4] = (past[11]<<8)|past[10];
phoneaccel.rawdata[5] = (past[13]<<8)|past[12];
ble_x = phoneaccel.fltdata[0];
ble_y = phoneaccel.fltdata[1];
ble_z = phoneaccel.fltdata[2];
操舵
在加速度计数据被标记后,仍然在串行接收功能中,对应于 x、y 和 z 方向上的加速度的三个浮点数被解释为 segbot 的转向指令。segbot 通过更改“turnrate”和“FwdBackOffset”值来驱动。假设手机将被侧向操纵,y 加速度的变化对应于转向指令,z 加速度的变化对应于向前和向后的运动。
当加速度在指定方向达到某个阈值时,发出转向指令。阈值是这样的,即故意改变手机位置将引导 segbot,但方向的小幅波动不会。转向速度已调整为我认为最容易转向的速度,但可以调整为更快或更慢。
//Interpret phone accel data as steering instructions
if(ble_y >= 0.3){
//turn left
turnrate = -4.0;
}else if(ble_y <= -0.3){
//turn right
turnrate = 4.0;
}else if(fabs(ble_y) < 0.3){
//don't turn
turnrate = 0;
}
if(ble_z <= -0.3){
//go forward
FwdBackOffset = -1.0;
}else if(ble_z >= 0.3){
//go backward
FwdBackOffset = 1.0;
}else if(fabs(ble_z) < 0.3){
//don't go forward or backward
FwdBackOffset = 0;
}
接线
上图显示了 UART Friend 到 segbot 的接线图。蓝牙传感器连接到 5 V 电源。芯片的接收线连接到segbot的发送线,发送线连接到segbot的接收线,对应F28739D处理器的Serial C。为了在数据模式下工作,蓝牙芯片的 CTS 引脚必须接地。它连接到 GPIO 引脚并设置为低电平,从而可以通过编辑代码轻松更改模式。
分段机器人组件
庆典
当 segbot 完成障碍赛时,它会通过蜂鸣器播放 Kool & The Gang 的“Celebration”并跳一段小舞。当麦克风听到我的欢呼声时会触发此响应。这是由大约 625 Hz 的频率识别的,我使用频率分析仪应用程序发现了这个频率。麦克风以 10 kHz 的速率进行采样,并通过 Goertzel 算法传递数据,该算法搜索 625 Hz 的目标频率。在我的另一个项目中有更多关于音符检测以及歌曲和舞蹈的信息,链接在这里。
- 检测机器人开源分享
- 坦克机器人开源分享
- 扫地机器人开源资料 43次下载
- 机器人守卫开源分享
- 简单的蓝牙控制机器人开源
- 伺服机器人开源分享
- 蓝牙控制机器人开源
- 英雄机器人开源
- 机器人开源案例
- 蓝牙控制机器人车开源分享
- 蓝牙控制机器人开源分享
- Arduino机器人开源分享
- 基于DSP和PC的农业机器人控制系统 17次下载
- 开架式通用水下机器人开源搭建手册.pdf 11次下载
- 机器人伺服马达的转向控制原理分析方案 1次下载
- 字节发布机器人领域首个开源视觉-语言操作大模型,激发开源VLMs更大潜能 360次阅读
- 机器人技术中常用的路径规划算法的开源库 843次阅读
- 铸造机器人是什么?选择工业机器人应该考虑的方向 1137次阅读
- 面对疫情 医疗机器人能帮上什么忙? 2126次阅读
- dfrobotSparki机器人套装简介 2064次阅读
- 工业机器人编程入门_工业机器人的编程要求 9571次阅读
- 医用机器人的定义_医用机器人发展 3122次阅读
- 医用机器人的功能_医用机器人分类 2227次阅读
- 机器人控制器有哪些类型_机器人控制器发展 1.1w次阅读
- 协作机器人的起源_为什么需要协作机器人 8127次阅读
- 机器视觉的机器人取代四台传统的火焰处理机器人 3270次阅读
- 如何区分机器人、协作机器人和移动机器人? 6828次阅读
- 关于被动同心转向式多履带全向移动机器人的设计 8935次阅读
- 软体机器人 前所未见的机器人 3692次阅读
- 机器人的最佳编程语言是什么?机器人十大流行编程语言汇总 3.4w次阅读
下载排行
本周
- 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次下载 | 免费
评论
查看更多