kahowang / fast_lio_sam Goto Github PK
View Code? Open in Web Editor NEWFront_end : fastlio2 Back_end : lio_sam
Front_end : fastlio2 Back_end : lio_sam
你好,请问您对节点的噪声有没有尝试优化,麻烦可以告知一下经验吗?
请问一下使用avia激光雷达录制的bag包如何跑fast_lio_sam
您好,我刚开始学习slam,您的工作给了我很大的帮助,我有以下疑问,如果您能帮忙解答,不胜感激。
请问GPSfactor的position是在东北天坐标系下的,状态变量是在初始帧的坐标系下的,这样没有影响吗?
还是说一开始这两个是在不同坐标系下的,但初始建图阶段,地图就从lidar坐标系转换到东北天坐标系下。
您好,感谢您开源的工作。我在测试过程中发现个问题,当我想输出/cloud_registered_lidar时候,rviz中报错For frame [lidar]: Frame [lidar] does not exist,请问有什么解决办法吗,感谢!
你好,使用链接https://drive.google.com/drive/folders/1gJHwfdHCRdjP7vuT556pv8atqrCJPbUq 中的park_dataset.bag,用下面的命令,不改动源代码和配置,走一段建图就会飞掉,roslaunch fast_lio_sam mapping_velodyne16_lio_sam_dataset.launch
。播包的命令的bag名字是park_dataset.bag,不知道方不方便加个微信进行更多的交流和探讨
GPS的遗留问题解决了吗?影响使用吗?
大数据集崩溃问题解决了吗?实际部署长时间运行有问题吗?
运行自己的数据时候,加上gps因子的map和没有gps因子的map在xy平面上差了一个角度,这会是什么原因导致的呢
when i using fast_lio_sam, i also get "double free or corruption(out)", then process died, do you know how to solve this problem? thanks a lot.
我使用的是livox mid70雷达,可以运行fast_lio2,但您的功能包中config文件avia.yaml中没有关于gps的设置,如果要使用gps,应如何设置?
我在建图过程中会有延迟建图现象,想问下作者知道这是在哪部分的问题吗
以下是运行mapping_avia出现的错误。请问该怎么解决
/catkin_fast_sam$ roslaunch fast_lio_sam mapping_avia.launch
... logging to /home/lxp/.ros/log/e432abe0-e94b-11ee-9437-1c1bb54a7874/roslaunch-lxp-G3-3579-14930.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.
Resource not found: fast_lio
ROS path [0]=/opt/ros/melodic/share/ros
ROS path [1]=/home/lxp/catkin_fast_sam/src
ROS path [2]=/opt/ros/melodic/share
The traceback for the exception was written to the log file
您好,感谢您出色的工作! 我成功编译了您的代码。
在测试Quick test中1 .For indoor dataset的数据时,
运行roslaunch fast_lio_sam mapping_velodyne16.launch
后成功启动rviz,
放包rosbag play T3F2-2021-08-02-15-00-12.bag
后,
rviz中没有任何结果显示,终端中显示以下内容,且包的内容一直在放,但终端中没有任何消息更新。
setting /run_id to 2d935e86-b141-11ed-bb7a-90ccdfb6eca7
process[rosout-1]: started with pid [18496]
started core service [/rosout]
process[laserMapping-2]: started with pid [18503]
process[rviz-3]: started with pid [18504]
Multi thread started
p_pre->lidar_type 2
~~~~/home/astronaut/WorkSpace_own/FAST_LIO_SAM_test/src/FAST_LIO_SAM/FAST_LIO_SAM/ file opened
[ INFO] [1676912969.364559491]: IMU Initial Done
[ WARN] [1676912969.365444107]: No point, skip this scan!
我核对了lidar和imu的topic类型,没有问题,我寻找不到哪里出错,如果您能提供任何帮助,不胜感激,再次感谢!
-- fast_lio_sam: 1 messages, 2 services
CMake Warning at /opt/ros/noetic/share/catkin/cmake/catkin_package.cmake:166 (message):
catkin_package() DEPENDS on 'GTSAM' but neither 'GTSAM_INCLUDE_DIRS' nor
'GTSAM_LIBRARIES' is defined.
Call Stack (most recent call first):
/opt/ros/noetic/share/catkin/cmake/catkin_package.cmake:102 (_catkin_package)
FAST_LIO_SAM/FAST_LIO_SAM/CMakeLists.txt:102 (catkin_package)
-- Configuring incomplete, errors occurred!
See also "/home/yhp/ProjectRaw/fast_lio_sam_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/yhp/ProjectRaw/fast_lio_sam_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed
fast-lio几乎是每秒一帧的速度来显示地图的,对于有大范围建图太慢了,而且没有提取关键帧,最后建出来的图也很大,请问有没有什么思路改进一下?
你好,请问下gnss与lidar之间的R和T该如何确定?我在测试过程中发现,如果外参设置成单位矩阵的话,走直线情况下gnss轨迹与lidar轨迹或者融合后的轨迹贴合较好,但是在转弯场景,尤其是原地转弯这种场景下,轨迹会有明显的偏移。应该是与外参有关系的,但是gnss只有位置,它与lidar之间的外参该怎么确定呢?谢谢
在你的结果中我发现您的里程计路径和GNSS路径在高程上有较大的差异,是因为没有使用rpy来对Z轴进行约束吗,还是觉得gps在高程上的误差本来就大所以不用讲路径拉到gnss的高程上。
我看了源代码,发现上面也有这两个错误。
你好,关于真实位姿的问题想请教一下。
我用的FAST-LIO-LC的数据集做的测试。为了能够得到真实的位姿,我订阅了代码中的odometry话题,但是得到的真实位姿的xyz的值和optimize_pose的xyz值相差太多,想请教一下是否订阅的话题出现了错误还是我写的代码的问题?
`void publish_odometry(const ros::Publisher &pubOdomAftMapped)
{
odomAftMapped.header.frame_id = "camera_init";
odomAftMapped.child_frame_id = "body";
odomAftMapped.header.stamp = ros::Time().fromSec(lidar_end_time); // ros::Time().fromSec(lidar_end_time);
set_posestamp(odomAftMapped.pose);
pubOdomAftMapped.publish(odomAftMapped);
auto P = kf.get_P();
for (int i = 0; i < 6; i++)
{
int k = i < 3 ? i + 3 : i - 3;
odomAftMapped.pose.covariance[i * 6 + 0] = P(k, 3);
odomAftMapped.pose.covariance[i * 6 + 1] = P(k, 4);
odomAftMapped.pose.covariance[i * 6 + 2] = P(k, 5);
odomAftMapped.pose.covariance[i * 6 + 3] = P(k, 0);
odomAftMapped.pose.covariance[i * 6 + 4] = P(k, 1);
odomAftMapped.pose.covariance[i * 6 + 5] = P(k, 2);
}
static tf::TransformBroadcaster br;
tf::Transform transform;
tf::Quaternion q;
transform.setOrigin(tf::Vector3(odomAftMapped.pose.pose.position.x,
odomAftMapped.pose.pose.position.y,
odomAftMapped.pose.pose.position.z));
q.setW(odomAftMapped.pose.pose.orientation.w);
q.setX(odomAftMapped.pose.pose.orientation.x);
q.setY(odomAftMapped.pose.pose.orientation.y);
q.setZ(odomAftMapped.pose.pose.orientation.z);
/添加***********/
PointTypePose thisPose6D;
thisPose6D.x = odomAftMapped.pose.pose.position.x;
thisPose6D.y = odomAftMapped.pose.pose.position.y;
thisPose6D.z = odomAftMapped.pose.pose.position.z;
thisPose6D.roll = 0;
thisPose6D.pitch = 0;
thisPose6D.yaw = 0;
//thisPose6D.intensity = 0;
//thisPose6D.time = lidar_end_time;
odometry_cloudKeyPoses6D->push_back(thisPose6D);
/**********************************************/
transform.setRotation(q);
br.sendTransform(tf::StampedTransform(transform, odomAftMapped.header.stamp, "camera_init", "body"));
}`
/写入txt代码部分***/
for(int i = 0; i < odometry_cloudKeyPoses6D->size(); i++){
pose_groundtruth.t = Eigen::Vector3d(odometry_cloudKeyPoses6D->points[i].x, odometry_cloudKeyPoses6D->points[i].y, odometry_cloudKeyPoses6D->points[i].z );
pose_gnss.R = Exp(double(odometry_cloudKeyPoses6D->points[i].roll), double(odometry_cloudKeyPoses6D->points[i].pitch), double(odometry_cloudKeyPoses6D->points[i].yaw) );
WriteText(file_pose_groundtruth, pose_groundtruth);
}
cout << "Sucess groundtruth poses to pose files ..." << endl;
/**********************************/
Wonderful work! Just want to know whether your repo could run on a 6-axis IMU?
@kahowang 谢谢您提供的优秀的代码。但这几天在程序运行时,遇到闭环时就立马崩溃的问题(在ubuntu18.04和ubuntu20.04上都进行了测试)。用gdb进行排查,结果显示跟踪到闭环部分的函数loopFindNearKeyframes中 pcl::PointCloud::Ptr cloud_temp(new pcl::PointCloud())问题,但这样定义变量是没问题的呀。想问下是否您在测试过程中也遇到这种问题,或者提供解决办法的思路。以下是gdb的结果:
请问大佬,如果只用velodyne和IMU可以运行此代码吗?需要怎样的改进
代码成功编译运行,想要自己修改某些内容,但是使用vscode打开该项目laserMapping.cpp和IMU_Processing.hpp代码无法补全,出错也没有红色波浪线,但preprocess.cpp可以补全代码,不知道是不是头文件的问题,请问作者遇到过这种情况吗?
Hi @kahowang Thanks for your great works!
when I save the map, some error occurs:
rosservice call /save_map "resolution: 0.0 destination: ''"
ERROR: Unable to load type [fast_lio_sam/save_map].
Have you typed 'make' in [fast_lio_sam]?
any suggestions? Thanks a lot!
你好,使用你的算法进行gazebo仿真时出现Failed to find match for field 'time'警告,我尝试修改velodyne lidar sdf的horizontal和vertical的参数,但是没有效果,想咨询下有没有可以解决这个问题的办法或者思路,请您指点一下,谢谢
雷达长时间没有回波,只有imu和gps的情况下,能继续工作吗?
rviz点云速度和rosbag播放速度相比慢很多,想知道在那出问题的
你好,感谢你开源这个项目,我在用 mid 70 建图时发现两个问题:
1,rviz中的点云更新很慢,比实际要延迟5s以上
2,程序运行到一定时间就报错,并且没有找到相关的报错日志,详情如下,请问有解决办法吗?
... logging to /home/lin/.ros/log/2a0d6948-097e-11ed-bd7f-c8f7504e8e86/roslaunch-lin-Latitude-5490-18848.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://lin-Latitude-5490:36025/
PARAMETERS
NODES
/
laserMapping (fast_lio_sam/fastlio_sam_mapping)
rviz (rviz/rviz)
ROS_MASTER_URI=http://localhost:11311
process[laserMapping-1]: started with pid [18875]
process[rviz-2]: started with pid [18876]
Multi thread started
p_pre->lidar_type 1
[ WARN] [1658470269.904093606]: No point, skip this scan!
[ INFO] [1658470270.002792391]: IMU Initial Done
[ WARN] [1658470270.002894994]: No point, skip this scan!
[ INFO] [1658470315.040993040]: Find loop clousre frame
[laserMapping-1] process has died [pid 18875, exit code -11, cmd /home/lin/catkin_ws/devel/lib/fast_lio_sam/fastlio_sam_mapping __name:=laserMapping __log:=/home/lin/.ros/log/2a0d6948-097e-11ed-bd7f-c8f7504e8e86/laserMapping-1.log].
log file: /home/lin/.ros/log/2a0d6948-097e-11ed-bd7f-c8f7504e8e86/laserMapping-1*.log
GPS的XYZ三维的postion进行GPS先验因子约束的代码会放出来吗?大概什么时间能弄好?
您添加的算法运行过程中卫星信号中断10分钟以上能再回复,会不会有问题?
运行过程中雷达信号消失(无人机高度超过雷达探测距离)、可以继续使用卫星里程计工作吗?
无人机飞行一段距离后再回到雷达探测范围的高度,雷达里程计还能恢复工作吗?
您好,我对比了您的程序和
https://github.com/zhh2005757/FAST-LIO-Multi-Sensor-Fusion
这个程序。发现这个程序有一个GNSS_Heading的旋转矩阵,原因是lio-sam是以enu为地图坐标的,而fast-lio是以imu第一帧的坐标为世界坐标建图的。2者差一个角度。
我用您的程序,跑我的数据集,就是差了一个旋转角,是否是这个原因?
首先感谢您非常优秀的工作,想问一下如果针对操场这种很空旷的场景,几何特征较少,有没有一些参数调整上的建议呢?
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.