All Projects → neka-nat → Cupoch

neka-nat / Cupoch

Licence: mit
Robotics with GPU computing

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Cupoch

Optical Flow Filter
A real time optical flow algorithm implemented on GPU
Stars: ✭ 146 (-35.11%)
Mutual labels:  robotics, gpu, gpgpu, cuda
Fast gicp
A collection of GICP-based fast point cloud registration algorithms
Stars: ✭ 307 (+36.44%)
Mutual labels:  point-cloud, gpu, cuda, registration
Ilgpu
ILGPU JIT Compiler for high-performance .Net GPU programs
Stars: ✭ 374 (+66.22%)
Mutual labels:  gpu, gpgpu, cuda
Hipsycl
Implementation of SYCL for CPUs, AMD GPUs, NVIDIA GPUs
Stars: ✭ 377 (+67.56%)
Mutual labels:  gpu, gpgpu, cuda
Awesome Robotics
A curated list of awesome links and software libraries that are useful for robots.
Stars: ✭ 478 (+112.44%)
Mutual labels:  robotics, ros, point-cloud
Arrayfire
ArrayFire: a general purpose GPU library.
Stars: ✭ 3,693 (+1541.33%)
Mutual labels:  gpu, gpgpu, cuda
Arrayfire Python
Python bindings for ArrayFire: A general purpose GPU library.
Stars: ✭ 358 (+59.11%)
Mutual labels:  gpu, gpgpu, cuda
Bitcracker
BitCracker is the first open source password cracking tool for memory units encrypted with BitLocker
Stars: ✭ 463 (+105.78%)
Mutual labels:  gpu, gpgpu, cuda
igvc-software
The code base for the RoboNav team's IGVC robot.
Stars: ✭ 78 (-65.33%)
Mutual labels:  robotics, pathfinding, ros
Neanderthal
Fast Clojure Matrix Library
Stars: ✭ 927 (+312%)
Mutual labels:  gpu, gpgpu, cuda
Stdgpu
stdgpu: Efficient STL-like Data Structures on the GPU
Stars: ✭ 531 (+136%)
Mutual labels:  gpu, gpgpu, cuda
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (-68.44%)
Mutual labels:  gpu, gpgpu, cuda
Ndt omp
Multi-threaded and SSE friendly NDT algorithm
Stars: ✭ 291 (+29.33%)
Mutual labels:  ros, point-cloud, registration
Cuda Api Wrappers
Thin C++-flavored wrappers for the CUDA Runtime API
Stars: ✭ 362 (+60.89%)
Mutual labels:  gpu, gpgpu, cuda
Awesome Cuda
This is a list of useful libraries and resources for CUDA development.
Stars: ✭ 274 (+21.78%)
Mutual labels:  gpu, gpgpu, cuda
Open3d
Open3D: A Modern Library for 3D Data Processing
Stars: ✭ 5,860 (+2504.44%)
Mutual labels:  gpu, cuda, registration
Occa
JIT Compilation for Multiple Architectures: C++, OpenMP, CUDA, HIP, OpenCL, Metal
Stars: ✭ 230 (+2.22%)
Mutual labels:  gpu, gpgpu, cuda
MatX
An efficient C++17 GPU numerical computing library with Python-like syntax
Stars: ✭ 418 (+85.78%)
Mutual labels:  gpu, cuda, gpgpu
Arrayfire Rust
Rust wrapper for ArrayFire
Stars: ✭ 525 (+133.33%)
Mutual labels:  gpu, gpgpu, cuda
Futhark
💥💻💥 A data-parallel functional programming language
Stars: ✭ 1,641 (+629.33%)
Mutual labels:  gpu, gpgpu, cuda

Robotics with GPU computing

Build Status PyPI version PyPI - Python Version Downloads xscode

Buy Me A Coffee

Cupoch is a library that implements rapid 3D data processing for robotics using CUDA.

The goal of this library is to implement fast 3D data computation in robot systems. For example, it has applications in SLAM, collision avoidance, path planning and tracking.

Core Features

Installation

This software is tested under 64 Bit Ubuntu Linux 18.04 and CUDA 10.1/10.2. You can install cupoch using pip.

pip install cupoch

Or install cupoch from source.

git clone https://github.com/neka-nat/cupoch.git --recurse
cd cupoch
mkdir build
cd build
cmake ..; make install-pip-package -j

Installation for Jetson Nano

You can also install cupoch using pip on Jetson Nano. Please set up Jetson using jetpack and install some packages with apt.

sudo apt-get install libxinerama-dev libxcursor-dev libglu1-mesa-dev
pip3 install cupoch

Or you can compile it from source. Update your version of cmake if necessary.

wget https://github.com/Kitware/CMake/releases/download/v3.16.3/cmake-3.16.3.tar.gz
tar zxvf cmake-3.16.3.tar.gz
cd cmake-3.16.3
./bootstrap -- -DCMAKE_USE_OPENSSL=OFF
make && sudo make install
cd ..
git clone https://github.com/neka-nat/cupoch.git --recurse
cd cupoch/
mkdir build
cd build/
export PATH=/usr/local/cuda/bin:$PATH
cmake -DBUILD_GLEW=ON -DBUILD_GLFW=ON -DBUILD_PNG=ON -DBUILD_JSONCPP=ON ..
sudo make install-pip-package

Results

The figure shows Cupoch's point cloud algorithms speedup over Open3D. The environment tested on has the following specs:

  • Intel Core i7-7700HQ CPU
  • Nvidia GTX1070 GPU
  • OMP_NUM_THREAD=1

You can get the result by running the example script in your environment.

cd examples/python/basic
python benchmarks.py

speedup

Visual odometry with intel realsense D435

vo

Occupancy grid with intel realsense D435

og

Kinect fusion with intel realsense D435

kf

Stereo matching

sm

Fast Global Registration

fgr

Point cloud from laser scan

fgr

Collision detection for 2 voxel grids

col

Path finding

pf

Visual odometry with ROS + D435

This demo works in the following environment.

  • ROS melodic
  • Python2.7
# Launch roscore and rviz in the other terminals.
cd examples/python/ros
python realsense_rgbd_odometry_node.py

vo

Visualization

Point Cloud Triangle Mesh Kinematics
Voxel Grid Occupancy Grid Distance Transform
Graph Image

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].