树莓派安装MAVROS的一些坑

2023-05-16

一.基于原生系统安装ROS

详见文章https://blog.csdn.net/qq_33662995/article/details/98645837,写的很详细了。

 

二.源码安装MAVROS

由于树莓派环境下不能直接从二进制安装,因此只能按照操作说明从源码编译。

操作说明完全参考官方教程

注意点1:

这条指令末尾的操作系统名一定要换成当前使用的操作系统。

注意点2:

模块在安装到五六十的时候会报一次错误,类似于 “logError not in the scope”,这是因为缺少logError的宏定义导致的,直接在该文件下添加宏定义即可:

文件目录: /usr/include/console_bridge/console.h

添加:

#define logWarn CONSOLE_BRIDGE_logWarn
#define logError CONSOLE_BRIDGE_logError
#define logDebug CONSOLE_BRIDGE_logDebug
#define logInform CONSOLE_BRIDGE_logInform

参考网址:https://github.com/ros/console_bridge/issues/56。

问题解决。

注意点3:

报错:

/home/pi/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp:278:66: error: no matching function for call to ‘boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000>::subsecond_duration(double)’
       boost::posix_time::milliseconds(time_left.toSec() * 1000.0f));

<== Failed to process package 'actionlib': 
  Command '['/opt/ros/kinetic/env.sh', 'make', '-j4', '-l4']' returned non-zero exit status 2 

这是因为boost 1.67版本以后不允许部分函数在传参的时候进行自动类型转换,要求一定要手动对应参数类型。从而报“no matching function”错误。

解决办法:sudo nano打开出错文件,把报错的函数的参数前面手动加一个强制类型转换即可。

本例中修改 /home/pi/ros_catkin_ws/src/actionlib/src/connection_monitor.cpp 文件第278行的语句:

boost::posix_time::milliseconds(time_left.toSec() * 1000.0f));

改为

boost::posix_time::milliseconds((long)(time_left.toSec() * 1000.0f)));

即可。参考链接 https://gitlab.com/orcus/orcus/commit/f7485813af8e50f88c77312fb29b7bb489a0a17d?view=inline。

问题解决。

注意点4:

报错:

/opt/ros/kinetic/include/actionlib/destruction_guard.h:62:80: error: no matching function for call to ‘boost::date_time::subsecond_duration<boost::posix_time::time_duration,1000>::subsecond_duration(float)’ count_condition_.timed_wait(lock, boost::posix_time::milliseconds(1000.0f));

解决办法:和问题3是一回事儿。sudo nano打开出错文件,把报错的函数的参数前面手动加一个强制类型转换即可。

本例中修改 /home/pi/ros_catkin_ws/src/actionlib/include/actionlib/destruction_guard.h 文件第62行的语句:

count_condition_.timed_wait(lock, boost::posix_time::milliseconds(1000.0f));

为改

count_condition_.timed_wait(lock, boost::posix_time::milliseconds((long)1000.0f));

即可。注意到,报错文件位于/opt/目录下,但修改的文件位于home目录下,这是因为opt目录下的文件就是在编译的时候从home目录下cp过去的,home目录下的是源头。

问题解决。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

