yahboom
HomeLearn
Solution
Blog
Online Store
About Us
EN/中文
NUWA-HP60C Depth Camera📖
1.ROS1-Depth camera usage course
  • 1. Environment Construction
  • 2. Camera recording video
2.ROS1-ROS+OpenCV application
  • 1.ROS+Opencv Basics
  • 2.Face recognition
  • 3.Harris corner detection
  • 4. Target Tracking Algorithm
  • 5. Contour moment
  • 6. Polygonal Outlines
  • 7. Discrete Fourier Transform Algorithm
  • 8. Edge Detection Algorithm
  • 9. Face Detection Algorithm
  • 10. Optical flow detection algorithm
  • 11. Contour Detection
  • 12. General contour detection
  • 13. Feature point tracking
  • 14.HLS Color Filtering
  • 15. Hough circle detection
  • 16. Hough Line Detection
  • 17.HSV color filtering
  • 18.LK optical flow algorithm
  • 19. Human Detection Algorithm
  • 20. Phase-correlated displacement detection
  • 21. Image pyramid sampling algorithm
  • 22.RGB color filtering
  • 23. Clear background detection algorithm
  • 24. Streamlining the optical flow algorithm
  • 25. Simple Filter
  • 26. Threshold Image Processing
  • 27. Watershed segmentation algorithm
3.ROS1-Mediapipe course
  • 1.Hand detection
  • 2.Posture detection
  • 3.Overall detection
  • 4.Face Mesh
  • 5.Face recognition
  • 6.Face effects
  • 7.Face Detection
  • 8.3D Object Recognition
  • 9.Paintbrush
  • 10.Finger control
  • 11.Gesture Recognition
4.ROS1-Depth camera application course
  • 1. Camera calibration
  • 2. QR code
  • 3. Human Pose Estimation
  • 4. Target detection
  • 5. Point cloud data viewing
  • 6. AR Vision
  • 7.AR QR code tracking
  • 8. Color Tracking
  • 9. Object Tracking
5.ROS1-Linux basic course
  • 1.Introduction to Linux system
  • 2.Ubuntu file system
  • 3.Ubuntu common commands
  • 4.Ubuntu common editors
  • 5.Ubuntu software operation commands
  • 6.Virtual machine installation
  • 7.SSH remote control
  • 8.VNC remote control
  • 9.Transfer files remotely
  • 10.Driver library and communication
  • 11.Static IP and hotspot mode
  • 12.Bind device ID
  • 13.Capacity expansion and resource allocation
  • 14.Update system software sources
  • 15.Set root user password
  • 16.sudo free password
  • 17.Connect to WiFi network
  • 18.View system version
  • 19.Customized service management
  • 20.Back up system image
6.ROS1-OpenCV course
  • 1.Opencv Source CV Introduction
  • 2.Image reading and display
  • 3.Picture writing
  • 4.Picture Quality
  • 5.Pixel Operation
  • 6.Picture scaling
  • 7.Picture cutting
  • 8.Picture translation
  • 9.Picture mirroring
  • 10.Affine transformation
  • 11.Picture rotation
  • 12.Perspective transformation
  • 13.Grayscale processing
  • 14.Image binarization
  • 15.Edge detection
  • 16.Line segment drawing
  • 17.Rectangle and circle drawing
  • 18.Text and picture drawing
7.ROS1 basic course
  • 1.ROS introduction
  • 2.ROS installation
  • 3.ROS common command tools
  • 4.ROS workspace
  • 5.ROS function package
  • 6.ROS node
  • 7.ROS topic publisher
  • 8.ROS topic subscribers
  • 9.ROS service client
  • 10.ROS service server
  • 11.ROS action client
  • 12.ROS action server
  • 13.ROS custom message reception
  • 14.ROS-launch file
  • 15.ROS-TF transformation
  • 16.ROS parameter service
  • 17.ROS-rviz use
  • 18.ROS-rqt tool usage
  • 19.Topic message recording and playback
  • 20.urdf model introduction
  • 21.gazebo introduction
  • 22.ROS distributed communication
8.ROS2-Depth Camera Application Course
  • 1. Use of Depth Camera
  • 2. Camera internal parameter calibration
  • 3. Color tracking
  • 4. KCF Object Tracking
  • 5. ORBSLAM2 Basics
  • 6. ORB_SLAM2 PCL Mapping
  • 7. ORB_SLAM2 Octomap Mapping
9.ROS2-OpenCV course
  • 1. ROS+OpenCV application
  • 2. QR code creation and recognition
  • 3. AR Vision
10.ROS2-Mediapipe course
  • 1.Hand detection
  • 2.Posture detection
  • 3.Overall detection
  • 4.Face Mess
  • 5.Face recognition
