# iRobotxJoystick
![License](https://img.shields.io/badge/License-GPL--3.0-brightgreen.svg)
2018年第三届新生杯科技创新大赛机器人手柄控制程序
实现了手柄消息的处理和转换发送。
## 硬件
机器人和模块:iRobot® Roomba® 600、ESP8266、Xbox One S
## 软件
- 方向前进采用两轮差速控制机器人,手柄旋钮采用xaxis和yaxis描述,取值为-1000~1000,因此需要进行一下换算:
1. 由于传感过于灵敏导致回复后值无法归零,我们采取了将两个值/100后取整再*100,这样可以极大平滑操作。
2. 向前(0,-1000)两轮转速均最大255,向后(0,1000)两轮转速最小-255,向左(-1000,±0)两轮转速(0,±255),向右(1000, ±0)两轮转速(±255,0)
3. 其他方向令θ=arctan(double)yaxis/xaxis,然后根据角度值将四个象限左右轮转速从0到两极值均匀递增即可,具体代码见文件。
- 考虑到有可能需要快速转向,我们添加了转向和直行按钮,转向使用(-255,255)和(255,-255)实现原地转向
- 考虑到吸尘和扫帚的灵活性,我们将其操作按键独立出来,可以互不相干独立进行(虽然对于机器人代码是同一条指令),并且扫帚可以随时更换旋转方向
- 考虑到不同操作环境,我们设置了三挡变速,即计算输出速度乘以100%/66%/33%后才为实际输出速度,方便微操。
- 增加战歌按钮(参见“艺术性”),考虑到防误触,战歌的控制指令将会以多线程模式独立进行且在播放结束前忽略播放按钮操作,不会影响其他指令。同时考虑到带宽和机器人处理速度的问题,其他操作指令总是优先于战歌控制指令进行。
- 为了尽可能减少操作延迟,软件不进行任何日志记录或命令输出,仅刷新手柄输出值便于调试。
- Wifi模块固件重写
- Wifi配置,做到随开随用
- 消息无损转发
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
2018年第三届新生杯科技创新大赛机器人手柄控制程序.zip (95个子文件)
资料总结
技术说明.pdf 825KB
src
Robot
DuiMini
Utils
UIXmlLoader.cpp 3KB
UIUtils.cpp 14KB
UIException.h 2KB
UIXmlLoader.h 1KB
UIUnzip.cpp 2KB
UIUtils.h 6KB
UIException.cpp 2KB
UIUnzip.h 2KB
DuiMini.vcxproj.filters 10KB
Core
UISystem.cpp 2KB
UISystem.h 2KB
Render
UIRenderGDIP.h 2KB
UIRenderGDIP.cpp 10KB
UIRender.h 2KB
UIRender.cpp 3KB
Resource
UIResRC.h 504B
UIResRC.cpp 1KB
UIResFile.cpp 1KB
UIResZip.cpp 1KB
UIResource.h 3KB
UIResFile.h 562B
UIResource.cpp 4KB
UIResZip.h 630B
UIDlgBuilder.h 1KB
UIDlgBuilder.cpp 4KB
UIConfig.h 5KB
UIWindow.h 6KB
UIInterface.h 3KB
UIWindow.cpp 19KB
UIConfig.cpp 11KB
DuiMini.vcxproj 35KB
resource.h 384B
Control
UIButton.cpp 2KB
UIControl.cpp 10KB
UIButton.h 949B
UIImage.cpp 7KB
UIText.h 2KB
Layout
UIContainer.h 1KB
UIContainer.cpp 4KB
UIImage.h 981B
UIText.cpp 4KB
UIDialog.h 2KB
UIDialog.cpp 5KB
UIControl.h 6KB
UIDefine.h 3KB
DuiMini.h 2KB
DuiMini.cpp 460B
DuiMini.aps 2KB
DuiMini.vcxproj.user 165B
StdAfx.cpp 127B
DuiMini.rc 4KB
thirdpart
zlib
iowin32.c 14KB
zconf.h 16KB
iowin32.h 879B
unzip.h 16KB
ioapi.c 8KB
zlib_x86.lib 152KB
ioapi.h 7KB
zlib_x64.lib 259KB
zlib.h 96KB
unzip.c 71KB
pugixml
pugixml.cpp 330KB
pugixml.hpp 51KB
pugiconfig.hpp 3KB
StdAfx.h 144B
Robot.sln 5KB
Robot
stdafx.h 1KB
MainDlg.cpp 11KB
Robot.cpp 1KB
Robot.ico 45KB
Joystick_Driver.h 2KB
resource.h 1KB
Joystick_Driver.cpp 16KB
small.ico 45KB
Robot.vcxproj 10KB
Robot.h 80B
MainDlg.h 667B
Robot.rc 4KB
Robot.aps 48KB
Robot.vcxproj.user 610B
stdafx.cpp 586B
targetver.h 630B
Robot.vcxproj.filters 2KB
LICENSES
DuiMini
DUILIB LICENSE 1KB
PUGIXML LICENSE 2KB
ZLIB LICENSE 982B
DIRECTUI LICENSE 593B
Joystick Driver Project
CPOL.htm 14KB
ESP8266.txt 3KB
keymap.png 128KB
LICENSE 34KB
iRobot_SDK.pdf 1.56MB
.gitignore 35B
README.md 2KB
共 95 条
- 1
资源评论
妄北y
- 粉丝: 9672
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功