Compiling The Open Source Kinect Fusion (PCL Point Cloud Library)

本教程指导您如何在Windows环境下使用Visual Studio 2010和CUDA编译PCL Point Cloud Library中的KinectFusion。教程详细介绍了所需硬件、软件安装步骤及配置过程。
Compiling The Open Source Kinect Fusion (PCL Point Cloud Library)

This tutorial is for windows with Visual Studio 2010. It will help you get started developing with CUDA and Kinfu

Prerequisite Hardware

A Kinect.

A Kinect Power Adapter. You can get this for as little as $5 on amazon here: Amazon Kinect Power Adapter

An NVidia graphics processor that supports CUDA.

Visual Studio 2010 with c++ installed

CMake GUI installed (the graphical version. It’s free. just google it, download and install)

DownloadSVN (for downloading source code from source forge and other open source project hosts. same procedure as cmake, just google it and install)

Note

The visualization doesn’t have color yet. If you’re looking for color and don’t want to wait or you don’t have a gpu, then you might want to play around with RGBDemo. I’ll write a tutorial soon on how to get that up and running also.

Step 1 - Install CUDA

Go to the CUDA toolkit website.

I installed both the toolkit and the GPU Computing SDK. I’m not sure if the SDK was necessary, but when using CMake to compile PCL, you can add the SDK directory.

I downloaded the 64-bit version with version number 4.0.17. Here are the links I used:

http://www.nvidia.com/object/thankyou.html?url=/compute/cuda/4_0/toolkit/cudatoolkit_4.0.17_win_64.msi

http://developer.download.nvidia.com/compute/cuda/4_0/sdk/gpucomputingsdk_4.0.19_win_64.exe

Step 2 - Download PCL trunk source and Install PCL Dependencies

There is a tutorial for how to do this here.

If you don’t know how to use SVN tools to download source code, google DownloadSVN and use that. It’s quite simple. Then continue the tutorial mentioned above.

Note: Use the individual dependency installers! Don’t use the all-in-one installer, because you’ll have lots of problems.

Important: Be careful not to install any components of a different bit type from what you plan to use! If you have a 64-bit computer and want to use 64-bit, make sure everything is 64-bit from cuda to the dependencies to the drivers you install!

Important: Uninstall all bit versions of software that are not the bit type (32 or 64) that you chose to use! Otherwise you will run into pesky bugs when you accidentally link to the wrong library that uses the wrong bit type!

Also be careful of multiple installations of cuda. When I installed some cuda tools, it installed version 3.2, but I planned to use version 4.0. Then when I ran cmake, it automatically uses 3.2 instead of 4.0! So, I got compile errors later on. Be careful of this sort of thing!

Step 4 -Configure PCL Source Code with CMake

Follow the tutorial mentioned before. But there are additional things you’ll need to do for including and compiling Kinfu (kinect fusion).

Make sure BUILD_cuda is checked in cmake

Do *not* enable openCV. It caused errors for me that I had to fix manually. So, search for openCV related items in cmake and disable them if you find any.

For whatever reason, I could not get cmake not to include OpenCV. So, instead what I did was I manually modified the file C:\pcl-trunk\cuda\apps\CMakeList.txt and commented out the line:

FIND_PACKAGE (OpenCV)

by making it

#FIND_PACKAGE (OpenCV)

Then delete the OpenCV variable in CMake and hit configure again.

That finally got rid of my problems with OpenCV and CMake.

There are a few other things you must configure to see the kinfu projects

Check the following cmake items under the Build section. I’m not sure if they are all necessary, but this is how I got mine to work.

Build_apps

BUILD_visualization

BUILD_tools

Step 6 - Generate the Project Files in CMake

Now that everything is configured, hit the generate button.

Your solution file is now in the folder: C:\pcl-trunk\build ! or wherever you told it to create your build folder.

Step 5 - Compile the Project (Finally!)

Be warned, if you try to build everything in the project it will generate GBs of stuff and will take quite a while! :)

So, what we really want to do is just build the project Kinfu_app

Right click on the kinfu_app project and click “Build”

Step 6 - Run Open Kinect Fusion!

Navigate to the directory C:\pcl-trunk\build\bin\Debug

Run the executable! I think it’s called kinfu_app.exe

Step 7 - Enjoy!!!

Errors

Cuda Driver Version is Insufficient for CUDA Runtime Version

If you get this error, it is because the driver you have on your computer for your graphics card is too old for the CUDA Toolkit version you installed. You have two choices to fix the problem. The ideal solution is to download the latest nvidia drivers for your card from here: http://www.nvidia.com/Download/index.aspx?lang=en-us

If you have an older version of windows or something, the latest drivers may no longer be sufficient because nvidia may have stopped updating them. So, if that’s the case (such as if you have windows xp), you’ll need to uninstall the CUDA Toolkit you installed and pick an earlier version of the toolkit from the nvidia toolkit archive: http://developer.nvidia.com/cuda-toolkit-archive

Always double check first that everything is plugged in! Your kinect must be plugged into your computer and the power supply for the kinect must also be plugged in. Otherwise, you’ll get errors when you try to run a program that requires it. Don’t waste your time hunting for bugs because of this! :)

