Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 距离和角度机器人控制_Algorithm_Robotics - Fatal编程技术网

Algorithm 距离和角度机器人控制

Algorithm 距离和角度机器人控制,algorithm,robotics,Algorithm,Robotics,如果这不是我应该问这个问题的正确的Stack Exchange网站,我很抱歉,但在我看来,这与软件编程比电气工程更密切相关!如果它在别处,请告诉我 假设我们想要控制一个2个摩托轮的机器人从a点到B点。假设我想要通过提供距离和角度来控制我的机器人 我可以先控制我的角度,然后控制距离,所以机器人首先绕着它的中心旋转(通过向一个车轮提供正方向,向另一个车轮提供负方向),然后移动直到到达点B(通过向车轮提供两个正方向) 然而,如果我想让机器人一步到位,我想同时控制两个不同的控制值。这样,机器人在到达目的

如果这不是我应该问这个问题的正确的Stack Exchange网站,我很抱歉,但在我看来,这与软件编程比电气工程更密切相关!如果它在别处,请告诉我

假设我们想要控制一个2个摩托轮的机器人从a点到B点。假设我想要通过提供距离和角度来控制我的机器人

我可以先控制我的角度,然后控制距离,所以机器人首先绕着它的中心旋转(通过向一个车轮提供正方向,向另一个车轮提供负方向),然后移动直到到达点B(通过向车轮提供两个正方向)

然而,如果我想让机器人一步到位,我想同时控制两个不同的控制值。这样,机器人在到达目的地之前确实有一个很好的曲线。这样做,我为轮子提供了两个正序,在一边加上一个正序,在另一边加上一个负序

对于最后一个解决方案,我很难理解如何达到正确的方向

例如,如果我想向后走1米。我将把我的顺序设置为B点:(1m,180°)。使用第一种解决方案,没问题,角度是先完成的,完成后,1米就完成了。 对于第二种解决方案,我在转弯时移动,因此,曲线远大于有序的1m,并且在1m后停止,而不是在点B

我应该如何解决这个问题?你有什么建议吗,或者我对这项技术不是很了解?我试着用一个XNA小游戏来模拟一个控制系统,即使没有任何机器人也可以尝试解决方案,所以请随意给出任何你认为有趣的建议


当然,我自己也不完全有资格回答这个问题,但是关于这个问题,有一些关于Udacity的很好的材料:。塞巴斯蒂安·特伦(谷歌自主汽车项目的负责人)将比我解释得更好


编辑:视频中的示例假设自行车模型(仅两个车轮),因此它不直接适用于您的情况。然而,你可能会得到一些有价值的信息,你可以利用。

我自己不完全有资格回答这个问题,但Udacity上有一些关于这方面的好材料:。塞巴斯蒂安·特伦(谷歌自主汽车项目的负责人)将比我解释得更好


编辑:视频中的示例假设自行车模型(仅两个车轮),因此它不直接适用于您的情况。但是,您可能会得到一些有价值的信息,可以加以利用。

您可能需要研究反馈线性化。我相信它在你使用的机器人类型之间略有不同,所以你应该寻找关于非完整机器人的资料。

你可能想研究反馈线性化。我相信它在你使用的机器人类型之间略有不同,所以你应该寻找关于非完整机器人的资料。

什么样的机器人有这种控制方案?通常,当你控制一个两轮差速驱动机器人时,你直接给它两个电机指令。你可以用轴距和车轮半径来确定机器人的旋转中心。这不一定在机器人的中间。 如您所述,两轮差速驱动机器人通常有两种控制方案。根据您当前的位置和角度以及目标位置和角度,您可以:

  • 转弯,直行,转弯。这是您描述的简单案例

  • 在两点之间规划一条平滑的路径。通常,这是一条平滑样条曲线。但我认为它也可以是分段的圆形线段和直线

  • 注意,我说的是“计划”。换句话说,就是“搜索”。在两点之间有无数种方法。因此,机器人需要根据转弯半径、最短路径、不向后行驶等指标选择“最佳”路径

    如果你不关心最后的角度,事情会简单一点,就像我认为你不关心的那样。但总的来说,非完整路径规划是一件痛苦的事情。除非这是你的研究领域(http://scholar.google.com/scholar?hl=en&as_sdt=0,22&as_vis=1&q=非完整+路径+规划),我认为大多数人只使用案例1


    我认为即使在第二种情况下,直接向后行驶也是在你身后1米的最佳解决方案。除非你的标准之一是不向后行驶。然后它可能会驱动某种螺旋。但我不知道如何在你的控制方案中体现这一点。车轮上的电机大约是20个左右车轮,10个左右车轮。然后左轮会慢慢减速,接近右轮的速度。

    什么样的机器人有这种控制方案?通常,当你控制一个两轮差速驱动机器人时,你直接给它两个电机指令。你可以用轴距和车轮半径来确定机器人的旋转中心。这不一定在机器人的中间。 如您所述,两轮差速驱动机器人通常有两种控制方案。根据您当前的位置和角度以及目标位置和角度,您可以:

  • 转弯,直行,转弯。这是您描述的简单案例

  • 在两点之间规划一条平滑的路径。通常,这是一条平滑样条曲线。但我认为它也可以是分段的圆形线段和直线

  • 注意,我说的是“计划”。换句话说,就是“搜索”。在两点之间有无数种方法。因此,机器人需要根据转弯半径、最短路径、不向后行驶等指标选择“最佳”路径

    如果你不关心最后的角度,事情会简单一点,就像我认为你不关心的那样。但总的来说,非完整路径规划是一件痛苦的事情。除非那是你的地盘