-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bev version #116
base: master
Are you sure you want to change the base?
Bev version #116
Changes from all commits
f1f03c6
5269408
4348e18
ffedcb7
5d4923f
c97ccf5
4808a65
9fd6271
cb55797
d1d9b6d
7657498
f905766
7462eae
690f472
28c1ce8
6e041a6
5029a81
0492c86
b5c0b32
a3c4847
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
build | ||
export | ||
CMakeLists.txt.user | ||
external_link_path |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -60,6 +60,12 @@ This is important if you are still using ROS Indigo and need to compile without | |
- If the ROS dependency was found, but the GPU-Voxels URDF features are still unabailable, run `source /opt/ros/YOUR_ROS_DISTRO/setup.bash` before running cmake. | ||
- Eigen 3 issues: can be fixed by cloning a more current unstable Eigen version and placing it in CMAKE_PREFIX_PATH | ||
+ on Ubuntu 18.04 with CUDA 10.0: "math_functions.hpp not found" | ||
```bash | ||
git clone https://gitlab.com/libeigen/eigen.git | ||
sudo cp -r signature_of_eigen3_matrix_library /usr/include/eigen3 | ||
sudo cp -r unsupported/ /usr/include/eigen3 | ||
sudo cp -r Eigen/ /usr/include/eigen3 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We shouldn't overwrite system-installed packages. What is this required for? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As mentioned in README, to fix "math_functions.hpp not found" on Ubuntu 18.04 with CUDA 10.0. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I remember that some way of introducing a newer version of Eigen was needed when Ubuntu 18.04 came out. We have a script that clones Eigen into a subfolder so you can add it to the build itself, for 18.04, I prefer that over the system overwrite also. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You could check the Eigen version and conditionally use |
||
``` | ||
+ Eigen 3.3.4 and 3.3.5 with CUDA 9.0, 9.1, 9.2: Error: class "Eigen::half" has no member "x" | ||
+ see http://eigen.tuxfamily.org/index.php?title=Main_Page#Download | ||
- Cuda 8.0: Code compiled with Cuda 8.0 works fine with older GPU drivers such as 375.66, but there are runtime errors with driver 384.111 and newer ("PTX JIT compilation failed"). Easy fix: use Cuda 10 with a current 410 or newer driver version. Cuda 10 is also available for Ubuntu 14.04 and 16.04. | ||
|
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
@@ -199,7 +199,7 @@ ICMAKER_CONFIGURE_PACKAGE() | |||||||||
|
||||||||||
############################################################################### | ||||||||||
# Build examples | ||||||||||
ADD_SUBDIRECTORY(src/examples) | ||||||||||
# ADD_SUBDIRECTORY(src/examples) | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'd suggest adding an
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Did you disable this to save compilation time or because of errors? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As mentioned before, no issues was found. I agree with that suggestion. |
||||||||||
|
||||||||||
IF(BUILD_TESTS) | ||||||||||
ENDIF(BUILD_TESTS) | ||||||||||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -29,6 +29,7 @@ | |
#include <gpu_voxels/helpers/common_defines.h> | ||
#include <gpu_voxels/helpers/cuda_datatypes.h> | ||
#include <gpu_voxels/helpers/CollisionInterfaces.h> | ||
#include <sensor_msgs/PointCloud2.h> | ||
|
||
namespace gpu_voxels { | ||
namespace voxelmap { | ||
|
@@ -46,7 +47,7 @@ class ProbVoxelMap: public TemplateVoxelMap<ProbabilisticVoxel>, | |
|
||
template<std::size_t length> | ||
void insertSensorData(const PointCloud &global_points, const Vector3f &sensor_pose, const bool enable_raycasting, const bool cut_real_robot, | ||
const BitVoxelMeaning robot_voxel_meaning, BitVoxel<length>* robot_map = NULL); | ||
const BitVoxelMeaning robot_voxel_meaning, const Probability prob, BitVoxel<length>* robot_map = NULL); | ||
|
||
virtual bool insertMetaPointCloudWithSelfCollisionCheck(const MetaPointCloud *robot_links, | ||
const std::vector<BitVoxelMeaning>& voxel_meanings = std::vector<BitVoxelMeaning>(), | ||
|
@@ -61,6 +62,10 @@ class ProbVoxelMap: public TemplateVoxelMap<ProbabilisticVoxel>, | |
|
||
size_t collideWith(const voxelmap::BitVectorVoxelMap* map, float coll_threshold = 1.0, const Vector3i &offset = Vector3i()); | ||
size_t collideWith(const voxelmap::ProbVoxelMap* map, float coll_threshold = 1.0, const Vector3i &offset = Vector3i()); | ||
|
||
virtual void moveInto(ProbVoxelMap& dest, const Vector3f offset) const; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Not that I'm disagreeing with you but, why not? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Assuming it's an Eigen type, it's recommended to pass by const-ref There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Now I see what you were saying, I thought that '&' was there. You're right. |
||
virtual void move(Voxel* dest_data, const Voxel* src_data, const Vector3f offset) const; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Similarly here, should |
||
virtual void publishPointcloud(sensor_msgs::PointCloud2* pointcloud_msg, const float occupancyThreshold=0.5); | ||
}; | ||
|
||
} // end of namespace | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.