【完美复现】面向配电网韧性提升的移动储能预布局与动态调度策略【IEEE33节点】(Matlab代码实现)内容概要:本文介绍了基于IEEE33节点的配电网韧性提升方法,重点研究了移动储能系统的预布局与动态调度策略。通过Matlab代码实现,提出了一种结合预配置和动态调度的两阶段优化模型,旨在应对电网故障或极端事件时快速恢复供电能力。文中采用了多种智能优化算法(如PSO、MPSO、TACPSO、SOA、GA等)进行对比分析,验证所提策略的有效性和优越性。研究不仅关注移动储能单元的初始部署位置,还深入探讨其在故障发生后的动态路径规划与电力支援过程,从而全面提升配电网的韧性水平。; 适合人群:具备电力系统基础知识和Matlab编程能力的研究生、科研人员及从事智能电网、能源系统优化等相关领域的工程技术人员。; 使用场景及目标:①用于科研复现,特别是IEEE顶刊或SCI一区论文中关于配电网韧性、应急电源调度的研究;②支撑电力系统在灾害或故障条件下的恢复力优化设计,提升实际电网应对突发事件的能力;③为移动储能系统在智能配电网中的应用提供理论依据和技术支持。; 阅读建议:建议读者结合提供的Matlab代码逐模块分析,重点关注目标函数建模、约束条件设置以及智能算法的实现细节。同时推荐参考文中提及的MPS预配置与动态调度上下两部分,系统掌握完整的技术路线,并可通过替换不同算法或测试系统进一步拓展研究。
先看效果: https://pan.quark.cn/s/3756295eddc9 在C#软件开发过程中,DateTimePicker组件被视为一种常见且关键的构成部分,它为用户提供了图形化的途径来选取日期与时间。 此类控件多应用于需要用户输入日期或时间数据的场景,例如日程管理、订单管理或时间记录等情境。 针对这一主题,我们将细致研究DateTimePicker的操作方法、具备的功能以及相关的C#编程理念。 DateTimePicker控件是由.NET Framework所支持的一种界面组件,适用于在Windows Forms应用程序中部署。 在构建阶段,程序员能够通过调整属性来设定其视觉形态及运作模式,诸如设定日期的显示格式、是否展现时间选项、预设的初始值等。 在执行阶段,用户能够通过点击日历图标的下拉列表来选定日期,或是在文本区域直接键入日期信息,随后按下Tab键或回车键以确认所选定的内容。 在C#语言中,DateTime结构是处理日期与时间数据的核心,而DateTimePicker控件的值则表现为DateTime类型的实例。 用户能够借助`Value`属性来读取或设定用户所选择的日期与时间。 例如,以下代码片段展示了如何为DateTimePicker设定初始的日期值:```csharpDateTimePicker dateTimePicker = new DateTimePicker();dateTimePicker.Value = DateTime.Now;```再者,DateTimePicker控件还内置了事件响应机制,比如`ValueChanged`事件,当用户修改日期或时间时会自动激活。 开发者可以注册该事件以执行特定的功能,例如进行输入验证或更新关联的数据:``...
下载前必看:https://pan.quark.cn/s/246cd895653f 标题所提及的“湖南省娄底市DEM数字高程数据30m(含本市级范围shp文件).zip”文件,属于地理信息系统(GIS)领域的压缩存储单元,其中收纳的是针对湖南省娄底市区域的数字高程模型(Digital Elevation Model, DEM)相关数据。 此数据集采用30米的空间分辨率,具体表现为在每30米乘以30米的网格单元内设定一个数据点来表征该区域的绝对高度,其作为地形特征研究、地表状况解析、城市布局规划、生态状况评价等工作的基础支撑。 “DEM数字高程”这一术语,指的是运用遥感科学与地理信息系统技术,将地球表面实际的地形地貌形态转化为数字化表示,用以体现地表的立体起伏形态。 30米的精确度级别表明此类数据具备较高的精细度,能够精确呈现地形的高度变化特征,尽管对于诸如微小山丘或陡峭悬崖等细微地形要素可能无法进行详细捕捉。 “shp文件”是一种被广泛采纳的GIS数据载体格式,由Esri公司研发,主要功能在于存储地理空间信息,涵盖点、线、面等多种几何形态。 在此具体情境下,shp文件用以界定娄底市的地理轮廓,从而明确数据所覆盖的地理范围。 标签中的“30米地形数据”着重突出了数据的分辨率属性,“娄底市”与“地理信息数据”则清晰界定了数据的应用范畴与领域。 压缩文件内部的文件名称清单揭示了数据的不同构成要素:1. **娄底市范围.dbf**: 此类文件为关联性的数据库文档,负责存储与.shp文件相配套的属性信息,例如地理位置的元数据详情。 2. **娄底市dem.tif.ovr**: 作为TIFF图像的辅助文件,其用途在于储存额外的元数据或重叠数据,有助于优化图像的视觉呈现效能。 3. **娄底...
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值