掌握这10款机器人自主导航Python代码,轻松搞定实战应用!

发表时间: 2018-07-09 12:20

迷之栗 发自 凹非寺

量子位 出品 | 公众号 QbitAI

“有代码么?”

每每写到某实验室的机器人,解锁了厉害的操作,评论区很容易生出这样的问题。

然而,答案常常略带伤感,不好意思,暂时没有。

最近,有一份机器人Python代码合集登陆GitHub,并受到了用户的热烈标星。

自主导航看这里

来自日本的坂井敦,是一个玩机器人的工程师。

他和小伙伴们,为了能让更多的机器人,在地球上自如地游走,便为广大同行做了一次这样的Python代码汇总,大类如下——

· Localization (定位)

· Mapping (地图构建)

· SLAM

· Path Planning (路径规划)

· Path Tracking (路径追踪)

不难看出,这份合集非常在意,机器人的自主导航能力。

第一个登场的,是“定位”分类下的扩展卡尔曼滤波器 (EKF) 。

这是一个传感器融合的定位方法。

蓝线是真实轨迹,黑线是用航位推测法 (Dead Reckoning) 推定的轨迹。

绿点是位置数据 (比如GPS) ,红线是EKF估计出的轨迹。

红色椭圆是EKF估计的协方差

就像这样,每个词条下面都配了一张动图,还有动图的详解。

坂井说,这样观众就可以更加直观地理解,各种方法背后的思路

果然是温柔的程序猿。

赏心悦目的集合

各种方法的代码都可以免费自取,又有美味的动图,指引前路,还是很幸福吧。

所以,一起来品尝几幅动图——

这是A星算法。

这是势场 (Potential Field) 算法。

这是均匀极性采样 (Uniform Polar Sampling) 。

这是Voronoi路线图法。

以上作品来自路径规划章节,也是最丰盛的一章,有这么长——

里面分15个子类,包括了动态窗口法 (Dynamic Window Approach) ,如基于网格的搜索 (Grid Based Search) 算法等等。

子类还有自己的子类。

帮助机器人定制路线躲避障碍,当事无巨细。

想必,大家会用餐愉快的。

喝前摇一摇

想要更好地用这份合集,来投喂机器人,你需要以下工具:

· Python 3.6.x

· Numpy

· Scipy

· Matplotlib

· Pandas

· Cvxpy 0.4.x

祝各位的机器人茁壮成长。

△ 坂井君所在的小松製作所,是工程机械领域的巨头

并在此献上传送门:

https://github.com/AtsushiSakai/PythonRobotics

实习生招聘

量子位正在招募活动运营实习生,策划执行AI明星公司CEO、高管等参与的线上/线下活动,有机会与AI行业大牛直接交流。工作地点在北京中关村。简历欢迎投递到quxin@qbitai.com

具体细节,请在量子位公众号(QbitAI)对话界面,回复“实习生”三个字。

量子位 QbitAI · 头条号签约作者