Look at me!
... catch more attention with the tool ...
"An animation is worth a thousand lines of markdown."
This package can be used to record a ROS system for the web as a three.js animation. The result can e.g. be displayed in gh-pages or converted to a GIF.
See 3D animation
See 3D animation
- Show a 3D demo of your ROS application
- Inspect failed CI test result(s)
- Visualize parameter studies
How to use?
In order to reduce the recorded data it does not apply a fixed rate but keyframes.
"Automatic mode": By default the node records* as soon as it is started and saves data as soon as it is closed. -> Set param
"Manual mode": Control the tool via ROS services. -> Set param
Available ROS services (private ns
~is by default
~preconfigure(OPTIONAL): Start ROS subscribers and load
robot_descriptionparam (Requires 2 secs).
~start: Preconfigures if not yet done and then starts recording*.
~pause: Pause and unpause the recording.
~stop: Stops the recording and saves it to the given file path (param
~output_file) ATTENTION: It will overwrite existing files! By default saved in the path
~.ros/with a timestamped name.
*Once the recorder is started it will wait until the robot "moves" (new
joint_states msgs) before it starts the actual recording. Throttling by change (see What can be recorded?) is recommended.
By default the recorded
.json file will be saved inside the
What can be recorded?
This topic should be used to get the external motion of the robot with respect to a fixed world/map. It can be throttled by change to reduce the recorded keyframes. The referenced node considers by default only the tf change between the frames
Which output-format is used?
How is the URDF visualized in the three.js scene?
urdf-loader tool: https://github.com/gkjohnson/urdf-loaders
How to add animations and a GIF converter?
urdf-animation tool, which wraps the
Install the pre-commit tool
$ pip install pipenv $ pre-commit install
for auto code-formatting at every commit. Or trigger it manually for all files:
$ pre-commit run --all-files