Minot is a highly versatile toolset for debugging and verifying stateful robot perception software. Some common use cases are:
- Fine-grained rosbag publishing
- Synchronous, deterministic and reproducable testing
- ROS1 -> ROS2 or language migrations
- Functional method evaluations
Visit the Documentation to find out more.
We precompile the CLI with coordinator and ROS 2 publisher for our PPA. After the setup, you can simply run apt.
# humble
sudo apt install ros-humble-minot
# jazzy
sudo apt install ros-jazzy-minotOn Jazzy and Humble, you'll need to install a more modern Rust compiler first. The recommended script will automatically give you a newer version than 1.85, which is all we need.
The Minot CLI integrates seamlessly with typical ROS tooling. Just clone the repository into the src folder of your ROS workspace.
cd ~/ros2_ws/src
git clone https://github.com/uos/minot
cd ..
rosdep install --from-paths src -y --ignore-src
colcon build --packages-select minot
source install/local_setup.bashBuilding will take a while.
Now run it like any ROS node.
ros2 run minot minot tui <file.mt>Building from source will create huge incremental cache artifacts. To save time and space, we recommend the binary installation described in the install documentation.
Search for "Minot" in the extension marketplace an install. The plugin requires a Minot binary in your $PATH. The extension will add syntax highlighting for .mt files and automatically activates as soon as you open a Minot file. You will see some buttons in the editor footer. Maybe start by selecting some lines and run them with Run Selection. Minot will be started automatically for you in the background.
More information about the extension can be found at the Marketplace.
Minot comes with support for Tree-sitter syntax highlighting outside of VS Code. See this repository for instructions on how to add Minot support to the Helix editor or use the repository for other editors that support Tree-sitter grammars.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.