ROS学习遇到的问题---亲测有效

1.ubuntu下载软件仓库信息失败& 无法安全地用该源进行更新

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

今天遇到了一个问题很奇怪,对系统进行换源的时候,出现下载软件仓库信息失败的问题,试了很多种方法,网络也连接了就是不能进行换源,之后把其他软件中一些网址全给删了就能成功,具体也不懂是什么原因。

2.无法定位软件包ros-melodic-()

在这里插入图片描述在安装usb-cam freenect 这些ROS package的时候,很多都是无法定位软件源,去换了很多源也是同样的问题。
于是在ROS交流群问了一些大佬,就完美解决了这个问题。
在这里插入图片描述
在这里插入图片描述

解决方法
百度要安装相应的包,点到wiki里面有个github的地址,把代码下载到相应的工作空间,对工作空间进行catkin_make就能成功运行了。
在这里插入图片描述

3.roslaunch turtle_tf turtle_tf_demo.launch报错

ImportError: dynamic module does not define module export function (PyInit__tf2)
Traceback (most recent call last):
  File "/opt/ros/melodic/lib/turtle_tf/turtle_tf_listener.py", line 37, in <module>
    import tf
  File "/opt/ros/melodic/lib/python2.7/dist-packages/tf/__init__.py", line 30, in <module>
    from tf2_ros import TransformException as Exception, ConnectivityException, LookupException, ExtrapolationException
  File "/opt/ros/melodic/lib/python2.7/dist-packages/tf2_ros/__init__.py", line 38, in <module>
    from tf2_py import *
  File "/opt/ros/melodic/lib/python2.7/dist-packages/tf2_py/__init__.py", line 38, in <module>
    from ._tf2 import *
ImportError: dynamic module does not define module export function (PyInit__tf2)
Traceback (most recent call last):
  File "/opt/ros/melodic/lib/turtle_tf/turtle_tf_broadcaster.py", line 37, in <module>
    import tf
  File "/opt/ros/melodic/lib/python2.7/dist-packages/tf/__init__.py", line 30, in <module>
    from tf2_ros import TransformException as Exception, ConnectivityException, LookupException, ExtrapolationException
  File "/opt/ros/melodic/lib/python2.7/dist-packages/tf2_ros/__init__.py", line 38, in <module>
    from tf2_py import *
  File "/opt/ros/melodic/lib/python2.7/dist-packages/tf2_py/__init__.py", line 38, in <module>
    from ._tf2 import *
ImportError: dynamic module does not define module export function (PyInit__tf2)
[turtle1_tf_broadcaster-4] process has died [pid 18263, exit code 1, cmd /opt/ros/melodic/lib/turtle_tf/turtle_tf_broadcaster.py __name:=turtle1_tf_broadcaster __log:=/home/liudec/.ros/log/b9b1b872-cd96-11ea-932f-70c94e12f072/turtle1_tf_broadcaster-4.log].
log file: /home/liudec/.ros/log/b9b1b872-cd96-11ea-932f-70c94e12f072/turtle1_tf_broadcaster-4*.log
[turtle2_tf_broadcaster-5] process has died [pid 18270, exit code 1, cmd /opt/ros/melodic/lib/turtle_tf/turtle_tf_broadcaster.py __name:=turtle2_tf_broadcaster __log:=/home/liudec/.ros/log/b9b1b872-cd96-11ea-932f-70c94e12f072/turtle2_tf_broadcaster-5.log].
log file: /home/liudec/.ros/log/b9b1b872-cd96-11ea-932f-70c94e12f072/turtle2_tf_broadcaster-5*.log
[turtle_pointer-6] process has died [pid 18271, exit code 1, cmd /opt/ros/melodic/lib/turtle_tf/turtle_tf_listener.py __name:=turtle_pointer __log:=/home/liudec/.ros/log/b9b1b872-cd96-11ea-932f-70c94e12f072/turtle_pointer-6.log].
log file: /home/liudec/.ros/log/b9b1b872-cd96-11ea-932f-70c94e12f072/turtle_pointer-6*.log


在这里插入图片描述出现这种问题一般是由于ROS目前只支持Python2,一些主要的功能包如tf2等都是在Python2的环境下运行的,在Python2中导入相关包不会出现问题,但在Python3中会出错。而目前大部分用户Ubuntu习惯配置和优先使用Python3,所以会导致这类问题出现。

解决方法

例子:
  File "/opt/ros/melodic/lib/turtle_tf/turtle_tf_listener.py", line 17, in <module>
    import tf.transformations as tf

在这里插入图片描述
找到对应报错的文件,把原本的 env python,改成python2.7

很多时候其他问题也是一样,我们要找到相应的报错文件,然后再对其进行修改。

4.Invoking “make cmake_check_build_system” failed

这个我们得看看报错的文件是出现在什么地方,我错误是因为缺少相应的包,进行安装sudo apt-get install即可

ROS安装kinect

同时今天安装了kinect,但是遇到了很多问题,后面有用到再对kinect进行安装

猜你喜欢

转载自blog.csdn.net/m0_50945459/article/details/118915339