kctess5 / range_libc Goto Github PK
View Code? Open in Web Editor NEWA collection of optimized ray cast methods for 2D occupancy grids including the CDDT algorithm. Written in C++ and CUDA with Python wrappers.
License: Other
A collection of optimized ray cast methods for 2D occupancy grids including the CDDT algorithm. Written in C++ and CUDA with Python wrappers.
License: Other
The method CDDT used to compute range is not consistent with the definition of ray casting as we only store LUT with rotation on obstacle around the origin of map.
Isn't that the exact method should be rotating obstacles around each grid cell?
Hi all!
I'm trying to build range_libc but got some problems related to CUDA_TOOLKIT (as shown below):
I carefully followed the building instructions so I don't know why I still got this problem. Is CUDA_TOOLKIT necessary for implementing Range_libc / Particle filter localization algorithm?
If not, how can I solve this problem?
@kctess5 @sertackaraman @arii
Thanks!
Hi! First of all, great work!
I was wondering if you can provide an example in C++ of a particle filter using this library!
Cheers
range_libc/pywrapper/RangeLibc.pyx
Line 142 in 1251dc3
Shouldn't this be
self.thisptr = new OMap(<int>width,<int>height)
instead?
Otherwise at L145 we access grid[width-1] whereas grid is initialized to size height here
I'm interested with the range_libc. I want to use this library in the amcl package. What should I do?
When using CDDTCast
, the max_range
parameter is not always honored. The behavior seems to be limited to two scenarios.
Let's say max_range
is set to 30.0:
CDDTCast::calc_range()
will return 50.0 (incorrect, 30.0 expected).CDDTCast::calc_range()
will return 30.0 (correct).It's not immediately obvious where the bug itself is because the algorithm is so complex and has lots of return
statements. I'm not sure what a proper fix is but a workaround would be to clamp the max range returned by CDDTCast::calc_range()
.
The other raycasting methods Bresenham (BL), Ray Marching (RM), and Giant Lookup Table (GLT) are not affected.
Hi,
Thank you for develop this cool algorithm and open source it!
I found online CDDT and GPU CDDT available in the develop2 branch, are they usable?
Bests
I get the below error when running compile_with_cuda.sh on my Jetson TX2
nvcc fatal : Value 'sm_20' is not defined for option 'gpu-architecture'
error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1
Do you know this problem?
According to the paper and the pseudo code, the precomputation complexity should be O(|theta_discretization||width||height|) instead of O(|width|*|height|) for 2D grid.
Hello Everyone,
I'm trying to use Range Libc package on NVIDIA Jetson Xavier, just like MIT Racecar configuration.
But after following your procedure to install it on Racecar Configuration, while installing pywrapper.
I'm getting this error,
/usr/local/cuda/bin/nvcc -I../ -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/local/cuda/include -I/usr/include/python2.7 -c ../includes/kernels.cu -o build/temp.linux-aarch64-2.7/../includes/kernels.o -arch=sm_20 --ptxas-options=-v -c --compiler-options '-fPIC' -w -std=c++11 -DUSE_CUDA=1 -DCHUNK_SIZE=262144 -DNUM_THREADS=256 nvcc fatal : Value 'sm_20' is not defined for option 'gpu-architecture' error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1
Does anyone have any solutions to this issue?
Thank You,
Amey Hande
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.