|
NASA Astrobee Robot Software
0.19.1
Flight software for the Astrobee robots operating inside the International Space Station.
|
Go to the documentation of this file.
19 #ifndef DDS_ROS_BRIDGE_ROS_ODOM_RAPID_POSITION_H_
20 #define DDS_ROS_BRIDGE_ROS_ODOM_RAPID_POSITION_H_
25 #include "dds_ros_bridge/ros_sub_rapid_pub.h"
27 #include "dds_ros_bridge/util.h"
29 #include "ff_msgs/EkfState.h"
31 #include "knDds/DdsTypedSupplier.h"
33 #include "rapidDds/RapidConstants.h"
35 #include "rapidIo/RapidIoParameters.h"
37 #include "rapidUtil/RapidHelper.h"
39 #include "dds_msgs/AstrobeeConstants.h"
40 #include "dds_msgs/EkfStateSupport.h"
47 const std::string& pub_topic,
48 const ros::NodeHandle& nh,
49 const unsigned int queue_size = 10);
52 const geometry_msgs::Pose& pose);
53 void CopyVec3D(rapid::Vec3d& vec_out,
const geometry_msgs::Vector3& vec_in);
54 void MsgCallback(
const ff_msgs::EkfStateConstPtr& msg);
55 void PubEkf(
const ros::TimerEvent& event);
61 rapid::PositionTopicPairParameters params_;
62 std::shared_ptr<rapid::PositionProviderRosHelper> provider_;
64 ff_msgs::EkfStateConstPtr ekf_msg_;
67 kn::DdsTypedSupplier<rapid::ext::astrobee::EkfState>;
68 using StateSupplierPtr = std::unique_ptr<StateSupplier>;
70 StateSupplierPtr state_supplier_;
72 bool ekf_sent_, pub_ekf_;
74 ros::Timer ekf_timer_, position_timer_;
79 #endif // DDS_ROS_BRIDGE_ROS_ODOM_RAPID_POSITION_H_
void MsgCallback(const ff_msgs::EkfStateConstPtr &msg)
Definition: ros_odom_rapid_position.cc:79
void CopyTransform3D(rapid::Transform3D &transform, const geometry_msgs::Pose &pose)
Definition: ros_odom_rapid_position.cc:111
Definition: ros_sub_rapid_pub.h:30
void SetEkfPublishRate(float rate)
Definition: ros_odom_rapid_position.cc:181
Definition: ros_odom_rapid_position.h:44
void PubEkf(const ros::TimerEvent &event)
Definition: ros_odom_rapid_position.cc:130
RosOdomRapidPosition(const std::string &subscribe_topic, const std::string &pub_topic, const ros::NodeHandle &nh, const unsigned int queue_size=10)
Definition: ros_odom_rapid_position.cc:23
Definition: generic_rapid_msg_ros_pub.h:36
void PubPosition(const ros::TimerEvent &event)
Definition: ros_odom_rapid_position.cc:174
void SetPositionPublishRate(float rate)
Definition: ros_odom_rapid_position.cc:192
void CopyVec3D(rapid::Vec3d &vec_out, const geometry_msgs::Vector3 &vec_in)
Definition: ros_odom_rapid_position.cc:123