Breaking Changes

March 2021

  • The codelet StereoVisualOdometry was renamed to package ElbrusVisualSLAM.

October 2020

  • All the navigation apps inside Isaac SDK have been ported over to use evidential grid maps (EGMs). EGMs provide a cleaner local map and natively account for uncertainty while providing interesting fusion rules like the Proportional Conflict Redistribution fusion rule (PCR6).

    The subgraph packages/navigation/apps/local_map.subgraph.json has been replaced by packages/egm_fusion/evidence_grid_map.subgraph.json.

    There is a 1:1 correspondence between the older Bayesian map and newer evidential map codelets. However some parameters and channels have been modified.

    To migrate, replace the codelets as :

    navigation::LocalMap -> egm_fusion::EvidenceMapFusion
    navigation::OccupancyMapCleanup -> egm_fusion::EvidenceMapInpaint
    navigation::OccupancyToBinaryMap -> egm_fusion::EvidenceToBinaryMap
    
  • When specifying the flatscan frame names, the GridSearchLocalizer now accepts a list of strings rather than a single string. Each represents the frame name of the flatscan source’s origin.

  • The flatscan message channels to use now need to be specified explicitly via the GridSearchLocalizer parameter flatscan_channel_names. They must be in the same order as the frame names from flatscan_frames. Only unique entries are allowed.

  • Both above lists need to have the same amount of entries.

Migration from previous setups:

  • For single flatscan source setups, set the flatscan_frames parameter to a list with the only entry being the desired flatscan frame. Also, set flatscan_channel_names to a list with the only entry being the message channel used for receiving flatscan messages.
  • For multi flatscan source setups, extent above lists to the number of flatscan sources used, and keep both lists in order (the indices of the frames are associated to the indices of then channel names).

September 2020

  • Migration to CUDA 10.2 and cuDNN 8.0.3. This changes the system requirements for Isaac SDK from JetPack 4.3 to JetPack 4.4.
  • Split into multiple workspaces: The folders engine and sdk now contain separate parts of Isaac SDK. sdk depends on engine, and references to elements that reside in engine must be preceded by @com_nvidia_isaac_engine.

August 2020

  • Added read_message_proto_bytes() and set_message_proto_bytes() to the C API package.

July 2020

  • Moved the implementation of DifferentialBaseModel as DifferentialWheelModel and rewrote it.

    Before:

    planner::DifferentialBaseModel model;
    planner::WheelDynamics wheel_dynamics;
    model.computeBodyDynamicsFromWheelDynamics(wheel_dynamics);
    

    Now:

    planner::DifferentialBaseModel model;
    planner::DifferentialWheelModel current_copy = model.current_model();
    messages::DifferentialWheelVAState wheel_dynamics;
    current_copy.computeBodyDynamicsFromWheelDynamics(wheel_dynamics);
    
  • Engine now uses new StagingQueue for message queues.

  • The functions readAllLatest(), readAllNew(), peekAllNew(), readLatestNew(), peekLatestNew(), and checkChannelMessages() were removed from MessageLedger. Use the new queue and its functions like peek() and pop() instead.

  • Moved Tcp/Udp components to separate packages.

  • In order to use the TcpPublisher, TcpSubscriber, UdpPublisher, or UdpSubscriber components, the new package engine_tcp_udp needs to be loaded.

June 2020

  • Moved the Python API and related tests to the pyalice package.

  • Added dependencies of pyalice for all isaac_py_app applications.

  • The import isaac.* command is now supported in the Python API.

  • Updated all imports accordingly.

  • Added pyalice to PYTHONPATH when running pytest on Jetson CI.

  • The following codelets were moved to a new module libcask_module.so and thus also to the new namespace isaac::cask:

    isaac::alice::Recorder
    isaac::alice::Replay
    isaac::alice::RecorderBridge
    isaac::alice::ReplayBridge
    
  • The following subgraphs were moved to packages/casks/apps:

    packages/record_replay/apps:record.subgraph.json
    packages/record_replay/apps:replay.subgraph.json
    
  • The codelet StereoVisualOdometry was moved to package visual_slam.

January 2020

  • Bazel 2.2.0 was introduced as the required build environment.