NASA Astrobee Robot Software  0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
dds_ros_bridge::DdsRosBridge Class Reference

#include <dds_ros_bridge.h>

Inheritance diagram for dds_ros_bridge::DdsRosBridge:
Inheritance graph

Public Member Functions

 DdsRosBridge ()
 
 ~DdsRosBridge ()
 
bool BuildAccessControlStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildAckToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildAgentStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildArmJointSampleToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildArmStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildBatteryStateToRapid (const std::string &sub_topic_battery_state_TL, const std::string &sub_topic_battery_state_TR, const std::string &sub_topic_battery_state_BL, const std::string &sub_topic_battery_state_BR, const std::string &sub_topic_battery_temp_TL, const std::string &sub_topic_battery_temp_TR, const std::string &sub_topic_battery_temp_BL, const std::string &sub_topic_battery_temp_BR, const std::string &name)
 
bool BuildCommandToRapid (const std::string &sub_topic, const std::string &ac_sub_topic, const std::string &failed_cmd_sub_topic, const std::string &name)
 
bool BuildCompressedFileToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildCompressedFileAckToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildCompressedImageToImage (const std::string &sub_topic, const std::string &name)
 
bool BuildCpuStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildDataToDiskStateToRapid (const std::string &state_sub_topic, const std::string &topics_sub_topic, const std::string &name)
 
bool BuildDiskStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildFaultConfigToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildFaultStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildGncFamCmdStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildGncControlStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildGuestScienceToRapid (const std::string &state_sub_topic, const std::string &config_sub_topic, const std::string &data_sub_topic, const std::string &name)
 
bool BuildInertiaDataToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildLogSampleToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildOdomToPosition (const std::string &sub_topic, const std::string &name)
 
bool BuildPayloadStateToPayloadState (const std::string &sub_topic, const std::string &name)
 
bool BuildPlanStatusToPlanStatus (const std::string &sub_topic, const std::string &name)
 
bool BuildPmcCmdStateToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildPoseToPosition (const std::string &sub_topic, const std::string &name)
 
bool BuildStringToTextMessage (const std::string &name)
 
bool BuildTelemetryToRapid (const std::string &sub_topic, const std::string &name)
 
bool BuildZonesToRapidCompressedFile (const std::string &sub_topic, const std::string &zones_srv, const std::string &name)
 
bool BuildCommandToCommand (const std::string &pub_topic, const std::string &name)
 
bool BuildCompressedFileToCompressedFile (const std::string &pub_topic, const std::string &name)
 
bool BuildCommandConfigToCommandConfig (const std::string &name)
 
bool SetTelem (float rate, std::string &err_msg, RateType type)
 
bool SetCommStatusRate (float rate, std::string &err_msg)
 
bool SetCpuStateRate (float rate, std::string &err_msg)
 
bool SetDiskStateRate (float rate, std::string &err_msg)
 
bool SetEkfPositionRate (float rate, std::string &err_msg, RateType type)
 
bool SetGncStateRate (float rate, std::string &err_msg)
 
bool SetPmcStateRate (float rate, std::string &err_msg)
 
bool SetSparseMappingPoseRate (float rate, std::string &err_msg)
 
bool SetTelemRateCallback (ff_msgs::SetRate::Request &req, ff_msgs::SetRate::Response &res)
 
- Public Member Functions inherited from ff_util::FreeFlyerNodelet
 FreeFlyerNodelet (bool autostart_hb_timer=true)
 
 FreeFlyerNodelet (std::string const &name, bool autostart_hb_timer=true)
 
virtual ~FreeFlyerNodelet ()
 
void AssertFault (FaultKeys enum_key, std::string const &message, ros::Time time_fault_occurred=ros::Time::now())
 
void ClearAllFaults ()
 
void ClearFault (FaultKeys enum_key)
 
void PrintFaults ()
 
ros::NodeHandle * GetPlatformHandle (bool multithreaded=false)
 
ros::NodeHandle * GetPrivateHandle (bool multithreaded=false)
 
std::string GetName ()
 
std::string GetPlatform ()
 
std::string GetTransform (std::string const &child)
 

Protected Member Functions

virtual void Initialize (ros::NodeHandle *nh)
 
bool ReadTopicInfo (const std::string &topic_abbr, const std::string &sub_or_pub, std::string &sub_topic, bool &use)
 
bool ReadParams ()
 
bool ReadRateParams ()
 
