Ubuntu18.04 中编译 TI 官方的ros驱动包中 autonomous_robotics_ros 包所存在的问题及解决方案

环境:

安装有 ROS 系统的 Ubuntu18.04 环境,并且已将 TI 官方的毫米波雷达 ROS 驱动下载到Ubuntu18.04系统中,如需获取此代码请点击此链接根据教程下载即可。

代码下载链接:TI IWR6843ISK ROS驱动程序搭建-CSDN博客

问题1:

编译时出现没有 turtlebot_msgs 安装包的提示

解决方案:

将下面链接中的代码克隆或者下载zip文件到autonomous_robotics_ros/src/turtlebot/文件夹下

git clone https://github.com/turtlebot/turtlebot_msgs.git

将此 turtlebot_msgs 安装包克隆或者下载到autonomous_robotics_ros/src/turtlebot/文件夹下之后,再次执行 catkin_make 指令编译即可。

问题2:

#error This file was generated by an older version of protoc which is:

fecea42140f14207a4481f057d81da48.png

解决方法:

上述的问题主要是

error This file was generated by an older version of protoc which is:错误此文件是由旧版本的protoc生成的,我目前的版本为3.4.0,因此需要下载新版本的protoc才行。因为我的系统是Ubuntu18.04,此本版的gazebo对应的protoc版本为protoc 3.0.0.

根据如下步骤进行操作更新protoc文件

1)查看protoc文件版本

 protoc --version  

fe2fcc8550d54e549694d5934bdcde6d.png

2)首先移除原有的 protobuf 

cd /usr/local/include/google
sudo rm -rf protobuf

d460f7f594c942f6aaef92a64461f40f.png

3)下载protobuf文件,因为我自己的是protobuf 3.4.0,我这里就先下载了protobuf-v3.0.0

,按照所有步骤操作完成之后,如果还报版本不对的错误,说明这个v3.0.0 版本不对,需要根据下载更新的版本或者更旧的版本~~)

# 进入mmwave_ti_ros/autonomous_robotics_ros/src/文件下
cd mmwave_ti_ros/autonomous_robotics_ros/src/turtlebot/

# 克隆 protobuf v3.0.0 文件
git clone https://github.com/protocolbuffers/protobuf/tree/v3.0.0

下载完成后,执行如下操作编译 protobuf 3.0.0 文件,先进行自动配置,然后当前路径下会生成一个configure文件,指定安装路径

cd protobuf-3.0.0
./autogen.sh
./configure
make
make check
sudo make install
sudo ldconfig

至此 protobuf 3.0.0 安装完成,可以使用如下指令进行查询

protoc --version

2650cc9f075f4aed9c7f1a0a544bf84f.png

注意:执行 ./autogen.sh时,如果出现下面的问题

:~/third_library/protobuf-3.0.0$ ./autogen.sh 
Google Mock not present.  Fetching gmock-1.7.0 from the web...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:02:09 --:--:--     0
  curl: (7) Failed to connect to googlemock.googlecode.com port 443: 连接超时

解决方法是之间通过下载gmock 这个文件 ,链接:paulsapps/gmock-1.7.0首页 - GitCode,然后放到 protobuf-3.0.0/ 文件夹下,并且 将文件夹 gmock-1.7.0/改名为 gmock/ ,然后再次执行 ./autogen.sh 指令即可。

到此,protobuf问题已解决,在执行 catkin_make 指令编译之前,需要将刚刚下载的autonomous_robotics_ros/src/turtlebot/ protobuf-3.0.0/文件夹删除,然后再执行 catkin_make 指令编译,不然编译不了。

参考博客:

Turtlebot1入门教程-安装Turtlebot(Ubuntu18.04+Melodic)_sudo apt-get install ros-melodic-kobuki-CSDN博客

error This file was generated by an xxx version of protoc which is 解决方法_error: #error this file was generated by an older -CSDN博客

 Ubuntu 18.04 安装protobuf --- version 3.20.3_protobuf 3.20-CSDN博客

Gazebo需要的protoc版本与google-cartographer需要的版本不一致_protobuf 哪个版本与 gazebo 9 兼容-CSDN博客

This file was generated by an older version of protoc 解决方法_windows下#error: this file was generated by an olde-CSDN博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/465086.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机设计大赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基…

基于Spark的气象数据处理与分析

文章目录 一、实验环境二、实验数据介绍三、数据获取1.观察数据获取方式2.数据爬取3.数据存储4.数据读取5.数据结构6.爬虫过程截图 四、数据分析1.计算各个城市过去24小时累积雨量2.计算各个城市当日平均气温3.计算各个城市当日平均湿度4.计算各个城市当日平均风速 五、数据可视…

WebRTC:真正了解 RTP 和 RTCP

介绍 近年来,通过互联网进行实时通信变得越来越流行,而 WebRTC 已成为通过网络实现实时通信的领先技术之一。WebRTC 使用多种协议,包括实时传输协议 (RTP) 和实时控制协议 (RTCP)。 RTP负责通过网络传输音频和视频数据,而RTCP负责…

Uibot (RPA设计软件)RPA基础培训-财务会计Web应用自动化(批量开票机器人)

Uibot (RPA设计软件)Mage AI智能识别(发票识别)———机器人的小项目友友们可以参考小北的课前材料五博客~ (本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~) 紧接着小北的前两篇博客,友友们我们…

【全面了解自然语言处理三大特征提取器】RNN(LSTM)、transformer(注意力机制)、CNN

目录 一 、RNN1.RNN单个cell的结构2.RNN工作原理3.RNN优缺点 二、LSTM1.LSTM单个cell的结构2. LSTM工作原理 三、transformer1 Encoder(1)position encoding(2)multi-head-attention(3)add&norm 残差链…

