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. Cameras, joint topics, and fps resolve from the named training config, or — when no config is named — from camera_topics / the recording defaults; a named config's cameras take precedence over camera_topics. 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 description stored with the dataset.
config_name input std::string Optional named training config; empty = defaults.
camera_topics input std::vector<std::string> Camera topics when no config is named; empty = defaults.
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: