emiliofidalgo / liodom Goto Github PK
View Code? Open in Web Editor NEWLidar Odometry
License: GNU General Public License v3.0
Lidar Odometry
License: GNU General Public License v3.0
Hi, first of all thank you for publishing your software :-)
My running configuration is a fresh ubuntu 20.04 virtual machine in which I've installed only the requirements. I'm trying to use liodom with a bag recorded with an ouster lidar, and it's own "driver" https://github.com/ouster-lidar/ouster_example#playing-back-recorded-data. So I have some terminals with
/clicked_point
/clock
/initialpose
/liodom/edges
/liodom/odom
/liodom/twist
/liodom_mapper/map
/liodom_mapper/map_local
/move_base_simple/goal
/os1_node/imu_packets
/os1_node/lidar_packets
/os_cloud_node/imu
/os_cloud_node/points
/os_node/imu_packets
/os_node/lidar_packets
/rosout
/rosout_agg
/tf
/tf_static
when I run roslaunch liodom liodom_ouster.launch
everything seems normal but when I start playing the bag file the liodom process dies saying:
liodom_node: /usr/include/boost/smart_ptr/shared_ptr.hpp:734: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = pcl::PointCloud<pcl::PointXYZI>; typename boost::detail::sp_member_access<T>::type = pcl::PointCloud<pcl::PointXYZI>*]: Assertion `px != 0' failed.
I tried to set the verbosity level to debug and this is the full output
ROS_MASTER_URI=http://localhost:11311
process[liodom-1]: started with pid [17353]
process[liodom_mapper-2]: started with pid [17354]
process[map2odom-3]: started with pid [17355]
process[bl2os1-4]: started with pid [17356]
process[rviz-5]: started with pid [17358]
[ INFO] [1645117211.695809967]: Voxel size (XY): 20.00
[ INFO] [1645117211.706355598]: Voxel size (Z): 25.00
[ INFO] [1645117211.709615456]: Minimum range: 3.00
[ INFO] [1645117211.710407232]: Resolution: 0.40
[ INFO] [1645117211.729631540]: Maximum range: 75.00
[ INFO] [1645117211.730184408]: Local Map Cells XY: 2
[ INFO] [1645117211.732065639]: Lidar type: 1
[ INFO] [1645117211.735487180]: Local Map Cells Z: 1
[ INFO] [1645117211.737184495]: Scan lines: 64
[ INFO] [1645117211.743349094]: Scan regions: 8
[ INFO] [1645117211.747942034]: Edges per region: 10
[ INFO] [1645117211.758441678]: Save results: Yes
[ INFO] [1645117211.763643250]: Results directory: /tmp/results/
[ INFO] [1645117211.766496214]: Fixed frame: odom
[ INFO] [1645117211.767992192]: Base frame: base_link
[ INFO] [1645117211.771190083]: Using laser frame from header
[ INFO] [1645117211.773184867]: Sliding window size: 15
[ INFO] [1645117211.774741558]: Use IMU: No
[ INFO] [1645117211.776940215]: Mapping: Yes
[ INFO] [1645117211.778579421]: Publish TF: Yes
GIGIGIGI[DEBUG] [1645117408.258262566]: Connection::drop(2)
[DEBUG] [1645117408.258522504]: Socket 13 closed with (ERR|HUP|NVAL) events 8196: Success
[DEBUG] [1645117408.258741856]: TCP socket [13] closed
[DEBUG] [1645117408.258846202]: Connection::drop(0)
[DEBUG] [1645117408.258959896]: Connection::drop(2)
[DEBUG] [1645117408.259045436]: Connection::drop(2)
[DEBUG] [1645117409.815418315]: Connection::drop(2)
[DEBUG] [1645117409.815573366]: Socket 13 closed with (ERR|HUP|NVAL) events 8196: Success
[DEBUG] [1645117409.815685397]: TCP socket [13] closed
[DEBUG] [1645117409.815716265]: Connection::drop(0)
[DEBUG] [1645117409.815742835]: Connection::drop(2)
[DEBUG] [1645117409.816144809]: Connection::drop(2)
liodom_node: /usr/include/boost/smart_ptr/shared_ptr.hpp:734: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = pcl::PointCloud<pcl::PointXYZI>; typename boost::detail::sp_member_access<T>::type = pcl::PointCloud<pcl::PointXYZI>*]: Assertion `px != 0' failed.
[DEBUG] [1645117420.153315992]: Socket 21 closed with (ERR|HUP|NVAL) events 8192: Success
[DEBUG] [1645117420.153516188]: TCP socket [21] closed
[DEBUG] [1645117420.153643788]: Connection::drop(0)
[DEBUG] [1645117420.153794040]: Connection to subscriber [callerid=[/liodom] address=[TCPROS connection on port 38341 to [127.0.0.1:47718 on socket 21]]] to topic [/liodom_mapper/map_local] dropped
[DEBUG] [1645117420.153963759]: Connection::drop(2)
[DEBUG] [1645117420.154085307]: Connection::drop(2)
[DEBUG] [1645117420.154186637]: Socket [12] received 0/4 bytes, closing
[DEBUG] [1645117420.154338082]: TCP socket [12] closed
[DEBUG] [1645117420.154398275]: Connection::drop(0)
[DEBUG] [1645117420.154504364]: Connection to publisher [TCPROS connection on port 45790 to [ubuntu:49253 on socket 12]] to topic [/tf] dropped
[DEBUG] [1645117420.154704620]: getsockopt failed on socket [-1]
[DEBUG] [1645117420.154764232]: Socket -1 closed with (ERR|HUP|NVAL) events 8193: Unknown error -1
[DEBUG] [1645117420.154789389]: Socket [11] received 0/4 bytes, closing
[DEBUG] [1645117420.154925816]: TCP socket [11] closed
[DEBUG] [1645117420.155014272]: Connection::drop(0)
[DEBUG] [1645117420.155045150]: Connection to publisher [TCPROS connection on port 45788 to [ubuntu:49253 on socket 11]] to topic [/liodom/edges] dropped
[DEBUG] [1645117420.155114279]: getsockopt failed on socket [-1]
[DEBUG] [1645117420.155192847]: Socket -1 closed with (ERR|HUP|NVAL) events 8193: Unknown error -1
[liodom-1] process has died [pid 17353, exit code -6, cmd /home/ballardini/liodom_ws/devel/lib/liodom/liodom_node ~points:=/os_cloud_node/points ~map:=/liodom_mapper/map_local __name:=liodom __log:=/home/ballardini/.ros/log/dcce0fba-900c-11ec-92f8-2beb8929ca27/liodom-1.log].
log file: /home/ballardini/.ros/log/dcce0fba-900c-11ec-92f8-2beb8929ca27/liodom-1*.log
[DEBUG] [1645117420.254900289]: Retrying connection to [ubuntu:49253] for topic [/tf]
[DEBUG] [1645117420.255925043]: Resolved publisher host [ubuntu] to [127.0.1.1] for socket [11]
[DEBUG] [1645117420.256279188]: Adding tcp socket [11] to pollset
[DEBUG] [1645117420.256491287]: Socket 11 closed with (ERR|HUP|NVAL) events 24: Connection refused
[DEBUG] [1645117420.256587357]: TCP socket [11] closed
[DEBUG] [1645117420.256782444]: PollSet: Tried to add events [8192] to fd [-1] which does not exist in this pollset
[DEBUG] [1645117420.256848658]: Async connect() in progress to [ubuntu:49253] on socket [-1]
[DEBUG] [1645117420.256990144]: Connection::drop(2)
[DEBUG] [1645117420.257078610]: Tried to read on a closed socket [-1]
[DEBUG] [1645117420.257412136]: Retrying connection to [ubuntu:49253] for topic [/liodom/edges]
[DEBUG] [1645117420.258044403]: Resolved publisher host [ubuntu] to [127.0.1.1] for socket [11]
[DEBUG] [1645117420.258272502]: Adding tcp socket [11] to pollset
[DEBUG] [1645117420.258369534]: Socket 11 closed with (ERR|HUP|NVAL) events 24: Connection refused
[DEBUG] [1645117420.258456918]: TCP socket [11] closed
[DEBUG] [1645117420.258587633]: PollSet: Tried to add events [8192] to fd [-1] which does not exist in this pollset
[DEBUG] [1645117420.258650001]: Async connect() in progress to [ubuntu:49253] on socket [-1]
[DEBUG] [1645117420.258762752]: Connection::drop(2)
[DEBUG] [1645117420.258841350]: Tried to read on a closed socket [-1]
^[[A^[[B^[[A^C[rviz-5] killing on exit
[bl2os1-4] killing on exit
[map2odom-3] killing on exit
[liodom_mapper-2] killing on exit
terminate called after throwing an instance of 'boost::wrapexcept<boost::lock_error>'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument
^[[Ashutting down processing monitor...
... shutting down processing monitor complete
done
recompiling everythin in debug and attaching to the process, I've obtained the following
Thread 6 "liodom_node" received signal SIGABRT, Aborted.
[Switching to Thread 0x7f400ffff700 (LWP 40326)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007f40242d2859 in __GI_abort () at abort.c:79
#2 0x00007f40242d2729 in __assert_fail_base (fmt=0x7f4024468588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f4024d565d5 "px != 0",
file=0x7f4024d56288 "/usr/include/boost/smart_ptr/shared_ptr.hpp", line=734, function=<optimized out>) at assert.c:92
#3 0x00007f40242e3f36 in __GI___assert_fail (assertion=0x7f4024d565d5 "px != 0", file=0x7f4024d56288 "/usr/include/boost/smart_ptr/shared_ptr.hpp", line=734,
function=0x7f4024d561a8 "typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = pcl::PointCloud<pcl::PointXYZI>; typename boost::detail::sp_member_access<T>::type = pcl::PointClou"...) at assert.c:101
#4 0x00007f4024ad1dce in liodom::FeatureExtractor::splitPointCloud(boost::shared_ptr<pcl::PointCloud<pcl::PointXYZI> > const&, std::vector<boost::shared_ptr<pcl::PointCloud<pcl::PointXYZI> >, std::allocator<boost::shared_ptr<pcl::PointCloud<pcl::PointXYZI> > > >&) () from /home/ballardini/liodom_ws/devel/lib/libliodom.so
#5 0x00007f4024ad2ad0 in liodom::FeatureExtractor::operator()(std::atomic<bool>&) () from /home/ballardini/liodom_ws/devel/lib/libliodom.so
#6 0x0000555badca4b85 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<liodom::FeatureExtractor, std::reference_wrapper<std::atomic<bool> > > > >::_M_run() ()
#7 0x00007f40245d2de4 in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6
#8 0x00007f4024751609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#9 0x00007f40243cf293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) quit
do you have any suggestions?
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.