SPOT 4.1.0 Pre-Release.3
Pre-release
Pre-release
·
1 commit
to SPOT-4.1.0-Pre-Release
since this release
Overview
This is a minor software revision, moving from SPOT 4.1.0 Pre-Release.2 to SPOT 4.1.0 Pre-Release.3. This release includes major improvements to the control mixer, simulations, and data handling. A critical bug identified by Jeremy Peters
has been resolved. Users on previous pre-releases are recommended to upgrade.
The software can be directly downloaded here (or from the pre-release branch): SPOT 4.1.0-PR.3
Changes
- Change 1: A check has been added to highlight to users that simulations for the robotic arm will not work as expected at simulation rates below 1000 Hz.
- Change 2: Data is now moved around the diagram using vectors instead of scalars, greatly decreasing the number of memory store blocks in the template diagram. Kudos to
Jeremy Peters
for pointing out that memory store blocks can now handle vectors. - Change 3: Simulation data is now handled to better reflect reality. Simulation results are downsampled to match the collection rate, and noise is added to the measurements only. There are now two different sources of simulation data: "truth" states and "measured" states, which users can use as they see fit. Truth states represent the states of the platforms without noise or downsampling. Measured states reflect the experimental setup. Path planning and controllers use measured states.
- Change 4: The control mixer has been reworked to be a
quadprog
compatible problem. Broadly speaking, this new approach appears to improve the performance of the platforms in most scenarios. However, it increases the compile time by 3 minutes. - Change 5: The software suite has been updated to be mostly compatible with Ubuntu 22.04—eventually this will include experiments! If you are a Linux aficionado, you can now do everything from a Linux machine. Note that this has only been tested for Ubuntu 22.04. At the moment, the only thing preventing an experiment from a Linux machine is the
StreamData.exe
executable was written and compiled for Windows. - Change 6: A major bug in the previous control mixer was identified by
Jeremy Peters
. This bug is no longer present in the diagram given the change to the control mixer. If you do not want to change your software version, the fix is very simple—email me at [email protected]. - Change 7: Renamed the custom controllers to default LQR for better clarity, and added a description block to describe how to add a custom controller.
- Change 8: Added a debugger to the GUI that can receive log messages from the active platforms.
- Change 9: Fixed a backend issue where the thruster force vector was only being created when clicking run simulation or build code. Also, the definition of these constants has been moved to the GUI backend, as they should not be changed by the users.
- Change 10: Updated the color scheme in the Set Initial States sub-app to match the rest of the GUI.
- Change 11: Fixed an issue that would prevent processing the ExpLog CSV to a MAT file when a Memory Store Block contains a vector. Now, when there are more CSV columns than there are names in the bus, the code will fallback to generic "UnlabelledData". This way, at least the data is not lost.
- Change 12: Added the experiment time to the real-time display—but for now it represents the time since
StreamData.exe
was started, not the time in the Simulink diagram. This will be updated in the next release. - Change 13: The plotting tool was simplified slightly after feedback indicated that having multiple plotting panes didn't add much usefulness.
- Change 14: Fixed a bug where the filter checkbox was not actually filtering the primary dataset (but was working for the secondary dataset).
- Change 15: The computer vision tab has been completed and is ready for pre-release chaos. At this time, users can start a live stream of the ZED2 camera, save a video recording, or capture a still image. The aim is to add in the ability to synchronize images with a running experiment. There are several known quirks that will be ironed out in PR.4—but they are listed in the Known Issues section with their corresponding workarounds.
- Change 16: Users can now opt for a dynamic legend in the plotting tool. Simply check the "Include Legend" option and the legend should start appearing.
- Change 17: Users can now change the docking cone and docking port faces via the GUI. There are only four locations available: +X, -X, +Y, and -Y. The default values for this pre-release correspond to the faces that the cone and dock will be on for the capstone 2024 experiments. Note, the location of the arm is not currently impacted by this setting. Also, there is a known visual artifact for certain faces, but not the ones that matter for now.
- Change 18: Added a button on the Hardware Control tab that searches the Saved Data folder for any matching sets of RED, BLACK, and BLUE data, and then merges the data into one
mergedData
class. This means that you do not need to load three different files. - Change 19: There has been a change to the
StreamData.exe
—velocity is now calculated when data is obtained from the ground truth system. This has cleaned up the velocity a fair bit—though different controllers may still require cleaner velocities.
Known Issues
- Issue 1: The "experiment time" in the GUI does not reflect the true experiment time. It is simply the time since the user started the phase-space cameras.
- Issue 2: If you open the real-time log, then close it, users will get an error message that the port is in use. The workaround is to restart the GUI.
- Issue 3: The ability to overlay simulations during an experiment is still too unstable.
- Issue 4: The first time users start a ZED stream, VLC MIGHT not display the streaming video. When this occurs, this can be resolved by stopping streaming through the GUI and restarting it again.
- Issue 5: When users stop streaming the ZED camera footage, they must close the running instance of the terminal otherwise new streams cannot be started.
- Issue 6: There are some animation artifacts that appear when certain conditions are met (usually based on the location of the dock and cones).