Giter Club home page Giter Club logo

fast_lio_slam's Introduction

FAST_LIO_SLAM

News

  • Aug 2021: The Livox-lidar tests and corresponding launch files will be uploaded soon. Currenty only Ouster lidar tutorial videos had been made.

What is FAST_LIO_SLAM?

Integration of

  1. FAST-LIO2 (Odometry): A computationally efficient and robust LiDAR-inertial odometry (LIO) package
  2. SC-PGO (Loop detection and Pose-graph Optimization): Scan Context-based Loop detection and GTSAM-based Pose-graph optimization

Features

  • An easy-to-use plug-and-play LiDAR SLAM
    • FAST-LIO2 and SC-PGO run separately (see below How to use? tab).
    • SC-PGO takes odometry and lidar point cloud topics from the FAST-LIO2 node.
    • Finally, an optimized map is made within the SC-PGO node.

How to use?

  • The below commands and the launch files are made for playing the MulRan dataset, but applicable for livox lidars in the same way (you could easily make your own launch files).
    # terminal 1: run FAST-LIO2 
    mkdir -p ~/catkin_fastlio_slam/src
    cd ~/catkin_fastlio_slam/src
    git clone https://github.com/gisbi-kim/FAST_LIO_SLAM.git
    git clone https://github.com/Livox-SDK/livox_ros_driver
    cd .. 
    catkin_make
    source devel/setup.bash
    roslaunch fast_lio mapping_ouster64_mulran.launch # setting for MulRan dataset 

    # open the other terminal tab: run SC-PGO
    cd ~/catkin_fastlio_slam
    source devel/setup.bash
    roslaunch aloam_velodyne fastlio_ouster64.launch # setting for MulRan dataset 

    # open the other terminal tab
    # run file_player_mulran (for the details, refer here https://github.com/irapkaist/file_player_mulran)

Utility

  • We support keyframe scan saver (as in .pcd) and provide a script reconstructs a point cloud map by merging the saved scans using the optimized poses. See here.

Example results

Acknowledgements

fast_lio_slam's People

Contributors

borongyuan avatar gisbi-kim avatar harveybia avatar xw-hku avatar zang09 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fast_lio_slam's Issues

The PGO loops forever

Thank you for the great work.
In running fastlio_slam, one inconvenience I have experienced is that the SC_PGO loops for ever long after the rosbag have completed.
Do you have some suggestion on how to terminate the PGO loop besides using Ctrl+C in the terminal?

Thanks,

Problem with Riverside datasets

I'm having this problem when runing one of the riverside datasets:
image
image

I looked into #10, but this doesn't help me, because when I go in RVIZ, there is nothing happening, it dosent want to visualize any pointcloud2 topic

QObject::connect: Cannot queue arguments of type 'QVector<int>'

Hello,

i have the following warning and i would like to ask how can i fix it. I understand that it has to do with Qt library but in which cpp file i have to put the argument ?
The argument is this right ? qRegisterMetaType<QVector<int> >("QVector");

Thanks in advance

[ INFO] [1663222507.129372349]: IMU Initial Done
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)
QObject::connect: Cannot queue arguments of type 'QVector<int>'
(Make sure 'QVector<int>' is registered using qRegisterMetaType().)

[alaserPGO-2]

[alaserPGO-2] process has died [pid 14127, exit code -11, cmd /home/dji/catkin_fastlio_slam/devel/lib/aloam_velodyne/alaserPGO /aft_mapped_to_init:=/Odometry /velodyne_cloud_registered_local:=/cloud_registered_body /cloud_for_scancontext:=/cloud_registered_lidar __name:=alaserPGO __log:=/home/dji/.ros/log/c7c11322-f59a-11eb-a8e8-b8975ab8c165/alaserPGO-2.log].
log file: /home/dji/.ros/log/c7c11322-f59a-11eb-a8e8-b8975ab8c165/alaserPGO-2*.log

whether you have modified the code in FASTLIO2

