Utility scripts for maintaining the PickNik website, in particular the Behaviors Hub.
These steps allow you to get the updated behaviors.xml, which should happen every release.
# In moveitpro repo when your REST API is running, get the generated XML data
# Save it to scripts/ directory in moveit_pro_example_ws workspace
curl -X GET http://localhost:3200/behaviors/data > scripts/behaviors_raw.xml
Enhances behaviors_raw.xml with usage information (<UsedIn> elements) showing which Objectives use each behavior.
Run this script in moveit_pro_example_ws workspace.
behaviors_raw.xml (downloaded from REST API) to the scripts/ directory in moveit_pro_example_ws workspace.# From moveit_pro_example_ws root directory
python3 scripts/enrich_behaviors_with_usage.py --xml scripts/behaviors_raw.xml --workspace . --output scripts/behaviors_with_usage.xml
# Example with custom workspace path
python3 scripts/enrich_behaviors_with_usage.py --xml scripts/behaviors_raw.xml --workspace /path/to/workspace --output scripts/behaviors_with_usage.xml
<UsedIn> elements to each behavior in the XML showing:
pip install pyyaml)behaviors_raw.xml file (from REST API endpoint)moveit_pro_example_ws workspace with robot configsUpdates _data/behaviors.json with port information and metadata extracted from behaviors_with_usage.xml.
Run this script in the PickNik website repository.
# From project root
python scripts/update_behaviors_from_xml.py [path_to_behaviors_with_usage.xml]
# Example with default path
python scripts/update_behaviors_from_xml.py
# Example with custom XML path
python scripts/update_behaviors_from_xml.py /path/to/behaviors_with_usage.xml
used_in information from <UsedIn> elements (if present)# 1. In moveitpro repo - Get behaviors.xml from REST API and save to scripts/ directory
curl -X GET http://localhost:3200/behaviors/data > scripts/behaviors_raw.xml
# 2. In moveit_pro_example_ws root - Enhance XML with usage information
python3 scripts/enrich_behaviors_with_usage.py --xml scripts/behaviors_raw.xml --workspace . --output scripts/behaviors_with_usage.xml
# 3. In PickNik website repo - Convert to JSON
python scripts/update_behaviors_from_xml.py _data/behaviors_with_usage.xml