当前位置:   article > 正文

ROS--遇到的问题记录(待续)_ros-noetic-teleop-twist-keyboard

ros-noetic-teleop-twist-keyboard

注:例子来源于课程,只看命令语句不看内容的背景和其他

1.版本:

系统:Ubuntu20.04
ROS:Ros Noetic
VScode:1.64.2

2.1 输入中文乱码问题

函数内输入:

setlocale(LC_ALL,"")
  • 1

例:

在这里插入图片描述
在这里插入图片描述

2.2 python异常

现象:
当不配置 CMakeLists.txt 执行 python文件抛出异常:
/uer/bin/env:“python”:没有那个文件或目录
原因:
当前 noetic使用的是python3
解决:
通过软链将 python 链接到 python3,终端输入:

sudo ln -s /usr/bin/python3 /usr/bin/python
  • 1

来源:
【奥特学园】ROS机器人入门课程《ROS理论与实践》零基础教程P30
https://www.bilibili.com/video/BV1Ci4y1L7ZZ?p=30&spm_id_from=pageDriver

2.3 ROS中的rqt_graph报错

命令:

rosrun rqt_graph rqt_graph
  • 1

现象:
在这里插入图片描述
解决:
1.anaconda与rqt冲突的问题 【注释掉没用,问题还在】
2.终端输入:

sudo dot -c
rqt_graph
  • 1
  • 2

问题解决!

原理:
dot命令是一个用来将生成的图形转换成多种输出格式的命令行工具

-c意思是建立一个压缩文件的参数指令。

简单来说这个bug出现的关键就是dot不被识别!

来源:
ROS中rqt_graph报错节点图空白问题

2.4 teleop_twist_keyboard 运行报错:

运行:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py
  • 1

报错:

[rospack] Error: package 'teleop_twist_keyboard' not found
  • 1

在这里插入图片描述
解决:

用编译源码的方式安装teleop_twist_keyboard功能包。首先要创建一个工作空间catkin_ws,然后依次执行如下:

cd ~/catkin_ws/src
git clone https://github.com/ros-teleop/teleop_twist_keyboard
cd ~/catkin_ws
catkin_make
source ~/catkin_ws/devel/setup.bash
source ~/.bashrc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

将编译好的功能包路径添加到环境变量中,在其他终端也可以使用teleop_twist_keyboard功能包了。操作如下:
终端输入:

gedit ~/.bashrc :
  • 1

在打开的文件中添加编译好的setup.bach文件:
安装完成!启动roscore,输入:

rosrun teleop_twist_keyboard teleop_twist_keyboard.py
  • 1

可正常使用

转自:ROS源码安装teleop_twist_keyboard

【备注:可以试一下下面这个指令,好像没那么麻烦,因已经根据上面的安装了,故没试】

sudo apt install ros-noetic-teleop-twist-keyboard 
  • 1

2.5 roslaunch 运行报错

RLException: error loading tag:
‘param’ attribute must be set for non-dictionary values
XML is
The traceback for the exception was written to the log file

在这里插入图片描述
原因:.yaml文件出错
在这里插入图片描述

修改:冒号后面加空格
在这里插入图片描述问题解决!

2.6 关于 ROS python中 tf 包内找不到 tf.transformations.quaternion_from_euler(x,y,z)

在这里插入图片描述
导包:(之前是 tf 包,需要换一个包)

import tf_conversions
  • 1

使用:

qnt = tf_conversions.transformations.quaternion_from_euler(0, 0, 0)
  • 1

2.7 API 版本问题

运行 ROS 报错:RuntimeError: the sip module implements API v12.0 to v12.5 but the PyKDL module requires API v12.7
在这里插入图片描述
解决:重新安装 sip , 再关闭 roscore 等,重新启动操作

pip uninstall sip
pip install sip
  • 1
  • 2

在这里插入图片描述重新报错:(记录一下,暂未解决)
在这里插入图片描述

3.系统

系统:Ubuntu18.04
ROS:Ros melodic

N: 鉴于仓库…不支持 ‘armhf‘ 体系结构,跳过配置文件 …的获取

Ubuntu18.04安装vscode之后,在执行sudo apt-get update时,总是报如下错误:

N: 鉴于仓库 'http://packages.microsoft.com/repos/vscode stable InRelease' 不支持 'arm64' 体系结构,跳过配置文件 'main/binary-arm64/Packages' 的获取。
N: 鉴于仓库 'http://packages.microsoft.com/repos/vscode stable InRelease' 不支持 'armhf' 体系结构,跳过配置文件 'main/binary-armhf/Packages' 的获取。
  • 1
  • 2

解决:

 sudo gedit /etc/apt/sources.list.d/vscode.list
  • 1

修改:

deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/vscode stable main
  • 1

删除报错的架构名称,即改为:

deb [arch=amd64] http://packages.microsoft.com/repos/vscode stable main
  • 1

执行:

sudo apt-get update
sudo apt-get upgrade
  • 1
  • 2

参考:
https://blog.csdn.net/u012057432/article/details/112849575

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/816838
推荐阅读
相关标签
  

闽ICP备14008679号