start Travel
fun <A : AgentLike> KSLProcessBuilder.startTravel(agent: A, space: ContinuousProjection<in A>, destination: Point2D, velocity: Double, stepSize: Double = Travel.Defaults.stepSize): TravelHandle<A>(source)
Start an interruptible 2D travel. Returns the TravelHandle immediately without suspending — the caller must then either call awaitTravel to drive the integration to completion, or hand the handle to another entity (statechart, dispatcher, controller) that will manage the integration.
Typical usage (single-agent, self-driven):
val handle = startTravel(this@Drone, airspace, dest, velocity = 5.0)
controller.currentTravel = handle // expose for external cancel
val result = awaitTravel(handle)
if (result.isLessThanExpected) returnToBase()Content copied to clipboard
See TravelHandle for cancel / redirect semantics.