Thank you very much for your excellent work,kim. I would like to ask whether you have modified the code in FASTLIO2.Because I think every time loopback is detected, the results after ISAM2 optimization need to be updated to FasliO2 in real time.I am looking forward for your reply.Thank you!

maybe the direction of loop constraint is reserve

correctionLidarFrame = icp.getFinalTransformation();
pcl::getTranslationAndEulerAngles (correctionLidarFrame, x, y, z, roll, pitch, yaw);
gtsam::Pose3 poseFrom = Pose3(Rot3::RzRyRx(roll, pitch, yaw), Point3(x, y, z));
gtsam::Pose3 poseTo = Pose3(Rot3::RzRyRx(0.0, 0.0, 0.0), Point3(0.0, 0.0, 0.0));
return poseFrom.between(poseTo);

In _loop_kf_idx local coordinate system, PoseFrom is the origin of _curr_kf_idx, and PoseTo is the origin of _loop_kf_idx. So the return should be _curr_kf_idx.between(_loop_kf_idx). But in line 689, the edge is prev_node_idx.between(curr_node_idx). Maybe the direction of loop constraint is reserve?
gtSAMgraph.add(gtsam::BetweenFactor<gtsam::Pose3>(prev_node_idx, curr_node_idx, relative_pose, robustLoopNoise));

In another project, I find similar code as expect.
https://github.com/irapkaist/SC-LeGO-LOAM/blob/705367eceaef797d9b4bda1c5bb91c9a0ec771f7/SC-LeGO-LOAM/LeGO-LOAM/src/mapOptmization.cpp#L1081-L1088

Another probelm, I argee in calculating _curr_kf_idx cloud using _loop_kf_idx as root_idx. But in calculating _loop_kf_idx nearby cloud, we shound use current index as root_idx just like the code below.
https://github.com/irapkaist/SC-LeGO-LOAM/blob/705367eceaef797d9b4bda1c5bb91c9a0ec771f7/SC-LeGO-LOAM/LeGO-LOAM/src/mapOptmization.cpp#L942-L947

ERROR on execution

Hello guys,

i followed the steps to install FAST_LIO_SLAM but when im running the following command

roslaunch aloam_velodyne fastlio_ouster64.launch

i have the following error (Note! when im going to the log file path i cant find the log)

process[alaserPGO-1]: started with pid [22887]
process[rvizscpgo-2]: started with pid [22888]
/media/geo/d057a6b6-f590-4870-a4f8-13b392d0f9eb/geo/catkin_fastlio_slam/devel/lib/aloam_velodyne/alaserPGO: symbol lookup error: /media/geo/d057a6b6-f590-4870-a4f8-13b392d0f9eb/geo/catkin_fastlio_slam/devel/lib/aloam_velodyne/alaserPGO: undefined symbol: _ZN5gtsam4Rot36RzRyRxEddd

[alaserPGO-1] process has died [pid 18283, exit code 127, cmd /media/geo/d057a6b6-f590-4870-a4f8-13b392d0f9eb/geo/catkin_fastlio_slam/devel/lib/aloam_velodyne/alaserPGO /aft_mapped_to_init:=/Odometry /velodyne_cloud_registered_local:=/cloud_registered_body /cloud_for_scancontext:=/cloud_registered_lidar __name:=alaserPGO __log:=/home/geo/.ros/log/8397e4e6-ef73-11eb-92aa-3c6aa7d21fc7/alaserPGO-1.log].
log file: /home/geo/.ros/log/8397e4e6-ef73-11eb-92aa-3c6aa7d21fc7/alaserPGO-1*.log

i tried to debug it through gbd <node pkg="aloam_velodyne" type="alaserPGO" name="alaserPGO" output="screen" launch-prefix="gdb -ex run --args"/> and i have the following result.

ROS_MASTER_URI=http://localhost:11311