- Protected Member Functions inherited from ff_util::FreeFlyerNodelet
virtual void Reset ()
 
virtual void Sleep ()
 
virtual void Wakeup ()
 
void StopHeartbeat ()
 
void SendDiagnostics (const std::vector< diagnostic_msgs::KeyValue > &keyval)
 
void Setup (ros::NodeHandle &nh, ros::NodeHandle &nh_mt, std::string plugin_name)
 

Additional Inherited Members

- Public Types inherited from ff_util::FreeFlyerNodelet
enum  ResolveType : uint8_t { NAMESPACE = 0, TRANSFORM = 1, RESOURCE = 1 }
 
- Protected Attributes inherited from ff_util::FreeFlyerNodelet
std::map< std::string, int > faults_
 

Constructor & Destructor Documentation

◆ DdsRosBridge()

dds_ros_bridge::DdsRosBridge::DdsRosBridge ( )

◆ ~DdsRosBridge()

dds_ros_bridge::DdsRosBridge::~DdsRosBridge ( )

Member Function Documentation

◆ BuildAccessControlStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildAccessControlStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

Build Ros subscribers to Rapid publishers

Parameters
subTopictopic to subscribe to ex: "/camera/image"
Returns
successful

◆ BuildAckToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildAckToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildAgentStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildAgentStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildArmJointSampleToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildArmJointSampleToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildArmStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildArmStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildBatteryStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildBatteryStateToRapid ( const std::string &  sub_topic_battery_state_TL,
const std::string &  sub_topic_battery_state_TR,
const std::string &  sub_topic_battery_state_BL,
const std::string &  sub_topic_battery_state_BR,
const std::string &  sub_topic_battery_temp_TL,
const std::string &  sub_topic_battery_temp_TR,
const std::string &  sub_topic_battery_temp_BL,
const std::string &  sub_topic_battery_temp_BR,
const std::string &  name 
)

◆ BuildCommandConfigToCommandConfig()

bool dds_ros_bridge::DdsRosBridge::BuildCommandConfigToCommandConfig ( const std::string &  name)

Build Rapid publisher for one time message

◆ BuildCommandToCommand()

bool dds_ros_bridge::DdsRosBridge::BuildCommandToCommand ( const std::string &  pub_topic,
const std::string &  name 
)

Build Rapid subscribers to Ros publishers

Parameters
subscribeTopictopix suffix for RAPID ex : "-debug"
pubTopictopic to publish to
Returns
successful

◆ BuildCommandToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildCommandToRapid ( const std::string &  sub_topic,
const std::string &  ac_sub_topic,
const std::string &  failed_cmd_sub_topic,
const std::string &  name 
)

◆ BuildCompressedFileAckToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildCompressedFileAckToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildCompressedFileToCompressedFile()

bool dds_ros_bridge::DdsRosBridge::BuildCompressedFileToCompressedFile ( const std::string &  pub_topic,
const std::string &  name 
)

◆ BuildCompressedFileToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildCompressedFileToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildCompressedImageToImage()

bool dds_ros_bridge::DdsRosBridge::BuildCompressedImageToImage ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildCpuStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildCpuStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildDataToDiskStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildDataToDiskStateToRapid ( const std::string &  state_sub_topic,
const std::string &  topics_sub_topic,
const std::string &  name 
)

◆ BuildDiskStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildDiskStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildFaultConfigToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildFaultConfigToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildFaultStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildFaultStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildGncControlStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildGncControlStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildGncFamCmdStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildGncFamCmdStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildGuestScienceToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildGuestScienceToRapid ( const std::string &  state_sub_topic,
const std::string &  config_sub_topic,
const std::string &  data_sub_topic,
const std::string &  name 
)

◆ BuildInertiaDataToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildInertiaDataToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildLogSampleToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildLogSampleToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildOdomToPosition()

bool dds_ros_bridge::DdsRosBridge::BuildOdomToPosition ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildPayloadStateToPayloadState()

bool dds_ros_bridge::DdsRosBridge::BuildPayloadStateToPayloadState ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildPlanStatusToPlanStatus()

bool dds_ros_bridge::DdsRosBridge::BuildPlanStatusToPlanStatus ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildPmcCmdStateToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildPmcCmdStateToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildPoseToPosition()

bool dds_ros_bridge::DdsRosBridge::BuildPoseToPosition ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildStringToTextMessage()

