T265定点指点基本原理与极简代码实现

T265定点指点飞行

T265定点指点功能包: GitHub - maxibooksiyi/t265_to_mavros: 用于T265定点指点的功能包用于T265定点指点的功能包. Contribute to maxibooksiyi/t265_to_mavros development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/maxibooksiyi/t265_to_mavros

基于T265或vins px4定点指点原理讲解与gazebo仿真演示20240329

 

PX4控制环

输入图片说明

T265定点

飞控参数修改:EKF2_AID_MASK选择vision position fusion和vision yaw fusion , EKF2_HGT_MODE选择Vision T265的odom话题/t265/odom/sample转为/mavros/vision_pose/pose发给mavros

输入图片说明

输入图片说明

t265_to_mavros.cpp

https://github.com/maxibooksiyi/t265_to_mavros/blob/master/src/t265_to_mavros.cpp

#include <ros/ros.h>
#include <geometry_msgs/PoseStamped.h>
#include <Eigen/Eigen>
#include <nav_msgs/Odometry.h>
​
Eigen::Vector3d pos_drone_t265;
Eigen::Quaterniond q_t265;
​
void t265_cb(const nav_msgs::Odometry::ConstPtr &msg)
{
        pos_drone_t265 = Eigen::Vector3d(msg->pose.pose.position.x, msg->pose.pose.position.y, msg->pose.pose.position.z);
        q_t265 = Eigen::Quaterniond(msg->pose.pose.orientation.w, msg->pose.pose.orientation.x, msg->pose.pose.orientation.y, msg->pose.pose.orientation.z);
}
​
int main(int argc, char **argv)
{
    ros::init(argc, argv, "t265_to_mavros");
    ros::NodeHandle nh;
​
        //  【订阅】t265估计位置
    ros::Subscriber t265_sub = nh.subscribe<nav_msgs::Odometry>("/t265/odom/sample", 100, t265_cb);
​
    ros::Publisher vision_pub = nh.advertise<geometry_msgs::PoseStamped>("/mavros/vision_pose/pose", 10);
​
    //the setpoint publishing rate MUST be faster than 2Hz
    ros::Rate rate(30.0);
​
    while(ros::ok()){
    
        geometry_msgs::PoseStamped vision;
​
        vision.pose.position.x = pos_drone_t265[0];
        vision.pose.position.y = pos_drone_t265[1];
        vision.pose.position.z = pos_drone_t265[2];
​
        vision.pose.orientation.x = q_t265.x();
        vision.pose.orientation.y = q_t265.y();
        vision.pose.orientation.z = q_t265.z();
        vision.pose.orientation.w = q_t265.w();
​
        vision.header.stamp = ros::Time::now();
        vision_pub.publish(vision);
​
        ros::
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

诗筱涵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值