Robotics with GPU computing
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.
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
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
You can get the result by running the example script in your environment.
cd examples/python/basic python benchmarks.py
Visual odometry with intel realsense D435
Occupancy grid with intel realsense D435
Kinect fusion with intel realsense D435
Fast Global Registration
Point cloud from laser scan
Collision detection for 2 voxel grids
Visual odometry with ROS + D435
This demo works in the following environment.
- ROS melodic
# Launch roscore and rviz in the other terminals. cd examples/python/ros python realsense_rgbd_odometry_node.py
|Point Cloud||Triangle Mesh||Kinematics|
|Voxel Grid||Occupancy Grid||Distance Transform|