Start an MCAP-to-LeRobot conversion of a recorded dataset via the train server node.
More...
|
| | ConvertDataset (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources) |
| | Constructor.
|
| |
| | ConvertDataset (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase< ConvertDatasetSrv > > client_interface) |
| | Constructor that injects a service client interface, used to supply a mock in tests.
|
| |
| | ServiceClientBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources) |
| | Constructs ServiceClientBehaviorBase using the RclcppClientInterface.
|
| |
| | ServiceClientBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase< ConvertDatasetSrv > > client_interface) |
| | Constructs ServiceClientBehaviorBase using a user-provided implementation of ClientInterfaceBase.
|
| |
| | ~ServiceClientBehaviorBase () override=default |
| |
| virtual tl::expected< std::chrono::duration< double >, std::string > | getWaitForServerAvailableTimeout () |
| | Optional user-provided function to set the timeout used when waiting for the service server to be available.
|
| |
| virtual tl::expected< bool, std::string > | processResponse (const typename ServiceT::Response &) |
| | Optional user-provided function to process the service response after the service has finished.
|
| |
| tl::expected< void, std::string > | doHalt () override |
| | Handles halting logic which is specific to the service client behavior implementation.
|
| |
| | AsyncBehaviorBase (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources) |
| |
| | ~AsyncBehaviorBase () override=default |
| |
| BT::NodeStatus | onStart () override |
| | Required implementation of BT::StatefulActionNode::onStart().
|
| |
| BT::NodeStatus | onRunning () override |
| | Required implementation of BT::StatefulActionNode::onRunning().
|
| |
| void | onHalted () override |
| | Required implementation of BT::StatefulActionNode::onHalted().
|
| |
| void | resetStatus () |
| | Resets the internal status of this node.
|
| |
| void | notifyCanHalt () |
| | Called when runAsync() finishes to notify onHalted() that the async process has finished.
|
| |
| | SharedResourcesNode (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &behavior_context) |
| | Constructor for SharedResourcesNode. Called by BT::BehaviorTreeFactory when creating a new behavior tree containing this node.
|
| |
| const std::shared_ptr< BehaviorContext > & | getBehaviorContext () const |
| |
Start an MCAP-to-LeRobot conversion of a recorded dataset via the train server node.
Calls the train server's /trainer/convert_dataset service with the dataset's name (the RecordEpisode dataset_name). The node derives the conversion request from the dataset itself — bag path, sibling -lerobot output directory and repo id from its record, and the cameras, fps, joint topics, and robot type from the recording options pinned to it, never from the Training Config's current values — the same way the training panel's convert tab does; the optional ports override the output directory, the robot type, and the task of any episode that recorded none of its own (an episode's own task always wins). A dataset with no pin (recorded before pins existed) or an unreadable one fails the Behavior rather than converting against guessed settings; record into it again to establish a pin. The conversion runs as a background job: this Behavior succeeds when the job is started, not when it finishes. Track it via the training panel or the /trainer/list_conversions service.
| Data Port Name | Port Type | Object Type | Description |
| service_name | input | std::string | Name of the Trainer convert_dataset service. |
| dataset_name | input | std::string | Recorded dataset to convert (RecordEpisode's name). |
| task | input | std::string | Task for episodes with none of their own; empty = the recorded task. |
| output_dir | input | std::string | Optional output override; empty = sibling -lerobot. |
| robot_type | input | std::string | Optional robot type override; empty = the recorded one. |
| job_id | output | std::string | Id of the started conversion job. |