ROS ERROR记录_ros_error_Dcr_Hs的博客-程序员秘密

技术标签: ROS  

1.

[Errno 13] Permission denied: '/home/biowin-j/turorial_ws/build’

问题描述:创建了一个新的工作空间,catkin_make时错误提示权限拒绝
在这里插入图片描述

状态:已解决

解决方案:换一个名字不一样的工作空间
在这里插入图片描述







2.

[rosrun] Couldn’t find executable named pubvel below /home/biowin-j/myros_ws/src/Experiment_Guide/turtle_random_walk
在这里插入图片描述

问题描述:无法找到ros包的可执行文件

状态:已解决

解决方案:把CmakeLists.txt文件下的,生成可执行文件和添加链接库的命令,放到catkin_package语句后,如图

在这里插入图片描述
说明:
生成可执行文件和添加链接库的命令,放到放到catkin_package语句后面,编译后只会myros_ws/devel/lib/turtle_random_walk/ 目录下生成可执行文件;

在这里插入图片描述
放 在catkin_package语句前,编译后只会myros_ws/build/Experiment_Guide/turtle_random_walk/ 目录下生成可执行文件,但是这个文件只是中间文件并不是最终的可执行文件

在这里插入图片描述如图可见,即使生成了这个中间可执行文件ROS系统也不能运行对应的节点。







3.

terminate called after throwing an instance of ‘ros::InvalidNameException’
what(): Character [ ] at element [12] is not valid in Graph Resource Name [subscribe_to pose]. Valid characters are a-z, A-Z, 0-9, / and _.

在这里插入图片描述

问题描述:运行节点后直接退出

产生原因:节点命名不规范,上面紫色部分就是节点名称。命名只能以字母、数字、下划线 _ 进行命名,且开头不能用数字,上面命名用了空格。

状态:已解决

解决方案:重命名

说明:除了节点名称外,源文件名等命名不规范也会产生该错误。





4.

error: macro “ROS_INFO_STREAM” passed 2 arguments, but takes just 1
<<“direction=” << msg.theta);

在这里插入图片描述

问题描述:编译出错

产生原因:宏指令(macro)ROS_INFO_STREAM 的 参数 出错

状态:已解决

解决方案:给图中的“,”加上引号
在这里插入图片描述





5.

error: no match for call to ‘(ros::Publisher) (geometry_msgs::Twist&)’
minibot_vel_pub(vel_msg);

问题描述:编译出错

产生原因: 没有和 叫做‘(ros::Publisher) (geometry_msgs::Twist&)’匹配的(语句),即minibot_vel_pub(vel_msg)语法错误

状态:已解决

解决方案:minibot_vel_pub(vel_msg); —> minibot_vel_pub.publish(vel_msg);




6.

fatal error: ros/ros.h: 没有那个文件或目录
在这里插入图片描述

问题描述:编译错误

产生原因:CMakeLists.txt文件中包含项错误

状态:已解决

