学生休息室

分享学生如何在日常项目中使用MATLAB和Simulink的技术和现实例子#学生成功#金宝app

由dj Robocon团队设计的扔箭机器人

在今天的帖子中,Maitreyee Mordekar我想把你介绍给团队dj RoboconD. J. Sanghvi工程学院,印度孟买。

简介

制造机器人不是一项简单的任务。我们需要创建各种原型来验证各种参数。然而,制造和测试不同的原型是一项耗时且昂贵的任务。这就是模拟拯救机器人建造者生命的地方。人们可以模拟各种机制,从而了解设计的可行性。与此同时,设计师可以灵活地设计各种机制。团队dj Robocon2021年的模拟部门使用MathWorks工具为国家DD-创建了各种机制的模拟Robocon 2021机器人技术的竞争。
“ABU Robocon 2021”的主题是让团队使用配备了现代技术的机器人,玩向罐子里扔箭的游戏。总的来说,每队有两个机器人——一个投掷机器人和一个防守机器人。投掷机器人把箭投进罐子里,防守机器人可以防守,避免对方的箭射到罐子里。
在本博客中,我们将分享我们如何设计和构建解决方案来解决具有挑战性的问题陈述。为了设计我们的系统,我们使用了各种MathWorks工具,这些工具帮助我们测试各种原型,最终确定我们的设计。

投掷机器人的设计

机器人设计师可以用多种方法设计一个扔箭机器人。它的设计灵感可能来自十字弓、弹射器或直接使用活塞。在设计机器人时,我们的财务预算和尺寸都有限制。在将机器人投入生产之前,我们尝试了使用Simscape的各种机制,以确保满足我们的需求。

1.弩设计

crossbow2.gif
我们尝试的第一个机制是弓弩底座。这个装置的形状像弓,有一个底座和一根弦。箭支在一个底座上,上面拉着一根绳子。用伺服器和气动活塞拉伸琴弦,然后伺服器旋转90度释放琴弦并射出箭。
我们在这个机制中面临的问题是,因为有不同距离的瞄准器,每个瞄准器串都必须在不同距离上进行校准。使用活塞的加载机构变得笨重,很难用伺服系统精确地改变角度。因此,由于这个机制的准确性问题,我们换了一个不同的方法。

2.直接的活塞

DirectPiston.gif
该机构采用双作用气动活塞,用于投箭和改变活塞角度。活塞被定位和安装在底座上,使活塞杆打击箭头尾部的中心。为了击中箭头,我们在活塞杆头部上尝试了不同尺寸和截面的块,并测试了不同的压力值。
inclinationAngle.png
为了改变投掷距离,我们需要改变倾斜角度,这意味着改变压力。但是我们的储存空间有限我们不能进一步增加压强。拒绝该机制的另一个原因是,如果我们的加载机制以较小的角度变化加载箭头,那么箭头将采取倾斜路径,降低了箭落在罐中的机会。

3.分叉的弹射器

forkedCatapult.gif
弹射器安装在一个固定长度的手臂上,一端铰接到一个行星齿轮直流电机上。我们测试了各种长度的弹射臂,各种形状的弹射叉和弹射器的各种初始静止角度,以确定我们的设计。每一个都被设计成把箭扔进一个特定距离的罐子里。
由于我们感兴趣的对象是带有箭头的箭,所以我们在弹射器上设计了一个叉,以便将箭头精确地放置在叉上。由于需要精度,我们使用伺服电机作为精确加载箭在弹射器上的手段。然而,伺服系统只能移动180度。这个问题是因为箭和弹射器的初始角度是特定的,180度的范围对我们来说变得很窄,因为在投箭过程中,叉和箭头之间没有足够的接触。
然后我们检查了直流电机。直流电动机的限制在于,如果我们想要获得所需的力,手臂就必须旋转两次,或者我们需要一个大扭矩的电机来投掷箭头(这超出了我们的预算)。因此,我们决定通过使用简单的弹射器和气动活塞来消除这两个问题。

4.气动活塞驱动弹射器