process[alaserPGO-1]: started with pid [20427]
process[rvizscpgo-2]: started with pid [20428]
GNU gdb (Ubuntu 8.1.1-0ubuntu1) 8.1.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /media/geo/d057a6b6-f590-4870-a4f8-13b392d0f9eb/geo/catkin_fastlio_slam/devel/lib/aloam_velodyne/alaserPGO...done.
Starting program: /media/geo/d057a6b6-f590-4870-a4f8-13b392d0f9eb/geo/catkin_fastlio_slam/devel/lib/aloam_velodyne/alaserPGO /aft_mapped_to_init:=/Odometry /velodyne_cloud_registered_local:=/cloud_registered_body /cloud_for_scancontext:=/cloud_registered_lidar __name:=alaserPGO __log:=/home/geo/.ros/log/8397e4e6-ef73-11eb-92aa-3c6aa7d21fc7/alaserPGO-1.log
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Invalid argument]
/media/geo/d057a6b6-f590-4870-a4f8-13b392d0f9eb/geo/catkin_fastlio_slam/devel/lib/aloam_velodyne/alaserPGO: symbol lookup error: /media/geo/d057a6b6-f590-4870-a4f8-13b392d0f9eb/geo/catkin_fastlio_slam/devel/lib/aloam_velodyne/alaserPGO: undefined symbol: _ZN5gtsam4Rot36RzRyRxEddd
[Inferior 1 (process 20457) exited with code 0177]
(gdb) 

Ideal IMU Frequency and Time Synchronization

Hi,

Can you please suggest the ideal IMU frequency for this package? Plus, can you please comment on achieving better time synchronization between the IMU and Livox (Mid-70) Custom Messages ?

Thanks.

About GPS

I noticed that the GPS was subscribed in file laserPosegraphOptimization.cpp. But I did't find out who advertise GPS messages. I also noticed that GPS was used in videos of examples. So where are GPS messages published?

Livoa avia

Hello,
when you will upload code for livox lidars? Especially for LIvox avia.

Thanks,
Antun

build error for aloam velodyne

[ 63%] Building CXX object FAST_LIO_SLAM/SC-PGO/CMakeFiles/alaserPGO.dir/src/laserPosegraphOptimization.cpp.o
In file included from /usr/local/include/eigen3/Eigen/Eigenvalues:35,
from /usr/local/include/eigen3/Eigen/Dense:7,
from /home/yogeshkumargn/ROS_WORKSPACES/fastlio_slam/src/FAST_LIO_SLAM/SC-PGO/src/laserMapping.cpp:53:
/usr/local/include/eigen3/Eigen/src/misc/RealSvd2x2.h:19:6: error: redefinition of ‘template<class MatrixType, class RealScalar, class Index> void Eigen::internal::real_2x2_jacobi_svd(const MatrixType&, Index, Index, Eigen::JacobiRotation, Eigen::JacobiRotation)

Livox AVIA fast lio slam?

Please can someone tells me what I need to change in launch file or .cpp or .h file to get good loop closure for livox avia?

I tried with this algorithm fast_lio_slam and sc_pgo founds a loot of loop_closures, but it dosen't align 3d clouds by loop closure (it found loop closure, a lot of them, but after that it dosent do nothing, and I want just to align a revisted places which are mismatched).
I having double coridors of my halls in faculty (Do indoor mesauring with some changes in fast_lio: )

1
2

Here is my raw bag file from livox avia, imu and lidar topic:
https://geofhr-my.sharepoint.com/:u:/g/personal/ajakopec_geof_hr/EVO860RfOAxCjQsdN6Dvz68BgmdISTwoKXCli00A4DhSzw?e=Jnt1eJ

and I also got this error:
image

Please, help me! I'm trying for a week to get good results...

Building in Jetson ROS2 Galactic Desktop

Hi, I would like to ask for the installation guideline for ROS2, as catkin_make is no longer being used in ROS2. Would there be a chance to update the tutorial with ROS2?

How can I get a good result for a pipe SLAM?

Hi,

