8运行不了_ROS运行turtle_tf遇到的问题和解决方案

看古月大神的教程看了17讲,这一讲实践的时候遇到了很多的问题。

首先是运行roslaunch turtle_tf turtle_tf_demo.launch指令的时候,会出现报错,或者说异常,因为并不是完全不能运行。按理来说会在一个窗口出现两个乌龟,但我运行之后只有一个乌龟(忘了截图),可以移动。也就是说可能是村子一个乌龟没有创建成功。我又开了一个窗口运行乌龟,结果我只要移动前一只乌龟,另一只乌龟会在另一个窗口走同样的轨迹。

然后通过分析报错的原因和查阅相关资料,得知可能是python2、python3语法不兼容的问题。因为我安装的是noetic版本(支持python3),教程是用的是上一个版本(只支持python2)。于是按照这篇文章的方法,运行sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 ,结果出现:update-alternatives: 使用 /usr/bin/python3.8 来在自动模式中提供 /usr/bin/python (python)表示成功。从而解决了该问题。

Ubuntu20.04下解决ROS的python编译器报错_qq_43470610的博客-CSDN博客​blog.csdn.net
f809905d656cd8079e7237b90031d223.png

接下来一个问题困扰了我两天(这次我截图了)。就是运行rosrun tf view_frames会出现报错,错误是:TypeError: cannot use a string pattern on a bytes-like object。

如图:

685cbdec9a0f9f76d72a00de8328db39.png

这个问题折磨了我很久,但实际很好解决。TypeError: cannot use a string pattern on a bytes-like object。翻译过来是:不能对类似字节的对象使用字符串模式。看到上面89行vstr很可能有问题。由于改成了python3,python3相比于2来说说没有编码问题。那么我想可能把89行改成:m = r.search(str(vstr))。这样不就可以改成字符串了吗?

紧接着我又遇到一个问题:找到这个出问题的文件后,我发现不能够修改它。起初我以为没有办法,后来查询资料Ubuntu可以设置文件权限(以前从来没有接触过Linux系统)。通过一篇文章的方法我修改了权限从而修改了文件。

ubuntu下修改文件权限 - 发现生活之美 - 博客园​www.cnblogs.com

在该文件所在的目录下打开终端,输入sudo chmod 666 view_frames ,从而修改文件。记住改完之后还要输入sudo chmod 777 view_frames ,把修改的权限给关掉。否则会出现问题:

55fdf0c130a59c1a2e57fa843c2f51ae.png

最终成功解决该问题,运行该运行的代码,可以得到:

b24b1e48657af65b857f547b8f7f6348.png

以及:

f632d8b9d9d97d9299d79e6b09d979ab.png

以上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值