Code Monkey home page Code Monkey logo

superray's Introduction

SuperRay - High performance method for updating occupancy maps with point clouds

SuperRay is a library for efficiently updating the occupancy map representation with point clouds. The update method based on both super rays and culling region shows high performance without compromising representation accuracy. Our library provides four different types of the occupancy maps - octree, quadtree, grid3D, grid2D - of which the implementations are based on OctoMap library. You can see the technical details of super rays and culling region based updates at here.

BUILD & INSTALL

You can build the SuperRay library by using the CMake in the top-level directory. (The implementation of recent SuperRay library depends on OctoMap 1.9.0.) E.g. for compiling the library, run:

cd SuperRay-master
mkdir build
cd build
cmake ..
make

Binaries and libs will end up in the directories 'bin' and 'lib' of the top-level directory where you started the build.

You can use our library in your project by setting its include directories and lib files manually. But we suggest using the "find_package()" command in CMake as a more convenient way after installing this library. For installing it, run:

cd SuperRay-master
mkdir build
cd build
cmake ..
make install

Then you can link each type of occupancy map through the command of CMake, for example:

find_package(superray_octomap REQUIRED)
find_package(superray_quadmap REQUIRED)
find_package(superray_gridmap3d REQUIRED)
find_package(superray_gridmap2d REQUIRED)

See octomap README for further details and hints on compiling. Authors of OctoMap library describe how to compile the libraries on various platforms and IDEs.

EXAMPLE USING THIS LIBRARY IN ROS

We provide a ROS package that subscribes a pointcloud and updates an occupancy map in real time. Refer the realtime_occupancy_mapping project.

VISUALIZATION

You can visualize the occupancy maps in RViz on ROS. Refer the occupancy_map_visualizer project.

If you have any problem or issue, notice it at here.

License

superray's People

Contributors

pinocchioys avatar

Stargazers

 avatar kaku avatar  avatar Mandy avatar  avatar  avatar Pepperfish avatar 刘中冠 avatar Zihao_Wu avatar huyunlei avatar nauyihsnehs avatar Hatori233 avatar  avatar Leo Cheng avatar  avatar RUNHENG ZUO avatar 赵焕峰 avatar Siyuan Wu avatar  avatar deng chao avatar liu qiang avatar Taejin Kim avatar 不以物喜不以己悲 avatar Chanjoon Park avatar  avatar  avatar  avatar Russ Hall avatar  avatar MasterY avatar Giseop Kim avatar daizhirui avatar 庄庭达 avatar Zhili avatar Houzhan Zhang avatar hiyyg avatar vtpp avatar Hu Zhu avatar ChengYang Li avatar Zhiyong Wang avatar zzh avatar  avatar  avatar Chen Yao avatar Hunmin Park avatar allenpeng avatar Charles avatar Robin Ross avatar Yixi Cai avatar Jacky Kong avatar  avatar  avatar Min-Sung Yoon avatar zhouzuhong avatar  avatar Jacob Zhong avatar Scott Laue avatar Little Tiger avatar Albert Tavares de Almeida avatar

Watchers

James Cloos avatar  avatar SGVR Lab avatar Giseop Kim avatar  avatar Chen Yao avatar

superray's Issues

Unable to use superray_octomap

Hi!

I am trying to use your fancy superray octomap on my project but it seems to have some problem on compilation. I thought it should be resulted from my wrong CMakelists.

image

However, same problem appeared when I add one extra line to octomap_visualizer_node.cpp in your provided visualizer. I inserted octomap::CullingRegionOcTree tmp_tree(0.1); ahead of the main function as a global variable as following while keeping all the other things unchanged.

image

Would you please help my to solve this problem?

Many thanks!

@PinocchioYS

Update:
I modified the inserted line as following and the compilation passed (see below)

image

But a new problem here QAQ

image

Seems like something went wrong on the symbol link.

HELP!!!

compile error?

when I compile this library ,the following error appear:
error

how can I do?

Error: implicitly-declared

Hi!

When I make this repo, I met the following error:

/home/xzc/RL_ITG_ws/src/SuperRay/octomap/src/SuperRayGenerator.cpp: In member function ‘void octomap::SuperRayGenerator::GenerateSuperRay2D(const point3d_collection&, octomap::SuperRayGenerator::Axis3D&, octomap::SuperRayGenerator::VoxelInfo&, std::vector<octomap::SuperRay>&)’:
/home/xzc/RL_ITG_ws/src/SuperRay/octomap/src/SuperRayGenerator.cpp:157:22: error: implicitly-declared ‘octomap::SuperRay& octomap::SuperRay::operator=(const octomap::SuperRay&)’ is deprecated [-Werror=deprecated-copy]
  157 |     superrays[idx] = sr; // Create a new super ray
      |                      ^~
In file included from /home/xzc/RL_ITG_ws/src/SuperRay/octomap/include/octomap_superray/SuperRayCloud.h:35,
                 from /home/xzc/RL_ITG_ws/src/SuperRay/octomap/include/octomap_superray/SuperRayGenerator.h:36,
                 from /home/xzc/RL_ITG_ws/src/SuperRay/octomap/src/SuperRayGenerator.cpp:30:
/home/xzc/RL_ITG_ws/src/SuperRay/octomap/include/octomap_superray/SuperRay.h:41:3: note: because ‘octomap::SuperRay’ has user-provided ‘octomap::SuperRay::SuperRay(const octomap::SuperRay&)’
   41 |   SuperRay(const SuperRay& _other) : p(_other.p), w(_other.w) {}
      |   ^~~~~~~~
/home/xzc/RL_ITG_ws/src/SuperRay/octomap/src/SuperRayGenerator.cpp: In member function ‘void octomap::SuperRayGenerator::GenerateSuperRay3D(const point3d_collection&, octomap::SuperRayGenerator::Axis3D&, octomap::SuperRayGenerator::VoxelInfo&, std::vector<octomap::SuperRay>&)’:
/home/xzc/RL_ITG_ws/src/SuperRay/octomap/src/SuperRayGenerator.cpp:239:24: error: implicitly-declared ‘octomap::SuperRay& octomap::SuperRay::operator=(const octomap::SuperRay&)’ is deprecated [-Werror=deprecated-copy]
  239 |     superrays[index] = sr; // Create a new super ray
      |                        ^~
In file included from /home/xzc/RL_ITG_ws/src/SuperRay/octomap/include/octomap_superray/SuperRayCloud.h:35,
                 from /home/xzc/RL_ITG_ws/src/SuperRay/octomap/include/octomap_superray/SuperRayGenerator.h:36,
                 from /home/xzc/RL_ITG_ws/src/SuperRay/octomap/src/SuperRayGenerator.cpp:30:
/home/xzc/RL_ITG_ws/src/SuperRay/octomap/include/octomap_superray/SuperRay.h:41:3: note: because ‘octomap::SuperRay’ has user-provided ‘octomap::SuperRay::SuperRay(const octomap::SuperRay&)’
   41 |   SuperRay(const SuperRay& _other) : p(_other.p), w(_other.w) {}
      |   ^~~~~~~~
cc1plus: all warnings being treated as errors
make[2]: *** [octomap/src/CMakeFiles/octomap.dir/build.make:193: octomap/src/CMakeFiles/octomap.dir/SuperRayGenerator.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:1315: octomap/src/CMakeFiles/octomap.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

I'm using ROS-Noetic and successfully build octomap lib with the 1.9.7 version in the same workspace.

Would you mind giving me a hint on how to get rid of this error?

Thanks in advance!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.