距离和角度机器人控制

时间:2012-08-03 10:53:13

标签: algorithm robotics

我很抱歉,如果它不是正确的Stack Exchange网站我应该问这个问题,但在我看来,这与软件编程密切相关而不是电工程!如果它应该在其他地方,请告诉我。

让我们假设我们要控制一个2电动轮机器人从A点到B点。让我们假设我想通过提供它的距离和角度来控制我的机器人。

我可以首先对我的角度进行控制,然后对距离进行控制,因此机器人首先绕其中心转动(通过向一个轮子提供正序,对另一个轮子为负),然后行进到B点。到达(通过向车轮提供两个正面的oders)。

但是,如果我希望机器人一次完成它,我希望同时控制两个不同的控制值。这样,机器人确实有一条很好的曲线,直到它到达目的地。这样做,我向车轮提供两个正序,我在一侧添加正序,在另一侧添加负序。

通过这个最后的解决方案,我有一些麻烦来了解如何达到正确的方向。

例如,如果我想向后走1米。我将订单设置为B点:( 1m,180°)。使用第一种解决方案,没有问题,首先完成角度,完成后,完成1米。 在第二个解决方案中,我移动WHILE,因此,曲线比有序的1m大,并且在1m后停止,而不是在B点。

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

Al_th

3 个答案:

答案 0 :(得分:1)

我自己并不完全有资格回答这个问题,但在Udacity上有一些很好的材料:http://www.udacity.com/view#Course/cs373/CourseRev/apr2012/Unit/510040/Nugget/515042。 Sebastian Thrun(管理谷歌的自动驾驶汽车项目)将比以往任何时候都更好地解释这一点。

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

答案 1 :(得分:0)

您可能希望了解反馈线性化。我相信你使用的机器人类型略有不同,所以你应该寻找有关非完整机器人的东西。

答案 2 :(得分:0)

什么样的机器人将其作为控制方案?通常在控制2轮差动驱动机器人时,直接给它2个电机指令。您可以使用轮距和车轮半径来确定机器人的旋转中心。这不一定在机器人的中间。

正如您所提到的,对于2轮差速驱动机器人通常有2种控制方案。根据您当前的位置和角度,以及目标位置和角度,您可以:

  1. 转弯,直行,转弯。这是你描述的简单案例。

  2. 计划2点之间的平滑路径。一般来说,这是一个平滑的样条曲线。但我认为它也可以是分段圆形段和线。

  3. 注意我说“计划”。或换句话说“搜索”。有两种方法可以获得2点之间。所以机器人需要选择“最佳”的机器人给出一些指标,如转弯半径,最短路径,不向后行驶等。

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

    我认为即使在情况2中,直线向后驾驶也是落后于1米的最佳解决方案。除非你的一个指标是不向后开车。然后它可能会驱动如果某种螺旋。我不知道如何在你的控制方案中表示这一点。车轮上的电机就像左轮20,左轮10。然后左轮会慢慢减速,接近右轮的速度。

相关问题