树莓派安装MAVROS的一些坑 的相关文章

  • qgc通过mavros连接到Pixhawk飞控

    qgc通过mavros连接到Pixhawk飞控 mavros设置QGC设置 mavros确实是一个不错的工具 xff0c 在机载电脑上进行无人机开发的时候 xff0c 有时候想调飞控的参数看一下飞控的一些信息 xff0c 但是直接接飞控又不
  • 六、PX4的ros/mavros搭建

    老规矩 xff0c 看官网 这里 我看这个上面已经在推ROS2了 不过对于我这种只接触过ROS1版本的还是MAVROS来得清切 MAVROS说白了就是MAVLINK的进一步封装 xff0c 可以使得计算机通过串口发送指令给pixhawk x
  • Ardupilot之Mavros实现Ros节点控制(一)

    Ardupilot之Mavros实现Ros节点控制 Mavros安装修改Mavros运行Mavros 这部分ros发布的命令话题参考的是PX4固件最基本的Offboard node节点 xff0c 命令发布后 xff0c 能够连接并解锁 x
  • 二、MAVROS的安装(PX4:v1.10.0 \ ROS:kinetic)

    mavros 功能包提供了 一台能够运行ros的机载电脑 支持MAVLINK协议的飞控和支持MAVLINK的地面站这三者之间的通讯功能 MAVROS 是 ROS 与 MAVLink 协议之间的 有 34 官方 34 支持的ROS功能包 它当
  • px4连接不了mavros的原因

    本人多次试过机载重装系统后初次安装mavros 出现mavros连接不上的问题 一 USB接口电压不够 我之前遇到过的一种就是当px4通过USB线接入机载 xff0c 启动mavros时 xff0c 一直连接不上 xff0c 而且px4上常
  • ubuntu20.04版本 安装ros1与px4、mavros、QGroundControl

    基于个人安装时的操作以及所浏览的链接 xff0c 仅供参考 文章目录 前言一 pandas是什么 xff1f 二 使用步骤 1 引入库2 读入数据总结 前言 使用ubuntu下载ros px4似乎是一件十分繁琐以及困难的事情 xff0c 但
  • mavros永远连接失败

    之前在做无人机使用px4源码避障的实物实验 xff0c 已经有了无人机 xff0c 想按照惯例先在nvidia NX上位机上跑一下仿真实验测试一下 xff0c 结果mavros用了一万种方法 xff0c 就是连不上 xff0c 仿真跑不了
  • 常用MAVROS话题和服务

    https zhuanlan zhihu com p 364872655 一 常用接收的话题 1 1 系统状态 消息名称 xff1a mavros state 类型 xff1a mavros msgs State 头文件 xff1a mav
  • PIXHAWK无人机mavros与SLAM技术实用课程培训--北京站(2018年3月31日~4月2日)

    SLAM技术一直是机器人领域的研究热点 伴随着一个又一个无人车SLAM的落地 xff0c 技术的发展到了实用化的研究热潮 xff0c 尤其SLAM技术在无人机路径规划方面的研究更具无限潜力 xff0c 广阔的天地间毕竟还需要那么一双眼睛 众
  • mavros安装

    官方地址 xff1a https github com mavlink mavros 因为github有时侯不好上 xff0c 所以我自己弄了个gitee https gitee com qq408007026 mavros tree ma
  • roslaunch px4 multi_uav_mavros_sitl_sdf.launch报错

    转载自 xff1a https www cnblogs com pig fly p 13971458 html 在试图运行multi uav mavros sitl sdf launch时报错 xff1a while processing
  • Python_mavros_manual_contoller

    利用python完成mavros与PX4的通信工程 xff0c 同时也完成了对应的PX4中对应消息代码的调试查看 span class token keyword from span future span class token keyw
  • 提高mavros中IMU话题的发布频率

    提高mavros中IMU话题的发布频率 提高波特率提高方法命令行方式原始IMU数据飞控计算过后的IMU数据总结 更改启动文件 在上位机上很多时候都需要用到无人机的IMU信息 xff0c 我用的飞控硬件是Pixhawk 4 xff0c 感觉I
  • ROS安装和MAVROS以及PX4的安装

    只能说怀着沉重的心情 xff0c 本来不想写的 xff0c 但是又还是害怕后续出什么幺蛾子 xff0c 就记录一下 xff0c 希望自己永远没有机会在看这篇文章 文章目录 ROS安装 ubuntu18 04安装melodic 1 Ubunt
  • MAVROS(1)offboard模式(手动和roslaunch启动)

    官方教程 xff1a https docs px4 io master en ros mavros offboard html 1 编写功能包 参考 xff1a https blog csdn net weixin 44917390 art
  • APM-MAVROS连接

    1 运行mavros roslaunch mavros apm launch fcu url 61 34 dev ttyUSB0 921600 34 2 读取topic之前先运行以下命令 xff0c 修改飞控广播频率 rosservice
  • 树莓派安装ros系统

    导语 最近给树莓派安装了ros系统 xff0c 这里记录一下 步骤 xff1a 1 下载ros系统的软件 这里推荐从ubiquityrobotics下载ubiquityrobotics 的系统 这个相当于是给你下载了ubuntu16 04和
  • 从 MAVROS 到 PX4 飞控的数据流向

    摘自 xff1a https blog csdn net SIR wkp article details 87870471 从 MAVROS 到 PX4 飞控的数据流向 SIR wkp 2019 02 21 23 54 09 2059 收藏
  • Ubuntu20.04+MAVROS+PX4+Gazebo保姆级安装教程

    Ubuntu20 04 43 MAVROS 43 PX4 43 Gazebo 安装PX4步骤安装MAVROS安装QGCPX4仿真 安装PX4步骤 从github上clone源码 span class token function git s
  • mavros连接px4失败的usb-ttl原因

    问题描述 xff1a 最近在搞mavros xff0c 以方便协处理器和pixhawk通讯 xff0c 在按照官网教程安装mavros xff0c 设置px4 xff0c 连接硬件之后发现mavros卡在中间下不去 xff1a MAVROS

