PointNetGPD代码复现

0、安装分析

ps.应该安装pcl1.9+tk8.1。这个导致后面python-pcl改了配置

Ubuntu版本pcl版本vtk版本
18.041.9.18.2.0

1、pcl1.9安装

1.1 安装依赖

sudo apt-get update  
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.9 libflann-dev
sudo apt-get install libeigen3-dev 
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk7.1-qt
sudo apt-get install libvtk7.1
sudo apt-get install libvtk7-qt-dev #这句有问题
#下列软件包有未满足的依赖关系:
#libvtk7-qt-dev : 依赖: libvtk7-dev (= 7.1.1+dfsg1-2) 但是它将不会被安装
#E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
sudo apt-get install libvtk7-jni=7.1.1+dfsg1-2 #网上这个办法成功了sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install openjdk-8-jdk openjdk-8-jre

2.安装VTK

2.1  先安装cmake 和vtk 的依赖项

sudo apt-get install cmake-curses-gui
sudo apt-get install freeglut3-dev

2.2 下载VTK-8.2.0库

地址:Download | VTK

点击Download the previous relea-se (8.2.0),然后选择下载下面任意一种类型的压缩包。因为zip和tar.gz都可以在ubuntu中手动解压。 

解压+到对应文件夹下mkdir build+cd build+cmake-gui

出现原因:

未安装libqt5x11extras5-dev

解决方案:

sudo apt install libqt5x11extras5-dev

PCL下载

找到了1.91,在下面的Assets目录下,就是Source code,这里依然自由选择压缩包格式。

解决:

whereis libvtkRenderingCore-8.2.so.1
cat /etc/ld.so.conf
sudo sh -c "echo '/usr/lib/x86_64-linux-gnu' >> /etc/ld.so.conf"
sudo sh -c "ldconfig"

python-pcl
安装建议参考:ubuntu18.04安装python-pcl1.9,vtk8.1,pcl1.9_ubuntu安装vtk_小雅之堂的博客

export VTK_ROOT=/usr/local
python setup.py build_ext -I$VTK_ROOT/include/vtk-8.2 -L$VTK_ROOT/lib/vtk-8.2
#修改了.bashrc文件;修改了python-pcl的setup.py中763行左右的vtk的版本从8.1改为8.2
#问chatgpt,库文件通常是.so后追的,所以上面的命令
export VTK_ROOT=/usr/local
python setup.py build_ext -I$VTK_ROOT/include/vtk-8.2 -L$VTK_ROOT/libsudo python setup.py install#conda下使用,也要在conda下安装python-pcl
python setup.py build_ext -I$VTK_ROOT/include/vtk-8.2 -L$VTK_ROOT/lib
sudo CPLUS_INCLUDE_PATH=/usr/local/include/vtk-8.2 LD_LIBRARY_PATH=/usr/local/lib python setup.py install

Generate Your Own Grasp Dataset

5.Generate nontextured.sdf file and nontextured.obj file using pcl-tools and SDFGen by running:

cd $PointNetGPD_FOLDER/dex-net/apps
python read_file_sdf.py

解释:该py文件使用pcl-tools的pcl_ply2obj工具将.ply文件转换成.obj文件,然后使用SDFGen工具将.obj文件转换成SDF文件。查看文件夹。

6.Generate dataset by running the code:where [prefix] is optional, it will add a prefix on the generated files.

cd $PointNetGPD_FOLDER/dex-net/apps
python generate-dataset-canny.py [prefix]

解释:这是一个生成机器人夹持物体的夹爪姿态数据集的 Python 脚本。它从一些 obj 或 sdf 文件中读取物体模型,并在模型上进行夹爪采样。然后,使用一些质量度量方法计算采样到的夹爪姿态的质量,包括力闭合(force_closure)和 Canny 边缘检测方法的得分。然后,它保存一些具有较高质量得分的夹爪姿态以及其得分,以构建夹爪姿态质量数据集。其中的 worker() 函数用于在不同进程中执行这些工作以提高效率。

解惑:这个代码是为机械臂生成夹持数据集的,其中包含了机械臂的抓取采样器和夹持质量指标计算器,通过这些生成的夹持采样数据进行质量筛选,最终保存成.pickle和.npy格式的数据集文件。由于代码中大部分操作都是基于模拟和模型数据进行的,因此您不需要真实的机械臂设备就可以运行此代码。【所以这里出现的任何错误都和有没有物理机械臂无关!】

