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

本文主要是介绍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  CurrentDload  Upload   Total   Spent    Left  Speed0     0    0     0    0     0      0      0 --:--:--  0:02:09 --:--:--     0curl: (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博客

 

这篇关于Ubuntu18.04 中编译 TI 官方的ros驱动包中 autonomous_robotics_ros 包所存在的问题及解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

Python 字符串裁切与提取全面且实用的解决方案

《Python字符串裁切与提取全面且实用的解决方案》本文梳理了Python字符串处理方法,涵盖基础切片、split/partition分割、正则匹配及结构化数据解析(如BeautifulSoup、j... 目录python 字符串裁切与提取的完整指南 基础切片方法1. 使用切片操作符[start:end]2

Linux部署中的文件大小写问题的解决方案

《Linux部署中的文件大小写问题的解决方案》在本地开发环境(Windows/macOS)一切正常,但部署到Linux服务器后出现模块加载错误,核心原因是Linux文件系统严格区分大小写,所以本文给大... 目录问题背景解决方案配置要求问题背景在本地开发环境(Windows/MACOS)一切正常,但部署到

MySQL磁盘空间不足问题解决

《MySQL磁盘空间不足问题解决》本文介绍查看空间使用情况的方式,以及各种空间问题的原因和解决方案,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录查看空间使用情况Binlog日志文件占用过多表上的索引太多导致空间不足大字段导致空间不足表空间碎片太多导致空间不足临时表空间

Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法

《Mybatis-Plus3.5.12分页拦截器消失的问题及快速解决方法》作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询... 目录一、问题场景:分页拦截器突然 “失踪”二、问题根源:依赖拆分惹的祸三、解决办法:添加扩展依赖四、分页

Java中InputStream重复使用问题的几种解决方案

《Java中InputStream重复使用问题的几种解决方案》在Java开发中,InputStream是用于读取字节流的类,在许多场景下,我们可能需要重复读取InputStream中的数据,这篇文章主... 目录前言1. 使用mark()和reset()方法(适用于支持标记的流)2. 将流内容缓存到字节数组

MybatisPlus中removeById删除数据库未变解决方案

《MybatisPlus中removeById删除数据库未变解决方案》MyBatisPlus中,removeById需实体类标注@TableId注解以识别数据库主键,若字段名不一致,应通过value属... 目录MyBATisPlus中removeBypythonId删除数据库未变removeById(Se

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

创建springBoot模块没有目录结构的解决方案

《创建springBoot模块没有目录结构的解决方案》2023版IntelliJIDEA创建模块时可能出现目录结构识别错误,导致文件显示异常,解决方法为选择模块后点击确认,重新校准项目结构设置,确保源... 目录创建spChina编程ringBoot模块没有目录结构解决方案总结创建springBoot模块没有目录

解决Failed to get nested archive for entry BOOT-INF/lib/xxx.jar问题

《解决FailedtogetnestedarchiveforentryBOOT-INF/lib/xxx.jar问题》解决BOOT-INF/lib/xxx.jar替换异常需确保路径正确:解... 目录Failed to get nested archive for entry BOOT-INF/lib/xxx

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.