... catch more attention with the tool ...
"An animation is worth a thousand lines of markdown."
>> See 3D animation >> Get started with the tutorial
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 source code of application
>> See 3D animation
- Show a 3D demo of your ROS application
- Inspect failed CI test result(s)
- Visualize parameter studies
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
tofalse
-
"Manual mode": Control the tool via ROS services. -> Set param
~manual
totrue
Available ROS services (private ns
~
is by defaultrobot_recorder/
):~preconfigure
(OPTIONAL): Start ROS subscribers and loadrobot_description
param (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 tf
or 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 robot_recorder_core
package.
-
/joint_states
This topic provides the changes of the robot joints and represents the internal motion of the robot. It can be throttled by rate and by change to reduce the recorded keyframes.
-
/tf
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
map
<-->base_link
.
The recorded robot movements are saved as animation of the JSON Object format
(three.js example) which can be utilized by the three.js animation system.
With the urdf-loader
tool: https://github.com/gkjohnson/urdf-loaders
With the urdf-animation
tool, which wraps the urdf-loader
: https://github.com/ipa-jfh/urdf-animation