Hand torn visual slam14 lecture ch13 code (7) backend optimization Backend::Optimize()

In the function of InsertKeyframe() in the previous article (6), there is a Backend::UpdateMap() function. From here, the backend optimization is activated through the condition variable map_update_. backend.h: // * There is a separate optimization thread, which starts optimization when the Map is updated. // * Map update is triggered by the front end #ifndef […]

Robot SLAM and autonomous navigation

The rapid development of robot technology has prompted robots to gradually enter people’s lives, and service-type indoor mobile robots have attracted widespread attention. However, there are still many problems that need to be solved in the popularization of indoor robots, and positioning and navigation are one of the key issues. In the research of this […]

Ubuntu20.04 installation + ORB_SLAM3 environment configuration and operation [including all installation packages]

1. Ubuntu installation: Reference blog: ubuntu installation Reference blog: orb-slam3 tailwind version 1. Ubuntu20.04 mirror address: https://pan.baidu.com/s/1hEx-rASvDbgLRwOJsYZVUQ?pwd=9791 Extraction code: 9791 2. Download the boot disk burning tool: https://pan.baidu.com/s/1Du7MHGchRqWc-J6R-ElpvQ?pwd=1234 Extraction code: 1234 2. ORB-SLAM3 installation: 2.1 Environment Library Installation 2.1.1 Install git, g++ sudo apt-get install git sudo apt install g++ 2.1.2 Install cmake cmake installation […]

Tucker Robot runs ORB_SLAM3 on Ubuntu18.04 (including running the Euroc data set and obtaining front-end data in real time through monocular and RGB-D camera modes)

I looked at visual slam related directions during the front-end time. There happened to be a small car in the laboratory, so I tried to run ORB-SLAM3 on it. The following is a summary of the operation steps and problems encountered. If you need to run ORB_SLAM3 directly on Ubuntu 18.04, you can ignore the […]

Hand tear visual slam14 lecture ch7/pose_estimation_3d2d.cpp (2)

In the previous article: Handsear ch7/pose_estimation_3d2d (1), we called the epnp method for pose estimation. Here we use the nonlinear optimization method to solve the pose and use g2o for BA optimization. First introduce g2o: Please refer to: Detailed introduction of g2o 1. Construction of g2o graph optimization ideas: Step 1: Create a linear equation […]

Hand torn visual slam14 talks about ch13 code (6) normal tracking mode Track()

Previous article During the completion of binocular initialization, the tracking status FrontendStatus changes to TRACKING_GOOD, so after that, the normal tracking Track() function will be entered: The process of the Track function is also very clear: First, use the uniform velocity model to set an initial value for the pose of the current frame. Here, […]

Dyna-SLAM code interpretation: Conversion.cc

1. This code looks like a code snippet for some initialization and error handling operations in the Python C/C++ extension. Let me explain step by step what this code means: static void init() { import_array(); } static int failmsg(const char *fmt, …) { char str[1000]; va_list ap; va_start(ap, fmt); vsnprintf(str, sizeof(str), fmt, ap); va_end(ap); PyErr_SetString(PyExc_TypeError, […]

ROS2 Monocular + IMU real-time operation based on ORB_SLAM3

Following on from the previous article. ORB_SLAM3 version: https://github.com/electech6/ORB_SLAM3_detailed_comments ros2 ORB_SLAM3 program: https://github.com/zang09/ORB_SLAM3_ROS2 1 Compile non-ROS2 ORB_SLAM3 I won’t say much here, just refer to my previous article 2 Compile ROS2 ORB_SLAM3 1. Here directly put the downloaded ORB_SLAM3_ROS2 into the newly compiled ORB_SLAM3_detailed_comments (I renamed it to ORB_SLAM3) folder 2. Since there is no […]