随机推荐

  • socket编程accept函数返回值的理解

    accept函数返回值成功时返回非负值 xff0c 失败时返回 1 accept函数接受一个客户端请求后会返回一个新的SOCKFD值 xff0c 当有不同的客户端同时有不同请求时 xff0c 会返回不同的SOCKFD的值 这个不同的值和建立
  • 【TEE自学随笔】keystone代码略读(长文多图)

    武大信安在读 xff0c 最近在自学Risc v架构的可信执行环境 本篇内容由队友和我总结而成 xff0c 如有错误欢迎指正交流 keystone是risc v架构的开源tee 利用risc v的pmp来隔离页表 xff0c 进一步缩小了可
  • 二维数组与指针、指针数组、数组指针的用法

    二维数组 和指针 用指针表示二维数组 元素 要用指针处理二维数组 xff0c 首先要解决从存储的角度对二维数组 的认识问题 我们知道 xff0c 一个二维数组 在计算机中存储时 xff0c 是按照先行后列的顺序依次存储的 xff0c 当把每
  • 深剖基类和派生类的虚函数表

    1 当派生类实现基类的虚函数时 xff0c 基类中虚函数表和虚函数地址和派生类中虚函数表和虚函数地址不同 xff1b 当派生类不实现基类的虚函数时 xff0c 基类中虚函数表和虚函数地址和派生类中虚函数表和虚函数的地址相同 1 派生类重新实
  • C语言中转义字符

    在字符集中 xff0c 有一类字符具有这样的特性 xff1a 当从键盘上输入这个字符时 xff0c 显示器上就可以显示这个字符 xff0c 即输入什么就显示什么 这类字符称为可显示字符 xff0c 如a b c 43 和空格符等都是可显示字
  • c++ 中map 的find 用法

    用find函数来定位数据出现位置 xff0c 它返回的一个迭代器 xff0c 当数据出现时 xff0c 它返回数据所在位置的迭代器 xff0c 如果map中没有要查找的数据 xff0c 它返回的迭代器等于end函数返回的迭代器 xff0c
  • 解决AndroidStudio控制台输出乱码

    方法一 xff1a Help gt Edit Custom VM Options 在最后一行换行加上 xff1a xff08 不要漏掉符号 加好之后重启AndroidStudio xff09 Dfile encoding 61 UTF 8
  • c++--UDP发送接收

    UDP发送接收 头文件 include lt Winsock2 h gt 库 pragma comment lib Ws2 32 lib 连接Sockets相关库 初始化Windows SOCKET WSADATA wsaData if W
  • Airsim Setting up PX4 Hardware-in-Loop 环境搭建教程(windows)

    Airsim Setting up PX4 Hardware in Loop 环境搭建教程 xff08 windows xff09 经过本教程 xff0c 能够通过PX4连接遥控器 xff0c 继而能够控制airsim UE4中四轴模型 目
  • 在PX4 v1.9.2替换姿态控制算法方法

    在PX4 v1 9 2替换姿态控制算法方法 目的是在model中写一个与mc att control类似的model加入自己的姿态控制算法并替换之 目录 姿态控制算法simlink搭建生成并简单说明 PX4 v1 9 2姿态控制接口简单介绍
  • 不必通宵挂机,飞速克隆PX4源码的方法

    不必通宵挂机 xff0c 飞速克隆PX4源码的方法 项目地址 国内github网速 xff0c 那是慢的没法说 xff0c 克隆个PX4源码要半天 xff0c 然后更新子模块 xff0c 那不得需要一夜的时间 xff0c 有时早上一来 xf
  • Simlink与PX4硬件在环仿真(HIL)实现

    Simlink与PX4硬件在环仿真 HIL 实现 介于涉及的知识比较多 xff0c 这里只是简单的介绍一下 xff0c 硬件在环HIL介绍 simlink与PX4通信实现 硬件在环HIL介绍 为来贯彻万物都可以用数学公式表示 xff0c 我
  • MSP430如何给板子下载程序?(IAR MSPFET CCS)

    MSP430如何给板子下载程序 xff1f 这个问题其实很简单 xff0c 但就在前几天的我就吃了很大的亏 xff0c 搞了一天都没搞懂 这篇文章来谈一谈我走过的坑吧 xff0c 希望对你有所帮助 一 下载IAR开发IDE 43 串口下载工
  • ROS中ENU坐标系与无人机中NED坐标系的转换关系理解

    ROS中ENU坐标系与无人机中NED坐标系的转换关系理解 项目地址 无人机中NED坐标理解ENU与NED转换 无人机中NED坐标理解 机体坐标系 xff1a 机体坐标系固连飞机 xff0c 其原点 取在多旋翼的重心位置上 x轴在多旋翼对称平
  • PX4无人机ROS下仿真开发

    PX4无人机ROS下仿真开发 Overview Simulation Px4 control Slam Map Image process Planning Volans 项目地址volans 注 xff1a 有任何疑问都可在issues提
  • FlightPlot安装使用方法

    FlightPlot安装使用方法 下载flightPlot源码下载切换openjdk 版本重启安装flightPlot 下载flightPlot源码 git clone recursive https github com PX4 Flig
  • 基于Ubuntu+Eclipse+GDB+OpenOCD+STlink搭建STM32开发环境

    基于Ubuntu 43 Eclipse 43 GDB 43 OpenOCD 43 STlink搭建STM32开发环境 准备工作 xff1a 一台能够上网的配置还不错的电脑 xff0c stm32开发板 xff0c stlink下载器 本人的
  • APM直升机调试记录

    Author xff1a Bingo Time xff1a 20190601 xff0c V1 0 直升机调试记录 十字盘机械配平上位机调十字盘水平调整直升机在Stabilize模式下悬停调整直升机在AltHold模式下悬停调整直升机在Po
  • 3.3 创建一个 ROS 功能包

    本节主要介绍如何用 catkin 来创建一个新的功能包 xff0c 并且使用前面介绍的 rospack 命令去查看功能包的依赖 3 3 1 catkin 功能包的构成 一个完整的 catkin 功能包需要具备以下几个条件 xff1a 包含一
  • 树莓派安装MAVROS的一些坑

    一 基于原生系统安装ROS 详见文章https blog csdn net qq 33662995 article details 98645837 xff0c 写的很详细了 二 源码安装MAVROS 由于树莓派环境下不能直接从二进制安装