杭州蓝芯科技有限公司

3D视觉传感器
深度避障相机 视觉工件测量 结构光视觉传感器 3D视觉物体识别系统 三维视觉相机 3D深度相机 高精度3D视觉相机 3D视觉上料系统 工业机器人视觉定位系统 机器人视觉定位系统 深度视觉感知系统 3D视觉机械上料 机器人视觉导航系统 3D视觉拆码垛 3D视觉检测 工业3D视觉相机 结构光深度相机 Eagle深度传感器 3D视觉抓取系统 3D视觉混合拆垛 3D视觉物流分拣 3D视觉机械上下料 3D视觉订单分拣系统 工业级3D相机 深度视觉传感器 视觉导航模块 混杂多货品分拣系统 机器人3D视觉引导系统 双目视觉定位系统 Eagle 3D视觉传感器 3D视觉引导定位系统 3D视觉拆垛系统 双目视觉传感器 双目3D视觉定位系统 工业机器人3D视觉系统 机器人3D视觉引导 混合物流包裹分拣 3D视觉定位引导系统 3D视觉识别系统 3D智能抓取系统 3D视觉解决方案 机器视觉拆垛系统 3D拆垛系统 3D分拣系统 视觉引导定位系统 工业机器人视觉系统 工业3D视觉系统 3D视觉系统 机器人视觉系统 3D视觉引导拆垛 高精度抓取视觉系统 3D视觉技术 高精度悟空3D相机 某快递包裹无序混合分拣 零件拣选装配 快递供包 电商仓储订单分拣 机器视觉3D引导系统 机器人3D混合无序抓取 3D抓取系统 3D视觉分拣系统 混合拆垛 机器人智能无序分拣系统 3D双目立体视觉 激光3D机器视觉 3D结构光成像系统 货品分拣 混合码垛 包裹体积动态测量 快递包裹无序混合分拣 零食无序分拣装箱 动态高速分拣 无人码垛 机械零件自动上下料 3D视觉定位系统 拆垛及上下料解决方案 货品拣选解决方案 工业机器人上料解决方案 视觉引导拆垛 曲轴连杆定位分拣解决方案 数控机床汽车板簧上料 汽车玻璃涂胶 包裹体积测量 超市物流配货混合码垛 洗衣机配重块装配 药品包装无人拆垛 药品包装无人码垛 电商物流智能分拣 快递包裹分拣 输送带模型分拣 三维扫描系统 视觉拆垛系统 3D成像系统 机器人3D定位系统 3D照相机 3D视觉传感器 3D工业相机 3D相机 机器视觉 高精三维扫描仪 三维相机
智能搬运机器人
全向车型搬运机器人 车间无人搬运机器人 工厂无人搬运机器人 仓储自动搬运机器人 物流移动式搬运机器人 工业智能搬运机器人 物流搬运AGV 仓储AGV小车 工业自主搬运机器人 自主移动式搬运机器人 工厂柔性搬运机器人 智能柔性搬运机器人 柔性化机器人 货物运输机器人 料车搬运机器人 AGV智能搬运机器人 机器人软件系统 辊筒式搬运机器人 设备搬运机器人 滚筒对接机器人 货物搬运机器人 背负式移动机器人 搬运机器人物流应用系统 智慧物流机器人 智能无人搬运车 潜入顶升搬运机器人 辊筒对接机器人 视觉引导式AGV AGV智能机器人 智能无人搬运机器人 自动化搬运机器人 仓库智能搬运机器人 自主机器人搬运系统 智能仓储搬运车 无标识搬运机器人 无轨智能搬运机器人 智能自主搬运机器人 无轨导引AGV小车 工厂物料搬运机器人 视觉搬运AGV 背负自主搬运机器人 AGV自主搬运机器人 仓库搬运机器人 潜入顶升式机器人 辊筒搬运机器人 智能调度系统 辊筒自动搬运机器人 顶升料箱搬运机器人 自动搬运AGV 智能自主移动搬运机器人 3C行业自主移动机器人 电商物流搬运机器人 顶升式自主移动搬运机器人 智能AGV机器人 自行走式物料搬运机器人 配件呼叫器 配件充电器 载具-协作机器人 视觉导航无人托盘车 多机调度智能化生产线 3C行业移动机器人 电商自主移动搬运机器人 电商行业自主搬运机器人 顶升搬运智能机器人 电商仓储机器人 电商仓储搬运智能小车 物流搬运小车 智能移动搬运机器人 智能移动搬运小车 自然导航小车 视觉导航物流机器人 仓储机器人厂家 仓储物流机器人 自主移动机器人 VR全景直播搬运机器人 顶升AGV小车 智能搬运AGV小车 滚筒AGV小车 智能物料搬运机器人 滚筒AGV 无轨搬运机器人 视觉导航小车 智能搬运机器人 顶升搬运机器人 视觉导航机器人 滚筒搬运AGV 智能物流机器人 智能仓储机器人 智能移动机器人 视觉导航AGV 无标识AGV 无轨AGV
智能物流机器人
工业机器人
装车系统
无人叉车系列
无人叉车解决方案 智能无人叉车机器人 车间叉车AGV 智能搬运无人叉车 电动堆高无人叉车 智能无人托盘搬运叉车 托盘搬运机器人 智能托盘堆高叉车 AGV无人化叉车 AGV智能化叉车 托盘电动搬运叉车 堆高型无人叉车 智能升降叉车 自主无人叉车 托盘式堆高叉车 托盘式搬运叉车 堆高叉车式AGV 无人电动搬运叉车 无人搬运叉车机器人 智能仓储无人叉车 工业无人搬运叉车 自主无人搬运叉车 仓库无人叉车 仓库搬运无人叉车 自动叉车机器人 电动叉车机器人 无人智能驾驶叉车 智能AGV叉车 智能无人搬运叉车 AGV叉车系统 无人叉车式AGV 堆垛式叉车 无人叉车机器人 电动托盘搬运叉车 无人AGV叉车 电动叉车AGV 工业叉车AGV 自动AGV叉车 叉车式AGV小车 自动叉车AGV 智能电动叉车 无人驾驶叉车 叉车式AGV 无轨叉车 智能叉车 自动搬运叉车
3D视觉传感器解决方案
智能拣货机器人
核心技术-深度视觉传感器
复合机器人
上下料机器人

