code: private static void goTo(ShanksSimulation simulation,
              MobileShanksAgent agent, Double3D currentLocation,
              Double3D targetLocation, double speed) {
          if (!targetLocation.equals(currentLocation) && agent.isAllowedToMove()) {
              Double3D direction = new Double3D(targetLocation.x
                      - currentLocation.x, targetLocation.y - currentLocation.y,
                      targetLocation.z - currentLocation.z);
              Double3D normalized = ShanksAgentMovementCapability
                      .normalizeDouble3D(direction);
              Double3D movement = new Double3D(normalized.x * speed, normalized.y
                      * speed, normalized.z * speed);
              ShanksAgentMovementCapability.updateLocation(simulation, agent,
                      new Double3D(currentLocation.x + movement.x,
                              currentLocation.y + movement.y, currentLocation.z
                                      + movement.z));
          }
      }
docs: Move the agent to the target location with the specific speed. Call this
  method always you want to move. This method only moves the agent a
  fragment equals to the velocity.
  
  @param simulation
  @param agent
  @param currentLocation
  @param targetLocation
  @param speed