文章目录

  • 选题说明
  • 选题方向
  • 竞赛开发平台
  • 创新点描述
  • 成果展示

选题说明

利用智能小车与机械臂结合,在智能小车自身能够实现的功能的基础上,拓宽功能,使之得到最大化的利用,提高其利用价值。
智能小车可实现障碍物搜寻、扫除或者攻击“敌人”,另外利用智能小车、机械臂的结合实现物体抓取与放置。
小车扫除障碍时,通过上中两层分布的红外传感器感知障碍或“敌人”,加速进行扫除或发动攻击;
小车抓取物体时,通过红外传感器实现避障到达目的地,然后进行物体抓取并放到指定位置,此动作可自动完成,也可通过蓝牙通讯控制完成,使之更加灵活。

选题方向

基于智能小车,给其增加一机械臂,通过智能小车的移动,使机械臂实现“定点抓取”——>“移动抓取”,利用智能小车已实现的避障、攻击等功能,在机械臂抓取物体,放置物体已实现的情况下,二者叠加,使之产生1+1>2的效果。当我们不便或不想行动时,这时它便可以帮助我们拿物体,就像一个简易的“佣人”。
我们可以手动控制机器人手臂的每个伺服或轴的运动,同样使用“Save”按钮,可以记录每个位置或步骤,然后机器人手臂可以自动运行并重复这些步骤,
这样机械臂可帮助我们做一些简单的重复工作,并且使用相同的按钮,可以暂停自动操作以及重置或删除所有步骤,以便我们可以记录新的步骤。

竞赛开发平台

智能小车车体部分
硬件:
其主控是stm32控制板,配置有四个MG996舵机,两个1203驱动器,四个电机,上中下三层各配置四个传感器,依次是红外传感器,红外测距传感器,红外光电传感器,另配置有一倾角传感器,小车配有锂电池为驱动供电,另配有电源为主控及舵机供电。
软件:
利用Keil 软件平台为智能小车配置代码并进行调试;
利用Robot Servo Terminal软件进行舵机、驱动编号并对舵机位置调试设定;
利用LuBy creater 软件进行传感器参数读取及调试;
机械臂部分
硬件:
其主控是arduino UNO 开发板,其主体机械结构由3d打印,关节分别由SG90舵机和MG996R舵机构成,并且使用蓝牙通讯模块辅助实现其控制。
软件:
利用Ardunio软件平台编写调试 UNO 控制程序;
利用Solidworks 软件设计机械臂物理结构;
利用app inventor软件设计开发与机械臂相匹配的蓝牙控制app。
机械臂部分硬件:
首先,使用Solidworks 建模软件设计了机器人手臂,手臂有5个自由度,机械臂全部由3D打印完成。
对于前3轴,腰部,肩部和肘部,使用MG996R伺服系统,而对于另外2轴,腕部滚动和腕部间距,以及夹持具使用了较小的SG90微型伺服系统。
硬件连接示意图:

主函数代码展示:

(2)抓取物体:
使用应用程序中的滑块,我们可以手动控制机器人手臂的每个伺服或轴的运动。同样使用“Save”按钮,我们可以记录每个位置或步骤,然后机器人手臂可以自动运行并重复这些步骤。使用相同的按钮,我们可以暂停自动操作以及重置或删除所有步骤,以便我们可以记录新的步骤。

代码部分展示:

1.void loop() {2.// Check for incoming data
3.if (Bluetooth.available() > 0) {4.dataIn = Bluetooth.readString(); // Read the data as string
5.
6.// If "Waist" slider has changed value - Move Servo 1 to position
7.if (dataIn.startsWith("s1")) {8.String dataInS = dataIn.substring(2, dataIn.length()); // Extract only the number. E.g. from "s1120" to "120"
9.servo1Pos = dataInS.toInt(); // Convert the string into integer
10.// We use for loops so we can control the speed of the servo
11.// If previous position is bigger then current position
12.if (servo1PPos > servo1Pos) {13.for ( int j = servo1PPos; j >= servo1Pos; j--) { // Run servo down
14.servo01.write(j);
15.delay(20); // defines the speed at which the servo rotates
16.}
17.}
18.// If previous position is smaller then current position
19.if (servo1PPos < servo1Pos) {20.for ( int j = servo1PPos; j <= servo1Pos; j++) { // Run servo up
21.servo01.write(j);
22.delay(20);
23.}
24.}
25.servo1PPos = servo1Pos; // set current position as previous position
26.}
27.
28.// Move Servo 2
29.if (dataIn.startsWith("s2")) {30.String dataInS = dataIn.substring(2, dataIn.length());
31.servo2Pos = dataInS.toInt();
32.
33.if (servo2PPos > servo2Pos) {34.for ( int j = servo2PPos; j >= servo2Pos; j--) {35.servo02.write(j);
36.delay(50);
37.}
38.}

创新点描述

1.同时采用stm32和arduino控制板配合使用,充分利用二者特点,使之与项目要求达到很好的匹配;
2.利用MIT APP Inventor 设计开发机械臂控制APP,无论对于开发者还是使用者,操作都较简单明了;
3.采用3层传感器的分布结构,使车体对周围环境判断更加灵敏和准确,同时也考虑到实际环境的影响,避免采用灰度传感器(受环境光)等外在客观环境影响较大的传感器;
4.智能小车可以自动搜寻障碍并采取相应措施向起发动进攻;
5.使用机械臂APP中的滑块,可以手动控制机器人手臂的每个伺服或轴的运动。同样使用“保存”按钮,可以记录每个位置或步骤,然后机器人手臂可以自动运行并重复这些步骤。使用相同的按钮,可以暂停自动操作以及重置或删除所有步骤,以便记录新的步骤。

成果展示



比赛报道文章
Control Rush | 决战巅峰,嵌入式精英挑战赛武长赛区决赛回顾

智能小车 + 机械臂——华为嵌入式精英挑战赛相关推荐

  1. 2023华为软件精英挑战赛,探寻软件人才与科技创新的最优解

    作者 | 曾响铃 文 | 响铃说 今天,软件行业正呈现出江河入海一般的大汇流趋势. 一方面是技术的汇流,诸如人工智能等前沿技术与软件行业的深度融合,正全面颠覆软件产品的开发模式和服务逻辑. 另一方面则 ...

  2. 2017华为软件精英挑战赛小结

    // 2017华为软件精英挑战赛小结 // 不说废话,直接上货!希望对目前的参赛者,或日后学习的人,提供一些参考和思路. #include <赛题说明.pdf>    //  见附录文件 ...

  3. 【2023华为软件精英挑战赛暨HCSD校园沙龙】首场告捷!

    摘要:近日,[2023华为软件精英挑战赛暨HCSD校园沙龙]活动在杭州电子科技大学首场告捷. 近日,[2023华为软件精英挑战赛暨HCSD校园沙龙]活动在杭州电子科技大学首场告捷.本次活动由华为技术有 ...

  4. 2023第九届华为软件精英挑战赛启动报名,最高20万元奖金激励

    2023年3月1日,第九届华为软件精英挑战赛正式启动报名,征召全球在校大学生前来应战.本届大赛由华为云承办,将围绕"普朗克计划"主题展开,华为资深专家技术团队出题,邀请全球高校软件 ...

  5. # 2021华为软件精英挑战赛C/C++——build.sh/build_and_run.sh/CodeCraft_zip.sh注释

    2021华为软件精英挑战赛C/C++--build.sh/build_and_run.sh/CodeCraft_zip.sh注释 1.build.sh #!/bin/bashSCRIPT=$(read ...

  6. 2021华为软件精英挑战赛(附赠线下判题器链接)——经历

    2021华为软件精英挑战赛(附赠线下判题器链接)--经历 1.题目解析 本次赛题源自现实的互联网企业面临的问题,怎样购买与部署服务器最便宜! 服务器:不相同型号的服务器有着不同的CPU与不同的内存,每 ...

  7. 2019华为网络精英挑战赛参赛体验

    2019华为网络精英挑战赛参赛体验 这个比赛之前我都没有关注过,听说初赛很简单都是考选择题就报了,然后清明之后花了一周的时间学习华为云平台上的各种学习资料,对照着网上一个往年参加这个比赛大佬的学习笔记 ...

  8. 嵌入式linux智能小车ppt,基于FPGA嵌入式系统的智能小车全面解析

    前言 传统智能小车,特别是嵌入式系统,一般都是基于单片机或者ARM的嵌入式系统,基本上都由软件系统和硬件系统组成的,硬件系统方面,跟传统的搭建硬件环境一样,只能做相对裁剪和功能拓展,但是,本项目的课题 ...

  9. 2016华为软件精英挑战赛:赛题及其答疑汇总

    注:本文文字均摘自官方指定网站和论坛,权威且可信,答疑见中间部分,非常全,众玩家可放心阅读. 同时文末给出了包括自己在内的诸多玩家的解法. 前言 赛题源自"未来网络"业务发放中的路 ...

最新文章

  1. JAVA应用小程序(Applet)
  2. js判断浏览器是否支持webGL
  3. Visaul Studio 常用快捷键的动画演示
  4. 用手动创建新的script标签的方式,实现JavaScript脚本的异步加载
  5. HubbleDotNet使用备忘
  6. matlab2c使用c++实现matlab函数系列教程-find函数
  7. 超全必读!NLP 事件抽取综述(下)
  8. SpringApplication#run⽅法的第6步,创建ApplicationContext(五)
  9. 金山PDF转WOED 1.3.0.1007版本
  10. Python图书商城(可运行代码)有说明文档
  11. 解密网页加密的两个方法
  12. 【opencv】19.图像边缘检测算子数学原理、像素一二阶导数的意义
  13. linux 中find命令下的-type f 代表什么意思
  14. 加工生产调度(流水作业调度问题)——Johnson算法应用
  15. 十进制浮点数的表示方法
  16. 完美解决:Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven
  17. android 日倒计时计算器,倒计时(倒数日在线计算)
  18. 乐华网上阅卷系统服务器地址,乐华阅卷F版本
  19. oracle中使用online,batch(Oracle+shell)及Online(web即Java)使用场景区分(1)
  20. 加油站以后还能叫加油站吗?

热门文章

  1. 程序员该如何学习技术
  2. 树莓派改造成通用计算机,218元!树莓派电脑板成功改造完整便携式电脑(图)...
  3. Centos7 下nexus的安装和使用
  4. [Android App] iPhoneX朋友圈小尾巴工具
  5. 盛迈坤电商:运营店铺需要怎么做
  6. python4delphi和tesserocr库安装配置
  7. 网络浏览器 Vivaldi 32/64 位 v2.9.1705.31 中文便携版
  8. 混合颜色的色值计算公式
  9. 服务器必备工具软件推荐
  10. outlook添加账号接受服务器,如何在outlook添加账号