开学季 | *课《车辆路径问题与算法》

时间:2020/4/9阅读:949

请问膜拜技术大牛除了献上膝盖还有什么更好的方式?答:可以把大家的膝盖一起献上,又或者好好学习天天向上,利用碎片化时间多为自己充电,一起参与技术的交流与探讨。——四月,我们迎来了蓝芯科技的开学季,我们将在此分享机器人相关技术知识。今天是开学*课《车辆路径问题与算法》,欢迎大家留言一起探讨。
 


一 、车辆路径问题
在介绍 (Vehicle Routing Problem,VRP)问题前,先介绍它的一个特例,旅行商问题(Traveling Salesman Problem, TSP):有一个旅行商人,要拜访n个城市,每个城市只能访问一次,后返回到原来出发的城市。该商人要选择一条路径,路径的选择目标是旅程短。
 

 

图1 TSP问题
 

车辆路径问题(Vehicle Routing Problem,VRP)早是由Dantzig和Ramser于1959年*提出,它是指一定数量有一定数量(n个)的客户,各自有不同数量的货物需求(qi),配送中心或车场(depot)向客户提供货物,由一个车队(m辆车)负责分送货物,组织适当的行车路线,目标是使得客户的需求得到满足,并能在一定的约束下(例如车辆存在载荷上限Q、里程长度上限L),达到总旅行成本小、耗费时间少等目的[1, 2]。

 


图 2 VRP问题

在理解了车辆路径问题后,接下来介绍几个常用的路径搜索算法。

 

二、路径搜索算法

在路径搜索算法中,常用的算法用Dijkstra算法和 A*算法。这里不对算法原理进行详细介绍,仅简单给出相应的使用示例。给出一个网格图,如图3所示。在该网格图中,仅横、纵向相邻网格可以通过,其中黑色背景网格不可通过。在网各图中,每移动一格会增加一个单位成本。现给定一个起点(46)和终点(49),通过Dijkstra算法和A*算法分别求解短路径。

图 3网格图示例

 

