19 #include <mavros_msgs/CameraImageCaptured.h> 22 namespace extra_plugins {
25 using mavlink::common::MAV_CMD;
70 auto ic = boost::make_shared<mavros_msgs::CameraImageCaptured>();
73 ic->geo.latitude = mo.lat/ 1E7;
74 ic->geo.longitude = mo.lon / 1E7;
76 ic->relative_alt = mo.relative_alt / 1E3;
81 camera_image_captured_pub.
publish(ic);
void quaternionEigenToMsg(const Eigen::Quaterniond &e, geometry_msgs::Quaternion &m)
HandlerInfo make_handler(const mavlink::msgid_t id, void(_C::*fn)(const mavlink::mavlink_message_t *msg, const mavconn::Framing framing))
Eigen::Quaterniond mavlink_to_quaternion(const std::array< float, 4 > &q)
ros::NodeHandle camera_nh
void publish(const boost::shared_ptr< M > &message) const
ros::Time synchronise_stamp(uint32_t time_boot_ms)
Subscriptions get_subscriptions() override
ros::Publisher camera_image_captured_pub
Publisher advertise(const std::string &topic, uint32_t queue_size, bool latch=false)
std::vector< HandlerInfo > Subscriptions
void initialize(UAS &uas_) override
void handle_camera_image_captured(const mavlink::mavlink_message_t *msg, mavlink::common::msg::CAMERA_IMAGE_CAPTURED &mo)
Publish camera image capture information.
#define PLUGINLIB_EXPORT_CLASS(class_type, base_class_type)
std::string to_string(const std::array< char, _N > &a)
double geoid_to_ellipsoid_height(T lla)
void initialize(UAS &uas_) override
constexpr std::underlying_type< _T >::type enum_value(_T e)