我目前正在研究一种路线规划机器人,它将在办公室周围提供包裹。使用ubegraph将办公室设置为带有加权边的图形。
我有一个递归功能,可以计划任何数量的房间之间的旅程路线。但是我现在正在尝试添加包裹'机器人,我不确定我的方式是否正确。
(defn journey [start end]
(alg/pprint-path (alg/shortest-path all-edges {:start-node start, :end-node end, :cost-attr :weight})))
(defn fullpath [& stops]
(doall (map (fn [a b] (journey a b)) stops (rest stops) )))
上面是递归函数,此时此函数占用一组停靠点,然后使用旅程对路径进行权限调整。我的想法是,不是停止,而是将机器人传递到完整路径,机器人将包含包裹和停止。
;;passed into fullpath to plan journey of robot
(def robot [parcels ;;needs to contain a set of parcels
stops]) ;;stops are all of the end's gathered from parcel
包裹将来自另一个结构。
;;passed into robot
(def parcel [start
end
delivered])
这是一种可行的方法,还是不可能?
非常感谢任何帮助。