2.1 Dijkstra算法
该算法的思想是从起点开始,每次新扩展一个距离短的点,并更新从起点到该点的距离与路线。直到拓展到终点,并且往其他方向拓展点的距离不比该点的距离更近时停止。对图 3 的求解过程如图4所示。终的路线是

 

图 4 Dijkstra算法拓展过程

 

2.2 A*算法在Dijkstra中,当前拓展到的点的距离为从起点到当前点的实际短距离。而A* 算法与 Dijkstra相比增加了一个启发项,即在计算当前点的路线距离时,使用从起点到当前点的实际短距离加上从当前拓展的点到终点的估计距离。因此,在实际距离相同时,估计距离近的点优先继续拓展。使用A*算法对图3 的求解结果如图5 所示。终的路线是

 


图 5 A*算法拓展过程示例
 

2.3 多访问点的路径搜索算法
前面提到的Dijkstra和 A*算法主要是针对两个点(起点、终点)寻找一条短路径,但是对于多访问点找短路的问题,比如在文初提到的TSP问题,就不适用了。我们开发了一个快速求解的算法。

我们首先使用 Dijkstra算法找出所有两点之间的短路并存储相应的路线信息。然后针对多访问点寻短路问题,分两个阶段进行搜索。
*阶段:基于动态规划(DP)求解 TSP的框架,控制初始搜索步长快速得出初始解。
第二阶段:对*阶段得到的初始解使用变邻域搜索(VND)进行优化。


假设我们有1个出发点(编号为)和6个访问点(编号为),车辆从出发,需要完成对所有访问点的访问。如果终让车辆停留在后一个访问点的访问点,这就是一个开环的路径,如果要求车辆必须返回出发地,则是闭环的路径。这里假设为开环路径,即认为路径结束的标志是完成所有任务中所有访问点的配货。

 

因为一共有7个点(1个出发点加6个访问点),所以搜索划分为6个step,方向为从右至左(从终点至起点),如图6所示。

 

图 6基于 DP框架的step示例

 

计算过程为,以后一列的点为终点,搜索*个弧(arc),即step(1)的路径,然后再增加一个 arc,即在step(1)的基础上搜索step(2)的路径,以此类推。假设以为终点进行搜索,搜索中的部分过程如图7所示。终搜索完step(6) 时会搜索出完整的路线。需要注意的一点是,一旦发现某条路线不是可行解时(比如一个访问点在路线中多次出现),后面可以不再基于此结果进行搜索。

 

图7基于 DP框架的部分搜索过程示例

 

我们这里控制了初始搜索步长len,意为从step(1) 到step(len) 搜索出的路径是按照 DP的方式搜索到的当前精确合适的路线,而从step(len+1)开始,只记录该step下的n条路径中合适的结果。因此,当len的值越大,终搜索的结果越接近精确合适解,但是相应的求解时间也会越长。假设通过该阶段终搜索出的合适结果为,接下来将基于此结果执行变邻域搜索操作。由于是规定的出发点需要保持在输出路径的首先位置,因此我们对序列{2,6,1,5,4,3}进行邻域搜索。VND的框架如图8 所示。

 

图 8  VND算法框架

 

在邻域搜索中,常用的变换策略有Reinsert、Exchange和Reverse,如图9所示。


图 9 三种常见的邻域变换策略

 

使用VND不断地对序列变换得到新的序列,并求新序列的路径成本。需要注意的是,求路径成本时要将出发点考虑在内,即将出发点添加到序列前,求该完整路径的旅行成本。经过VND过程的处理,输出的路线即作为终规划的路线,例如一个可能的终输出路径果是,需要注意的是,这里的节点相当于是“关键节点”,即只包含的出发点和需要进行配货操作的访问点。而相邻“关键节点”之间的路线,则是根据前述的 Dijkstra计算的两点之间的路线进行行驶。今天的介绍就到这里,希望小伙伴们能对路径规划问题和算法有所了解和收获!

本文为杭州蓝芯科技有限公司原创文章,转载请注明出处

会员登录

X

请输入账号

请输入密码

=

请输验证码

收藏该商铺

X
该信息已收藏!
标签:
保存成功

(空格分隔,最多3个,单个标签最多10个字符)

常用:

提示

X
您的留言已提交成功!我们将在第一时间回复您~
拨打电话
在线留言