机器人

专业机器人工程师,业余爱好者,研究人员和学生的问答

1
SAM和SLAM有什么区别?
是什么区别平滑和制图(SAM),并同时定位和地图(SLAM)?这些一般方法似乎密切相关。有人可以描述差异吗?
12 slam 

4
为什么走路这么难?
至少在两条腿上。Asimo是最著名的类人机器人之一,已经具备了行走的能力,尽管它似乎并不能非常稳定地行走。这是最近的结果。 据我所知,腿实际上是多维的非线性系统,其控制理论处于“非常困难”和“不可能”的边界。 但是,例如,飞机类似地是多维的和非线性的,尽管如此,几十年前自动驾驶仪对它们的控制也足够好。他们被充分信任,可以将数百名活着的人类的生命倾诉给他们。 本质上的区别是什么?什么使行走如此困难,而飞机却如此容易控制呢?

7
机器人和机器有什么区别?
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 机器人和机器有什么区别?在什么时候机器开始被称为机器人? 它是否具有一定的复杂性?当它具有软件等时? 例如:台式打印机具有机械,电子设备和固件,但不被认为是机器人(或者是机器人)。Roomba具有相同的内容,但我们称其为机器人。那么区别是什么呢。 我一直认为,机器人是从环境中获取输入并使用它来决定如何影响环境的机器人。即机器人具有反馈回路。

1
什么是四足步态的好方法?
我有一个正在工作的具有三个自由度腿的小四足动物:3DOF迷你四足动物。 我的原始代码是在arduino上的一个简单的伺服控制器,以及Scala代码,它将通过电线发送伺服命令。我在Scala中完成了所有的逆运动学和步态逻辑,并使其行走:3dof四足先步态。 我在Scala中的步态逻辑有些天真。它取决于腿部在开始时处在正确的位置(一侧向前和向后延伸,另一侧朝向彼此)。逻辑是简单地将所有四只脚沿y向后平移1mm,并且每当一个coxa角变得过分向后时,停止并执行一些常规程序,即将该脚沿z方向抬高10mm,然后沿y向前平移60mm,然后放回原处。天真,但有效。 现在,我已经在arduino C中重写了IK代码,并且试图确定如何继续进行步态动力学。我很难找到关于步态的良好且易于理解的资源。我确实了解一些动态稳定的步态(例如蠕动步态)和动态不稳定的步态之间的区别,在这种情况下,身体始终是稳定的三脚架,在这种情况下,两条腿每次都离地,而身体从本质上说是跌入了前进的脚。 我对状态机有一些想法,并试图计算出身体的中心点是否落在其余脚所成的三角形内,以决定哪只脚可以安全抬起,但是我不确定这些想法是否值得探讨。 我知道这是一个过于笼统的问题,但是我很想看看其他人如何解决了这个问题,而我所能找到的几乎都是研究论文。

5
如何检测步进电机何时失速?
如何检测步进电机何时停止运转? 谷歌搜索使我认识到一些人,他们说,当步进电机失速时,电流会突然升高,这可以通过霍尔传感器轻松检测到。(或者,我想通过“我如何感测电动机的电流?”中提到的任何其他电流传感器 来实现 )。 但是,我测量了通过步进电机(4条线中的一条)的电流,并且步进驱动器是否保持一个位置并使其正常移动(在我的应用中这非常缓慢),始终在0.5 A的百分之几内),或者步进驱动器认为正在告诉步进器正常运动,但电动机已超出硬极限。测量+ 12V电源中流向步进电机驱动器的电流,似乎也可以得到一个恒定的电流。这可能是因为我在“斩波器”步进电机驱动器上将电流限制降低到了该数量。 我是否缺少“衡量当前”方法中的一些关键细节? 谷歌搜索使我发现一些其他人,他们在步进驱动器仅驱动另一线圈时测量步进器一个线圈中的反电动势(BEMF)。但这似乎只能区分“电动机快速移动”与“电动机停止”,而似乎无法区分我的“电动机缓慢移动”与“电动机停止”。 即使在我总是缓慢地驱动步进器而从未快速旋转步进器的系统中,是否有某种方法可以应用BEMF方法? 我目前正在使用带有TI DRV8825芯片的步进驱动器板,希望步进电机因我的硬停止而停转时,“故障”引脚会告诉我。但是它似乎没有任何作用-是否应该告诉我有关停转的信息,但我只是将其接线错误? 是否还有其他芯片或驱动技术可以检测到步进器何时因硬停止而停转? 是否有其他检测我可以使用现成的步进电机驱动器“添加”到系统的硬失速的技术? (是否还有其他StackExchange网站更适合于有关电动机和电动机驱动器的问题?)