11.ROS2 basic course
  • 1.Introduction to ROS2
  • 2.ROS2 install Humble
  • 3.ROS2 development environment
  • 4.ROS2 workspace
  • 5.ROS2 function package
  • 6.ROS2 node
  • 7.ROS2 topic communication
  • 8.ROS2 service communication
  • 9.ROS2 action communication
  • 10.ROS2 custom interface message
  • 11.ROS2 parameter service case
  • 12.ROS2 meta-function package
  • 13.ROS2 distributed communication
  • 14.ROS2 DDS
  • 15.ROS2 time related API
  • 16.ROS2 common command tools
  • 17.ROS2 rviz2 use
  • 18.ROS2 rqt toolbox
  • 19.ROS2 Launch startup file configuration
  • 20.ROS2 recording and playback tool
  • 21.ROS2 URDF model
  • 22.ROS2 Gazebo simulation platform
  • 23.ROS2 TF2 coordinate transformation
5.Bracket installation video
  • Bracket installation video
Download
  • ROS1_VM
  • ROS2_VM
  • ROS1_Code
  • ROS2_Code
  • DataSheet
  • 3D_Model_File
  • Windows Software
  • ROS2_Basic_VM
Download ZIP

Welcome to NUWA-HP60C Depth Camera repository

5. ORBSLAM2 Basics

5. ORBSLAM2 Basics

 

5. ORBSLAM2 Basics5.1. Introduction ORB-SLAM is mainly used for monocular SLAM;5.2, Official Case5.2.1, Dataset Location5.2.2, Monocular Test5.2.4, Binocular Test5.2.5, RGBD test5.3, ORB_SLAM2 ROS2 camera test5.3.1, monocular test

Official website: http://webdiis.unizar.es/~raulmur/orbslam/

TUM Dataset: http://vision.in.tum.de/data/datasets/rgbd-dataset/download

KITTI Dataset: http://www.cvlibs.net/datasets/kitti/eval_odometry.php

EuRoC Dataset: http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

orb_slam2_ros: http://wiki.ros.org/orb_slam2_ros

ORB-SLAM: https://github.com/raulmur/ORB_SLAM

ORB-SLAM2: https://github.com/raulmur/ORB_SLAM2

ORB-SLAM3: https://github.com/UZ-SLAMLab/ORB_SLAM3

5.1. Introduction ORB-SLAM is mainly used for monocular SLAM;

ORB-SLAM2 version supports monocular, binocular and RGBD interfaces;

ORB-SLAM3 version adds IMU coupling and supports fisheye cameras.

All steps of ORB-SLAM are unified Use the ORB feature of the image. ORB feature is a very fast feature extraction method with rotation invariance and can be constructed with pyramids to achieve scale invariance. Using a unified ORB feature helps the SLAM algorithm in feature extraction and tracking, key The steps of frame selection, 3D reconstruction, and closed-loop detection are consistent. The system is also robust to violent movements and supports wide-baseline closed-loop detection and relocalization, including fully automatic initialization. system, so it can calculate the trajectory of the camera in real time and generate a sparse 3D reconstruction of the scene.

Based on ORB-SLAM, ORB-SLAM2 contributes:

1) The first open source SLAM system for monocular, binocular and RGBD cameras, including loop closure, relocalization and map reuse.

2) RGBD results show that through Using BA can achieve more accuracy than ICP or minimization based on photometric and depth errors.

3) By using the far and near points in the stereo, as well as monocular observations, the stereo results are more accurate than direct stereo SLAM algorithms.

4 ) Light positioning mode can effectively reuse maps.

ORB-SLAM2 includes modules common to all SLAM systems: tracking, mapping, relocalization, and loop closing. The following figure is ORB -The process of SLAM2.

12.5.1

5.2, Official Case

Note: The virtual machine has been configured with the orbsalm environment and can be run directly. If it is on other platforms, you need to set up the environment in advance before running.

5.2.1, Dataset Location

/home/yahboom/orbslam2/ORB_SLAM2/data

The EuRoC MH01 dataset and TUM rgbd_dataset_freiburg1_xyz dataset were downloaded.

image-20230417111610512

If you need other datasets, you can download them from the following address:

xxxxxxxxxx
TUM Dataset: http://vision.in.tum.de/data/datasets/rgbd-dataset/download
KITTI Dataset: http://www.cvlibs.net/datasets/kitti/eval_odometry.php
EuRoC Dataset: http://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets

5.2.2, Monocular Test

Here, take the EuRoC dataset as an example and enter the ORB_SLAM2 directory:

xxxxxxxxxx
cd /home/yahboom/orbslam2/ORB_SLAM2

Run the following command:

xxxxxxxxxx
Examples/Monocular/mono_euroc Vocabulary/ORBvoc.txt Examples/Monocular/EuRoC.yaml data/MH_01_easy/mav0/cam0/data Examples/Monocular/EuRoC_TimeStamps/MH01.txt

The successful operation interface is as shown below,

image-20231030153639673

The blue box is the key frame, the green box is the camera orientation, the black point is the saved point, and the red point is the point currently seen by the camera.

Click [Show Image] to view the image.

image-20231030153713905

After the test, the keyframe is saved to the KeyFrameTrajectory.txt file in the current directory:

xxxxxxxxxx
# Timestamp Position (x y z) + Posture (x y z w)
1341847980.722988 -0.0000464 0.0001060 0.0000110 -0.0000183 0.0001468 -0.0000286 1.0000000

5.2.4, Binocular Test

Here, take the EuRoC dataset as an example, enter the ORB_SLAM2 directory, and run the following command:

xxxxxxxxxx
cd /home/yahboom/orbslam2/ORB_SLAM2

Run the following command,

xxxxxxxxxx
Examples/Stereo/stereo_euroc Vocabulary/ORBvoc.txt Examples/Stereo/EuRoC.yaml data/MH_01_easy/mav0/cam0/data data/MH_01_easy/mav0/cam1/data Examples/Stereo/EuRoC_TimeStamps/MH01.txt

The successful operation interface is as follows:

image-20231030154344371

The blue frame is the key frame, the green frame is the camera direction, the black dot is the saved point, and the red dot is the point currently seen by the camera.

Click [Show Image] to view the image.

image-20231030154418875

After the test, the keyframe is saved to the CameraTrajectory.txt file in the current directory

xxxxxxxxxx
# Timestamp Position (x y z) + Posture (x y z w)
1403636597.963556 -0.020445164 0.127641633 0.107868195 -0.136788622 -0.074876986 -0.044620439 0.986757994

5.2.5, RGBD test

Enter the ORB_SLAM2 directory and enter the following command:

xxxxxxxxxx
cd /home/yahboom/orbslam2/ORB_SLAM2

Run the following command,

xxxxxxxxxx
Examples/RGB-D/rgbd_tum Vocabulary/ORBvoc.txt Examples/RGB-D/TUM1.yaml data/rgbd_dataset_freiburg3_long_office_household data/rgbd_dataset_freiburg3_long_office_household/associations.txt

The successful operation interface is as follows:

image-20231030154811722

Click [Show Image] to view the image.

image-20231030154954526

CameraTrajectory.txt and KeyFrameTrajectory.txt will also be saved after the run

5.3, ORB_SLAM2 ROS2 camera test

5.3.1, monocular test

Start camera ORB_SLAM2 test

xxxxxxxxxx
# Start the camera: Here only the camera's RGB image is used (equivalent to a monocular camera)
ros2 launch ascamera hp60c.launch.py
# Start the orbslam node
ros2 launch yahboomcar_slam orbslam_ros_launch.py ••orb_slam_type:=mono

image-20231030151254075

When the command is executed, there is only a green box in the [ORB_SLAM2:Map Viewer] interface, and the [ORB_SLAM2:Current Frame] interface is trying to initialize. At this time, slowly move the camera up, down, left, and right to find feature points in the picture and initialize slam.

image-20231030151414056

Click [Show Image] to view the image.

image-20231030151438658

After the test, the keyframe is saved in the KeyFrameTrajectory.txt file in the following directory:

xxxxxxxxxx
~/ascam_ros2_ws/src/ros2-ORB_SLAM2/src//monocular/KeyFrameTrajectory.txt

image-20230417160920005

As shown in the figure above, enter the [SLAM MODE] mode at this time. When running the monocular, each frame of the image must be continuously acquired to locate the camera. If the pure positioning mode [Localization Mode] in the upper left figure is selected, the camera will not be able to find its own position and must start acquiring keyframes again.

KCF Object Tracking
ORB_SLAM2 PCL Mapping

COMPANY

  • About us
  • Team Style
  • Blog

LEARNING & EXPLORATION

  • Tutorials
  • Edge AI hardware
  • Educational robots
  • Embedded intelligent hardware

WHERE TO BUY

  • Yahboom Online Store
  • Amazon
  • Alibaba
  • AliExpress
  • Mercado

TECHNOLOGY SUPPORT

  • Email: support@yahboom.com

BE A DISTRIBUTOR

  • Email: sales@yahboom.com
QR Code

Copyright © 2017-2026 Yahboom. All Rights Reserved.

EN/中文