![aaff50417b272fc0364e59edf25f7b9f.png](https://img-blog.csdnimg.cn/img_convert/aaff50417b272fc0364e59edf25f7b9f.png)
最近的课题与机器人的运动规划有关。回顾过去的学习经历,深感机械出身的我们编程实践与总结能力实在太弱,以前的一些课题就拿matlab随便写一写m文件出个结果了事,许多后来发现有用的课程或作业,要么找不到,找到了也看不明白,还得重新啃。就拿机器人运动学的东西来说,刚开始写m文件手推,后来拿matlab的rtb工具箱玩,再后来因为要用到ROS上,又手推,又玩moveit...
言归正传,我把最近在学习的【运动规划】系列的代码都放到了github仓库中,均为中文注释,尽可能写得简单,但个人能力有限,有很多冗余不规范的地方,因此权当作为思路参考,以后我会渐渐改进。
使用方法(以ubuntu为例)
1.下载
打开一个终端:
cd ~/Documents
svn checkout https://github.com/XM522706601/robotics_tutorial_for_zhihu/trunk/motion_planning
cd motion_planning/
2.导入构型空间图
将需要规划的构型空间图复制到motion_planning文件夹中,这里我们以自带的map_1.bmp为例
3.开始规划
继续在1.的终端中运行python命令行,或在此文件夹中新建一个.py文件:
(1)预处理:首先读取图像并实例化对象
#coding=utf-8
(2)设置起点和终点:
通过属性变量设置起点和终点,也可不设置,默认为图像的左上角和右下角。
# 设置起点和终点,为numpy.mat格式
(3)规划:现有的规划方法有概率路线图(PRM)、快速拓展随机树(RRT)、人工势场法。
# 概率路线图(PRM)
![8d1ce9a524411807d68ee6a52821c5fa.png](https://img-blog.csdnimg.cn/img_convert/8d1ce9a524411807d68ee6a52821c5fa.png)
# 快速拓展随机树(RRT)
demo_1.rrt_planning()
![f90fddd917ecdd46a0b4c2511d17991b.png](https://img-blog.csdnimg.cn/img_convert/f90fddd917ecdd46a0b4c2511d17991b.png)
# 人工势场法,为了快速建立势场图,先调整图像尺寸
img = cv2.resize(img,(100,100))
demo_1.pf_planning()
![6ca47f7a58cff13505aa098e9e819094.png](https://img-blog.csdnimg.cn/img_convert/6ca47f7a58cff13505aa098e9e819094.png)
另外,每种方法还可以通过关键字设置相关参数,具体设置看注释或 help() 即可。
系列文章
小明工坊:【基础知识】机器人运动规划原理与实现(一)——概率路线图(PRM)方法
小明工坊:【基础知识】机器人运动规划原理与实现(二)——快速扩展随机树(RRT)算法
小明工坊:【基础知识】机器人运动规划原理与实现(三)——人工势场法
项目地址
XM522706601/robotics_tutorial_for_zhihugithub.com![f654efff5cf97fe1b2e818464f03cd0b.png](https://img-blog.csdnimg.cn/img_convert/f654efff5cf97fe1b2e818464f03cd0b.png)