Thanks for the good job. I have Ouster Os0-128 sensor and my goal is to have a SLAM model of a pipe in a room. While lidar sees the objects in the room, the FAST-LIO_SLAM works fine but as soon as it gets to the pipe (90cm wide, 2.2 m long with no object in it) the SLAM result is all over the place (the pipe bends, the length of it is not consistent).
I played with the parameters and nothing good came out of it. The following result obtained by:
CONFIG:
scan_line: 128
blind: 0.01
fov_degree: 90
LAUNCH:
point_filter_num: 1
filter_size_surf: 0.05
filter_size_map: 0.01
cube_side_length: 10000

Screen Shot 2022-05-25 at 9 52 49 PM

Does anyone have any suggestion?

Build error with EIGEN

  from /home/ubuntu/slam_test/ws_livox/src/FAST_LIO_SLAM/SC-PGO/src/laserMapping.cpp:53:
/usr/local/include/eigen3/Eigen/src/Eigenvalues/Tridiagonalization.h:550:5: error: ‘EIGEN_CONSTEXPR’ does not name a type; did you mean ‘EIGEN_HAS_CONSTEXPR’?
  550 |     EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT { return m_matrix.rows(); }
      |     ^~~~~~~~~~~~~~~ 

Hi sir
I am trying to rebuild this project with the following environment
Ubuntu 20.04 TLS
ROS Noetic
Eigen 3.4.0

I can build and run the current FAST_LIO, but when I start include your project, it will show me a loooong list of error message. mainly about Eigen

Could you help me to check the version of the Eigen ?

Incorrect exctrinsics Lidar -> Imu

I used your repository to set up a slam configuration with a livox lidar an an external IMU. My setup has imu and lidar mounted with an pitch angle of 17 degree.

Could it be that the orientation of your transformation for the imu of the avia has incorrect signs?
According to your configuration, the extrinsics from lidar->imu are:

extrinsic_T: [ 0.04165, 0.02326, -0.0284 ]
extrinsic_R: [ 1, 0, 0,
0, 1, 0,
0, 0, 1]

The official avia documentation says:
image

[Question] Messages types

Hello @gisbi-kim ,

when i record a bag from my livox has these details

types:       sensor_msgs/PointCloud2 [1158d486dd51d683ce2f1be655c3c181]

topics:      /livox/lidar   3898 msgs    : sensor_msgs/PointCloud2

but the rosbag i downloaded to try the package, which worked perfect, has the following details

types:       livox_ros_driver/CustomMsg [e4d6829bdfe657cb6c21a746c86b21a6]
             sensor_msgs/Imu            [6a62c6daae103f4ff57a132d6f95cec2]
topics:      /livox/imu     52886 msgs    : sensor_msgs/Imu           
             /livox/lidar    2605 msgs    : livox_ros_driver/CustomMsg

because there is an error which says

[ERROR] [1627909350.703778795]: Client [/laserMapping] wants topic /livox/lidar to have datatype/md5sum [livox_ros_driver/CustomMsg/e4d6829bdfe657cb6c21a746c86b21a6], but our version has [sensor_msgs/PointCloud2/1158d486dd51d683ce2f1be655c3c181]. Dropping connection.

Edit

Im talking about /livox/lidar topic


Should i change the lasemapping.cpp

void livox_pcl_cbk(const livox_ros_driver::CustomMsg::ConstPtr &msg)

or i have to do something else? Thank you :)

Kaist-03 example

Hello @gisbi-kim again :D

after i solve the previous error now seems to working but when im running the kaist03 example i have the following error.

Screenshot from 2021-07-30 12-36-26

I upload the tree of folder so you can see if i fail something :P

list.txt

Thanks in advance my friend !

multisession workflow

Is there a way to use multi-session bag file data to reconstruct a scene? I have two bag files with significant overlap and multiple opportunities for loop closures, but they were recorded at different times. What is the workflow for chaining the reconstructions together?

Regards, Dimitar

How to tune parameters for indoor environment?

Hello, @gisbi-kim this work is very cool.

