“有代码么?”
每每写到某实验室的机器人,解锁了厉害的操作,评论区很容易生出这样的问题。
然而,答案常常略带伤感,不好意思,暂时没有。
最近,有一份机器人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
祝各位的机器人茁壮成长。△ 坂井君所在的小松製作所,是工程机械领域的巨头