limhyungtae / erasor Goto Github PK
View Code? Open in Web Editor NEWOfficial page of ERASOR (Egocentric Ratio of pSeudo Occupancy-based Dynamic Object Removal), which is accepted @ RA-L'21 with ICRA'21
License: GNU General Public License v3.0
Official page of ERASOR (Egocentric Ratio of pSeudo Occupancy-based Dynamic Object Removal), which is accepted @ RA-L'21 with ICRA'21
License: GNU General Public License v3.0
first, i get the whole map by mapgen.launch .second , i run the run_erasor.launch to get the result map by erasor. then, how can i get the dynamic points cloud, and the result map by erasor should the static point cloud.
Hi, I noticed that you set max_r as 10, but the range of velodyne_64e is 120m, will this result in a small erasoring range? I want to use different datasets, but I don't know how to set new parameters, could you give me some tips?
Thanks a lot!
Thanks for your great work! According to your introduction, I encountered the following problem. I can't find node.h from the source file. @LimHyungTae
Could you please give me some help? 🥺
Hi @LimHyungTae , thanks for your sharing work. Your methods can remove dynamic point clouds in normal ground-scene efficicetly. But there are not always ground in lidar frame especially for submap which is build incremently. How to deal with this case?
[ INFO] [1668568723.312462663]: PASS!
[ INFO] [1668568723.411885393]: 1303th frame is comming
[ INFO] [1668568723.490956884]: 1014759=1014759| 138259 + 876500
[ INFO] [1668568723.607537384]: Extracting VoI takes 0.1828s
main_in_your_env_ros: /usr/include/pcl-1.8/pcl/conversions.h:252: void pcl::toPCLPointCloud2(const pcl::PointCloud&, pcl::PCLPointCloud2&) [with PointT = pcl::PointXYZI]: Assertion `cloud.points.size () == cloud.width * cloud.height' failed.
main_in_your_env: /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:110: Eigen::internal::variable_if_dynamic<T, Value>::variable_if_dynamic(T) [with T = long int; int Value = 3]: Assertion
v == T(Value)' failed.
[main_in_your_env-2] process has died [pid 32096, exit code -6, cmd /home/dt/ROS_WS/erasor_ws/devel/lib/erasor/main_in_your_env __name:=main_in_your_env __log:=/home/dt/.ros/log/5305fe14-348b-11ec-9ebf-081f7134fb94/main_in_your_env-2.log].
log file: /home/dt/.ros/log/5305fe14-348b-11ec-9ebf-081f7134fb94/main_in_your_env-2*.log`
Hi @LimHyungTae, thank you for your great work! I have one question. If i use Velodyne 32E's data, what parameters should be changed? The parameters of Lidar are below.
Where can I view the colors displayed by various point clouds?
Hello, I encountered this error when compiling the program, but I don't know how to solve it.
If you can help, I will be grateful.
Dear Author,
I'm sorry to bother you, I have some questions about the calculation of pr/rr. I notice the gt pcd files in the erasor_paper_pcds are generated by your mapgen.cpp method, so when you generate the estimated maps by other methods such as Removert, did you take any steps such as ensuring the consistency of downsample_voxel_size to get more accurate results?
I'm waiting for your reply!
Best Wishes!
main_in_your_env_ros: /usr/include/eigen3/Eigen/src/Core/util/XprHelper.h:110: Eigen::internal::variable_if_dynamic<T, Value>::variable_if_dynamic(T) [with T = long int; int Value = 3]: Assertion `v == T(Value)' failed.
[main_in_your_env_ros-1] process has died [pid 32655, exit code -6, cmd /home/dsj/catkin_erasor/devel/lib/erasor/main_in_your_env_ros __name:=main_in_your_env_ros __log:=/home/dsj/.ros/log/4f1bf28e-2dac-11ed-a109-d05099fb0c81/main_in_your_env_ros-1.log].
log file: /home/dsj/.ros/log/4f1bf28e-2dac-11ed-a109-d05099fb0c81/main_in_your_env_ros-1*.log
Hi @LimHyungTae ! Thank you for your excellent work. I ran the demo on my computer and the result looks great. However, when I tried ERASOR on my own dataset, I encountered the following error:
main_in_your_env: /usr/include/pcl-1.8/pcl/conversions.h:252: void pcl::toPCLPointCloud2(const pcl::PointCloud<PointT>&, pcl::PCLPointCloud2&) [with PointT = pcl::PointXYZI]: Assertion `cloud.points.size () == cloud.width * cloud.height' failed.
This happens on a specific frame. I checked the corresponding .pcd
file but it looked alright. I also tried this suggestion but it did not work. Could you please give me some hints on how to solve this, thanks!
I'm using LIO-SAM, I do not know which pose should save. keyframe's pose ? every frame(the lidar frames between two keyframes are discarded)?
The package.xml of this package has the default TODO
entry for the license used, which makes it quite difficult use it in a legally consistent manner. Would be great if a valid license entry could be added.
[main_in_your_env_ros-2] process has died [pid 7642, exit code -9, cmd /home/xxz/catkin_ws/devel/lib/erasor/main_in_your_env_ros __name:=main_in_your_env_ros __log:=/home/xxz/.ros/log/498c0ec0-3d92-11ee-a9fb-000c296bcaf2/main_in_your_env_ros-2.log].
log file: /home/xxz/.ros/log/498c0ec0-3d92-11ee-a9fb-000c296bcaf2/main_in_your_env_ros-2*.log
Hello, I meat some questions when I test on my data, how can i solve it ??
hello,how to get poses_lidar when I run run_erasor_in_your_env.launch?
why the poses is lidar2body not lidar2world? what is the body frame?
Hi ! This is such a nice work and thank you very much for your contribution ! My question is that how can I run the whole KITTI05 instead of a part of the dataset? I would be very grateful if you can give me some advice! Thank you for seeing my question!
Thank you for sharing your interesting work, @LimHyungTae
But I can't find this command:
roslaunch erasor compare_results.launch
Can you update this missng file?
When I run step 1,
roslaunch erasor mapgen.launch
This command failed. Is mappgen.launch missing?
HI, nice work! I read the whole code and I found there are two version compare_vois*
methods in the erasor.cpp
file. So my qustion is what is difference between them?
Hello, why does the website you provided to download bag show 404?
hi , i recently tried your work and merged it to our work and it was excellent! thanks for your wonderful contribution to the dynamic objects removing! and i wonder if there is a way to just run your ERASOR to remove objects in just a part of a whole map bag, which means i don't have to run it on my whole map since it may inevitably delete some static pointcloud.
looking forward to your reply!
When I run roslaunch erasor run_erasor.launch target_seq:="05", I encountered the following error, and my system is ubuntu20.04
roslaunch erasor run_erasor.launch target_seq:="05"
... logging to /home/doongli/.ros/log/195c78c0-504d-11ee-ba99-4f48c8864c97/roslaunch-doongli-Precision-5820-Tower-X-Series-990898.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
Traceback (most recent call last):
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/init.py", line 347, in main
p.start()
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/parent.py", line 305, in start
self._start_infrastructure()
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/parent.py", line 254, in _start_infrastructure
self._load_config()
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/parent.py", line 156, in _load_config
self.config = roslaunch.config.load_config_default(self.roslaunch_files, self.port,
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/config.py", line 461, in load_config_default
loader.load(f, config, argv=args, verbose=verbose)
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/xmlloader.py", line 763, in load
self._load_launch(launch, ros_config, is_core=core, filename=filename, argv=argv, verbose=verbose)
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/xmlloader.py", line 735, in _load_launch
self._recurse_load(ros_config, launch.childNodes, self.root_context, None, is_core, verbose)
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/xmlloader.py", line 665, in _recurse_load
if ifunless_test(self, tag, context):
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/xmlloader.py", line 74, in ifunless_test
if_val, unless_val = obj.opt_attrs(tag, context, ['if', 'unless'])
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/xmlloader.py", line 208, in opt_attrs
return [self.resolve_args(tag_value(tag,a), context) for a in attrs]
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/xmlloader.py", line 208, in
return [self.resolve_args(tag_value(tag,a), context) for a in attrs]
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/xmlloader.py", line 189, in resolve_args
return substitution_args.resolve_args(args, context=context.resolve_dict, resolve_anon=self.resolve_anon)
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/substitution_args.py", line 378, in resolve_args
return _eval(arg_str[7:-1], context)
File "/opt/ros/noetic/lib/python3/dist-packages/roslaunch/substitution_args.py", line 347, in _eval
return str(eval(s, {}, _DictWrapper(context['arg'], functions)))
File "", line 1
arg('target_seq') ==01
^
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers
when running
roslaunch erasor mapgen.launch
rosbag play /home/mohamed/02_860_to_950_w_interval_2_node.bag
i got his error
terminate called after throwing an instance of 'pcl::IOException'
what(): : [pcl::PCDWriter::writeASCII] Could not open file for writing!
[kitti_mapgen-1] process has died [pid 91485, exit code -6, cmd /home/mohamed/catkin_ws/devel/lib/erasor/kitti_mapgen __name:=kitti_mapgen __log:=/home/mohamed/.ros/log/e74d25a6-5357-11ee-b334-557d0f89a6e3/kitti_mapgen-1.log].
log file: /home/mohamed/.ros/log/e74d25a6-5357-11ee-b334-557d0f89a6e3/kitti_mapgen-1*.log
how can be solved ??
thanks
Hello, I'm sorry to bother you. I test your method in my own datasets, but I found the false positive points is very large. In the raw map, the stat. pts is 844762, and in the estimated map, the est.stat.pts is 475379, which leading the preservation rate is very low. Is it because of the parameter setting that causes this situation? How to deal with it?
I'm waiting for your reply!
Best!
How to convert the bag file recorded by myself into the bag file required by ERASOR?
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.