MoveIt Pro API
Core Behaviors for MoveIt Pro
Loading...
Searching...
No Matches
moveit_pro::behaviors::ConvertDataset Class Referencefinal

Start an MCAP-to-LeRobot conversion of a recorded dataset via the train server node. More...

#include <convert_dataset.hpp>

Inheritance diagram for moveit_pro::behaviors::ConvertDataset:
Collaboration diagram for moveit_pro::behaviors::ConvertDataset:

Public Member Functions

 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.
 
- Public Member Functions inherited from moveit_pro::behaviors::ServiceClientBehaviorBase< ConvertDatasetSrv >
 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.
 
- Public Member Functions inherited from moveit_pro::behaviors::AsyncBehaviorBase
 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.
 
- Public Member Functions inherited from moveit_pro::behaviors::SharedResourcesNode< BT::StatefulActionNode >
 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
 

Static Public Member Functions

static BT::PortsList providedPorts ()
 
static BT::KeyValueVector metadata ()
 

Additional Inherited Members

- Static Public Attributes inherited from moveit_pro::behaviors::ServiceClientBehaviorBase< ConvertDatasetSrv >
static constexpr std::chrono::seconds kTimeoutWaitForServiceServer
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ ConvertDataset() [1/2]

moveit_pro::behaviors::ConvertDataset::ConvertDataset ( const std::string &  name,
const BT::NodeConfiguration &  config,
const std::shared_ptr< BehaviorContext > &  shared_resources 
)
explicit

Constructor.

Parameters
nameThe name of the Behavior as it appears in the Behavior tree.
configThe node configuration, including the port remappings.
shared_resourcesShared resources such as the node handle and transform buffer.

◆ ConvertDataset() [2/2]

moveit_pro::behaviors::ConvertDataset::ConvertDataset ( const std::string &  name,
const BT::NodeConfiguration &  config,
const std::shared_ptr< BehaviorContext > &  shared_resources,
std::unique_ptr< ClientInterfaceBase< ConvertDatasetSrv > >  client_interface 
)
explicit

Constructor that injects a service client interface, used to supply a mock in tests.

Parameters
nameThe name of the Behavior as it appears in the Behavior tree.
configThe node configuration, including the port remappings.
shared_resourcesShared resources such as the node handle and transform buffer.
client_interfaceThe service client interface to use instead of a real client.

Member Function Documentation

◆ metadata()

BT::KeyValueVector moveit_pro::behaviors::ConvertDataset::metadata ( )
static

◆ providedPorts()

BT::PortsList moveit_pro::behaviors::ConvertDataset::providedPorts ( )
static

The documentation for this class was generated from the following files: