# Breaking Changes

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 :

Copy
Copied!

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

• 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:

Copy
Copied!

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


Now:

Copy
Copied!

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:

Copy
Copied!

isaac::alice::Recorder
isaac::alice::Replay
isaac::alice::RecorderBridge
isaac::alice::ReplayBridge


• The following subgraphs were moved to packages/casks/apps:

Copy
Copied!

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.
© Copyright 2018-2020, NVIDIA Corporation. Last updated on Feb 1, 2023.