You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am trying to run the ORB_SLAM3 algorithm with the Oak-D-Pro camera from Luxonis. When I run ORB_SLAM3 in Stereo or Stereo_Inertial mode, there is no image from the right camera, only the image from the left camera. I have tried almost everything in this process but to no avail.
I got help from the following website as a source. https://qiita.com/nindanaoto/items/20858eca08aad90b5bab. I installed on a fresh Ubuntu and did not use the LXD container.
I calibrated the IMU and camera using "Kalibr".
I used the following version of depthai as I used the Noetic version of Ros. https://github.com/luxonis/depthai-ros/releases/tag/v2.10.3-noetic
In the first terminal run the following command:
roslaunch depthai_examples stereo_inertial_node.launch
Here I have made some minor changes to the stereo_inertial_node.launch file. And I'll put the launch file below
`
`
I turned off rectify here because I wanted to do the corrections with image_raws via stereo_image_proc. After running the command, my rostopic lists are as follows
In the second terminal, run the following command
ROS_NAMESPACE=/stereo_inertial_publisher/ rosrun stereo_image_proc stereo_image_proc
And in the third terminal
rosrun ORB_SLAM3 Stereo_Inertial ORB_SLAM3/Vocabulary/ORBvoc.txt oak-d-params.yaml false /camera/left/image_raw:=/stereo_inertial_publisher/left/image_raw/camera/left/ /camera/right/image_raw:=/stereo_inertial_publisher/right/image_raw /imu:=/stereo_inertial_publisher/imu
My yaml file looks like this:
%YAML:1.0
Camera.type: "PinHole"
# Camera calibration and distortion parameters (OpenCV)
# Copied from the EEPROM data dump in depthai_demo.py.
Camera.fx: 800.78991699
Camera.fy: 800.78991699
Camera.cx: 631.30053711
Camera.cy: 358.42175293
Camera.k1: 0.0
Camera.k2: 0.0
Camera.k3: 0.0
Camera.k4: 0.0
Camera.p1: 0.0
Camera.p2: 0.0
Camera2.fx: 794.44360352
Camera2.fy: 794.44360352
Camera2.cx: 655.11322021
Camera2.cy: 373.01904297
Camera2.k1: 0.0
Camera2.k2: 0.0
Camera2.k3: 0.0
Camera2.k4: 0.0
Camera2.p1: 0.0
Camera2.p2: 0.0
Camera.bFishEye: 0
Camera.width: 1280
Camera.height: 720
# Camera frames per second
Camera.fps: 30.0
# stereo baseline times fx
Camera.bf: 60.05924377425
# Color order of the images (0: BGR, 1: RGB. It is ignored if images are grayscale)
Camera.RGB: 0
# Close/Far threshold. Baseline times.
ThDepth: 1.0
Stereo.ThDepth: 1.0
Stereo.b :0.075
Stereo.T_c1_c2: !!opencv-matrix
rows: 4
cols: 4
dt: f
data: [0.999993322285057, -0.00021991550145797296, 0.0036478791732720097, -0.07490939478841775,
0.00021600775474166326, 0.9999994025096745, 0.001071597377944539, 4.009736498019653e-06,
-0.003648112654574233, -0.0010708022519329299, 0.9999927723021768, 0.0012789063587460613,
0.0, 0.0, 0.0, 1.0]
# Transformation from body-frame (imu) to left camera
Tbc: !!opencv-matrix
rows: 4
cols: 4
dt: f
data: [0.006819407848809685, 0.999885118634947, -0.01353680940871299, 0.07058081582228529,
0.9999349374956549, -0.006694708786144591, 0.00923588922776827, 0.010005677849785306,
0.009144203199321436, -0.013598911965482609, -0.9998657175547137, 0.0054905640985514715,
0.0, 0.0, 0.0, 1.0]
# Specifies if the system inserts KeyFrames when the visual tracking is lost but the inertial tracking is alive.
IMU.InsertKFsWhenLost: 1
#IMU Noise
# IMU noise
IMU.NoiseGyro: 0.00052310365
IMU.NoiseAcc: 0.00636068558
IMU.GyroWalk: 0.00008091795
IMU.AccWalk: 0.00061553137
IMU.Frequency: 250
#--------------------------------------------------------------------------------------------
# ORB Parameters
#--------------------------------------------------------------------------------------------
# ORB Extractor: Number of features per image
ORBextractor.nFeatures: 3000
# ORB Extractor: Scale factor between levels in the scale pyramid
ORBextractor.scaleFactor: 1.4
# ORB Extractor: Number of levels in the scale pyramid
ORBextractor.nLevels: 10
# ORB Extractor: Fast threshold
# Image is divided in a grid. At each cell FAST are extracted imposing a minimum response.
# Firstly we impose iniThFAST. If no corners are detected we impose a lower value minThFAST
# You can lower these values if your images have low contrast
ORBextractor.iniThFAST: 20
ORBextractor.minThFAST: 7
#--------------------------------------------------------------------------------------------
# Viewer Parameters
#--------------------------------------------------------------------------------------------
Viewer.KeyFrameSize: 0.05
Viewer.KeyFrameLineWidth: 1
Viewer.GraphLineWidth: 0.9
Viewer.PointSize:2
Viewer.CameraSize: 0.08
Viewer.CameraLineWidth: 3
Viewer.ViewpointX: 0
Viewer.ViewpointY: -0.7
Viewer.ViewpointZ: -1.8
Viewer.ViewpointF: 500
Although I have written the necessary parameters for two cameras in the yaml file, when I run ORB_SLAM3, a text like the one below appears and only the left camera works. I am also attaching a screenshot of this.
Input sensor was set to: Stereo
Loading ORB Vocabulary. This could take a while...
Vocabulary loaded!
Initialization of Atlas from scratch
Creation of new map with id: 0
Creation of new map with last KF id: 0
Seq. Name:
Camera Parameters:
- Camera: Pinhole
- Image scale: 1
- fx: 800.79
- fy: 800.79
- cx: 631.301
- cy: 358.422
- k1: 0
- k2: 0
- p1: 0
- p2: 0
- k3: 0
- fps: 30
- color order: BGR (ignored if grayscale)
Depth Threshold (Close/Far Points): 0.075
ORB Extractor Parameters:
- Number of Features: 3000
- Scale Levels: 10
- Scale Factor: 1.4
- Initial Fast Threshold: 20
- Minimum Fast Threshold: 7
There are 1 cameras in the atlas
Camera 0 is pinhole
Starting the Viewer
First KF:0; Map init KF:0
New Map created with 289 points
TRACK_REF_KF: Less than 15 matches!!
Fail to track local map!
LM: Active map reset recieved
LM: Active map reset, waiting...
LM: Reseting current map in Local Mapping...
LM: End reseting Local Mapping...
LM: Reset free the mutex
LM: Active map reset, Done!!!
mnFirstFrameId = 0
mnInitialFrameId = 0
342 Frames set to lost
First KF:8; Map init KF:0
New Map created with 259 points
Thank you very much in advance for your help.
The text was updated successfully, but these errors were encountered:
OgulcanAtmaca
changed the title
ORB-SLAM3 Stereo Mode Issue with Oak-D-Pro: Right Camera Not Detected
ORB-SLAM3 Stereo Mode Issue with Right Camera Not Detected
Nov 16, 2024
Hi there,
I am trying to run the ORB_SLAM3 algorithm with the Oak-D-Pro camera from Luxonis. When I run ORB_SLAM3 in Stereo or Stereo_Inertial mode, there is no image from the right camera, only the image from the left camera. I have tried almost everything in this process but to no avail.
I got help from the following website as a source. https://qiita.com/nindanaoto/items/20858eca08aad90b5bab. I installed on a fresh Ubuntu and did not use the LXD container.
I calibrated the IMU and camera using "Kalibr".
I used the following version of depthai as I used the Noetic version of Ros.
https://github.com/luxonis/depthai-ros/releases/tag/v2.10.3-noetic
In the first terminal run the following command:
roslaunch depthai_examples stereo_inertial_node.launch
Here I have made some minor changes to the stereo_inertial_node.launch file. And I'll put the launch file below
`
In the second terminal, run the following command
ROS_NAMESPACE=/stereo_inertial_publisher/ rosrun stereo_image_proc stereo_image_proc
And in the third terminal
rosrun ORB_SLAM3 Stereo_Inertial ORB_SLAM3/Vocabulary/ORBvoc.txt oak-d-params.yaml false /camera/left/image_raw:=/stereo_inertial_publisher/left/image_raw/camera/left/ /camera/right/image_raw:=/stereo_inertial_publisher/right/image_raw /imu:=/stereo_inertial_publisher/imu
My yaml file looks like this:
Although I have written the necessary parameters for two cameras in the yaml file, when I run ORB_SLAM3, a text like the one below appears and only the left camera works. I am also attaching a screenshot of this.
Thank you very much in advance for your help.
The text was updated successfully, but these errors were encountered: