浙江大学第十二届“中控杯”机器人竞赛
技术报告
一、方案总述
我们通过红外传感器计算距离,当小车前端并排三个红外线传感器中的左右红外线传感器同时接收到反射回来的信号的时,记作移动一格,同时通过前后总共四个传感器使小车在白线上行驶。并且通过机械臂把双倍球放入圆台上的home 区并抓取圆台中间的绿砖,这个功能放到比赛的后半端去实现。 通过两个比较常用的L298N 电机驱动模块来驱动4个12V 直流减速电机,L298N 板子逻辑供电5V (将12V 分出来通过稳压降压成为5V ),驱动电压12V 。
4路红外传感器,前端3个,后端1个,用于巡线,逻辑电压5V ,信号接入单片机。
舵机控制板5V 逻辑电压,驱动电压7.4V ,通过接口与单片机进行通信,实现对舵机的并行控制。 小车总体示意图:
机器人大体为两层的轮式机器人结构,中间用双内螺纹铜柱连接
总体尺寸: 290 mm(长)× 280 mm(宽)× 285 mm(高) 预估质量:直流减速电机 320g ×4 航模电池 600g
小车总质量 3 Kg
二. 机械部分
1、小车的电机我们选用了37GA555直流齿轮减速电机,轮子采用的65mm 的普通橡胶轮,电机参数如下:
额定力矩:3.5 Kg·cm
电 压:12VDC 直 径:37 mm
轴 长:20 mm(带有90度切口) 轴直径:6 mm
长 度:88 mm(含编码器、减速箱,
但不含输出轴)
堵转电流:4.5 A 减速比:19.3:1
空载转速:330转/分钟
额定转速:247.5 转/分钟 机械手以及双角前端使用到的舵机: 1)MG996:净重: 55g 尺寸: 40.7*19.7*42.9m
扭矩:10.5kg/cm(4.8V),13kg/cm(6V)
反应速度: 0.20sec/60degree(4.8v)0.17sec/60degree(6.0v) 工作电压: 4.8-7.2V 工作温度: 0℃-55℃
2、搬运砖块
我们队使用的方法是推动砖块,使砖块进入前面的双角中,双角呈现怀抱的姿势,中间留出8cm 的距离使得砖块顺利进入,同时使得砖块在小车转弯的时候不容易
出去,根据设计前面为12cm×25cm ,理论上可以容纳8个砖块。
拾取一定数量的砖块后小车回到自己的home 区,然后用舵机使双角前端抬起一定角度然后后退,使砖块留在home 区。
3、机械手的使用
比赛开始前机器人小车用机器手抓着双倍砖,比赛的时候小车行驶到圆台附近,机械手位于圆台home 区的上方,给舵机一个指令,松开双倍砖使其落入home 区。
然后抓取圆台中间的绿砖块,把它放到圆台上的home 区。
三. 传感器位置排布和电路板安装位置示意图
小车的上板上有一个绿色的arduino 板,两个蓝色的降压模块,一块紫色的循迹传感器模块,另外能看到下板上其他模块的那些切除的部分用来接线,通过切除部分与下板的模块相连。
下板安装两个红色的L298驱动模块 一个黄色的航模电池
下板的地面安装了4个传感器,前端安装三个,后端一个。 四. 取胜思路和可行性分析
比赛开始后,使机械手抓紧双倍砖,因机器人采用全驱,不会出现常用的全向轮结构的打滑和驱动力不足的现象,所以机器人的运动速度较快。机器人虽然也有机械臂,但是还是主要以推砖块为主,以速度取胜,机械臂主要是为了后来把双倍砖放入圆台home 区以及抓取圆台上的绿砖,这样就能避免了抓取砖块的速度较慢的问题。机器人先不着急把双倍砖放入home 区,先按既定路线用最短路线先把地面上自己半区的绿砖拾取完再回家,在回家的路线上把家门口的黄砖也拾取了,然后把拾取到的砖块先推到自己的home 区,这样就不会遇到拾取了很多砖块但是和对面机器人撞上没有得分的尴尬局面,同时也避免了被对面以速度取胜直接拿到三绿三黄直接完胜的情况。
把自己半区砖块全部拾取后去对面半区巡视,把对方有些还没来得及取的砖块放到自己home 区,巡视一遍后在比赛后半段时间里,地面的砖已经大部分拾取完了。这个时候基本上地面上没有什么砖块,可以尝试把双倍砖放入圆台的
home
区以及抓圆台上的绿砖,这样更容易得高分,也避免了比赛刚开始把双倍砖放入home 区但后面机器人需要重启,从而双倍砖无效并因前面花了太多时间而被别人取胜的情况。
完成上诉任务后,机器人回到自己家门口的十字路口,停在这个位置防止对面来家里偷砖头。
五. 电路部分
主控芯片——Arduino MEGA2560 R3 1. 简介
Arduino Mega2560是采用USB 接口的核心电路板,它最大的特点书具有多大54路数字数字输入输出,特别适合需要大量IO 接口的设计。Mega2560的处理器核心是ATmega2560,同时具有54路数字输入/输出口,16路模拟输入,4路UART 接口,一个
16MHz
晶体振荡器,一个USB 口,一个电源插座,一个ICSP header 和一个复位按钮。Arduino Mega2560也能兼容为Arduino UNO设计的扩展板。 2. 规格参数: 处理器 ATmega2560 工作电压5V
输入电压(推荐) 7-12V 输入电压(范围) 6-20V
数字IO 脚 54 (其中16路作为PWM 输出) 模拟输入脚 16 IO 脚直流电流 40mA 3.3V 脚直流电流 50mA
Flash Memory 256KB (ATmega328,其中8KB 用于bootloader) SRAM 8KB EEPROM 4KB 工作时钟 16MHz 3. 引脚定义
VIN ——当外部直流电源引入电源插座时,可以通过VIN 向外部供电,也可以通过此引脚向Mega2560直接供电;VIN 有电时将忽略从USB 或者其他引脚接入的电源。
5V ——通过稳压或USB 的5V 电压,为UNO 上的5V 芯片供电。
3.3V ——通过稳压器产生的3.3V 电压,最大驱动电流50mA GND ——地脚 4. 通信接口
串口:ATmega2560内置的4路UART 可以与外部实现串口通信;ATmega16U2可以访问串口0实现USB 上的虚拟串口。 TWI (兼容I2C )接口 SPI 接口 5. 引脚接口图
直流减速电机驱动模块——L298N 1. 简介
L298N 是ST
公司生产的一种高电压、大电流点击驱动芯片。该
芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V ;输出电流大,瞬间峰值可达3A ,持续工作电流为2A ;额定功率25W 。内含两个H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N 芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
L298N 驱动模块参数
2. 电路图:
3.直流电机的驱动:
该驱动板可驱动2路直流电机,使能端ENA 、ENB 为高电平时有效,控制方式及直流电机状态表如下所示
若要对直流电机进行PWM 调速,需设置IN1和IN2,确定电机的转动方向,然后对使能端输出PWM 脉冲,即可实现调速。当使能信号为0时,电机处于自由停止状态;当使能信号为1,且IN1和IN2为00或11时,电机处于制动状态,阻止电机转动。
四路循迹传感器模块 1. 模块描述
此模块是为智能小车、机器人等自动化机械装置提供一种多用途的红外线探测系统的解决方案。该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~60cm ,工作电压为 3.3V-5V 。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。 2. 模块参数说明
a) 当模块检测到前方障碍物信号时,电路板上红色指示灯点亮,同时OUT 端口持续输出低电平信号, 该模块检测距离2~60cm ,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。 b) 传感器属于红外线反射探测, 因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小, 白色最大; 小面积物体距离小, 大面积距离大。
c) 传感器模块输出端口OUT 可直接与单片机IO 口连接即可,也可以直接驱动一个 5V 继电器模块或者蜂鸣器模块;连接方式:VCC-VCC;GND-GND;OUT-IO 。
d) 尺寸大小:中控板 42mm×38mm×12mm (长×宽×高)
小板 25mm×12mm×12mm (长×宽×高)
3. 原理图 a) 小板
b) 主控板
六、尚未解决的难点问题
机械手的抓取:抓取圆台上的绿砖时因为圆台是可旋转的,所以绿砖的摆放可以是不规则的,这时候用机械手去抓取可能会不小心把绿砖碰到对面的home ,怎么样能稳定的抓取中间的绿砖。
机器人平衡沿着白线运行问题:小车通过轮子的正转反转实现转弯,
转弯后如果是右转则会前端左边的传感器先接收到信号,当前端中间的传感器和后端的传感器同时接受信号时小车向前,但是因为滞后,小车可能会偏一个角度,而不是沿白线前进,然后前端右边的传感器接收到信号,小车再向右偏,这样小车可能会不停地调整,头转来转去。
七、经费运算
浙江大学第十二届“中控杯”机器人竞赛
技术报告
一、方案总述
我们通过红外传感器计算距离,当小车前端并排三个红外线传感器中的左右红外线传感器同时接收到反射回来的信号的时,记作移动一格,同时通过前后总共四个传感器使小车在白线上行驶。并且通过机械臂把双倍球放入圆台上的home 区并抓取圆台中间的绿砖,这个功能放到比赛的后半端去实现。 通过两个比较常用的L298N 电机驱动模块来驱动4个12V 直流减速电机,L298N 板子逻辑供电5V (将12V 分出来通过稳压降压成为5V ),驱动电压12V 。
4路红外传感器,前端3个,后端1个,用于巡线,逻辑电压5V ,信号接入单片机。
舵机控制板5V 逻辑电压,驱动电压7.4V ,通过接口与单片机进行通信,实现对舵机的并行控制。 小车总体示意图:
机器人大体为两层的轮式机器人结构,中间用双内螺纹铜柱连接
总体尺寸: 290 mm(长)× 280 mm(宽)× 285 mm(高) 预估质量:直流减速电机 320g ×4 航模电池 600g
小车总质量 3 Kg
二. 机械部分
1、小车的电机我们选用了37GA555直流齿轮减速电机,轮子采用的65mm 的普通橡胶轮,电机参数如下:
额定力矩:3.5 Kg·cm
电 压:12VDC 直 径:37 mm
轴 长:20 mm(带有90度切口) 轴直径:6 mm
长 度:88 mm(含编码器、减速箱,
但不含输出轴)
堵转电流:4.5 A 减速比:19.3:1
空载转速:330转/分钟
额定转速:247.5 转/分钟 机械手以及双角前端使用到的舵机: 1)MG996:净重: 55g 尺寸: 40.7*19.7*42.9m
扭矩:10.5kg/cm(4.8V),13kg/cm(6V)
反应速度: 0.20sec/60degree(4.8v)0.17sec/60degree(6.0v) 工作电压: 4.8-7.2V 工作温度: 0℃-55℃
2、搬运砖块
我们队使用的方法是推动砖块,使砖块进入前面的双角中,双角呈现怀抱的姿势,中间留出8cm 的距离使得砖块顺利进入,同时使得砖块在小车转弯的时候不容易
出去,根据设计前面为12cm×25cm ,理论上可以容纳8个砖块。
拾取一定数量的砖块后小车回到自己的home 区,然后用舵机使双角前端抬起一定角度然后后退,使砖块留在home 区。
3、机械手的使用
比赛开始前机器人小车用机器手抓着双倍砖,比赛的时候小车行驶到圆台附近,机械手位于圆台home 区的上方,给舵机一个指令,松开双倍砖使其落入home 区。
然后抓取圆台中间的绿砖块,把它放到圆台上的home 区。
三. 传感器位置排布和电路板安装位置示意图
小车的上板上有一个绿色的arduino 板,两个蓝色的降压模块,一块紫色的循迹传感器模块,另外能看到下板上其他模块的那些切除的部分用来接线,通过切除部分与下板的模块相连。
下板安装两个红色的L298驱动模块 一个黄色的航模电池
下板的地面安装了4个传感器,前端安装三个,后端一个。 四. 取胜思路和可行性分析
比赛开始后,使机械手抓紧双倍砖,因机器人采用全驱,不会出现常用的全向轮结构的打滑和驱动力不足的现象,所以机器人的运动速度较快。机器人虽然也有机械臂,但是还是主要以推砖块为主,以速度取胜,机械臂主要是为了后来把双倍砖放入圆台home 区以及抓取圆台上的绿砖,这样就能避免了抓取砖块的速度较慢的问题。机器人先不着急把双倍砖放入home 区,先按既定路线用最短路线先把地面上自己半区的绿砖拾取完再回家,在回家的路线上把家门口的黄砖也拾取了,然后把拾取到的砖块先推到自己的home 区,这样就不会遇到拾取了很多砖块但是和对面机器人撞上没有得分的尴尬局面,同时也避免了被对面以速度取胜直接拿到三绿三黄直接完胜的情况。
把自己半区砖块全部拾取后去对面半区巡视,把对方有些还没来得及取的砖块放到自己home 区,巡视一遍后在比赛后半段时间里,地面的砖已经大部分拾取完了。这个时候基本上地面上没有什么砖块,可以尝试把双倍砖放入圆台的
home
区以及抓圆台上的绿砖,这样更容易得高分,也避免了比赛刚开始把双倍砖放入home 区但后面机器人需要重启,从而双倍砖无效并因前面花了太多时间而被别人取胜的情况。
完成上诉任务后,机器人回到自己家门口的十字路口,停在这个位置防止对面来家里偷砖头。
五. 电路部分
主控芯片——Arduino MEGA2560 R3 1. 简介
Arduino Mega2560是采用USB 接口的核心电路板,它最大的特点书具有多大54路数字数字输入输出,特别适合需要大量IO 接口的设计。Mega2560的处理器核心是ATmega2560,同时具有54路数字输入/输出口,16路模拟输入,4路UART 接口,一个
16MHz
晶体振荡器,一个USB 口,一个电源插座,一个ICSP header 和一个复位按钮。Arduino Mega2560也能兼容为Arduino UNO设计的扩展板。 2. 规格参数: 处理器 ATmega2560 工作电压5V
输入电压(推荐) 7-12V 输入电压(范围) 6-20V
数字IO 脚 54 (其中16路作为PWM 输出) 模拟输入脚 16 IO 脚直流电流 40mA 3.3V 脚直流电流 50mA
Flash Memory 256KB (ATmega328,其中8KB 用于bootloader) SRAM 8KB EEPROM 4KB 工作时钟 16MHz 3. 引脚定义
VIN ——当外部直流电源引入电源插座时,可以通过VIN 向外部供电,也可以通过此引脚向Mega2560直接供电;VIN 有电时将忽略从USB 或者其他引脚接入的电源。
5V ——通过稳压或USB 的5V 电压,为UNO 上的5V 芯片供电。
3.3V ——通过稳压器产生的3.3V 电压,最大驱动电流50mA GND ——地脚 4. 通信接口
串口:ATmega2560内置的4路UART 可以与外部实现串口通信;ATmega16U2可以访问串口0实现USB 上的虚拟串口。 TWI (兼容I2C )接口 SPI 接口 5. 引脚接口图
直流减速电机驱动模块——L298N 1. 简介
L298N 是ST
公司生产的一种高电压、大电流点击驱动芯片。该
芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V ;输出电流大,瞬间峰值可达3A ,持续工作电流为2A ;额定功率25W 。内含两个H 桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N 芯片驱动电机,该芯片可以驱动一台两相步进电机或四相步进电机,也可以驱动两台直流电机。
L298N 驱动模块参数
2. 电路图:
3.直流电机的驱动:
该驱动板可驱动2路直流电机,使能端ENA 、ENB 为高电平时有效,控制方式及直流电机状态表如下所示
若要对直流电机进行PWM 调速,需设置IN1和IN2,确定电机的转动方向,然后对使能端输出PWM 脉冲,即可实现调速。当使能信号为0时,电机处于自由停止状态;当使能信号为1,且IN1和IN2为00或11时,电机处于制动状态,阻止电机转动。
四路循迹传感器模块 1. 模块描述
此模块是为智能小车、机器人等自动化机械装置提供一种多用途的红外线探测系统的解决方案。该传感器模块对环境光线适应能力强,其具有一对红外线发射与接收管,发射管发射出一定频率的红外线,当检测方向遇到障碍物(反射面)时,红外线反射回来被接收管接收,经过比较器电路处理之后,同时信号输出接口输出数字信号(一个低电平信号),可通过电位器旋钮调节检测距离,有效距离范围2~60cm ,工作电压为 3.3V-5V 。该传感器的探测距离可以通过电位器调节、具有干扰小、便于装配、使用方便等特点,可以广泛应用于机器人避障、避障小车、流水线计数及黑白线循迹等众多场合。 2. 模块参数说明
a) 当模块检测到前方障碍物信号时,电路板上红色指示灯点亮,同时OUT 端口持续输出低电平信号, 该模块检测距离2~60cm ,检测角度35°,检测距离可以通过电位器进行调节,顺时针调电位器,检测距离增加;逆时针调电位器,检测距离减少。 b) 传感器属于红外线反射探测, 因此目标的反射率和形状是探测距离的关键。其中黑色探测距离最小, 白色最大; 小面积物体距离小, 大面积距离大。
c) 传感器模块输出端口OUT 可直接与单片机IO 口连接即可,也可以直接驱动一个 5V 继电器模块或者蜂鸣器模块;连接方式:VCC-VCC;GND-GND;OUT-IO 。
d) 尺寸大小:中控板 42mm×38mm×12mm (长×宽×高)
小板 25mm×12mm×12mm (长×宽×高)
3. 原理图 a) 小板
b) 主控板
六、尚未解决的难点问题
机械手的抓取:抓取圆台上的绿砖时因为圆台是可旋转的,所以绿砖的摆放可以是不规则的,这时候用机械手去抓取可能会不小心把绿砖碰到对面的home ,怎么样能稳定的抓取中间的绿砖。
机器人平衡沿着白线运行问题:小车通过轮子的正转反转实现转弯,
转弯后如果是右转则会前端左边的传感器先接收到信号,当前端中间的传感器和后端的传感器同时接受信号时小车向前,但是因为滞后,小车可能会偏一个角度,而不是沿白线前进,然后前端右边的传感器接收到信号,小车再向右偏,这样小车可能会不停地调整,头转来转去。
七、经费运算