PyCharm实现一个简单的注册登录Django项目

之前已经实现了一个简单的Django项目,今天我们j基于之前的项目来实现注册、登录以及登录成功之后跳转到StuList页面。 1、连接数据库 1.1 配置数据库信息: 首先在myweb的settings.py 文件中设置MySQL数据库连接信息: DATABASES {default…

在线疫苗预约小程序|基于微信小程序的在线疫苗预约小程序设计与实现(源码+数据库+文档)

在线疫苗预约小程序目录 目录 基于微信小程序的在线疫苗预约小程序设计与实现 一、前言 二、系统设计 三、系统功能设计 1、疫苗管理 2、疫苗订单管理 3、论坛管理 4、公告管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 八、源…

html5cssjs代码 022 表单输入类型示例

html5&css&js代码 022 表单输入类型示例 一、代码二、解释 这段HTML代码定义了一个网页&#xff0c;展示了表单输入类型示例。 一、代码 <!DOCTYPE html> <html lang"zh-cn"> <head><title>编程笔记 html5&css&js 表单输入…

SpringBoot整合JPA

一 运行效果如下 二 项目结构图 三 代码 pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance&qu…

2024 年(第 12 届)“泰迪杯”数据挖掘挑战赛——A 题:生产线的故障自动识别与人员配置具体思路以及源代码分析

一、问题背景 随着新兴信息技术的大规模应用&#xff0c;工业生产线的智能化控制技术日益成熟。自动生产线 可以自动完成物品传送、物料填装、产品包装和质量检测等过程&#xff0c;极大地提高了生产效率和 产品质量&#xff0c;减少了生产成本。自动生产线融入故障智能报警…

【Spring Boot 源码学习】深入应用上下文初始化器实现

《Spring Boot 源码学习系列》 深入应用上下文初始化器实现 一、引言二、往期内容三、主要内容3.1 spring-boot 子模块中内置的实现类3.1.1 ConfigurationWarningsApplicationContextInitializer3.1.2 ContextIdApplicationContextInitializer3.1.3 DelegatingApplicationConte…

FFmpeg-aac、h264封装flv及时间转换

文章目录 时间概念流程api核心代码 时间概念 dts: 解码时间戳, 表示压缩帧的解码时间 pts: 显示时间戳, 表示将压缩帧解码后得到的原始帧的显示时间 时间基: time_base &#xff0c; 通常以ms为单位 时间戳: timestamp , 多少个时间基 真实时间&#xff1a;time_base * timest…

email + celery+django 异步发送邮件功能的实现

主要流程&#xff1a; django通过发件服务器到收件服务器&#xff0c;最后到收件人 邮件配置设置需要打开SMTP/IMAP并获的授权码&#xff0c;完成授权功能实现发送给收件人 邮件配置请参考另一博客https://blog.csdn.net/qq_44238024/article/details/136277821 项目结构树…

mac下Appuim环境安装

参考资料 Mac安装Appium_mac电脑安装appium-CSDN博客 安卓测试工具&#xff1a;Appium 环境安装&#xff08;mac版本&#xff09;_安卓自动化测试mac环境搭建-CSDN博客 1. 基本环境依赖 1 node.js 2 JDK&#xff08;Java JDK&#xff09; 3 Android SDK 4 Appium&#x…

数据分析 | Matplotlib

Matplotlib 是 Python 中常用的 2D 绘图库&#xff0c;它能轻松地将数据进行可视化&#xff0c;作出精美的图表。 绘制折线图&#xff1a; import matplotlib.pyplot as plt #时间 x[周一,周二,周三,周四,周五,周六,周日] #能量值 y[61,72,66,79,80,88,85] # 用来设置字体样式…

Linux进程管理:(六)SMP负载均衡

文章说明&#xff1a; Linux内核版本&#xff1a;5.0 架构&#xff1a;ARM64 参考资料及图片来源&#xff1a;《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址&#xff1a; zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 1. 前置知识 1.1 CPU管理位图 内核…

如何用Selenium通过Xpath,精准定位到“多个相同属性值以及多个相同元素”中的目标属性值

前言 本文是该专栏的第21篇,后面会持续分享python爬虫干货知识,记得关注。 相信很多同学,都有使用selenium来写爬虫项目或者自动化页面操作项目。同样,也相信很多同学在使用selenium来定位目标元素的时候,或多或少遇见到这样的情况,就是用Xpath定位目标元素的时候,页面…

Mysql主从之keepalive+MySQL高可用

一、Keepalived概述 keepalived 是集群管理中保证集群高可用的一个服务软件&#xff0c;用来防止单点故障。 keepalived 是以VRRP 协议为实现基础的&#xff0c;VRRP 全称VirtualRouter Redundancy Protocol&#xff0c;即虚拟路由冗余协议。虚拟路由冗余协议&#xff0c;可以…

launchctl及其配置、使用、示例

文章目录 launchctl 是什么Unix / Linux类似的工具有什么哪个更常用配置使用常用子命令示例加载一个 launch agent:卸载一个 launch daemon:列出所有已加载的服务:启动一个服务:停止一个服务:禁用一个服务:启用一个服务: 附com.example.myagent.plist内容有趣的例子参考 launch…

力扣L15--- 67.二进制求和(JAVA版)-2024年3月17日

1.题目描述 2.知识点 注1&#xff1a; 二进制用 %2 /2 3.思路和例子 采用竖位相加的方法 4.代码实现 class Solution {public String addBinary(String a, String b) {StringBuilder sbnew StringBuilder();int ia.length()-1;int jb.length()-1;int jinwei0;int digit1,d…