室内移动平台-人工势场法-C语言

SkyStar2015 2015-03-12 08:11:16
目前实验室在做一个可移动平台的项目,该移动平台能够承重50kg,能够在室内避障,到达目标点。想问一下各位大侠,怎样用C语言实现人工势场法,目前已经可以用雷达获取障碍物的距离,但是不知道怎样用C计算出合力和移动方向?用的是Keil软件,求一些关键程序!!谢谢啦
...全文
264 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2015-03-12
  • 打赏
  • 举报
回复
人工势场法是由Khatib提出的一种虚拟力法(Oussama Khatib,Real-Time obstacle Avoidance for Manipulators and Mobile Robots. Proc of The 1994 IEEE.)。它的基本思想是将机器人在周围环境中的运动,设计成一种抽象的人造引力场中的运动,目标点对移动机器人产生“引力”,障碍物对移动机器人产生“斥力”,最后通过求合力来控制移动机器人的运动。应用势场法规划出来的路径一般是比较平滑并且安全,但是这种方法存在局部最优点问题。为了解决这个问题,许多的学者进行了研究(Gilbert E G,Johnson D.W. Distance functions and their application to robot path planning in the presence of obstacles. IEEE J Robotics and Automation 1985,RA-1(1):21-30):如Rimon,Shahid和Khosla等。他们期望通过建立统一的势能函数来解决这一问题。但这就要求障碍物最好是规则的,否则算法的计算量将很大,有时甚至是无法计算的。但是,从另一个方面来看,由于人工势场法在数学描述上简洁、美观,这种方法仍然具有很大的吸引力的。其内在的局限性主要表现在,即当目标附近有障碍物时,移动机器人将永远也到达不了目的地。在以前的许多研究中,目标和障碍物都离的很远,当机器人逼近目标时,障碍物的斥力变的很小,甚至可以忽略,机器人将只受到吸引力的作用而直达目标。但在许多实际环境中,往往至少有一个障碍物与目标点离的很近,在这种情况下,当移动机器人逼近目标的同时,它也将向障碍物靠近,如果利用以前对引力场函数和斥力场函数的定义,斥力将比引力大的多,这样目标点将不是整个势场的全局最小点,因此移动机器人将不可能到达目标。这样就存在局部最优解的问题,因此如何设计“引力场”问题就成为该方法的关键。

21,595

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