• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

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

人工智能 路拾遗37 1661次浏览 0个评论

文章目录

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

选题说明

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

选题方向

  基于智能小车,给其增加一机械臂,通过智能小车的移动,使机械臂实现“定点抓取”——>“移动抓取”,利用智能小车已实现的避障、攻击等功能,在机械臂抓取物体,放置物体已实现的情况下,二者叠加,使之产生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中的滑块,可以手动控制机器人手臂的每个伺服或轴的运动。同样使用“保存”按钮,可以记录每个位置或步骤,然后机器人手臂可以自动运行并重复这些步骤。使用相同的按钮,可以暂停自动操作以及重置或删除所有步骤,以便记录新的步骤。  

成果展示

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


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明智能小车 + 机械臂——华为嵌入式精英挑战赛
喜欢 (0)

您必须 登录 才能发表评论!

加载中……