All Features

FeatureImageROS-only
Voidmotion
Localization
The robot knowing where it is in it’s map of the environment
Difficult to understand how to sort a TF tree and value is usually unstable; need to manually combine odometry sourcesOptimized SLAM parameters, extra code for optimization, related values are published for reading, and TF data is organized
Environment Model Mapping
As the robot moves, it will create a 2D and/or 3D scale model of the environment which can be saved and loaded for future use.

Find the appropriate SLAM software, install, and configure over 50 parameters across various environments.Pre-configured for optimal map creation and localization
Waypoints
Move to preset waypoints, either once or continuously
Exists only in unmaintained open source repos that have some configuration errorsCan stop and start any number of waypoints
Click-to-move
Click on a place in an app to move a robot there
This exists in RViz, but all related information needs to be properly connected, and feedback doesn’t exist without configuring ROS actions.The robot can navigate by clicking a location in the scale model, and the app will give feedback as to the current progress. The goal can also be canceled.
Manual Commands
Command the robot to move a certain distance or rotate a specific angle.
Doesn’t exist

Control the specific distance and angle the robot should move.
Remote Controller
A person can move the robot forwards or backwards and rotate left or right.
rqt plugin needs configuration

Integrated into app

Inter-robot Communication
Two robots can send data to each other
ExistsExists
Combining Odometry
SLAM optimizes the robot’s localization value but is only useful if the incoming odometry is accurate, usually through combining sources.
Has packages to combine odometry sources, but usually involves complex math and many hours of trial and errorWe combine odometry values from various sensors, such as stereo cameras, Lidars, wheel encoders, and IMUs.
Vitals Monitoring
Information about the robot’s memory, disk, speed, WiFi connection, and sensors are updated to monitor unhealthy signs.
Doesn’t exist

Created specifically for robotics in a simple app
Path Planning
Figuring out the set of waypoints needed between the robot’s position and its final goal.
Most use only move_base, but it isn’t optimized for robust navigation and is missing many important features, like backing upOur app uses both move_base and extra algorithms to find the optimal path in the map.
Stopping
In addition to cancelling a goal on the app, if the WiFi connection is poor or lost, the robot stops moving.
Can configure an rqt button for manual stopping

In addition to manual stopping, the robot automatically stops moving when it notices a poor Wi-Fi signal
Notifications
Notifications for important issues
Some important error messages, but many trivial messages includedIn addition to normal ROS logs, get additional Voidmotion warnings and errors, created to be comprehensive and simple, with filtering for different logging levels.
Parametrization
A global parameter file makes it easy to update common configuration, such as hardware pins, motor speeds, and navigation optimization.
Manually add hundreds of parameters

Parameters are all pre-configured and organized