bool dds_ros_bridge::DdsRosBridge::BuildStringToTextMessage ( const std::string &  name)

◆ BuildTelemetryToRapid()

bool dds_ros_bridge::DdsRosBridge::BuildTelemetryToRapid ( const std::string &  sub_topic,
const std::string &  name 
)

◆ BuildZonesToRapidCompressedFile()

bool dds_ros_bridge::DdsRosBridge::BuildZonesToRapidCompressedFile ( const std::string &  sub_topic,
const std::string &  zones_srv,
const std::string &  name 
)

◆ Initialize()

void dds_ros_bridge::DdsRosBridge::Initialize ( ros::NodeHandle *  nh)
protectedvirtual

Facade to initialize basic system get instance to RobotParameters init Miro::Log init Miro::Configuration load doc given my -MCF MiroConfigFile get reference to Miro::Configuration::document() set RobotParameters from ConfigDocument

parse options and set RobotParameters -MRN MiroRobotName -MNC MiroNamingContext -MNT MiroNamingTimeout -MDR MiroDataRoot -MEC MiroEventChannel -MNN MiroNoNaming -? MiroHelp Miro::Robot::init(argc, argv);

Facade to initialize basic dds-related parameters get instance to DdsEntitiesFactorySvcParameters get reference to Miro::Configuration::document() set DdsEntitiesFactorySvcParameters from ConfigDocument

parse options and set DdsEntitiesFactorySvcParameters -MDC MiroDdsConfig -MDI MiroDdsDomainId -MDP MiroDiscoverPeers -MDM MiroDdsMonitor -MDPN MiroDdsParticipantName -MDDL MiroDdsDefaultLibrary -MDED MiroDdsEndpointDiscover kn::DdsSupport::init(argc, argv);

get instance to DdsEntitiesFactorySvcParameters

the following are default values in knDdsParameters.xml configFiles.push_back(RAPID_QOS_PROFILES.xml) defaultLibrary = "RapidQosLibrary" defaultProfile = "RapidDefaultQos"

Hardcode participant name entityParams->participants[0].participantName = argv[0];

Use DdsEntitiesFactorySvc to create a new DdsEntitiesFactory which will create all objects: Participants DdsDomainParticpantRepository::instance() Publishers DdsPublisherRespoitory::instance() Subscribers DdsSubscriberRepository::instance() Topics and store in relevant repository based on DdsEntitesFactoryParameters

Reimplemented from ff_util::FreeFlyerNodelet.

◆ ReadParams()

bool dds_ros_bridge::DdsRosBridge::ReadParams ( )
protected

◆ ReadRateParams()

bool dds_ros_bridge::DdsRosBridge::ReadRateParams ( )
protected

◆ ReadTopicInfo()

bool dds_ros_bridge::DdsRosBridge::ReadTopicInfo ( const std::string &  topic_abbr,
const std::string &  sub_or_pub,
std::string &  sub_topic,
bool &  use 
)
protected

◆ SetCommStatusRate()

bool dds_ros_bridge::DdsRosBridge::SetCommStatusRate ( float  rate,
std::string &  err_msg 
)

◆ SetCpuStateRate()

bool dds_ros_bridge::DdsRosBridge::SetCpuStateRate ( float  rate,
std::string &  err_msg 
)

◆ SetDiskStateRate()

bool dds_ros_bridge::DdsRosBridge::SetDiskStateRate ( float  rate,
std::string &  err_msg 
)

◆ SetEkfPositionRate()

bool dds_ros_bridge::DdsRosBridge::SetEkfPositionRate ( float  rate,
std::string &  err_msg,
RateType  type 
)

◆ SetGncStateRate()

bool dds_ros_bridge::DdsRosBridge::SetGncStateRate ( float  rate,
std::string &  err_msg 
)

◆ SetPmcStateRate()

bool dds_ros_bridge::DdsRosBridge::SetPmcStateRate ( float  rate,
std::string &  err_msg 
)

◆ SetSparseMappingPoseRate()

bool dds_ros_bridge::DdsRosBridge::SetSparseMappingPoseRate ( float  rate,
std::string &  err_msg 
)

◆ SetTelem()

bool dds_ros_bridge::DdsRosBridge::SetTelem ( float  rate,
std::string &  err_msg,
RateType  type 
)

◆ SetTelemRateCallback()

bool dds_ros_bridge::DdsRosBridge::SetTelemRateCallback ( ff_msgs::SetRate::Request &  req,
ff_msgs::SetRate::Response &  res 
)

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