iralabdisco / ira_laser_tools Goto Github PK
View Code? Open in Web Editor NEWAll laser type assemblers and manipulators.
License: BSD 3-Clause "New" or "Revised" License
All laser type assemblers and manipulators.
License: BSD 3-Clause "New" or "Revised" License
Looks like as of Inigo, the setExtrapolationLimit is now deprecated.
Also seem like its not really recommended:
http://answers.ros.org/question/32727/tflistenersetextrapolationlimit-does-this-really-allow-forward-extrapolation/
Hi sir
After a period of testing and summary, I found that your laserscan_multi_merge radar data has a maximum fusion range of 270 degrees. Am I right?
I have a Warning when our package is build in Jenkins
http://build.ros.org/job/Kdev__ira_laser_tools__ubuntu_xenial_amd64/changes
but the information about the warning is not helpful
Here is a question: When I use this two lasers in my test-car to nav and obstacle avoidance, I found an obstacle has become two obstacles in test-car system, then, I found this because an obstacle in two lasers is not in same area, In other words, two lasers get data is not overlap. As show in follow picture:
I want to use this project code to transform and merge two lasers data to solve this question, but I found the data after merge also has this problem. Is this project only simple merge data not transform coordinate?
I'm combining two scans, one extracted from a depth camera, and the other from a 2D LIDAR. But I'm getting some jitter from the depth camera's scan contribution. I suppose it's to be expected when combining a 30Hz depth scan with a 40Hz LIDAR, but I was wondering if there was anything that could be done better. A qualitative example of the jitter artifact in RVIZ; red/LIDAR, green/depth-camera, yellow/combined. Note how combined lagges with the camera, and the LIDAR remains quite static.
The example you see here is a turtlebot simulation from gazebo, with a asus pointing forward, and a gpu_lidar pointing backwards, using this small PR of ira_laser_tools: #7
Update: corss-linking to ros.anwsers post
Hello,
I'm trying to combine laser data from LDS-01 LIDAR and R200 camera.
To convert data from PointCloud2 of my R200 to LaserScan I use depthimage_to_laserscan and it works good. Everything is correctly displayed in rViz.
But when I try to combine these two data using ira_laser_tools I get errors.
burger@burger-UP-CHT01:~$ roslaunch ira_laser_tools laserscan_multi_merger.launch
... logging to /home/burger/.ros/log/4979d2f4-d902-11e8-a0f5-00c0caa51893/roslaunch-burger-UP-CHT01-5052.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.started roslaunch server http://localhost:35838/
SUMMARY
PARAMETERS
- /laserscan_multi_merger/cloud_destination_topic: /merged_cloud
- /laserscan_multi_merger/destination_frame: /base_link
- /laserscan_multi_merger/laserscan_topics: /scan /scan_r200
- /laserscan_multi_merger/scan_destination_topic: /scan_multi
- /rosdistro: kinetic
- /rosversion: 1.12.14
NODES
/
laserscan_multi_merger (ira_laser_tools/laserscan_multi_merger)ROS_MASTER_URI=http://localhost:11311
process[laserscan_multi_merger-1]: started with pid [5075]
[ INFO] [1540546555.340892157]: Subscribing to topics 2
/scan /scan_r200 [ WARN] [1540546555.411538397]: Transformer::setExtrapolationLimit is deprecated and does not do anything
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
[pcl::concatenatePointCloud] Number of fields in cloud1 (5) != Number of fields in cloud2 (4)
Any idea how to solve this problem?
Hi,
Regarding the timestamp that is published by the laser scan merger, wouldn't it be more correct to use the timestamp associated with the last sensor reading included in the merge, instead of using the current time?
The change to do so is pretty simple, since it is enough to change the "laserscan_multi_merger.cpp" file so that the function pointcloud_to_laserscan accepts an additional argument, and pass that argument on the call to that function (in scanCallback), by using the received timestamp.
I can send a pull request with the change, if this change is welcome.
i have already subscripted scan1 scan2;but occurs this error; relatived code belows:
void LaserscanMerger::scanCallback(const sensor_msgs::LaserScan::ConstPtr& scan, std::string topic)
{
sensor_msgs::PointCloud tmpCloud1,tmpCloud2;
sensor_msgs::PointCloud2 tmpCloud3;
// Verify that TF knows how to transform from the received scan to the destination scan frame
tfListener_.waitForTransform(scan->header.frame_id.c_str(), destination_frame.c_str(), scan->header.stamp, ros::Duration(1));
projector_.transformLaserScanToPointCloud(scan->header.frame_id, *scan, tmpCloud1, tfListener_);
try
{
/****/ tfListener_.transformPointCloud(destination_frame.c_str(), tmpCloud1, tmpCloud2);
//tfListener_.transformPointCloud(destination_frame.c_str(), ros::Time(0),tmpCloud1,"/base_link", tmpCloud2);
}
catch (tf::TransformException ex)
{
//ROS_INFO("error transform!");
ROS_ERROR("%s",ex.what());
return;
}
.......
Hi, I'm using ubuntu 14.04 and ROS indigo. I'm trying to use hector_slam with two Hokuyo lasers (UST-20LX). Hector_slam only accepts one topic scan, so I'm trying to merge the two topics to one laser scan topic. When I try this I have a dead zone, although i can see the 360 degrees with pointcloud2. the lasers are in oposite corners of the robot (rectangular shape)
Is this a problem with the size of data?
attached images show the problem that I'm havving
<node pkg="ira_laser_tools" name="laserscan_multi_merger" type="laserscan_multi_merger">
<param name="destination_frame" value="base_link"/>
<param name="scan_destination_topic" value="/scan"/>
<param name="laserscan_topics" value ="/front/scan /rear/scan" />
</node>
gavriel@gavriel-cto:~$ rostopic info scan
Type: sensor_msgs/LaserScan
Publishers:
* /laserscan_multi_merger (http://gavriel-cto:45153/)
Subscribers:
* /slam_gmapping (http://gavriel-cto:38545/)
* /rviz (http://gavriel-cto:34577/)
* /move_base (http://gavriel-cto:33081/)
gavriel@gavriel-cto:~$ rostopic echo scan
header:
seq: 799
stamp:
secs: 30
nsecs: 604000000
frame_id: "top_plate_link"
angle_min: -2.359999895095825
angle_max: 2.359999895095825
angle_increment: 0.005799999926239252
time_increment: 0.0
scan_time: 0.03333333134651184
range_min: 0.44999998807907104
range_max: 25.0
ranges: [26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 0.8889434337615967, 0.8728505373001099, 0.8596974015235901, 0.8484830856323242, 0.8399553894996643, 0.8299886584281921, 0.8189652562141418, 0.8121286034584045, 0.8028361201286316, 0.788140594959259, 0.7761656045913696, 26.0, 0.7607190608978271, 0.7575971484184265, 0.7574251890182495, 0.760523796081543, 0.7642761468887329, 0.7662544846534729, 0.7680457830429077, 0.7700027823448181, 0.7723833918571472, 0.7749064564704895, 0.776307225227356, 0.7796602249145508, 0.7844770550727844, 0.7876943945884705, 0.787937343120575, 0.7914657592773438, 0.7960071563720703, 0.7977455258369446, 0.7995938062667847, 0.8057575821876526, 0.8081259727478027, 0.8110975623130798, 0.8128832578659058, 0.8160967826843262, 0.8201541900634766, 0.8233633041381836, 0.8281881809234619, 0.8312384486198425, 0.833400309085846, 0.8355249166488647, 0.8396785855293274, 0.8437479734420776, 0.8449754118919373, 0.8526577949523926, 0.8558814525604248, 0.8587668538093567, 0.863347053527832, 0.8652997016906738, 0.8738859295845032, 0.8787156939506531, 0.878123939037323, 0.883574366569519, 0.8874945044517517, 0.8959623575210571, 0.8984680771827698, 0.902416467666626, 0.9065732955932617, 0.9102147221565247, 0.9170271158218384, 0.9226657152175903, 0.9266858100891113, 0.9311148524284363, 0.9349843263626099, 0.942914605140686, 0.9472222924232483, 0.9536519646644592, 0.9577603340148926, 0.9670928120613098, 0.9724058508872986, 0.9763233661651611, 0.9825613498687744, 0.9861704707145691, 0.9959887862205505, 1.0021259784698486, 1.0079954862594604, 1.0127421617507935, 1.022729754447937, 1.0285512208938599, 1.0342217683792114, 1.0406920909881592, 1.04509437084198, 1.0573290586471558, 1.0670053958892822, 1.071596622467041, 1.0767006874084473, 1.0893694162368774, 1.096360206604004, 1.1027103662490845, 1.110400676727295, 1.1151387691497803, 1.1309458017349243, 1.1380538940429688, 1.1443703174591064, 1.1527687311172485, 1.1695666313171387, 1.174713134765625, 1.184895634651184, 1.192954659461975, 1.2019850015640259, 1.218860149383545, 1.2282124757766724, 1.2372404336929321, 1.2462608814239502, 1.2539896965026855, 1.2750262022018433, 1.2855585813522339, 1.2943938970565796, 1.3028393983840942, 1.3145619630813599, 1.3375927209854126, 1.3470854759216309, 1.3611592054367065, 1.371753454208374, 1.384572982788086, 1.4103001356124878, 1.4205924272537231, 1.4360047578811646, 1.4486364126205444, 1.4611417055130005, 1.490140676498413, 1.505947470664978, 1.5208489894866943, 1.5360971689224243, 1.5504603385925293, 1.567594051361084, 1.5842443704605103, 1.6199878454208374, 1.637354850769043, 1.6557413339614868, 1.6756746768951416, 1.6957688331604004, 1.716138482093811, 1.7363518476486206, 1.7783459424972534, 1.8029897212982178, 1.8265310525894165, 1.8503828048706055, 1.876444935798645, 1.900362491607666, 1.9273090362548828, 1.9532904624938965, 2.013645648956299, 2.0453665256500244, 2.0756068229675293, 2.108285665512085, 2.1431665420532227, 2.1777093410491943, 2.2108874320983887, 2.2519917488098145, 2.291315793991089, 2.3314297199249268, 2.3758554458618164, 2.4196720123291016, 2.513453960418701, 2.5629920959472656, 2.6178934574127197, 2.673447847366333, 2.729774236679077, 2.793353319168091, 2.8571436405181885, 2.9245121479034424, 2.996345043182373, 3.0746309757232666, 3.152695417404175, 3.2363128662109375, 3.3261053562164307, 3.420165777206421, 3.5215048789978027, 3.6311161518096924, 3.745979070663452, 3.870558500289917, 4.000850200653076, 4.146318435668945, 4.297867774963379, 4.462414264678955, 4.643709182739258, 4.845107078552246, 5.057750701904297, 5.295043468475342, 5.555423736572266, 5.845219612121582, 6.169299602508545, 6.531850814819336, 6.942105770111084, 26.0, 7.3741326332092285, 7.37183952331543, 7.365645408630371, 7.36276388168335, 7.361029624938965, 7.356813430786133, 7.35439920425415, 7.35115385055542, 7.350854873657227, 7.349593162536621, 7.348794460296631, 26.0, 7.345027446746826, 7.3458099365234375, 7.345302104949951, 7.3448004722595215, 7.3444905281066895, 7.343169212341309, 7.345750331878662, 7.3454132080078125, 7.347197532653809, 7.347904682159424, 26.0, 7.352084159851074, 7.352281093597412, 7.3572492599487305, 7.358049392700195, 7.361382007598877, 7.364761829376221, 7.368617534637451, 7.371425628662109, 7.376087188720703, 7.381535053253174, 7.385735988616943, 26.0, 7.391486167907715, 7.395849704742432, 7.401980876922607, 7.407465934753418, 7.414839267730713, 7.421496868133545, 7.4277825355529785, 7.435358047485352, 7.443558216094971, 7.451615333557129, 26.0, 7.4608154296875, 7.467899322509766, 7.476623058319092, 7.483972072601318, 7.4955339431762695, 7.507135391235352, 7.515416622161865, 7.526758193969727, 7.536526203155518, 7.548981189727783, 26.0, 7.559510707855225, 7.572847843170166, 7.5845255851745605, 7.595062255859375, 7.610170841217041, 7.623710632324219, 7.638037204742432, 7.651139259338379, 7.667383670806885, 7.681463718414307, 26.0, 7.6963348388671875, 7.71235466003418, 7.727313995361328, 7.745697498321533, 7.762416839599609, 7.777956485748291, 7.796645641326904, 7.81321907043457, 7.83225154876709, 7.853155136108398, 26.0, 7.869750499725342, 7.891319751739502, 7.911050319671631, 7.930513381958008, 7.951352119445801, 7.972161293029785, 7.994212627410889, 8.01665210723877, 8.040428161621094, 26.0, 8.06250286102295, 8.086291313171387, 8.111668586730957, 8.134875297546387, 8.159875869750977, 8.18676471710205, 8.211165428161621, 8.238286972045898, 8.26617431640625, 26.0, 8.294144630432129, 8.321702003479004, 8.352011680603027, 8.382037162780762, 8.40909481048584, 8.441547393798828, 8.473420143127441, 8.505228996276855, 8.53646183013916, 26.0, 8.568779945373535, 8.603157043457031, 8.637289047241211, 8.670641899108887, 8.707594871520996, 8.744729995727539, 8.782062530517578, 8.817867279052734, 8.857707977294922, 26.0, 8.896562576293945, 8.937758445739746, 8.977327346801758, 9.018861770629883, 9.060942649841309, 9.10495662689209, 9.146082878112793, 9.191726684570312, 26.0, 9.238192558288574, 9.284586906433105, 9.330262184143066, 9.379110336303711, 9.427470207214355, 9.477866172790527, 9.526871681213379, 9.580082893371582, 26.0, 9.545295715332031, 9.476091384887695, 9.407978057861328, 9.338632583618164, 9.271072387695312, 9.206778526306152, 9.14474105834961, 9.08140754699707, 9.019721031188965, 8.959413528442383, 8.902326583862305, 26.0, 8.842764854431152, 8.785682678222656, 8.731610298156738, 8.679024696350098, 8.622869491577148, 8.569963455200195, 8.514482498168945, 8.459683418273926, 8.405550003051758, 8.368152618408203, 8.322879791259766, 8.301786422729492, 8.253820419311523, 8.205485343933105, 8.156810760498047, 8.107983589172363, 8.0934419631958, 8.049243927001953, 8.007635116577148, 7.9666428565979, 7.92621374130249, 7.885307312011719, 7.845414638519287, 7.844087600708008, 7.801971435546875, 7.760900497436523, 7.7217698097229, 7.682403087615967, 7.64506721496582, 7.625537872314453, 7.589714050292969, 7.557106971740723, 7.52278470993042, 7.490432262420654, 7.458662986755371, 7.431118965148926, 7.424729347229004, 7.395886421203613, 7.362374782562256, 7.332522869110107, 7.3018035888671875, 7.270868301391602, 7.238681793212891, 7.21950626373291, 7.193066596984863, 7.165719509124756, 7.136837959289551, 7.126297950744629, 7.096619606018066, 7.069312572479248, 7.062407493591309, 7.033790111541748, 7.014214992523193, 6.989625930786133, 6.966914176940918, 6.942140102386475, 6.920390605926514, 6.8988471031188965, 26.0, 6.876871585845947, 6.854771137237549, 6.835156440734863, 6.812829494476318, 6.794553279876709, 6.774613380432129, 6.753663539886475, 6.736555576324463, 6.716184616088867, 6.697796821594238, 26.0, 6.681095600128174, 6.664041042327881, 6.646238327026367, 1.3421621322631836, 1.3390880823135376, 1.334984302520752, 1.331992506980896, 1.330308198928833, 1.3279088735580444, 1.3253555297851562, 1.3228093385696411, 1.3192646503448486, 1.3156324625015259, 1.3132387399673462, 1.3122658729553223, 6.468549728393555, 1.3091906309127808, 1.3061877489089966, 1.303786277770996, 1.3026549816131592, 1.2999067306518555, 1.2978415489196777, 1.3189510107040405, 1.364598274230957, 1.3858671188354492, 1.4127569198608398, 1.4640551805496216, 1.4889886379241943, 1.5158275365829468, 1.5770149230957031, 1.6061642169952393, 1.639378309249878, 1.708664059638977, 1.7450180053710938, 1.7827385663986206, 1.8624666929244995, 1.9054317474365234, 1.9967564344406128, 2.0465621948242188, 2.096992254257202, 2.208771228790283, 2.2650442123413086, 2.38444185256958, 2.4661874771118164, 2.5409367084503174, 2.704402446746826, 2.7942068576812744, 2.9901933670043945, 3.1018242835998535, 3.2169957160949707, 3.4826607704162598, 3.6295409202575684, 3.967524528503418, 4.161223888397217, 4.608726978302002, 4.870730876922607, 5.164175987243652, 5.873355388641357, 6.302819728851318, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0, 26.0]
intensities: []
Hi sir:
I have a problem. After I watched your youtube video, I adjusted the parameter angle_max to a maximum of 3.14, but there is still a part of the laser data that is not coming out. Why?
If you can answer my question, it would be great.
Hello.
I am trying to use the laserscan_visualizer to convert a pointcloud to a laserscan.
The pointcloud comes from a gazebo kinect plugin.
I can visualize the laserscan in rviz, however, the laserscan is only shown approximately 2 meters infront of the robot, even though i have set the range to 25 meters.
I have removed the TF statements, because my TF is published though robot-state-publisher.
This is my launch file:
`
<param name ="/use_sim_time" value="true"/>
<!-- DEFINE HERE THE STATIC TRANFORMS, FROM BASE_FRAME (COMMON REFERENCE FRAME) TO THE VIRTUAL LASER FRAMES-->
<!-- WARNING: the virtual laser frame(s) *must* match the virtual laser name(s) listed in param: output_laser_scan -->
<node pkg="ira_laser_tools" name="laserscan_virtualizer" type="laserscan_virtualizer" output="screen">
<param name="cloud_topic" value="/frnt_cam_lnk/depth/points"/> <!-- INPUT POINT CLOUD -->
<param name="base_frame" value="/laser_lnk"/> <!-- REFERENCE FRAME WHICH LASER(s) ARE RELATED-->
<param name="output_laser_topic" value ="/frnt_scan" /> <!-- VIRTUAL LASER OUTPUT TOPIC, LEAVE VALUE EMPTY TO PUBLISH ON THE VIRTUAL LASER NAMES (param: output_laser_scan) -->
<param name="angle_min" value ="-3.14" />
<param name="angle_max" value ="3.14" />
<param name="angle_increment" value ="0.0058" />
<param name="range_min" value ="0.45" />
<param name="range_max" value ="25" />
<param name="virtual_laser_scan" value ="/frnt_cam_p2l" /> <!-- LIST OF THE VIRTUAL LASER SCANS. YOU MUST PROVIDE THE STATIC TRANSFORMS TO TF, SEE ABOVE -->
</node>
`
I have a differnt behavior of your package by use of the apt get version or the source code: with the last one (building it with catkin tools) all works fine, with the installer version the same workspace didn't work anymore.
With the install version and same launch file i get this continous warning message:
TF_REPEATED_DATA ignoring data with redundant timestamp for frame odom at time 0.10000 according to authotity unknown_publisher at line 278 in /tmp/binarydeb/ros-noetic-tf2-0.7.5/src/buffer_core.cpp
With the compiled version i do not.
Hello.
I am trying to use the laserscan_multi_merger to merge 2 laserscans.
I run laserscan_multi_merger, but I have a trouble with double free or corruption.
Do you have any tips for this error?
[Install ira_laser_tools]
sudo apt-get installl ros-melodic-ira-laser-tools
[Software version]
Ubuntu18.04
ROS melodic
pcl 1.8.1
[Log]
user@Ubuntu:~/catkin_ws$ roslaunch ira_laser_tools laserscan_multi_merger.launch
... logging to /home/user/.ros/log/a6bbd3fc-aee6-11ea-b91d-d0abd5c91ed6/roslaunch-Ubuntu-5474.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.
started roslaunch server http://Ubuntu:39305/
PARAMETERS
NODES
/
laserscan_multi_merger (ira_laser_tools/laserscan_multi_merger)
ROS_MASTER_URI=http://localhost:11311
process[laserscan_multi_merger-1]: started with pid [5491]
[ INFO] [1592211707.539413081]: Subscribing to topics 2
double free or corruption (out)
[laserscan_multi_merger-1] process has died [pid 5491, exit code -6, cmd /home/user/catkin_ws/devel_isolated/ira_laser_tools/lib/ira_laser_tools/laserscan_multi_merger __name:=laserscan_multi_merger __log:=/home/user/.ros/log/a6bbd3fc-aee6-11ea-b91d-d0abd5c91ed6/laserscan_multi_merger-1.log].
log file: /home/user/.ros/log/a6bbd3fc-aee6-11ea-b91d-d0abd5c91ed6/laserscan_multi_merger-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
I have 3 laser scan topics that i want to merge. (they are actually ultrasonic sensors that i convert to 3 LaserScan topics)
The three topics are working fine, publishing the range.
But the merged topic /scan_multi only publishes a fixed value for the range. I tried editing the params in the launch file according to my us sensors. The fixed value is always bigger than the range_max value i set in the launch file.
the launch file params:
<param name="destination_frame" value="sonar_link"/>
<param name="cloud_destination_topic" value="/merged_cloud"/>
<param name="scan_destination_topic" value="/scan_multi"/>
<param name="laserscan_topics" value ="/car/scan /car/scan_l /car/scan_r" /> <!-- LIST OF THE LASER SCAN TOPICS TO SUBSCRIBE -->
<param name="angle_min" value="-2.0"/>
<param name="angle_max" value="2.0"/>
<param name="angle_increment" value="0.0058"/>
<param name="scan_time" value="0.0333333"/>
<param name="range_min" value="0.05"/>
<param name="range_max" value="1.0"/>
The output:
ubuntu@ubuntu-VirtualBox:~$ rostopic echo /scan_multi
header:
seq: 231
stamp:
secs: 1595207444
nsecs: 54525514
frame_id: "base_link"
angle_min: -2.0
angle_max: 2.0
angle_increment: 0.00579999992624
time_increment: 0.0
scan_time: 0.0333333015442
range_min: 0.0500000007451
range_max: 1.0
ranges: [2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, .......]
intensities: []
How can i fix this? Maybe edit the configuration file?
The range should be configurable and be able to set to higher values then just 50 meters.
Our laser scanner does reach 250 meters for example. So I would suggest a higher limit than 50 (dynamic reconfigure) ... 10km could be a limit which will definitely cover most of the cases in the near future ... well if you not up to park the USS Enterprise (from StarTrek) 😄
Hello,
while trying to set up my system in Gazebo, I was noticing that the merger doesn't subscribe to the laser topics generated by 3 hokuyo lidars in Gazebo.
My config is the following:
3 lasers mounted at robot -> publishing topics: /scan_hokuyo1 /scan_hokuyo2 and /scan_ibeo1
See my output of rostopic list
:
rostopic list
/scan_hokuyo1
/scan_hokuyo2
/scan_ibeo1
/scan_multi_merged
You also see the topic `/scan_multi_merged` which is published by the laser merger node as you can see here:
Node [/laserscan_multi_merger]
Publications:
Subscriptions:
Services:
contacting node http://aschultz-ThinkPad-T450s:42260/ ...
Pid: 21244
Connections:
You can see the node isn't subscribing to the topics mentioned above. I started the node with the following part of my launch file:
<node pkg="ira_laser_tools" name="laserscan_multi_merger" type="laserscan_multi_merger" output="screen">
<param name="destination_frame" value="/ibeo_frame"/>
<param name="cloud_destination_topic" value="/merged_cloud"/>
<param name="scan_destination_topic" value="/scan_multi_merged"/>
<param name="laserscan_topics" value ="/scan_hokuyo1 /scan_hokuyo2 /scan_ibeo1" />
</node>
If I try to echo the topic of the laser merger the following output appears and also ROS_DEBUG messages are published:
rostopic echo /scan_multi_merged
WARNING: no messages received and simulated time is active.
Is /clock being published?
[DEBUG] [1453887963.432518126, 100.157000000]: Incoming queue full for topic "/clock". Discarding oldest message (current queue size [0])
So I don't think that the subscription to topics is done correctly.
Thanks in advance
This looks like an interesting package that does exactly what I want (merge two laser sources). I'd like to use it, but there is currently no license. Could you please add one?
Would you accept a PR for porting this to ROS2?
Hello,
I am working with summit-xl-steel robot platform which has built in two LiDARs and so I am using this the merge node to use both laser data for the navigation stack. My problem is the following:
The merge_node works well but if it is launched at the same time as the hole robot, the node doesn't subscribe to the original laser topics (As reported in this issue: #5), I tried with the answer there to solve this problem but it didn't work for me. What did work tho was to use the timed_roslaunch package, which allows to delay the start of a launch file from another launch file, so by delaying the merge node this works fine.
The problem is when I also use the gmapping node and want it to subscribe to the new /merge_lasers topic instead of the original ones.:
– If I don’t use the delay for the merge node the gmapping node doesn’t work because nothing it’s published in the new /merge_lasers topic since the node it is not subscribing to the original laser topics.
– If I do use the delay (above 3 seconds to work in my case) then the gmapping crashes because it starts before the merge_node and requests a topic which has not been created yet (/merge_lasers).
I have tried also to delay the gmapping node even more so that the topic /merge_lasers has the time to be published but even thought it does, the gmapping node doesn't work.
Any help is apreciated. Cheers,
Andrés
How can we set the range_max? I want to set it to 'inf'
Hi,
I am doing a little project with two rplidar's a1, but i have a problem in my design. My initial idea was to put on lidar in front of other, so they will have a different axis. Reading a lot of documentation or researching on the internet. I have not come to any conclusions. The thing is that if I put one lidar in front of another, I get collision. On the other hand, if I put one lidar and then the other with the same x and y axis, I don't have any problems.
I attach a picture of my two situations:
Hi!
I am running the ira_laser_tools on a ROS Kinetic system. In my workspace, I have a package i.e. "test_robot", in which a launch file that starts up my ROS system would include a launch file that calls the ira_laser_tools laserscan_multi_merger (in the same directory) which has the code as follows:
<launch>
<node pkg="ira_laser_tools" name="laserscan_multi_merger" type="laserscan_multi_merger" output="screen">
<param name="destination_frame" value="/base_link"/>
<param name="cloud_destination_topic" value="/merged_cloud"/>
<param name="scan_destination_topic" value="/scan"/>
<param name="laserscan_topics" value ="/scan1 /scan2" />
<param name="angle_min" value="-3.14"/>
<param name="angle_max" value="3.14"/>
<param name="angle_increment" value="0.0043"/>
<param name="scan_time" value="0.0333333"/>
<param name="range_min" value="0.10"/>
<param name="range_max" value="50.0"/>
</node>
</launch>
In this situation, even though the laserscan_multi_merger node (in the same workspace) seems to have launched without any error thrown, this node does not seem to be working correctly as when I tried to get the output,
rostopic echo /scan
It gets stuck and nothing happens at all (my inputs /scan1 and /scan2 are working correctly).
However, when I
roslaunch ira_laser_tools laserscan_multi_merger.launch
after I roslaunch my ROS system (still including the launch file to run the ira_laser_tools node in the "test_robot" launch file), the laserscan_multi_merger node from previously gets killed, and the new laserscan_multi_merger node works fine and I am able to get /scan data.
The reason for including the launch file that calls the ira_laser_tools laserscan_multi_merger in my own launch file is so that I can run all nodes at once from just one main launch file.
Hence, the issue is that when trying to launch the laserscan_multi_merger node from another package other than from ira_laser_tools, the laserscan_multi_merger node does not seem to work correctly.
Would deeply appreciate anyone's assistance in this matter! Thank you in advance!!!
Hi,
I am able to get the resultant laserscan message but the intensity of the laserscans is lost. Is there some way to get the intensity?
Any plans for official melodic release? Current version compiles fine on melodic, only some minor changes would be needed to be fully compatible with PCL 1.8.
Hi,
I am trying to merge 3 (quanergy M8) lidar point cloud feed. So, I have update laserscan_topics in launch file, and then check all topic data by using rostopic echo. But when I tried to check merged cloud data it is not publishing any thing.
PARAMETERS
NODES
/
laserscan_multi_merger (ira_laser_tools/laserscan_multi_merger)
ROS_MASTER_URI=http://localhost:11311
process[laserscan_multi_merger-1]: started with pid [6802]
In graph multi_merger node is not subscribing 3 lidars even though I mention in Launch file.
Any Suggestion why node is not subscribing data?
Node [/laserscan_multi_merger]
Publications:
Subscriptions:
Services:
contacting node http://WHQPC-LAV002:36781/ ...
Pid: 12841
Connections:
I'm wondering if anyone interested and/or working on porting ira_laser_tools to ROS2/foxy?
Hi,
I'm using two different sensors: a stereo camera and 2D Lidar; and both of them are mounted at different heights. Now, I have converted 3D PointCloud of the camera into a 2D scan using 'pointcloud_to_laserscan'. So, now I have scan data from the 2D lidar as well as converted scan data from the camera.
Now, in the package (ira_laser_tools) description, it's mentioned that "Laserscan_merger allows ... same time, single scanning plane, ... . The scanning planes need to be approximately the same. ..."
While for Virtual Laserscan, it's mentioned that "Laserscan_virtualizer ... a pointcloud such as the one generated by a multiple scanning plane laser scanner, e.g., a velodyne scanner). ..."
In my case, neither both the Laser sources are in a single plane nor they belong to single entity. So, I just wanted to confirm, can I use this package in my application?
Thanks in advance!
I have two sources of LiDAR sensor on the robot one in the front and other on the back with 270 field view for both, I am using https://github.com/ros-perception/slam_gmapping to generate the map. The odom => base_link transform is provide by GAZEBO. I am using the same launch file to launch ira_laser_merger
node given in the package.
Gmapping does produce a map with merged LaserScan data but the map generated is a bit inconsistent,
The map generated by any of the front or rear LaserScan sensor is as expected,
Below is the metadata for all the sensor,
Merged:
header:
seq: 244
stamp:
secs: 158
nsecs: 274000000
frame_id: "merge_lidar"
angle_min: -3.1414999961853027
angle_max: 3.1414999961853027
angle_increment: 0.005799999926239252
time_increment: 0.0
scan_time: 0.03333330154418945
range_min: 0.20000000298023224
range_max: 5.0
Front:
header:
seq: 15
stamp:
secs: 134
nsecs: 513000000
frame_id: "front_lidar_sensor"
angle_min: -2.3561899662017822
angle_max: 2.3561899662017822
angle_increment: 0.008742820471525192
time_increment: 0.0
scan_time: 0.0
range_min: 0.20000000298023224
range_max: 5.0
Rear:
header:
seq: 565
stamp:
secs: 191
nsecs: 371000000
frame_id: "rear_lidar_sensor"
angle_min: 0.7853900194168091
angle_max: 5.497769832611084
angle_increment: 0.008742820471525192
time_increment: 0.0
scan_time: 0.0
range_min: 0.20000000298023224
range_max: 5.0
What could be the reason which leads to such an inconsistent map generation using merged LaserScan data along with Gmapping ?
When I compile this package (on my 32-bit (intel processor) Ubuntu 12.04 computer with ROS hydro) using catkin_make it gave me these warnings(even though it generates all the files):
/home/youbot/catkin_ws/src/ira_laser_tools-master/src/laserscan_multi_merger.cpp: In member function ‘void LaserscanMerger::laserscan_topic_parser()’:
/home/youbot/catkin_ws/src/ira_laser_tools-master/src/laserscan_multi_merger.cpp:113:13: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 8 has type ‘std::vectorros::Subscriber::size_type {aka unsigned int}’ [-Wformat]
/home/youbot/catkin_ws/src/ira_laser_tools-master/src/laserscan_virtualizer.cpp: In member function ‘void LaserscanVirtualizer::virtual_laser_scan_parser()’:
/home/youbot/catkin_ws/src/ira_laser_tools-master/src/laserscan_virtualizer.cpp:109:13: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 8 has type ‘std::vectorros::Publisher::size_type {aka unsigned int}’ [-Wformat]
I believe these warnings are concerning a ROS_INFO which is just for printing ti screen which not so relevant and shouldnt be breaking the code.
When I roslaunch the laserscan_multi_merger it gives this error and process dies:
[laserscan_multi_merger-1] process has died [pid 16008, exit code -11, cmd /home/youbot/catkin_ws/devel/lib/ira_laser_tools/laserscan_multi_merger __name:=laserscan_multi_merger __log:=/home/youbot/.ros/log/6a789f88-6310-11e4-9d7c-000bab4510aa/laserscan_multi_merger-1.log]. log file: /home/youbot/.ros/log/6a789f88-6310-11e4-9d7c-000bab4510aa/laserscan_multi_merger-1*.log all processes on machine have died, roslaunch will exit shutting down processing monitor... ... shutting down processing monitor complete
done
Can you please help?
Hey everyone,
Are there plans for releasing this package to ROS noetic? After a quick search I could not find any information about this.
Thanks!
Hi
Now I'm working with it but I have a issue, when I use it the result of the merge is so slow, the time delay is three or more seconds, it's normal? I'm using Ros Melodic and Gazebo for simulate the scanners, but when in the simulation I put an object the topic of the one of the scanners show the object immediately (in rviz) but the topic of the merge show the object later than three or more seconds, it work with this times or I have to change something?
Thanks
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.