3
何时在机器人技术中使用FPGA?
FPGA有很多I / O点之类的优点,但您又需要使用触发器在非常低的水平上思考问题,并在事情还不成熟的领域率先使用-例如,在此处查看有关开发工具的问题FPGA-这是我目前的理解!现在,FPGA已被用于在此处的机器人手中创造出色的灵活性。现在有人在推销FPGA来实现快速原型设计和“前瞻性”设计,例如此处,我还不完全了解它们:如果您不需要很多IO点来处理诸如传感器之类的东西,那么为什么要为机器人选择FPGA?所以 什么时候应该为机器人技术项目选择FPGA?

3
如何使用慢速(30Hz)系统控制快速(200Hz)实时系统?
我们目前正在设计一种移动机器人+安装有多个受控自由度和传感器的手臂。 我正在考虑将架构分为两个部分: 一组实时控制器(运行Xenomai之类的RTOS的Raspeberry Pis或裸机微控制器)来控制机械臂电机和编码器。让我们称这些机器为RTx,x = 1,2,3…取决于微控制器的数量。该控制环路将以200Hz运行。 功能强大的香草linux机器,运行ROS来计算SLAM,mocap和执行高级逻辑(确定机器人的任务并计算电动机的所需位置和速度)。该控制环路将以30Hz运行。 我知道我的框架需要可扩展,以容纳更多的电机,更多的传感器,更多的PC(例如,用于外部Mocap)。 我的主要问题是决定如何使不同的RTx与PC1通信。我看过与机器人体系结构(例如HRP2)有关的论文,大多数情况下它们描述了高层控制体系结构,但是我还没有找到有关如何使高层与高层进行可扩展通信的信息。我错过了什么? 为了连接快速RT机器以确保通过PC1进行电机控制,我考虑了TCP / IP,CAN和UART: TCP / IP:不确定,但易于部署。非确定性是一个现实问题吗(因为无论如何它只会在30Hz的低速下使用)? CAN:速度慢,非常可靠,以汽车为目标(已经看到有一些示例将CAN与机器人配合使用,但看起来很奇怪) UART:如果我只有一台用于电机控制的RT机器,我会考虑使用UART,但是我猜想该端口不能很好地与许多RTx配合使用。由于TCP / IP的不确定性,TCP / IP真的不可行吗?它是如此易于使用... 目前,没有任何解决方案对我来说真的很明显。而且由于找不到使用可靠且可扩展的特定解决方案的严肃的机器人示例,因此我没有做出选择的信心。 有没有人对此观点或文献有明确的看法?机器人上是否使用典型或主流的通信解决方案?

2
阿克曼转向与标准双/三轮车在运动学方面的区别?
我收到以下作业问题: 在运动学方面,采用Ackermann转向的机器人与标准自行车或三轮车之间的一般区别是什么? 但是,我看不出应该有什么区别,因为可以将类似汽车的机器人(具有2个固定后轮和2个相关的可调节前轮)看作是类似于三轮车的机器人(在机器人中只有一个可调节前轮)中间)。 然后,如果让两个后轮之间的距离接近零,那么您将得到自行车。 因此,我看不出这三个移动机器人之间有什么区别。我有什么想念的吗?