错误1:AttributeError: module numpy has no attribute int
解决:meshpy/meshpy/sdf.py第239行的np.int改为np.int_
错误2:  File "/home/june/code/PointNetGPD/dex-net/src/dexnet/grasping/grasp_sampler.py", line 722, in sample_graspsstart_time = time.clock()
AttributeError: module 'time' has no attribute 'clock'
解决:修改time.clock 为:time.perf_counter()
ps.一共修改三个地方

解决mayavi错误:conda install mayavi -c conda-forge

错误:AttributeError: type object 'StyleHint' has no attribute 'AnyStyle'解决:conda update pyqt
错误:AttributeError: module 'importlib_metadata' has no attribute 'entry_points'解决:在Anaconda Prompt里输入如下指令:
pip uninstall importlib_metadata 
pip install importlib_metadata --force-reinstall
错误:KeyError: 'traitsui.toolkits'

解决qt的错误:

#问题:
(pointnetgpd) june@june:~/code/PointNetGPD/dex-net/apps$ python generate-dataset-canny.py
WARNING:root:autolab_core not installed as catkin package, RigidTransform ros methods will be unavailable
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.#解决:参考:https://blog.csdn.net/m0_54720387/article/details/127341261;删除qt/目录下的plugin
然而我的并没有解决
#与chatgpt大战505回合,得到一些有用的命令,不知不觉解决了qt的问题这个错误的意思是Qt平台插件"xcb"无法在指定路径中被找到。这可能是由于缺少相关依赖项或配置不正确导致的。尝试重新安装Qt平台插件可能会解决问题。
sudo apt-get install libgl1-mesa-glx libxcb-xinerama0
conda install pyqt确认您的LD_LIBRARY_PATH环境变量包含了Qt的库文件路径。您可以通过运行以下命令来查看Qt的库文件路径: 
import PyQt5.QtCore
print(PyQt5.QtCore.QLibraryInfo.location(PyQt5.QtCore.QLibraryInfo.LibraryExecutablesPath))确认您的LD_LIBRARY_PATH环境变量包含了Qt的库文件路径。您可以通过运行以下命令来查看Qt的库文件路径:import PyQt5.QtCoreprint(PyQt5.QtCore.QLibraryInfo.location(PyQt5.QtCore.QLibraryInfo.LibraryExecutablesPath))我的输出是/home/june/anaconda3/envs/pointnetgpd/lib/python3.7/site-packages/PyQt5/Qt5/libexec ,将输出的路径添加到您的LD_LIBRARY_PATH环境变量中,是在根目录的.bashrc文件中修改吗?A:是的,您可以在根目录下的.bashrc文件中添加如下行:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/june/anaconda3/envs/pointnetgpd/lib/python3.7/site-packages/PyQt5/Qt5/libexecQ:这个LD_LIBRARY_PATH环境变量到底是什么?我之前配置VTK的时候已经有了export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH这句,我再写export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/june/anaconda3/envs/pointnetgpd/lib/python3.7/site-packages/PyQt5/Qt5/libexec会不会冲突A:'LD_LIBRARY_PATH是一个环境变量,用于告诉系统动态链接库(.so文件)的路径。当程序运行时,系统需要从一些标准路径(如/usr/lib)中加载动态链接库。如果程序需要加载一个不在标准路径中的库,可以通过设置LD_LIBRARY_PATH来告诉系统在哪里查找该库。在您的情况下,由于您已经在.bashrc中设置了LD_LIBRARY_PATH,您只需要在其后面添加:/home/june/anaconda3/envs/pointnetgpd/lib/python3.7/site-packages/PyQt5/Qt5/libexec即可,不会造成冲突。这样设置后,系统就会在这个新的路径下查找动态链接库。Q:写成一句A:export LD_LIBRARY_PATH=/home/june/anaconda3/envs/pointnetgpd/lib/python3.7/site-packages/PyQt5/Qt5/libexec:/usr/local/lib:$LD_LIBRARY_PATHQ:conda install pyqt通过这个语句,我怎么查看我的qt到底安装上了没A:在终端中输入qmake --version命令来查看是否安装了Qt。如果命令能够正常执行并输出版本号信息,则说明Qt已经安装成功。如果命令无法找到,则说明Qt未被正确安装或者环境变量未正确配置。Q:输出了QMake version 3.1Using Qt version 5.15.2 in /home/june/anaconda3/envs/pointnetgpd/lib,这个输出表明您已经成功安装了Qt,并且您正在使用版本为5.15.2的Qt。您可以在您的代码中导入PyQt5.QtCore等模块,以验证它们是否可以被成功地导入并使用。A:import PyQt5print(PyQt5.__version__)Q:pip install PyQt5Q:我怎么知道我是什么版本的qtA:qmake --versionQ:我的qt是5.12.2的,所以你建议我输入什么pip install 来安装pyqt5的具体版本号A:pip install PyQt5==5.12.2Q:为什么我已经显示successfully installed pyqt5-5.12.2,但是我在python中输入import pyqt5还是显示No module named pyqt5A:这可能是因为你使用的Python环境与安装PyQt5的环境不同。你可以尝试在安装PyQt5的环境下打开Python并尝试导入PyQt5,以确保安装成功。你也可以通过运行pip list命令来检查PyQt5是否在Python环境中安装成功。pip uninstall pyqt5pip install pyqt5==5.12.2

