Jacobi allows to improve or accelerate the motion calculation by prior training. Pre-computation is well known in motion planning, e.g. for probabilistic roadmaps, however we extend this concept to the complete motion planning pipeline. Training your motions is optional, but it might be essential for a wide range of application that require online queries and fast motion calculations. Commonly, training is able to reduce the motion calculation time to less than 1ms!


Training is only supported by the on-prem version.

Motion Regions#

Instead of using exact waypoints as before, start and goals can also be specified by motion regions. Later on, when we plan an actual trajectory, we can pass the exact start and goal positions that needs to lie within the regions. A region is determined by a lower and upper bound in either joint or Cartesian space:

bin_region = CartesianRegion(
    lower_bound=Frame.from_euler(-0.2, -0.3, 0.2, 0, 0, 3.1415),
    upper_bound=Frame.from_euler(0.2, 0.3, 0.25, 0, 0, 3.1415),

In this bin picking example, the grasp point lies somewhere inside the bin, and this knowledge can be used to accelerate the motion calculation significantly. We construct the motions similar as before,

bin_to_place_motion = Motion('bin-to-place', robot, start=bin_region, goal=place_waypoint)

just passing a region as the start now. Again, we need to inform the planner about our motion via


Start a Training#

We can start the training in the Deploy tab of the Jacobi Studio and monitor the training progress at the Training page. After the training has finished, you can download a motion plan file and jump directly to loading the motion plan.

Studio Start Training

Loading the Motion Plan#

The planner loads the trained motion plan (the *.jacobi-plan file) via


If you know specify start and goal waypoints within the trained regions, the Jacobi motion planner will automatically detect that and switch to the accelerated planning.