1
如何使两个连续的轨道(坦克踏板)以相同的速度运动?
我有几个Vex 269电机连接到Arduino Duemilanove。这些马达运行一些Vex坦克胎面。这两个电机使用伺服库在Arduino上作为伺服器运行。我遇到的问题是,当发送相同的伺服角度时,两条轨道的旋转速度不同。显然,这是由于以下事实:连续的轨道具有如此多的运动部件,以至于很难获得在每个轨道上具有相同的摩擦力。 我如何让它们以相同的速度移动?无论摩擦如何,在相同的伺服角度下,它们是否应以相同的速度运动,而Vex 269电机的强度不足(这意味着我应该使用Vex 369或其他功率更大的电机)?最好仅进行足够长的反复试验,以找出哪个伺服角导致每个速度相等?我应该修补一下履带,直到它们几乎具有相同的摩擦力吗?非常感谢!

2
处理指南针滞后(速率相关的磁滞)的方法有哪些?
我有一个踏板驱动的机器人,它具有用于跟踪距离的低精度车轮编码器和用于确定航向的电子罗盘。指南针在机器人快速转动时(例如到达航路点后)有明显的滞后时间(> 1秒),即在原地旋转以指向其新的航向。 有什么方法可以处理滞后现象?我认为可以进行大量测量并为指南针响应建模。但是,这似乎是有问题的,因为它取决于速率,并且我不知道瞬时速率。 作为一种简单但缓慢的方法,我让机器人转动直到它大致正确地指向正确的方向,然后通过短暂的测量暂停进行非常小的增量旋转,直到其指向正确的方向。还有其他解决方法吗?
12 sensors  compass 

5
在我们的日常活动中没有自动机器人的原因是什么?
事实是,搜索越多,使用的自主(真实)机器人就越少。伴侣机器人都是玩具,具有有限的无用功能。每当发生自然灾害时,您都不会在新闻中看到可操作的搜索和救援机器人。甚至在役的军事机器人都是远程控制的机器。他们不是智能机器。工业机械臂是确定性机器。具有一定程度的自治功能的唯一机器人是清洁机器人,仓库操作机器人和农业机器人。 另一方面,今天: 人工智能算法非常擅长决策 传感技术非常复杂 通讯技术非常快 我们可以制造便宜的零件 人们非常精通小工具 那么,为什么我们的日常生活中没有真正的机器人?在该领域没有投资?还没有市场吗?领域知识不足?缺少技术?任何想法?

3
我不了解PID控制器的积分部分
我不了解PID控制器的组成部分。让我们假设来自维基百科的伪代码: previous_error = 0 integral = 0 start: error = setpoint - measured_value integral = integral + error*dt derivative = (error - previous_error)/dt output = Kp*error + Ki*integral + Kd*derivative previous_error = error wait(dt) goto start 一开始将积分设置为零。然后,在循环中,随着时间的推移,它会整合错误。当我对设定值进行(正)更改时,误差将变为正,积分将随着时间(从头开始)“消耗”这些值。但是我不明白的是,当误差稳定回到零时,积分部分仍将具有一定的值(随着时间的推移而产生积分误差),并且仍将对控制器的输出值有所贡献,但不应这样做,因为如果误差为零, PID的输出也应该为零,对吗? 有人可以解释一下吗?
12 control  pid 

5
开始提供有关制造机器人和修补微控制器的建议[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Robotics Stack Exchange 的主题。 6年前关闭。 我想开始制造机器人并修补微控制器。我从哪里开始,我需要什么? 我想做自己的机器人。我对编程(汇编和C语言)很满意,所以已经覆盖了该部分,但是我的电子/电路知识有点薄弱。我不知道该用什么材料开始,需要什么工具,也不知道如何将东西放在一起。 对于微控制器,我正在考虑使用Pololu Orangutan LV-168或Arduino Duemilanove,尽管由于内置LCD和按钮(我希望使用它们,尤其是用于调试和用户交互)。我在正确的轨道上吗?在我看来,I / O端口的数量很小,但实际上是这样吗?



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.