本项目是为了实现“跳跃机器人”的部分功能。
1.1 需求背景
对于独特的地形,比如石块多、坡度高、或者有高大障碍等的复杂地形,比如在震后的灾区、外星地表等,完全依靠轮子运动则很容易受阻,故在这些独特的地形内,只用轮子进行驱动的交通工具往往难以自由探索。
这时,具备跳跃功能的机器人便能适应以上所提的复杂的地形,它们可以更轻松地越过一些崎岖的路面,跨过一些高大的障碍,更好地探索需要探索的地形。尤其是在低重力的外星地表,跳跃也成为更加自然的运动方式。
因此,可以知道,跳跃功能的实现也是机器人研发的热门内容之一。
1.2 功能划分
跳跃模块:设计机器人的弹跳部分,使其能够跳过一定的高度。
运动模块:设计机器人的移动部分,使其能够实现基本的运动以实现连续跳跃的可能。
电控模块:设计机器人各部分的运动控制代码,使其能远程操作。
2.1 基础目标
利用Arduino单片机作为控制、通过控制六个弹簧的压缩蓄力和突然释放,把所蓄能量转换为机器人的动能,让跳跃机器人实现可控的跳跃,并且能够达到一定的跳跃高度。
2.2 额外目标
能够在不手动直接触及机器人的情况下实现连续跳跃,包括以下两方面:
a)能够远程多个方面控制机器人,包括起跳前、后位置的调整,以及起跳指令的传达。
b)能够设计一个回正系统,让机器人能通过一些操作来应对跳跃后可能产生的侧翻、颠覆的情况,确保落地后的姿态正确,以便于下一次的跳跃。
3.1 建模成果
3.1.1 整体模型:
其中分为两个部分:运动部分与弹射部分
3.1.2 运动部分:
将外形设计为带有两条光滑导轨的球壳,然后将弹射装置以平面的形式搭载到导轨之上,同时在平板与球壳之间通过一对驱动轮接触在一起。运动时,由于导轨比较光滑,如涂上润滑剂等,当外壳向前滚动时,可以保证里面的装置在重力力矩的作用下始终保持在近似竖直方向,以保证弹射时的冲力是竖直向上的;一对驱动轮在弹簧的压缩下能与球壳死死接触在一起,同时驱动轮通向转动也可以使外面的球壳在摩擦力的作用下转动,实现前进,后退,驱动轮反向转动可以实现球壳的旋转以达到转弯的效果。
3.1.3 弹射部分:
3.1.4 弹跳结构和卡扣:
(卡扣结构)
(弹射结构)
卡扣装置可以在弹簧收缩后,把弹簧卡住,待到需要跳跃时,由电机带动释放卡扣从而释放弹簧,进而让机器人跳跃起来,达到控制机器人跳跃的目的。
舵机(未画出),在释放细绳后转动复位下挡板,实现连续跳跃的功能。
弹射结构中,电机和下板通过细绳相连,电机转动拉动细绳上升,由挡板迫使弹簧压缩;细绳下部分固结一个“释放块”,细绳被拉到一定程度时“释放块”挤压卡扣而释放在挡板上积累的细绳从而释放弹簧。
3.1*(另一种回正系统)本质上就是把弹射装置单独从球壳里拿出来,加上轮子实现运动控制,同时设计一个单独的回正系统来使装置可以回正。
3.1*.1 运动控制部分:
底盘放置有两个电机和两个辅助轮,用来实现机器人前进、后退和转弯等功能。
3.1*.2 侧翻回正装置:
该侧翻回正装置可以用于处理机器人侧翻甚至倒置的情况。
跳跃完成后,若机器人侧翻,凸轮装置可以转动起来,带动直动从动件移动,将机器人回正。若机器人倒置,则凸轮上方的拨杆就转动起来,将机器人拨正。(凸轮和拨杆通过电机、舵机和齿系带动)
3.2 实物成果:
(由期中线下时期所完成的部分实物)
由于疫情封控,项目临时改成线上完成,因此实物部分仅完成了线路连接。
红框部分是电机和驱动模块,电机连接轮子,驱动模块连接Arduino和电机,用于控制电机转速。
绿框部分是Arduino和蓝牙,用于接受手机上发出的指令和对电机的转动进行控制。
蓝框部分是并联的电源总线,给Arduino和电机驱动模块供11.1V电。为了减少重量,没有用面包板,而是将8根杜邦线分两组焊在一起,各自作为正极负极总线。
3.3 电控成果
在期中线下时期,电控部分基本已经调试完全了,不过由于机器人的方案的迭代,电控并不适用于如今现有的最新型机器人,因为没有实物进行调试,也算是遗憾。
此前,机器人整体已经通过了调试,能够在手机上实现低延迟地控制电机转动。具体代码不在此展示。