NASA Astrobee Robot Software
0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
|
#include <dds_ros_bridge.h>
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_ |
dds_ros_bridge::DdsRosBridge::DdsRosBridge | ( | ) |
dds_ros_bridge::DdsRosBridge::~DdsRosBridge | ( | ) |
bool dds_ros_bridge::DdsRosBridge::BuildAccessControlStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
Build Ros subscribers to Rapid publishers
subTopic | topic to subscribe to ex: "/camera/image" |
bool dds_ros_bridge::DdsRosBridge::BuildAckToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildAgentStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildArmJointSampleToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildArmStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
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 | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildCommandConfigToCommandConfig | ( | const std::string & | name | ) |
Build Rapid publisher for one time message
bool dds_ros_bridge::DdsRosBridge::BuildCommandToCommand | ( | const std::string & | pub_topic, |
const std::string & | name | ||
) |
Build Rapid subscribers to Ros publishers
subscribeTopic | topix suffix for RAPID ex : "-debug" |
pubTopic | topic to publish to |
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 | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildCompressedFileAckToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildCompressedFileToCompressedFile | ( | const std::string & | pub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildCompressedFileToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildCompressedImageToImage | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildCpuStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildDataToDiskStateToRapid | ( | const std::string & | state_sub_topic, |
const std::string & | topics_sub_topic, | ||
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildDiskStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildFaultConfigToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildFaultStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildGncControlStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildGncFamCmdStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
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 | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildInertiaDataToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildLogSampleToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildOdomToPosition | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildPayloadStateToPayloadState | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildPlanStatusToPlanStatus | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildPmcCmdStateToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildPoseToPosition | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildStringToTextMessage | ( | const std::string & | name | ) |
bool dds_ros_bridge::DdsRosBridge::BuildTelemetryToRapid | ( | const std::string & | sub_topic, |
const std::string & | name | ||
) |
bool dds_ros_bridge::DdsRosBridge::BuildZonesToRapidCompressedFile | ( | const std::string & | sub_topic, |
const std::string & | zones_srv, | ||
const std::string & | name | ||
) |
|
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.
|
protected |
|
protected |
|
protected |
bool dds_ros_bridge::DdsRosBridge::SetCommStatusRate | ( | float | rate, |
std::string & | err_msg | ||
) |
bool dds_ros_bridge::DdsRosBridge::SetCpuStateRate | ( | float | rate, |
std::string & | err_msg | ||
) |
bool dds_ros_bridge::DdsRosBridge::SetDiskStateRate | ( | float | rate, |
std::string & | err_msg | ||
) |
bool dds_ros_bridge::DdsRosBridge::SetEkfPositionRate | ( | float | rate, |
std::string & | err_msg, | ||
RateType | type | ||
) |
bool dds_ros_bridge::DdsRosBridge::SetGncStateRate | ( | float | rate, |
std::string & | err_msg | ||
) |
bool dds_ros_bridge::DdsRosBridge::SetPmcStateRate | ( | float | rate, |
std::string & | err_msg | ||
) |
bool dds_ros_bridge::DdsRosBridge::SetSparseMappingPoseRate | ( | float | rate, |
std::string & | err_msg | ||
) |
bool dds_ros_bridge::DdsRosBridge::SetTelem | ( | float | rate, |
std::string & | err_msg, | ||
RateType | type | ||
) |
bool dds_ros_bridge::DdsRosBridge::SetTelemRateCallback | ( | ff_msgs::SetRate::Request & | req, |
ff_msgs::SetRate::Response & | res | ||
) |