解决方案:修改CMakeLists.txt:
将include_directories(# include# ${catkin_INCLUDE_DIRS}
修改为
include_directories(include ${catkin_INCLUDE_DIRS} )





7.

No such file or directory: /home/biowin-j/myros_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_.urdf.xacro None None
Invalid tag: Cannot load command parameter [robot_description]: command [/opt/ros/kinetic/lib/xacro/xacro --inorder /home/biowin-j/myros_ws/src/turtlebot3/turtlebot3_description/urdf/turtlebot3_.urdf.xacro] returned with code [2].

在这里插入图片描述

问题描述:运行创客智造的gazebo世界roslaunch turtlebot3_gazebo turtlebot3_world.launch失败

产生原因:没有运行环境

状态:已解决

解决方案:source ~/.bashrc





8.

[ERROR] [1608624670.336843718]: “map” passed to lookupTransform argument target_frame does not exist.

在这里插入图片描述

问题描述:运行ros小移动机器人平台的一个node时终端报错

产生原因:rviz的Fixed frame 选了map导致的问题

在这里插入图片描述

状态:已解决

解决方案:换一个可以加载的固定坐标系





9.

error: no matching function for call to ‘ros::NodeHandle::param(const char [7], std::__cxx11::string&, const char [3])’
nh.param(“param3”,parameter3,“no”)
在这里插入图片描述
问题描述:编译失败

产生原因:源文件里nh.param()函数使用错误

状态:已解决

解决方案:将nh.param(“param3”,parameter3,“no”)替换成nh.param(“param3”,parameter3,“no”);//获取参数“param3”的value,写入到字符串变量parameter3上,如果param3上没有值,则赋予默认值“no”





10.

ERROR: cannot launch node of type [bind_servo_id/send_get_id]: can’t locate node [send_get_id] in package [bind_servo_id]
在这里插入图片描述

问题描述:roslaunch启动失败

产生原因:有两个完全一样的包,导致ros无法定位可执行文件

状态:已解决

解决方案:删除一个包

备注:可能导致的其他原因有:权限不够、没有该可执行文件





11.differential_drive compilation error: request for member ‘__getMD5Sum’ in ‘m’, which is of non-class type ‘const int’

产生原因:重复定义了一个变量

状态:已解决

解决方案:重新定义





欢迎指正,持续更新…

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43406338/article/details/111059439

智能推荐

MySQL自带的四个系统数据库_mysql自带的数据库有哪些_玮浩同学的博客-程序员秘密

MySQL系统数据库mysql、information_schema、performance_schema、sys的结构和作用。

关于方法的介绍_xiaofengzi_618554的博客-程序员秘密

1. 什么时候用初始化方法.a.忘记赋初始值b.变量在使用的时候能不能进行二次修改2. 封装的好处.a.必须给定的变量(在初始化方法里)b.给使用者安全.(延伸为提供尽量少的接口:包括属性和方法.即:.h中为外界提供的属性和方法少)c.简化代码.(重用性强).53. 方法三要素: 返回值类型, 方法名, 形参.形参: 公共的可变的(内容也就是值是可变的)的变量4. 调用方法的步骤a. 创建对象 

Python3 模拟微信群发功能_悦来客栈的老板的博客-程序员秘密

#coding=utf-8 from wxpy import *if __name__=='__main__': bot = Bot() friend = bot.friends() lfri = [] for fri in friend: lfri.append(fri.name) for fri in lfri[:2]: ...

破坏服务器的小孩没有信息怎么办,我的世界:熊孩子涌入,服务器遭遇TNT破坏,服主该怎么办?..._wiles super的博客-程序员秘密

原标题:我的世界:熊孩子涌入,服务器遭遇TNT破坏,服主该怎么办?最近有些玩家在问一个问题,经常会有一些熊孩子或者是图谋不轨的玩家闯入自己的服务器中去搞破坏怎么办?这件事情在我的世界游戏中其实是一个很常见的事情,有些人是有意之举,有些人可能只是为了一时的乐趣才进行搞破坏,毕竟闯入到别人的地图中进行一顿狂拆看起来似乎很有成就感,毕竟不少人都喜欢这样,那么作为服主的我们该如何防止被破坏呢? 我的世界游...

docker pull 错误 net/http: TLS handshake timeout 的一个办法_数据库人生的博客-程序员秘密

os: centos 7.4Linux 配置 Docker 镜像站# curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json...

thinkphp5 微信分享(sdk,生成签名,实现分享)_thinkphp 实现电子签名_Seaiio的博客-程序员秘密

他thinkphp5 公众号微信分享(sdk,生成签名,实现分享)1.下载sdk(生成签名和分享需要此sdk)链接:https://pan.baidu.com/s/1JfuHyrCe2Oqu3dD8VPNS3w 密码:celq2.讲sdk放在extend下3.分享之前需要获取签名(前端调用可能会出现跨域问题,所以这里我们后端调用,然后返回给前端)function sweepSign(...

随便推点

IDEA找不到SVN_idea 找不到svn_可爱的小码虫的博客-程序员秘密

在开发时,有时会发现项目中的SVN选项不见了,此时按下图操作即可。

C语言基础——(6)数组、变长数组、多维数组_c语言不定长数组动态赋值_跑不了的你的博客-程序员秘密

数组之前在说数据类型的时候就提到了数组,这里重点细说一下。数组名称不可以代表存储区,数组名称可以代表数组里第一个存储区的地址,也可以这么理解:数组的名称是一个指向数组第一个存储区的指针。 但是可以对数组名称做sizeof计算,得到的是数组一共包含的字节个数。 例如:#include &amp;lt;stdio.h&amp;gt;int main(){ int arr[5] = {0};...

彻底解决tomcat控制台提示至少有一个JAR被扫描用于TLD但尚未包含TLD的问题_Apple_羊先森的博客-程序员秘密

解决至少有一个JAR被扫描用于TLD但尚未包含TLD的问题。在logging.properties中添加org.apache.jasper.servlet.TldScanner.level = FINE,将catlina日志中的jar追加到catalina.properties中的tomcat.util.scan.StandardJarScanFilter.jarsToSkip属性之后

matlab中imwrite函数_matlabimwrite_生如脱兔的博客-程序员秘密

imwrite 函数用于将图像写入图像文件中。        imwrite(A,'filename','fmt')           以fmt的图像格式保存图像A到filename的路径文件中;       A 可以是灰度图像,也可以为彩色图像,但不可以为空。如果图像文件格式是TIFF,该函数也可以处理4通道的CMYK颜色模型的图像数据。filename是包含文件名的路径。fmt是

B站手机APP缓存视频(m4s)转换为mp4格式_手机m4s格式转换mp4软件_KevinPan_1992的博客-程序员秘密

B站手机APP缓存视频转换到电脑上面播放前言效果缓存视频上传到PC端找到缓存的视频存放位置连接手机上传数据到PC端通过批处理命令进行转换前言哔哩哔哩为我们提供了许多的资源,比如某某课堂收费一万多的课程,在B站上面可以找到免费的。最近想通过B站学习,但是在手机上面不方便操作,在PC端的话可以边看边敲代码(码农一枚),于是开始找PC端的B站客户端,找了好几个小时,也没有成功。在电脑上面找不到下载的地方,所以便想把手机端缓存的视频上传到PC端。然而手机端缓存的视频是m4s格式,并且音视频是不同的文件,而且文件

iSCSI技术解析之概念篇_iscsi 概念_刚子的博客-程序员秘密

iSCSI技术解析之概念篇一、iSCSI的概念iSCSI是一种在Internet协议上,特别是以太网上进行数据块传输的标准,它是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI接口技术与IP网络技术相结合,可以在IP网络上构建SAN存储区域网,简单地说,iSCSI就是在IP网络上运行SCSI协议的一种网络存储技术。iSCSI技术最初由Cisco和IBM两