我正在构建一个自动迷宫求解器,使用以下作为灵感:
http://www.youtube.com/watch?v=Prq78ctJ2Rk&feature=related 我用步进电机构建了迷宫控制器,我正在使用以下步进电机控制板:
http://www.sparkfun.com/products/10025
我正在使用视觉系统来控制迷宫解算器。我还找到了解决此问题的链接:
他们使用模板匹配来识别球。上面链接中提到的团队还上传了一个视频,看起来他们看起来很难找到路径并执行PID算法。
http://www.youtube.com/watch?v=8b5ARjT22bg&feature=player_embedded
现在,我还在opencv中建立了模板匹配和边缘检测。我还通过USB串口建立了对步进器的控制。如何实现导航算法?如何实现PID控制?我从理论上知道PID控制的概念,但我不知道使用相机的信息来实现它。关于让球跟上线,我只是一无所知。
请查看我到目前为止所得结果的附图。
赛
答案 0 :(得分:0)
我不太明白你的问题但是如果你问什么命令给了ballgiven它的位置是我的猜测:
1. you find the location of the ball.
2. you have the line of the desired path drown on the board and detected
using canny.
3. Find the closest point to the ball which is on the path line. If
it was a straight line then the calculation is simple geometrical
formulae dist(point,line). Let us call the result D.
4. The resulting point on the line is where the ball should be.
5. Advance distance D along the path line. This would give you your
destination point.
6. Subtract ball coordinates from destination point, and then, using atan2()
method to calculate in which direction to move the ball.
7. Activate motores to tilt board in that direction.
澄清到第5步。为什么我说要沿路径推进距离D?因为你将球引导到最多45度的路径线。这样可以让您获得相对平稳的运动。
如果我不理解你的问题,请告诉我,我会更正我的答案