But it does not work well in my indoor test. My sensors are Velodyne16 and Xsens Mti-300. I adjust some parameters(reduce sc_dist_thres to 0.2, reduce sc_max_radius to 20) , but it still does not work.
image

Can you give me some advice about how to tune parameters in my indoor test? I'll appreciate it. Thanks in advance!

The horizon FOV issues

Hi Kim,

thanks for your sharing and wonderful work! It did help a lot.

However, I had some unclear questions currently wrt the Scan Context used in FAST-LIO where Livox Horizon is used. The FOV of Horizon is about 80 degrees, far less than the Hesai or Ouster series. However, I thought in your code, the default angle is still 360 degrees. In such a case, most of the columns will be set to zero? Am I right?

By the way, I found the reverting LC is quite difficult for Horizon, any idea for that?

Bests,

A question about submap construction

*nearKeyframes += * local2global(keyframeLaserClouds[keyNear], keyframePosesUpdated[root_idx]);

Hi, I guess the build of the submap should be
*nearKeyframes += * local2global(keyframeLaserClouds[keyNear], keyframePosesUpdated[keyNear]);
Because the idx of the keyframeLaserClouds and the keyframePosesUpdated need to be consistent.
Now it is
*nearKeyframes += * local2global(keyframeLaserClouds[keyNear], keyframePosesUpdated[root_idx]);

error when doing catkin_make

Hello @gisbi-kim , thank you for your amazing work. I'm trying to use FAST_LIO_SLAM but I'm getting an error when I clone your repo in my catkin_ws/src and doing catkin_make:
/home/gl/catkin_ws/src/FAST_LIO_SLAM/FAST-LIO/include/common_lib.h:8:10: fatal error: fast_lio/Pose6D.h: No such file or directory #include <fast_lio/Pose6D.h>
I'm pretty sure I have all the dependencies installed. I tried using FAST_LIO on its own and SC_A_LOAM package as well and they work on their own but if I try to play the KAIST_03 like in your video I am getting the errors for failed to find match for field xx and nothing shows in RViz because FAST_LIO package doesn't have your changes in the code.
Any idea what is this header file and where I can find it?

Python3 mergemap tool doesn't work

$ python3 makeMergedMap.py makeMergedMap.py:88: SyntaxWarning: "is not" with a literal. Did you mean "!="? if( nodes_count % node_skip is not 0): Traceback (most recent call last): File "makeMergedMap.py", line 8, in <module> from pypcd import pypcd File "/home/nrover/.local/lib/python3.8/site-packages/pypcd/pypcd.py", line 15, in <module> import cStringIO as sio ModuleNotFoundError: No module named 'cStringIO'

Thanks!

Questions about loop closure's local point cloud

Hi, kim!

Thanks for your great work!

Now I have a question about the code of loop closure's local point cloud in laserPosegraphOptimization.cpp at here.

loopFindNearKeyframesCloud(cureKeyframeCloud, _curr_kf_idx, 0, _loop_kf_idx); // use same root of loop kf idx 
loopFindNearKeyframesCloud(targetKeyframeCloud, _loop_kf_idx, historyKeyframeSearchNum, _loop_kf_idx);

I don't understand why you use the last parameter _loop_kf_idx for all of the targetKeyframeCloud, which of them have the point cloud in their local LiDAR frame. Or maybe I have a misunderstand?

Looking forward to your reply!

question about function loopFindNearKeyframesCloud and variable _loop_kf_idx

Hello, the second variable of function
void loopFindNearKeyframesCloud( pcl::PointCloud::Ptr& nearKeyframes, const int& key, const int& submap_size, const int& root_idx) in LaserPosegraphOptimization.cpp is not used.

Another question: why you use _loop_kf_idx but not _curr_kf_idx in the doICPVirtualRelative function?
image

<launch> Parameter

Kim, I collect rosbag in my residential area and use it

FAST_ LIO_ Slam has processed the data. The results of Fast - Lio are basically not too big problems. On the contrary, after the PCD integration of sc-pgo, they become a group.

