步骤四:T265和Mavros通讯

本文记录了使用T265与PX4建立通讯的过程,首先尝试了阿木的volans项目,因未知问题转而采用官方方法。官方方法涉及配置环境变量、修改launch文件、处理串口权限等步骤。需要注意的是,某些步骤可能与cartographer安装冲突,且配置文件的位置可能与说明不符。
摘要由CSDN通过智能技术生成

阿木的volans项目连接t265与px4是在2022年暑假实验的,但是随后在九月初再试实验时,由于一些暂时不知明的原因,无法联机。于是,我们改用了官网的连接方法。下面附上官网链接:

T265 Intel Realsense Tracking Camera (VIO) | PX4 自动驾驶用户指南

2022.11.27:

上述问题已经找到了原因,详情见方法一的注意事项!

方法一:阿木的volans

旧采用阿木的volans项目

1.配置volans项目

git clone https://gitee.com/bingobinlw/volans

或更新已有仓库

git pull

2.更新子模块 主要是激光雷达驱动之类的

cd volans
git submodule update --init --recursive

我这里可能是初次下载,这

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要通过 mavros 发送指令使无人机停止前进,你需要使用 `mavros_msgs::PositionTarget` 消息来发送期望的位置和速度信息。 具体来说,你需要设置以下字段: - `type_mask`:设为 `mavros_msgs::PositionTarget::IGNORE_VX | mavros_msgs::PositionTarget::IGNORE_VY | mavros_msgs::PositionTarget::IGNORE_VZ | mavros_msgs::PositionTarget::IGNORE_AFX | mavros_msgs::PositionTarget::IGNORE_AFY | mavros_msgs::PositionTarget::IGNORE_AFZ | mavros_msgs::PositionTarget::IGNORE_YAW | mavros_msgs::PositionTarget::IGNORE_YAW_RATE`,表示忽略速度和加速度信息,只保留位置和航向信息。 - `position`:设为当前位置,表示不改变位置。 - `velocity`:设为零向量,表示不移动。 - `yaw` 和 `yaw_rate`:可以任意设定,因为 `type_mask` 中已经忽略了这些信息。 以下是一个示例代码片段: ```cpp #include <ros/ros.h> #include <mavros_msgs/PositionTarget.h> int main(int argc, char **argv) { ros::init(argc, argv, "stop_drone_node"); ros::NodeHandle nh; ros::Publisher target_pub = nh.advertise<mavros_msgs::PositionTarget>("/mavros/setpoint_raw/local", 10); mavros_msgs::PositionTarget target; target.type_mask = mavros_msgs::PositionTarget::IGNORE_VX | mavros_msgs::PositionTarget::IGNORE_VY | mavros_msgs::PositionTarget::IGNORE_VZ | mavros_msgs::PositionTarget::IGNORE_AFX | mavros_msgs::PositionTarget::IGNORE_AFY | mavros_msgs::PositionTarget::IGNORE_AFZ | mavros_msgs::PositionTarget::IGNORE_YAW_RATE; target.position.x = 0.0; target.position.y = 0.0; target.position.z = 0.0; target.velocity.x = 0.0; target.velocity.y = 0.0; target.velocity.z = 0.0; target.yaw = 0.0; target.yaw_rate = 0.0; ros::Rate rate(20.0); while (ros::ok()) { target.header.stamp = ros::Time::now(); target_pub.publish(target); ros::spinOnce(); rate.sleep(); } return 0; } ``` 这个节点会以 20 Hz 的频率向 `/mavros/setpoint_raw/local` 发布 `mavros_msgs::PositionTarget` 消息,使无人机停止前进。注意,这个节点只是一个示例,实际上你需要根据你的具体情况修改代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

doki2022

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

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

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

打赏作者

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

抵扣说明:

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

余额充值