CatapultwithPneumatic.gif
气动活塞连接到旋转铰链臂上,箭头连接到臂上。研究发现,活塞铰链点与旋臂铰链之间的距离、旋臂长度、旋臂与底板之间的距离等参数的微小变化对结果有较大影响。
real_low.gif
使用这种机构,与以前的机构相比,实现箭在锅中完美着陆所需的压力已经降低了。此外,由于采用了曲线臂,避免了小的箭头角度位移,相对提高了完美投掷的一致性。因此,我们最终确定了这个机制。
我们在模拟中观察到的所有现象都是我们在真实机器人上看到的。

参数估计

我们不知道实际系统的参数,但希望它们能在我们的模型上发挥作用,以实现真实的模拟。我们想知道很多参数的值,比如箭头尾部的力,以达到特定的弹射路径,或者找到活塞和摩擦参数。我们不知道这些参数,但我们肯定知道我们工厂的输入和输出。因此,我们使用优化方法来获得我们需要的参数。
paraEst.png

确定箭投的力

我们假设了射击角度、到达目的地的时间、最大高度和最大射程,从而得到一个弹丸方程。
ForceDetermining.gif
我们的输入是一个参考信号,我们从这个弹丸方程中生成,我们的输出是箭头位置的X和Z坐标(我们工厂的输出)。通过参数估计,我们找到了将箭头降落到所需位置的力。

确定活塞和摩擦参数

为此,我们将一个桶固定在一个重为3kgs的零自由度表面上,并在其上粘贴一张绿色的纸。然后,我们使用颜色阈值来寻找笔画的位置,并以时间序列的格式保存位置。
我们将这些保存的数据通过Signal Builder输入到活塞装置,最终计算出一个简单气动活塞的摩擦参数、内部弹簧刚度和阻尼。
parameterEstimationGIF.gif

使用操纵杆控制虚拟机器人

对于比赛来说,机器人表现的一个重要部分是使用操纵杆对机器人进行手动控制。由于机器人需要执行某些任务,我们确保在模拟中测试了机器人的运动和操纵杆控制。我们的任务必须在3分钟内完成,这就是在statflow中实现逻辑对我们的巨大帮助。我们可以跟踪它正在执行的任务,以及它在每种状态下会花费多少时间。
我们还使用操纵杆控制选择箭头。这些都是用我们机构的物理参数来模拟的让它尽可能接近硬件。
gameplay.gif
除了提供操纵杆控制外,我们还使用信号构建器来查看机器人框架相对于给定的信号的运动,并模拟整个游戏玩法,以在罐子中挑选和投掷箭头。

未来计划

在构建最终原型之前,您都看到了我们如何利用MathWorks工具模拟多个设计。继续相同的方法/工作流程,在接下来的一年里,我们打算开发一种更精确的方法来识别缺失参数,以提高我们力学仿真模型的准确性。我们计划在我们的控制平台上使用自动代码生成,并在proteus和ROS之间进行联合仿真,使我们的模型更加真实。
我们今年开始与ROS合作,在我们的系统和一个在竞技场共同模拟凉亭中诞生的机器人之间进行通信。我们使用Simuli金宝appnk模型来订阅机器人上的摄像头数据。我们使用这些相机数据来了解使用交互式颜色阈值应用程序要检测的颜色。这些阈值来自机器人订阅的模型,用于检测指定颜色的箭头。在未来几年,我们将投资于使用MATLAB和Simulink部署ROS节点,因为我们正在Simulink中开发我们的控制器算法。金宝app
ros.gif
我们还选择了一种传感器融合技术,这将使我们的机器人在自主模式下做出决策时更加精确。我们还打算利用距离传感器和图像传感器来创建一个3D对象,可以用来检测物体并确定它们的距离。我们还计划在不同背景的模拟环境中使用深度学习进行目标检测。

我们的学习旅程

我们广泛使用MATLAB金宝app而且Simscape开始使用工具。然后我们观看了来自MATLAB和Simu金宝applink机器人竞技场(特别是关于物理建模的)。这些帮助我们有了一个想法,开始设计我们的机器人。虽然我们的机器人今年是人工控制的,但我们正在努力使我们的机器人在未来几年自主完成任务。MathWorks工具将在我们的旅程中扮演重要的角色。
我们要感谢MathWorks创建的工具,帮助我们继续进行机器人的设计,即使我们不能总是接近我们的硬件。

|
  • 打印
  • 发送电子邮件

评论

要发表评论,请点击此处登录到您的MathWorks帐户或创建一个新帐户。