I hope you can write down the description of parameter setting for further testing!

_This community has both ground (outdoor) and underground (indoor). the rosbag is 17.9G,I can't uploadgoogle cloud !

SC-PGO 在 livox horizon上运行失败

使用如下参数,运行时候,SC-PGO 输出的 laser_odom_path 数据是错误的。好奇 为什么不直接使用 fast_lio 输出的 里程计数据

<!-- if 1, do mapping 10 Hz, if 2, do mapping 5 Hz. Suggest to use 1, it will adjust frequence automaticlly -->
<param name="mapping_skip_frame" type="int" value="1" />

<!-- remove too closed points -->
<param name="minimum_range" type="double" value="0.5"/>

<param name="mapping_line_resolution" type="double" value="0.4"/> <!-- A-LOAM -->
<param name="mapping_plane_resolution" type="double" value="0.8"/> <!-- A-LOAM -->

<!-- SC-A-LOAM -->
<param name="keyframe_meter_gap" type="double" value="0.5"/>

<!-- Scan Context -->
<param name="sc_dist_thres" type="double" value="0.2"/> <!-- SC-A-LOAM, if want no outliers, use 0.1-0.15 -->
<!-- <param name="sc_max_radius" type="double" value="40.0"/> 20 or 40 for indoor -->
<param name="sc_max_radius" type="double" value="80.0"/> <!-- for outdoor -->

<!-- for MulRan -->
<param name="lidar_type" type="string" value="OS1-64"/>
<remap from="/velodyne_points" to="/cloud_registered"/>

<!-- utils -->
<param name="save_directory" type="string" value="/home/lenotary/work/file/data/"/>  <!-- CHANGE THIS and end with / -->

<!-- nodes -->
<node pkg="aloam_velodyne" type="ascanRegistration" name="ascanRegistration" output="screen" /> <!-- A-LOAM -->
<node pkg="aloam_velodyne" type="alaserOdometry" name="alaserOdometry" output="screen" /> <!-- A-LOAM -->
<node pkg="aloam_velodyne" type="alaserMapping" name="alaserMapping" output="screen" /> <!-- A-LOAM -->
<node pkg="aloam_velodyne" type="alaserPGO" name="alaserPGO" output="screen" /> <!-- SC-A-LOAM -->

<!-- visulaization -->
<arg name="rviz" default="true" />
<group if="$(arg rviz)">
    <node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz_close" args="-d $(find aloam_velodyne)/rviz_cfg/aloam_velodyne.rviz" />
</group>

Livox ros Driver2

I want to use it with Livox ros driver2, what all edits should I make in the given repo? to make it configured with Livox mid 360 lidar

SCD for Place Recognition

Hi,

First of all, great work and packages. Do you plan on integrating the release of SCD for place recognition ? Like the way they are generated in SC-LIO-SAM. Also, are you planning on releasing the place recognition cpp based implemented package(ROS) anytime soon for quick tests? Thanks.

person in the merged map

When I use the script to merged the keyframe, the person may in the keyframe. So the map will have some person, anybody have the idea to remove it?
Screenshot from 2021-10-21 10-21-39

[alaserPGO-4]

[ WARN] [1710493584.823823381]: time Map corner and surf num are not enough
posegraph prior node 0 added
terminate called after throwing an instance of 'pcl::IOException'
what(): : [pcl::PCDWriter::writeBinary] Error during open!
[alaserPGO-4] process has died [pid 46422, exit code -6, cmd /home/mars_ugv/catkin_fastlio_slam/devel_isolated/aloam_velodyne/lib/aloam_velodyne/alaserPGO /velodyne_points:=/velodyne_points __name:=alaserPGO __log:=/home/mars_ugv/.ros/log/174d6f1a-e2a8-11ee-ab62-581122405e61/alaserPGO-4.log].
log file: /home/mars_ugv/.ros/log/174d6f1a-e2a8-11ee-ab62-581122405e61/alaserPGO-4*.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.