IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> grid_map(6):grid-mapping-in-ROS编译运行 -> 正文阅读

[人工智能]grid_map(6):grid-mapping-in-ROS编译运行

目录

0 前言

1 下载编译

1.1 下载

1.2 编译

2? 从点云数据包创建栅格地图

2.1 ImportError: cannot import name perf_counter

ImportError: dynamic module does not define module export function (PyInit__tf2)

2.2 目录不对

2.3 缺包

2.4 NameError: name 'reload' is not defined

2.5 运行效果


0 前言

??????? github仓地址:https://github.com/lukovicaleksa/grid-mapping-in-ROS

????????grid-mapping-in-ROS用python写的,用cmake编译配置了ros接口

???????? 本次使用环境:ubuntu18.04,python2.7

1 下载编译

1.1 下载

mkdir -p grid_mapping_in_ros_ws/src
cd grid_mapping_in_ros_ws/src
git clone https://github.com/lukovicaleksa/grid-mapping-in-ROS.git

1.2 编译

??????? 到工作空间目录下grid_mapping_in_ros_ws。

catkin_make

??????? 因为是python文件,一般编译不会报错

2? 从点云数据包创建栅格地图

????????python文件地址:/home/meng/Desktop/grid_mapping_in_ros_ws/src/grid-mapping-in-ROS/scripts/create_from_rosbag.py

cd /home/meng/Desktop/grid_mapping_in_ros_ws/src/grid-mapping-in-ROS/scripts
python create_from_rosbag.py

??????? 下面按顺序记录报错及解决办法

2.1 ImportError: cannot import name perf_counter

????????报错原因:python2.7(ubuntu16和ubuntu18自带的python版本)的time这个模块没有perf_counter这个函数。

??????? 解决办法:用time.clock()函数替换time.perf_counter()函数;具体两个函数区别,大家可以查一查

#注:time.clock()这个函数好像在python3.4之后被弃用了

??????? 替换create_from_rosbag.py文件对应位置如下:

# from time import perf_counter  8行
from time import time


		# Init time  75行
		t_start = time()
		# t_start = perf_counter()


			t_step = time() #190多行
			# t_step = perf_counter()

------------------------------------------------------------------------------------------------------------------------

??????? !!!此外 python3.6、python3.7版本的time模块会有这个perf_counter()函数,但这里不要替换python版本;我试着替换为python3.7版本,这个报错没有了,但后面因为需要使用ros,而ros与python2.7版本紧密结合,会让系统出现多个python版本,引发下面的错误

ImportError: dynamic module does not define module export function (PyInit__tf2)

--报错原因是系统出现了多个python版本

Failed to load Python extension for LZ4 support. LZ4 compression will not be available.
Traceback (most recent call last):
  File "create_from_rosbag.py", line 25, in <module>
    from utils import *
  File "/home/meng/ideas/auto_resolution_map/grid_mapping_in_ros_ws/src/grid-mapping-in-ROS/scripts/utils.py", line 5, in <module>
    from tf.transformations import euler_from_quaternion, quaternion_from_euler
  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)

在下面博客得到系统有多个版本这个信息

https://blog.csdn.net/pangweijian/article/details/104915171

?------------------------------------------------------------------------------------------------------------------------

2.2 目录不对

??????? 修改目录为自己的目录,示例如下:

# SCRIPTS_PATH = '/home/maestro/catkin_ws/src/grid_mapping/scripts'
# BAG_FILE_PATH = '/home/maestro/catkin_ws/src/grid_mapping/bagfiles'
# MAPS_PATH = '/home/maestro/catkin_ws/src/grid_mapping/maps'

SCRIPTS_PATH = '/home/meng/Desktop/grid_mapping_in_ros_ws/src/grid-mapping-in-ROS/scripts'
BAG_FILE_PATH = '/home/meng/Desktop/grid_mapping_in_ros_ws/src/grid-mapping-in-ROS/bagfiles'
MAPS_PATH = '/home/meng/Desktop/grid_mapping_in_ros_ws/src/grid-mapping-in-ROS/maps'

2.3 缺包

??????? 见python(4):ModuleNotFoundError: No module named ‘*‘_biter0088的博客-CSDN博客

的1 rosbag相关

2.4 NameError: name 'reload' is not defined

??????? 如果遇到这个错误,修改这个报错里面最后一个文件,修改参考如下:

meng@meng:~/ideas/auto_resolution_map/grid_mapping_in_ros_ws/src/grid-mapping-in-ROS/scripts$ python create_from_rosbag.py 
Traceback (most recent call last):
  File "create_from_rosbag.py", line 3, in <module>
    import rospy
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/__init__.py", line 49, in <module>
    from .client import spin, myargv, init_node, \
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/client.py", line 52, in <module>
    import roslib
  File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/__init__.py", line 53, in <module>
    import roslib.stacks  # noqa: F401, I100
  File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/stacks.py", line 45, in <module>
    import roslib.packages
  File "/opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py", line 44, in <module>
    reload(sys)
NameError: name 'reload' is not defined
sudo gedit /opt/ros/melodic/lib/python2.7/dist-packages/roslib/packages.py

??????? 注释掉原来的import(sys),加上python2.x对应的import sys的方式即可

####hxz   python 2.x
# -*- coding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
####hxz

import os
import stat
#import sys  #hxz
from subprocess import PIPE
from subprocess import Popen

参考链接:https://blog.csdn.net/lxw1844912514/article/details/100029431

2.5 运行效果

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-23 10:50:39  更:2022-04-23 10:51:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:56:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码