遗传算法在智能机器人行为规划中的应用研究.docVIP

遗传算法在智能机器人行为规划中的应用研究.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
遗传算法在智能机器人行为规划中的应用研究.doc

遗传算法在智能机器人行为规划中的应用研究   摘要:遗传算法(GA)是一种基于进化论的仿生算法,非常适合于求解最优化问题,适用于解决难度大或者计算代价大的问题。将遗传算法用于可移动智能体的研究,其重点是智能机器人的行为规划,对此进行了论述。   关键词:遗传算法;智能机器人;行为规划   中图分类号:TP311.5文献标识码:A文章编号文章编号:1672-7800(2013)012-0064-03   作者简介:叶本公(1968-),男,江汉大学文理学院副教授,研究方向为人工智能;刘敬(1958-),男,江汉大学文理学院副教授,研究方向为算法研究;陈曦(1979-),女,江汉大学文理学院讲师,研究方向为软件工程。   0引言   智能机器人的行为规划和控制问题,是一个解决难度较大、不容易人工干预的复杂问题,目前技术条件下解决办法一般是采用遗传算法,即把问题的参数用基因代表,把问题的解用染色体代表(在计算机里用二进制码表示),从而得到一个由具有不同染色体的个体组成的群体。这个群体在问题特定的环境里生存竞争,适者有最好的机会生存和产生后代。后代随机化地继承了父代的最好特征,并在生存环境的控制支配下继续这一过程。群体的染色体将逐渐适应环境,不断进化,最后收敛到一族最适应环境的类似个体,即得到问题的最优解。   本文将遗传算法用于智能机器人的行为规划,设计出算法的主要内容,并用C++完成其核心代码。   1人工控制下智能机器人的行为表现   智能飞船的行为控制代码主要由两个重要的类CLander 和Ccontroller来完成。Ccontroller类的核心代码如下:   class CController   {private:   CLander* m_pUserLander;   bool m_bSuccess;   vector m_vecStarVB;   vector m_vecPadVB;   SVector2D m_vPadPos;   int m_cxClient,   m_cyClient;   void WorldTransform(vector pad);   void RenderLandingPad(HDC surface);   public:   CController(int cxClient, int cyClient);   ~CController();   bool Update(double TimeElapsed);   void NewRun();   void Render(HDC surface);   };   如果智能飞船能成功登陆,则m_bSuccess的值为true;m_vecStarVB用于存放登陆点的顶点缓冲区;m_vecPadVB存放登陆点的形状缓冲区;m_vPadPos为登陆点的位置;Update( )更新智能飞船的位置;NewRun( )初始化新一轮的执行。   CLander类中保存着一个记录,其中包含了需要知道的有关智能飞船的所有信息,也包括绘制智能飞船、从用户得到输入信息以及进行物理更新的各种方法。下面为CLander类的核心代码:   class CLander   { ……   public:   Clander{int cxClient,   int cyClient,   double rot,   SVector2D pos,   SVector2D pad);   void Render(HDC surface);   void Reset(SVector2D NewPadPos);   void UpdateShip(double TimeElapsed);   };   其中的UpdateShip( )函数是控制智能飞船的行为。如何从用户端接收输入,如何更新登月船的位置和速度,都是在UpdateShip函数中完成的。update函数在每一个帧中功能包括:检测用户是否按下了一个键,相应地更新智能飞船的速度、加速度和旋转角;更新智能飞船的位置;变换智能飞船的顶点;检测智能飞船的顶点是否在地平面以下;如果智能飞船已到达地平面,检测登陆是成功或者失败。   测试的结果是智能飞船在人工控制下的表现不尽如人意,具体表现是智能飞船成功登陆很困难,分析其原因,是在人工控制下的情况下,智能飞船面对的复杂环境被简单化,不能满足复杂的环境要求。为此,必须考虑智能飞船在复杂情况下的行为规划。   2遗传算法的引入   为了研究智能飞船在复杂情况下的行为规划,必须考虑在其行为控制中引入遗传算法。   遗传算法包括3个基本操作:选择、交叉(基因重组)、变异。遗传算法涉及六大

文档评论(0)

you-you + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档