原因:pip的opencv不能用

numpy                         1.24.3

运行tensorboard --log-dir ./assets/log --port 8080出错:

错误:AttributeError: module 'numpy' has no attribute 'object'
查看pip list:numpy                         1.24.3解决:Since version 1.24 of numpy, np.object is deprecated, and needs to be replaced with object
You either need to update this in your code, or another package you're using needs to be updated (not possible to answer without more information).
pip uninstall numpypip install numpy==1.23.4

 继续错误:
`tensorboard: error: invalid choice: ‘./assets/log‘ (choose from ‘serve‘, ‘dev‘)
解决:tensorboard -–logdir ./assets/log --port 8080 

错误:TensorFlow installation not found - running with reduced feature set.

conda install pytorch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 pytorch-cuda=11.6 -c pytorch -c nvidia

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/34850.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【goframe】(2)实现上下文原理,在chatgpt中,经过折腾研究,要做好上下文需要把之前的信息都存储上,再一起发送过去就可以了

目录 前言1,关于chatgpt api 接口2,增加上下文方法3,总结 前言 本文的原文连接是: https://blog.csdn.net/freewebsys/article/details/129846766 未经博主允许不得转载。 博主CSDN地址是:https://blog.csdn.net/freewebsys 博主…

chatgpt赋能python:Python中的with语句:简化上下文管理器的使用

Python中的with语句:简化上下文管理器的使用 在Python中,上下文管理器(context managers)用于处理在程序执行中打开和关闭文件、线程锁、数据库连接等资源的操作。一个上下文管理器需要定义__enter__和__exit__两个方法&#xff…

chatgpt赋能python:Python爬虫获取商品数据的方法

Python爬虫获取商品数据的方法 在当今的电商时代,获取商品数据是非常重要的一项工作。而使用Python编写爬虫程序则是实现这一目标的有效手段之一。 什么是Python爬虫? 简而言之,Python爬虫是指利用Python编写程序,对特定网站进…

chatgpt赋能python:Python爬取聊天记录:如何轻松获取数据并进行分析?

Python爬取聊天记录:如何轻松获取数据并进行分析? 在当今数字化时代,人们越来越依赖于网络交流。社交媒体和通讯应用程序如今非常流行,它们让人们随时随地与家人、朋友和同事保持联系。这些应用程序产生了大量聊天记录数据&#…

最新53家央企数字化转型路线图发布

ChatGPT狂飙160天,世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 中央企业是我国经济高质量发展的主力军、实体经济的顶梁柱,在推进两化融合和数字化转型中发挥着战略性支撑作用。 信…

甲醇,中国新能源汽车的另一种可能

贾浩楠 发自 凹非寺量子位 | 公众号 QbitAI 滚滚浓烟、刺鼻气味…煤化工产业给你的印象是这样吗? 颠覆认知的是,如今煤化工企业,不但可以做到低排放,废气还能重新产出新的能源。 焦化炉出来的废气,直接送进这些设备&am…

英伟达,不止于GPU

光子盒研究院 2013年至2023年这十年,有一家公司的市值翻了115倍、一跃成为美国股市回报率最高的公司——这就是英伟达。 黄仁勋出生于中国台湾,四岁随父母移民美国。1984年大学毕业,获得俄勒冈州立大学和斯坦福大学工程学位。 1993年&#xf…

TCP/IP IP地址概念与应用

作者简介:一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.什么是IP地址 二.IP地址的组成 三.IP地址分类 A类IP地址 …

精仿某信即时通讯聊天安卓苹果双端APP源码11月更新版

源码介绍: 此源码之前发布过,现在更新了很多细节。更新如下: 手机端使用uniapp实现,目前最新支持 端安卓、 iOS端和H5端, 后期会继续适配小程序端、桌面端(windows、mac)和web端。 前端使用…

IOS模型和TCP/IP参考模型

一、OSI参考模型---开放系统互连参考模式OSI/RM ISO---国际标准化组织 (1)产生背景 各大厂商之间的设备是不兼容的; 各大厂商都有自己的协议; 用户购买、维护设备的成本过高 应用层: 为应用程序提供网络服务 表示…

【IP Phone】网络杂谈(5)之什么是IP Phone?

涉及知识点 什么是 IP Phone,IP Phone简介,网络电话,IP电话的理解, IP Phone的基本原理。深入了解IP Phone关键技术。 原创于:CSDN博主-《拄杖盲学轻声码》,更多内容可去其主页关注下哈,不胜感…

IP数据包(详解版)

1.IP数据包详解图 2,使用Wireshark抓包 (1)版本——占4位,指IP协议的版本目前的IP协议版本号为4(即IPv4)。 (2)首部长度——占4位,这里的值为20Bytes。 (3&am…

即时通讯开发之TCP/IP基本概念

在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱 了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不…

zg-ipchat 点对点聊天工具 1.00.05 已发布

pchat 点对点聊天工具 1.00.05 已发布。 zg-ipchat 是一款聊天工具。可实现简单的文本信息传输,无加密。 点对点直接通讯,无需中间服务器,支持 Pv6/IPv4 网络。 基于已公开的 IP Messenger 协议。使用"朋友清单"来区分好友与陌生人…

文心一言和new bing chat哪个强

我用夸克网盘分享了「fiddler汉化」,点击链接即可保存。 链接:https://pan.quark.cn/s/115f1b81c029 【AIGC专栏】 https://fzqxk86ywz.feishu.cn/sheets/GugIsI9zKhNaEwtJscbcgKFCn6b 【测试资料1.0】 https://fzqxk86ywz.feishu.cn/share/base/view/…

一文谈谈文心一言对比ChatGPT4.0的差距

对于想体验文心一言的朋友,可以进行申请尝试,快速入口 如果想体验ChatGPT的朋友,可以自行fq注册;但是由于现在限制注册并且不稳定,对于不会用梯子不想注册的朋友可以使用这个进行访问,快速入口 关于ChatGPT对我们的帮助,可以参考我往期博客 看到一篇国金证券的研报,…

和ChatGPT关于Swing music的一场对话(上篇)

什么是 Swing Music ? Swing Music 是一款漂亮的自托管音乐播放器,适用于您的本地音频文件。就像一个更酷的 Spotify …但带上你自己的音乐。 第一次在 reddit 上看到 Swing Music,就被其 UI 吸引了 但源码站点的releases 中只有 windows 和 …

chatgpt赋能python:Python怎么搜索文献

Python怎么搜索文献 Python 是一种流行的编程语言,因其便捷易用、拥有丰富的自然语言处理工具、以及大量可靠的第三方包而闻名。Python不仅在数据分析、机器学习和Web开发等领域都具有广泛的应用,而且也在学术界和研究领域受到欢迎。本文将告诉你Python…

chatgpt赋能python:Introduction

Introduction 在机器学习中,模型的训练是非常重要的步骤之一。模型训练意味着为数据拟合合适的参数,以便能够准确地预测未来的值。Python是一种功能强大的编程语言,提供许多库和框架来训练机器学习模型。在本文中,我们将探讨如何…

ChatGPT 更新:大杀器!函数调用示范

自ChatGPT 3.5/4 双双升级:更长,更便宜,更开放,更可控发出去之后,有朋友问怎么接入 API。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 什么是函数调用? 函数调用指 Chat-GPT 模型会自动逻辑判断后,调用在代…