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

Start a Trainer recording session for demonstration collection via the train server node. More...

#include <record_episode.hpp>

Inheritance diagram for moveit_pro::behaviors::RecordEpisode:
Collaboration diagram for moveit_pro::behaviors::RecordEpisode:

Public Member Functions

 RecordEpisode (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources)
 Constructor.
 
 RecordEpisode (const std::string &name, const BT::NodeConfiguration &config, const std::shared_ptr< BehaviorContext > &shared_resources, std::unique_ptr< ClientInterfaceBase< StartRecordingSrv > > 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< StartRecordingSrv >
 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< StartRecordingSrv > > 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< StartRecordingSrv >
static constexpr std::chrono::seconds kTimeoutWaitForServiceServer
 

Detailed Description

Start a Trainer recording session for demonstration collection via the train server node.

Calls the train server's /trainer/start_recording service — the same session the training panel drives, so a Behavior-started recording shows up live in the UI. Ports set here always win; the named training config only fills in what the ports leave unset. A non-empty camera_topics selects the captured streams even when config_name is set; an empty camera_topics falls back to the config's cameras, then the cameras discovered on the live graph, then the recording defaults. Joint topics and fps resolve from the named config when not otherwise specified. Pair with SaveEpisode to snapshot each episode and StopRecording to end the session and register the dataset.

Data Port Name Port Type Object Type Description
service_name input std::string Name of the Trainer start_recording service.
dataset_name input std::string Recording name; also the ConvertDataset key.
task input std::string Task stored with each episode; its conversion label.
config_name input std::string Optional named training config; empty = defaults.
camera_topics input std::vector<std::string> Camera topics; empty = the config's cameras.
num_episodes input int Episodes to collect in this session.
recording_id output std::string Id of the started recording session.

Constructor & Destructor Documentation

◆ RecordEpisode() [1/2]

moveit_pro::behaviors::RecordEpisode::RecordEpisode ( 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.

◆ RecordEpisode() [2/2]

moveit_pro::behaviors::RecordEpisode::RecordEpisode ( const std::string &  name,
const BT::NodeConfiguration &  config,
const std::shared_ptr< BehaviorContext > &  shared_resources,
std::unique_ptr< ClientInterfaceBase< StartRecordingSrv > >  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::RecordEpisode::metadata ( )
static

◆ providedPorts()

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

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