Go to the documentation of this file.
12 MessagePublisher::MessagePublisher():
23 std::string sbg_node_name;
28 switch (sbg_message_id)
55 name =
"/ship_motion";
97 return sbg_node_name + name;
205 std::string imu_node_name;
211 ROS_WARN(
"SBG_DRIVER - [Publisher] Driver is configured in NED frame convention, ROS standard message are disabled.");
221 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG Imu and/or Quat output are not configured, the standard IMU can not be defined.");
230 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG Imu data output are not configured, the standard Temperature publisher can not be defined.");
239 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG Mag data output are not configured, the standard Magnetic publisher can not be defined.");
252 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG Imu, Nav or Angles data outputs are not configured, the standard Velocity publisher can not be defined.");
261 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG AirData output are not configured, the standard FluidPressure publisher can not be defined.");
270 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG Ekf data output are not configured, the standard ECEF position publisher can not be defined.");
279 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG Utc data output are not configured, the UTC time reference publisher can not be defined.");
288 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG GPS Pos data output are not configured, the NavSatFix publisher can not be defined.");
299 ROS_WARN(
"SBG_DRIVER - [Publisher] SBG IMU, NAV and Quaternion (or Euler) outputs are not configured, the odometry publisher can not be defined.");
380 sbg_driver::SbgMag sbg_mag_message;
395 sbg_driver::SbgAirData sbg_air_data_message;
425 sbg_driver::SbgUtcTime sbg_utc_message;
444 sbg_driver::SbgGpsPos sbg_gps_pos_message;
461 if (nmea_gga_msg.sentence.size() > 0)
477 const std::vector<ConfigStore::SbgLogOutput> &ref_output_modes = ref_config_store.
getOutputModes();
MessageWrapper message_wrapper_
@ SBG_ECOM_OUTPUT_MODE_DISABLED
ros::Publisher sbg_event_B_pub_
const std::string & getOdomFrameId() const
SbgLogShipMotionData shipMotionData
ros::Publisher sbg_ship_motion_pub_
ros::Publisher sbg_event_A_pub_
sbg_driver::SbgImuData sbg_imu_message_
ros::Publisher nmea_gga_pub_
sbg_driver::SbgEkfNav sbg_ekf_nav_message_
ros::Publisher sbg_odo_vel_pub_
sbg_driver::SbgEkfQuat sbg_ekf_quat_message_
ros::Publisher sbg_mag_pub_
void setOdomEnable(bool odom_enable)
ros::Publisher sbg_imu_short_pub_
std::string getOutputTopicName(SbgEComMsgId sbg_message_id) const
ros::Publisher sbg_gps_vel_pub_
enum _SbgEComOutputMode SbgEComOutputMode
const sbg_driver::SbgEkfNav createSbgEkfNavMessage(const SbgLogEkfNavData &ref_log_ekf_nav) const
const std::string & getNmeaFullTopic() const
void setOdomFrameId(const std::string &ref_frame_id)
const sbg_driver::SbgGpsHdt createSbgGpsHdtMessage(const SbgLogGpsHdt &ref_log_gps_hdt) const
void processRosVelMessage()
SbgLogEkfEulerData ekfEulerData
ros::Publisher sbg_utc_time_pub_
const sbg_driver::SbgUtcTime createSbgUtcTimeMessage(const SbgLogUtcData &ref_log_utc)
const sbg_driver::SbgStatus createSbgStatusMessage(const SbgLogStatusData &ref_log_status) const
ros::Publisher fluid_pub_
void publishIMUData(const SbgBinaryLogData &ref_sbg_log)
void setTimeReference(TimeReference time_reference)
ros::Publisher sbg_gps_pos_pub_
void publish(const boost::shared_ptr< M > &message) const
void publishMagData(const SbgBinaryLogData &ref_sbg_log)
void processRosImuMessage()
ros::Publisher sbg_event_E_pub_
Publisher advertise(AdvertiseOptions &ops)
@ SBG_ECOM_CLASS_LOG_ECOM_1
const geometry_msgs::TwistStamped createRosTwistStampedMessage(const sbg::SbgVector3f &body_vel, const sbg_driver::SbgImuData &ref_sbg_imu_msg) const
const sensor_msgs::NavSatFix createRosNavSatFixMessage(const sbg_driver::SbgGpsPos &ref_sbg_gps_msg) const
ROSCPP_DECL std::string resolve(const std::string &name, bool remap=true)
SbgLogOdometerData odometerData
ros::Publisher velocity_pub_
Manage publishing of messages from logs.
SbgLogMagCalib magCalibData
bool getOdomPublishTf() const
@ SBG_ECOM_LOG_SHIP_MOTION
ros::Publisher sbg_event_C_pub_
const sbg_driver::SbgEvent createSbgEventMessage(const SbgLogEvent &ref_log_event) const
void publishEkfNavigationData(const SbgBinaryLogData &ref_sbg_log)
const sbg_driver::SbgAirData createSbgAirDataMessage(const SbgLogAirData &ref_air_data_log) const
void publish(SbgEComClass sbg_msg_class, SbgEComMsgId sbg_msg_id, const SbgBinaryLogData &ref_sbg_log)
ros::Publisher sbg_air_data_pub_
ros::Publisher sbg_gps_raw_pub_
const std::string & getFrameId() const
ros::Publisher nav_sat_fix_pub_
ros::Publisher sbg_mag_calib_pub_
ros::Publisher sbg_event_D_pub_
enum _SbgEComClass SbgEComClass
void publishUtcData(const SbgBinaryLogData &ref_sbg_log)
const sbg_driver::SbgGpsPos createSbgGpsPosMessage(const SbgLogGpsPos &ref_log_gps_pos) const
void initPublisher(ros::NodeHandle &ref_ros_node_handle, SbgEComMsgId sbg_msg_id, SbgEComOutputMode output_conf, const std::string &ref_output_topic)
ros::Publisher pos_ecef_pub_
SbgLogEkfQuatData ekfQuatData
@ SBG_ECOM_CLASS_LOG_ECOM_0
void setFrameId(const std::string &frame_id)
This file is used to parse received binary logs.
SbgLogEkfNavData ekfNavData
void defineRosStandardPublishers(ros::NodeHandle &ref_ros_node_handle, bool odom_enable, bool enu_enable)
void setOdomBaseFrameId(const std::string &ref_frame_id)
TimeReference getTimeReference() const
ros::Publisher sbg_ekf_ruler_pub_
const nav_msgs::Odometry createRosOdoMessage(const sbg_driver::SbgImuData &ref_sbg_imu_msg, const sbg_driver::SbgEkfNav &ref_sbg_ekf_nav_msg, const sbg_driver::SbgEkfQuat &ref_sbg_ekf_quat_msg, const sbg_driver::SbgEkfEuler &ref_sbg_ekf_euler_msg)
void publishGpsPosData(const SbgBinaryLogData &ref_sbg_log, SbgEComMsgId sbg_msg_id)
ros::Publisher sbg_ekf_quat_pub_
ros::Publisher sbg_gps_hdt_pub_
const sbg_driver::SbgMagCalib createSbgMagCalibMessage(const SbgLogMagCalib &ref_log_mag_calib) const
const sbg_driver::SbgImuData createSbgImuDataMessage(const SbgLogImuData &ref_log_imu_data) const
bool checkRosStandardMessages() const
const sbg_driver::SbgGpsVel createSbgGpsVelMessage(const SbgLogGpsVel &ref_log_gps_vel) const
const std::vector< SbgLogOutput > & getOutputModes() const
ros::Publisher sbg_status_pub_
ros::Publisher odometry_pub_
ros::Publisher sbg_ekf_nav_pub_
const sensor_msgs::Imu createRosImuMessage(const sbg_driver::SbgImuData &ref_sbg_imu_msg, const sbg_driver::SbgEkfQuat &ref_sbg_quat_msg) const
void processRosOdoMessage()
const sensor_msgs::MagneticField createRosMagneticMessage(const sbg_driver::SbgMag &ref_sbg_mag_msg) const
const sensor_msgs::Temperature createRosTemperatureMessage(const sbg_driver::SbgImuData &ref_sbg_imu_msg) const
sbg_driver::SbgEkfEuler sbg_ekf_euler_message_
void setOdomInitFrameId(const std::string &ref_frame_id)
const sbg_driver::SbgMag createSbgMagMessage(const SbgLogMag &ref_log_mag) const
SbgLogStatusData statusData
const sbg_driver::SbgOdoVel createSbgOdoVelMessage(const SbgLogOdometerData &ref_log_odo) const
const sbg_driver::SbgShipMotion createSbgShipMotionMessage(const SbgLogShipMotionData &ref_log_ship_motion) const
void publishFluidPressureData(const SbgBinaryLogData &ref_sbg_log)
const sbg_driver::SbgGpsRaw createSbgGpsRawMessage(const SbgLogGpsRaw &ref_log_gps_raw) const
const sbg_driver::SbgEkfQuat createSbgEkfQuatMessage(const SbgLogEkfQuatData &ref_log_ekf_quat) const
bool getOdomEnable() const
void initPublishers(ros::NodeHandle &ref_ros_node_handle, const ConfigStore &ref_config_store)
const nmea_msgs::Sentence createNmeaGGAMessageForNtrip(const SbgLogGpsPos &ref_log_gps_pos) const
const sbg_driver::SbgEkfEuler createSbgEkfEulerMessage(const SbgLogEkfEulerData &ref_log_ekf_euler) const
ros::Publisher sbg_imu_data_pub_
void setOdomPublishTf(bool publish_tf)
const sensor_msgs::FluidPressure createRosFluidPressureMessage(const sbg_driver::SbgAirData &ref_sbg_air_msg) const
const std::string & getOdomInitFrameId() const
const sbg_driver::SbgImuShort createSbgImuShortMessage(const SbgLogImuShort &ref_short_imu_log) const
bool shouldPublishNmea() const
ros::Publisher utc_reference_pub_
const geometry_msgs::PointStamped createRosPointStampedMessage(const sbg_driver::SbgEkfNav &ref_sbg_ekf_msg) const
const std::string & getOdomBaseFrameId() const
const sensor_msgs::TimeReference createRosUtcTimeReferenceMessage(const sbg_driver::SbgUtcTime &ref_sbg_utc_msg) const
sbg_driver
Author(s): SBG Systems
autogenerated on Fri Oct 11 2024 02:13:40