jakobengel / dso_ros Goto Github PK
View Code? Open in Web Editor NEWROS wrapper for dso
License: GNU General Public License v3.0
ROS wrapper for dso
License: GNU General Public License v3.0
Can someone help me how to solve this issue?
[rosbuild] Building package segment
[rosbuild] Error from directory check: /opt/ros/noetic/share/ros/core/rosbuild/bin/check_same_directories.py /home/amirabb/Desktop/segment
1
Traceback (most recent call last):
File "/opt/ros/noetic/share/ros/core/rosbuild/bin/check_same_directories.py", line 46, in
raise Exception
Exception
CMake Error at /opt/ros/noetic/share/ros/core/rosbuild/private.cmake:99 (message):
[rosbuild] rospack found package "segment" at "", but the current directory
is "/home/amirabb/Desktop/segment". You should double-check your
ROS_PACKAGE_PATH to ensure that packages are found in the correct
precedence order.
Call Stack (most recent call first):
/opt/ros/noetic/share/ros/core/rosbuild/public.cmake:177 (_rosbuild_check_package_location)
CMakeLists.txt:12 (rosbuild_init)
-- Configuring incomplete, errors occurred!
See also "/home/amirabb/Desktop/CMakeFiles/CMakeOutput.log
Hi there
I'm relatively new to this, so I'm hoping if there is anyone out there who could help me out.
I understand that I am supposed to calibrate my camera using whatever algorithms out there to do so (Eg. OpenCV to calibrate the camera). But I'm completely lost as to how the values for the Vignette and Gamma are created and calibrated for the camera. Is there a simple way to do so?
Thank you!
I followed the instructions in the README.md.
I ran:
export DSO_PATH=/home/rahulr/Workspace/dso
rosmake
But i Got:
[ rosmake ] rosmake starting...
[ rosmake ] No package or stack specified. And current directory 'build' is not a package name or stack name.
[ rosmake ] Packages requested are: []
[ rosmake ] Logging to directory /home/rahulr/.ros/rosmake/rosmake_output-20180403-184032
[ rosmake ] Expanded args [] to:
[]
[ rosmake ] ERROR: No arguments could be parsed into valid package or stack names.
I when I tried to create the "build" folder and run
cmake ..
I got:
[rosbuild] Building package dso_ros
[rosbuild] Error from directory check: /opt/ros/kinetic/share/ros/core/rosbuild/bin/check_same_directories.py /home/rahulr/Workspace/dso_ros 1
Traceback (most recent call last):
File "/opt/ros/kinetic/share/ros/core/rosbuild/bin/check_same_directories.py", line 46, in <module> raise Exception
Exception
CMake Error at /opt/ros/kinetic/share/ros/core/rosbuild/private.cmake:102 (message):
[rosbuild] rospack found package "dso_ros" at "", but the current directory is "/home/rahulr/Workspace/dso_ros". You should double-check your ROS_PACKAGE_PATH to ensure that packages are found in the correct precedence order.
Call Stack (most recent call first): /opt/ros/kinetic/share/ros/core/rosbuild/public.cmake:177 (_rosbuild_check_package_location) CMakeLists.txt:13 (rosbuild_init)
-- Configuring incomplete, errors occurred!
See also "/home/rahulr/Workspace/dso_ros/build/CMakeFiles/CMakeOutput.log".
I am trying to get the dso to run on a live camera feed - either from the laptop camera or an externally attached usb cam. At this point I'm unsure of how to proceed.
Any help would be appreciated, Thanks!
Hi,
what specific versions of ROS and OpenCV are compatible with DSO?
Hello,I run the dso_ros ,but the image can be seen within 2 seconds then core dumped.I have no ideas about it.
I try to use dso_ros with rosbag EuRoC dataset MH_01.
Ubuntu 16.04.3 64 bit.
ROS Kinetic
I received the error below.
Dso itself is working.
My camera.txt is:
458.654 457.296 367.215 248.375 0.0
752 480
none
752 480
I omitted gamma and vignette.
May the error be related to wrong camera parameter or bad expressed (as its work on ORB_SLAM2 ROS node)? Or is another issue?
Does anyone experimented this?
Thank you.
gvaccarino@ubuntu:~/dso/build$ rosrun dso_ros dso_live image:=image_raw calib=/home/gvaccarino/datasets/MH_01/dsoconfig/camera.txt
loading calibration from /home/gvaccarino/datasets/MH_01/dsoconfig/camera.txt!
MODE WITH CALIBRATION, but without exposure times!
Reading Calibration from file /home/gvaccarino/datasets/MH_01/dsoconfig/camera.txt ... found!
found PINHOLE camera model, building rectifier.
Input resolution: 752 480
In: 458.654000 457.296000 367.215000 248.375000 0.000000
Out: No Rectification
Output resolution: 752 480
Rectified Kamera Matrix:
458.654 0 367.215
0 457.296 248.375
0 0 1
NO PHOTOMETRIC Calibration!
Reading Photometric Calibration from file
PhotometricUndistorter: Could not open file!
using pyramid levels 0 to 4. coarsest resolution: 47 x 30!
START PANGOLIN!
Framebuffer with requested attributes not available. Using available framebuffer. You may see visual artifacts.*** Error in `/home/gvaccarino/dso_ros/bin/dso_live': double free or corruption (out): 0x0000000001168240 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f8a503637e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7f8a5036c37a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f8a5037053c]
/home/gvaccarino/dso_ros/bin/dso_live(_Z5vidCbN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEE+0x265)[0x438f85]
/home/gvaccarino/dso_ros/bin/dso_live(ZN5boost6detail8function22void_function_invoker1IPFvNS_10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEEEvS9_E6invokeERNS1_15function_bufferES9+0x3d)[0x439f9d]
/home/gvaccarino/dso_ros/bin/dso_live(_ZN3ros27SubscriptionCallbackHelperTIN5boost10shared_ptrIKN11sensor_msgs6Image_ISaIvEEEEEvE4callERNS_36SubscriptionCallbackHelperCallParamsE+0x2e1)[0x443041]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros17SubscriptionQueue4callEv+0xadd)[0x7f8a5391e5dd]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros13CallbackQueue9callOneCBEPNS0_3TLSE+0x4a0)[0x7f8a538c8cf0]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros13CallbackQueue13callAvailableENS_12WallDurationE+0x5b3)[0x7f8a538ca0f3]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros21SingleThreadedSpinner4spinEPNS_13CallbackQueueE+0x2a1)[0x7f8a539226a1]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros4spinEv+0x2b)[0x7f8a5390773b]
/home/gvaccarino/dso_ros/bin/dso_live(main+0x429)[0x436c89]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f8a5030c830]
/home/gvaccarino/dso_ros/bin/dso_live(_start+0x29)[0x438739]
I had a problem writing my own ROS wrapper. The publishCamPose function was for some reason receiving wrong memory address for the actual frame->camToWorld matrix. The problem presented itself as a very weird path the dso wrapper was publishing to ros - yet on the same dataset, it published perfectly valid data in pangolin viewer.
It took me quite a while to discover what the problem was, but I'm sure about that now. I ran the simulation on both the pangolin viewer and the dso wrapper and they were receiving correct memory addresses for the frame object but different memory addresses for the matrix (which is a member of the frame object). I don't know if I am supposed to specify some eigen alignments in the ROS wrapper or if it was something else (like specifics of my system), as I don't know that much about cpp.
Anyways, I made a workaround and modified the publishCamPose function in a wrapper to pass the matrix itself as a parameter and that works fine. But it is not a solution, just a workaround.
Hi all,
I have camera with resolution of 1280x720, and this is my camera.txt calib file:
RadTan 820.3787527 309.05092465 819.24066241 275.53721599 0.03969809 0.35324038 0.01377001 0.00193612 -0.87410867
1280 720
none
1280 720
My vignette.png file is also 1280x720, But when i run dso then it gives me this error:
Undistort::undistort: wrong image size (640 480 instead of 1280 720)
when i replace 1280 720 with 640 480 then dso runs perfectly. so whats wrong here?
can anyone please help me with this.
Thanks .
I use a usb camera;
when I run :dso_ros dso_live image:=/usb/cam/image_raw calib=/home/zhao/camera.txt mode=1;
it out put:
loading calibration from /home/zhao/camera.txt!
could not parse argument "mode=1"!!
MODE WITH CALIBRATION, but without exposure times!
Reading Calibration from file /home/zhao/camera.txt ... found!
found RadTan (OpenCV) camera model, building rectifier.
Creating RadTan undistorter
Input resolution: 640 480
In: 446.867338 446.958766 298.082779 234.334299 -0.324849 0.120516 -0.000186 -0.000821
Out: Rectify Crop
Output resolution: 640 480
finding CROP optimal new model!
initial range: x: -0.7956 - 0.9601; y: -0.5852 - 0.6177!
iteration 00001: range: x: -0.7916 - 0.9553; y: -0.5852 - 0.6177!
iteration 00002: range: x: -0.7876 - 0.9505; y: -0.5852 - 0.6177!
iteration 00003: range: x: -0.7876 - 0.9505; y: -0.5823 - 0.6146!
iteration 00004: range: x: -0.7876 - 0.9505; y: -0.5794 - 0.6116!
iteration 00005: range: x: -0.7876 - 0.9505; y: -0.5794 - 0.6116!
Rectified Kamera Matrix:
367.628 0 289.559
0 402.213 233.025
0 0 1
NO PHOTOMETRIC Calibration!
Reading Photometric Calibration from file
PhotometricUndistorter: Could not open file!
using pyramid levels 0 to 3. coarsest resolution: 80 x 60!
START PANGOLIN!
The interface has no picture,no vedio,just black.
I don't know why...help ~~thanks !!!
I want to publish pointcloud,camera pose and some other data in ROS, to make them can be visualised in the Rviz. I have read the codes for a few days, but I still don't have any ideas.
I try to run dso_ros, but I can't run and see "could not parse argument "mode=2"!!".
$ rosrun dso_ros dso_live image:=/usb_cam/image_raw calib=~/cam.txt mode=1
loading calibration from ~/cam.txt!
could not parse argument "mode=1"!!
MODE WITH CALIBRATION, but without exposure times!
Reading Calibration from file ~/cam.txt ... not found. Cannot operate without calibration, shutting down.
Segmentation fault (core dumped)
Hi all,
Currently i'm using single camera and running DSO using dso_ros for real time, but what if i have multiple cameras, how can i run dso_ros with multiple cameras
Thanks
I am trying to integrate this project with the ardrone_autonomy project, so that the video feed is fed into DSO. However, when trying to do so, it creates a core dump as follows:
loading calibration from /home/caleb/camera.txt!
NO GUI!
MODE WITH CALIBRATION, but without exposure times!
Reading Calibration from file /home/caleb/camera.txt ... found!
Input resolution: 640 360
In: 569.883158 568.007065 331.403348 135.879365 0.000000
Out: No Rectification
Output resolution: 640 360
Rectified Kamera Matrix:
569.883 0 331.403
0 568.007 135.879
0 0 1
NO PHOTOMETRIC Calibration!
Reading Photometric Calibration from file
PhotometricUndistorter: Could not open file!
using pyramid levels 0 to 3. coarsest resolution: 80 x 45!
dso_live: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
[1] 53104 abort (core dumped) rosrun dso_ros dso_live image:=/ardrone/image_raw calib=/home/caleb/camera.tx
I am currently using the devel branch of dso
and the kinetic branch of dso_ros
.
I have tracked this down to the CalibHessian()
call in HessianBlocks.h
, however I've not had much luck in continuing onwards. While I thought it could be an issue in dso
, and not dso_ros
, I am skeptical of this, as running it on sequence_01 appears to have correct functionality.
Dear Nikolaus, in issue #32, you advise @rahul95ram:
"You need to use the branches mentioned above, not master. Go checkout cmake
for dso and catkin
for dso_ros."
Originally posted by @NikolausDemmel in #32 (comment)
I am not able to use the dso branch you mention, since I am building on raspberry. I used code posted by @chabaudmorgan "Compilation for Raspberry Pi 3 #80" https://github.com/JakobEngel/dso/pull/80/files. I changed the -mtune value on line 34 of that code to -mtune=cortex-a72, to reflect what is on the pi4b+
This code is built in my catkin_ws/src/dso folder. It compiled and works fine with the TUM sample databases.
Then I cloned the catkin branch of dso_ros into catkin_ws/src. When I attempt to follow the instructions that worked for @rahul95ram, no package is found or built. Here is what I get:
pi@antonio:~ $ source /opt/ros/melodic/setup.bash
pi@antonio:~ $ cd catkin_ws
pi@antonio:~/catkin_ws $ catkin init
Catkin workspace `/home/pi/catkin_ws` is already initialized. No action taken.
-------------------------------------------------------
Profile: default
Extending: [env] /opt/ros/melodic
Workspace: /home/pi/catkin_ws
-------------------------------------------------------
Build Space: [missing] /home/pi/catkin_ws/build
Devel Space: [missing] /home/pi/catkin_ws/devel
Install Space: [unused] /home/pi/catkin_ws/install
Log Space: [exists] /home/pi/catkin_ws/logs
Source Space: [exists] /home/pi/catkin_ws/src
DESTDIR: [unused] None
-------------------------------------------------------
Devel Space Layout: linked
Install Space Layout: None
-------------------------------------------------------
Additional CMake Args: -DCMAKE_BUILD_TYPE=Release
Additional Make Args: None
Additional catkin Make Args: None
Internal Make Job Server: True
Cache Job Environments: False
-------------------------------------------------------
Whitelisted Packages: None
Blacklisted Packages: None
-------------------------------------------------------
Workspace configuration appears valid.
-------------------------------------------------------
pi@antonio:~/catkin_ws $ catkin config -DCMAKE_BUILD_TYPE=Release
-------------------------------------------------------
Profile: default
Extending: [env] /opt/ros/melodic
Workspace: /home/pi/catkin_ws
-------------------------------------------------------
Build Space: [missing] /home/pi/catkin_ws/build
Devel Space: [missing] /home/pi/catkin_ws/devel
Install Space: [unused] /home/pi/catkin_ws/install
Log Space: [exists] /home/pi/catkin_ws/logs
Source Space: [exists] /home/pi/catkin_ws/src
DESTDIR: [unused] None
-------------------------------------------------------
Devel Space Layout: linked
Install Space Layout: None
-------------------------------------------------------
Additional CMake Args: -DCMAKE_BUILD_TYPE=Release
Additional Make Args: None
Additional catkin Make Args: None
Internal Make Job Server: True
Cache Job Environments: False
-------------------------------------------------------
Whitelisted Packages: None
Blacklisted Packages: None
-------------------------------------------------------
Workspace configuration appears valid.
-------------------------------------------------------
pi@antonio:~/catkin_ws $ catkin build
-------------------------------------------------------
Profile: default
Extending: [env] /opt/ros/melodic
Workspace: /home/pi/catkin_ws
-------------------------------------------------------
Build Space: [exists] /home/pi/catkin_ws/build
Devel Space: [exists] /home/pi/catkin_ws/devel
Install Space: [unused] /home/pi/catkin_ws/install
Log Space: [exists] /home/pi/catkin_ws/logs
Source Space: [exists] /home/pi/catkin_ws/src
DESTDIR: [unused] None
-------------------------------------------------------
Devel Space Layout: linked
Install Space Layout: None
-------------------------------------------------------
Additional CMake Args: -DCMAKE_BUILD_TYPE=Release
Additional Make Args: None
Additional catkin Make Args: None
Internal Make Job Server: True
Cache Job Environments: False
-------------------------------------------------------
Whitelisted Packages: None
Blacklisted Packages: None
-------------------------------------------------------
Workspace configuration appears valid.
-------------------------------------------------------
[build] No packages were found in the source space '/home/pi/catkin_ws/src'
[build] No packages to be built.
[build] Package table is up to date.
Warning: generated devel space setup files have been deleted.
Starting >>> catkin_tools_prebuild
Finished <<< catkin_tools_prebuild [ 9.8 seconds ]
[build] Summary: All 1 packages succeeded!
[build] Ignored: None.
[build] Warnings: None.
[build] Abandoned: None.
[build] Failed: None.
[build] Runtime: 9.8 seconds total.
pi@antonio:~/catkin_ws $
the git status of the catkin branch of dso_ros checks out.
pi@antonio:~/catkin_ws/src $ cd dso_ros
pi@antonio:~/catkin_ws/src/dso_ros $ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
pi@antonio:~/catkin_ws/src/dso_ros $ git remote -v
origin https://github.com/NikolausDemmel/dso_ros.git (fetch)
origin https://github.com/NikolausDemmel/dso_ros.git (push)
pi@antonio:~/catkin_ws/src/dso_ros $
the git status of dso won't check out, since I built this from some locally modified code. But dso seems to work, so is this important?
pi@antonio:~/catkin_ws/src/dso $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: CMakeLists.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
CMakeLists_old.txt
no changes added to commit (use "git add" and/or "git commit -a")
pi@antonio:~/catkin_ws/src/dso $ git remote -v
origin https://github.com/JakobEngel/dso.git (fetch)
origin https://github.com/JakobEngel/dso.git (push)
pi@antonio:~/catkin_ws/src/dso $
Best Regards,
Mark
I've tried the solution mentioned in Issue 12 and changed the file dso_ros/CMakeLists.txt as suggested. But it didn't work. After I run the command:
rosrun dso_ros dso_live image:=/usb_cam/image_raw calib=/home/rootian/catkin_ws/src/camera.txt mode=1
I still get the error :
Couldn't find executable named dso_live below /home/rootian/catkin_ws/src/dso_ros
And when I run this program, there was no file named dso_live under that category. I think there are some steps missing while I compile the dso_ros. So dso_live was not even created. But I don't know in which step this file is created. Can anyone help me with this problem?
rosmake fails to compile dso_ros ( CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
DSO_LIBRARY
linked by target "dso_live" in directory /home/sohaib/catkin_ws/src/dso_ros
)
Hi all..
I'm using dso_ros for real time tracking and i'm getting poses from camToWorld.data() ( e.g x,y,z, qx, qy, qz, qw). But how can i build map using these poses and reuse that map.
For exmaple, I want to move a robot in a square. So firstly i will move it manually in a square so that it can build a map and after that it should move in that map autonomously .
is there any other way to do it ? (Build map from unknown environment using dso and then reuse it so robot can move autonomously in that involvement).
Thanks in advance !!
Hello,
I changed the CMakeLists.txt file as suggested in #4 and I tried to compile the code, I get following error.
I am attaching the CMakeLists.txt file, for the reference..
/home/chirag/vision/SLAM/src/dso_ros/src/main.cpp: In function ‘void parseArgument(char*)’: /home/chirag/vision/SLAM/src/dso_ros/src/main.cpp:84:3: error: ‘benchmarkSpecialOption’ was not declared in this scope benchmarkSpecialOption = option;
Hi,
for the catkin-version to correctly rosrun the package after building, the CMakelists.txt misses:
catkin_package(
INCLUDE_DIRS
LIBRARIES DSO_LIBRARY
CATKIN_DEPENDS geometry_msgs roscpp sensor_msgs cv_bridge
)
Greeetings, Jan
rosmake output:
[ rosmake ] rosmake starting...
[ rosmake ] No package specified. Building ['dso_ros']
[ rosmake ] Packages requested are: ['dso_ros']
[ rosmake ] Logging to directory /home/hafez/.ros/rosmake/rosmake_output-20161114-122352
[ rosmake ] Expanded args ['dso_ros'] to:
['dso_ros']
[rosmake-0] Starting >>> catkin [ make ]
[rosmake-0] Finished <<< catkin ROS_NOBUILD in package catkin
No Makefile in package catkin
[rosmake-6] Starting >>> cmake_modules [ make ]
[rosmake-7] Starting >>> genmsg [ make ]
[rosmake-0] Starting >>> cpp_common [ make ]
[rosmake-2] Starting >>> rosgraph [ make ]
[rosmake-3] Starting >>> rosclean [ make ]
[rosmake-0] Finished <<< cpp_common ROS_NOBUILD in package cpp_common
No Makefile in package cpp_common
[rosmake-0] Starting >>> rostime [ make ]
[rosmake-7] Finished <<< genmsg ROS_NOBUILD in package genmsg
No Makefile in package genmsg
[rosmake-7] Starting >>> genlisp [ make ]
[rosmake-6] Finished <<< cmake_modules ROS_NOBUILD in package cmake_modules
No Makefile in package cmake_modules
[rosmake-5] Starting >>> genpy [ make ]
[rosmake-6] Starting >>> rospack [ make ]
[rosmake-1] Starting >>> gencpp [ make ]
[rosmake-2] Finished <<< rosgraph ROS_NOBUILD in package rosgraph
No Makefile in package rosgraph
[rosmake-4] Starting >>> roslang [ make ]
[rosmake-2] Starting >>> rosparam [ make ]
[rosmake-3] Finished <<< rosclean ROS_NOBUILD in package rosclean
No Makefile in package rosclean
[rosmake-3] Starting >>> rosmaster [ make ]
[rosmake-7] Finished <<< genlisp ROS_NOBUILD in package genlisp
No Makefile in package genlisp
[rosmake-7] Starting >>> xmlrpcpp [ make ]
[rosmake-0] Finished <<< rostime ROS_NOBUILD in package rostime
No Makefile in package rostime
[rosmake-5] Finished <<< genpy ROS_NOBUILD in package genpy
No Makefile in package genpy
[rosmake-0] Starting >>> roscpp_traits [ make ]
[rosmake-1] Finished <<< gencpp ROS_NOBUILD in package gencpp
No Makefile in package gencpp
[rosmake-1] Starting >>> message_generation [ make ]
[rosmake-2] Finished <<< rosparam ROS_NOBUILD in package rosparam
No Makefile in package rosparam
[rosmake-3] Finished <<< rosmaster ROS_NOBUILD in package rosmaster
No Makefile in package rosmaster
[rosmake-4] Finished <<< roslang ROS_NOBUILD in package roslang
No Makefile in package roslang
[rosmake-7] Finished <<< xmlrpcpp ROS_NOBUILD in package xmlrpcpp
No Makefile in package xmlrpcpp
[rosmake-0] Finished <<< roscpp_traits ROS_NOBUILD in package roscpp_traits
No Makefile in package roscpp_traits
[rosmake-0] Starting >>> roscpp_serialization [ make ]
[rosmake-1] Finished <<< message_generation ROS_NOBUILD in package message_generation
No Makefile in package message_generation
[rosmake-6] Finished <<< rospack ROS_NOBUILD in package rospack
No Makefile in package rospack
[rosmake-6] Starting >>> roslib [ make ]
[rosmake-6] Finished <<< roslib ROS_NOBUILD in package roslib
No Makefile in package roslib
[rosmake-6] Starting >>> rosunit [ make ]
[rosmake-0] Finished <<< roscpp_serialization ROS_NOBUILD in package roscpp_serialization
No Makefile in package roscpp_serialization
[rosmake-0] Starting >>> message_runtime [ make ]
[rosmake-0] Finished <<< message_runtime ROS_NOBUILD in package message_runtime
No Makefile in package message_runtime
[rosmake-6] Finished <<< rosunit ROS_NOBUILD in package rosunit
No Makefile in package rosunit
[rosmake-0] Starting >>> std_msgs [ make ]
[rosmake-1] Starting >>> rosbuild [ make ]
[rosmake-0] Finished <<< std_msgs ROS_NOBUILD in package std_msgs
No Makefile in package std_msgs
[rosmake-0] Starting >>> geometry_msgs [ make ]
[rosmake-2] Starting >>> rosgraph_msgs [ make ]
[rosmake-1] Finished <<< rosbuild ROS_NOBUILD in package rosbuild
No Makefile in package rosbuild
[rosmake-2] Finished <<< rosgraph_msgs ROS_NOBUILD in package rosgraph_msgs
No Makefile in package rosgraph_msgs
[rosmake-0] Finished <<< geometry_msgs ROS_NOBUILD in package geometry_msgs
No Makefile in package geometry_msgs
[rosmake-1] Starting >>> rosconsole [ make ]
[rosmake-0] Starting >>> sensor_msgs [ make ]
[rosmake-1] Finished <<< rosconsole ROS_NOBUILD in package rosconsole
No Makefile in package rosconsole
[rosmake-0] Finished <<< sensor_msgs ROS_NOBUILD in package sensor_msgs
No Makefile in package sensor_msgs
[rosmake-1] Starting >>> roscpp [ make ]
[rosmake-1] Finished <<< roscpp ROS_NOBUILD in package roscpp
No Makefile in package roscpp
[rosmake-1] Starting >>> rosout [ make ]
[rosmake-1] Finished <<< rosout ROS_NOBUILD in package rosout
No Makefile in package rosout
[rosmake-1] Starting >>> roslaunch [ make ]
[rosmake-3] Starting >>> rospy [ make ]
[rosmake-1] Finished <<< roslaunch ROS_NOBUILD in package roslaunch
No Makefile in package roslaunch
[rosmake-3] Finished <<< rospy ROS_NOBUILD in package rospy
No Makefile in package rospy
[rosmake-1] Starting >>> rostest [ make ]
[rosmake-1] Finished <<< rostest ROS_NOBUILD in package rostest
No Makefile in package rostest
[rosmake-1] Starting >>> cv_bridge [ make ]
[rosmake-1] Finished <<< cv_bridge ROS_NOBUILD in package cv_bridge
No Makefile in package cv_bridge
[rosmake-1] Starting >>> dso_ros [ make ]
[ rosmake ] Last 40 lineso_ros: 11.3 sec ] [ 1 Active 33/34 Complete ]
{-------------------------------------------------------------------------------
-- Performing Test HAS_SSE_EXTENSIONS - Success
-- [rosbuild] Found SSE3 extensions, using flags: -msse3 -mfpmath=sse
-- Configuring done
-- Generating done
-- Build files have been written to: /home/hafez/Workspace/src/dso_ros/build
cd build && make -j8 -l8
make[1]: Entering directory `/home/hafez/Workspace/src/dso_ros/build'
make[2]: Entering directory `/home/hafez/Workspace/src/dso_ros/build'
make[3]: Entering directory `/home/hafez/Workspace/src/dso_ros/build'
Scanning dependencies of target rospack_genmsg_libexe
make[3]: Leaving directory `/home/hafez/Workspace/src/dso_ros/build'
[ 0%] Built target rospack_genmsg_libexe
make[3]: Entering directory `/home/hafez/Workspace/src/dso_ros/build'
Scanning dependencies of target rosbuild_precompile
make[3]: Leaving directory `/home/hafez/Workspace/src/dso_ros/build'
[ 0%] Built target rosbuild_precompile
make[3]: Entering directory `/home/hafez/Workspace/src/dso_ros/build'
Scanning dependencies of target dso_live
make[3]: Leaving directory `/home/hafez/Workspace/src/dso_ros/build'
make[3]: Entering directory `/home/hafez/Workspace/src/dso_ros/build'
[100%] Building CXX object CMakeFiles/dso_live.dir/src/main.cpp.o
Linking CXX executable bin/dso_live
CMakeFiles/dso_live.dir/src/main.cpp.o: In function `ros::Subscriber ros::NodeHandle::subscribe<boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const> >(std::string const&, unsigned int, void (*)(boost::shared_ptr<sensor_msgs::Image_<std::allocator<void> > const>), ros::TransportHints const&)':
/opt/ros/indigo/include/ros/node_handle.h:660: undefined reference to `ros::NodeHandle::subscribe(ros::SubscribeOptions&)'
CMakeFiles/dso_live.dir/src/main.cpp.o: In function `main':
/home/hafez/Workspace/src/dso_ros/src/main.cpp:159: undefined reference to `ros::init(int&, char**, std::string const&, unsigned int)'
/home/hafez/Workspace/src/dso_ros/src/main.cpp:201: undefined reference to `ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::less<std::string>, std::allocator<std::pair<std::string const, std::string> > > const&)'
/home/hafez/Workspace/src/dso_ros/src/main.cpp:204: undefined reference to `ros::spin()'
/home/hafez/Workspace/src/dso_ros/src/main.cpp:202: undefined reference to `ros::Subscriber::~Subscriber()'
/home/hafez/Workspace/src/dso_ros/src/main.cpp:209: undefined reference to `ros::NodeHandle::~NodeHandle()'
/home/hafez/Workspace/src/dso_ros/src/main.cpp:202: undefined reference to `ros::Subscriber::~Subscriber()'
/home/hafez/Workspace/src/dso_ros/src/main.cpp:209: undefined reference to `ros::NodeHandle::~NodeHandle()'
collect2: error: ld returned 1 exit status
make[3]: *** [bin/dso_live] Error 1
make[3]: Leaving directory `/home/hafez/Workspace/src/dso_ros/build'
make[2]: *** [CMakeFiles/dso_live.dir/all] Error 2
make[2]: Leaving directory `/home/hafez/Workspace/src/dso_ros/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/hafez/Workspace/src/dso_ros/build'
-------------------------------------------------------------------------------}
[ rosmake ] Output from build of package dso_ros written to:
[ rosmake ] /home/hafez/.ros/rosmake/rosmake_output-20161114-122352/dso_ros/build_output.log
[rosmake-1] Finished <<< dso_ros [FAIL] [ 11.38 seconds ]
[ rosmake ] Halting due to failure in package dso_ros.
[ rosmake ] Waiting for other threads to complete.
[ rosmake ] Results:
[ rosmake ] Built 34 packages with 1 failures.
[ rosmake ] Summary output to directory
[ rosmake ] /home/hafez/.ros/rosmake/rosmake_output-20161114-122352
My dso lib is compiled with opencv as per the make command:
sev@sev-VirtualBox:~/code/dso/build$ cmake ..
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- thread
-- chrono
-- date_time
-- atomic
--- found PANGOLIN, compiling dso_pangolin library.
--- found OpenCV, compiling dso_opencv library.
--- found ziplib (1.1.1), compiling with zip capability.
--- compiling dso_dataset.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/sev/code/dso/build
however rosmake is complaining about missing entrypoints in the dso lib:
[ 50%] Linking CXX executable bin/dso_live
/home/sev/code/dso/build/lib/libdso.a(ImageDisplay_OpenCV.cpp.o): In function dso::IOWrap::displayImage(char const*, cv::Mat const&, bool)': /home/sev/code/dso/src/IOWrapper/OpenCV/ImageDisplay_OpenCV.cpp:58: undefined reference to
cv::namedWindow(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int)'
/home/sev/code/dso/src/IOWrapper/OpenCV/ImageDisplay_OpenCV.cpp:59: undefined reference to `cv::resizeWindow(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, int, int)'
...
any idea what is going wrong here?
dso is installed and works, dso_ros is compiled but it gives an error on execution :
rosrun dso_ros dso_live image=:cam1/image_raw
calib=Datasets/EuroC/V1_01/camera.txt
gamma=Datasets/EuroC/V1_01/pcalib.txt
mode=1
[rosrun] Couldn't find executable named dso_live below /home/melchior/Workspace/modal/dso_ros
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun] /home/melchior/Workspace/modal/dso_ros/build/bin/dso_live
Any idea ? The compilation worked properly (after having messed with path variables) and the file dso_live is in dso_ros/bin and weight 116Mo (is it usual ?). Also, I'm using Ubuntu 16 with ros kinetic...
Thank you !
@NikolausDemmel
Thanks for your nice repo. I successfully installed dso from your repo: https://github.com/JakobEngel/dso
Now I would like to run the dso in the ros framework. But the documentation makes me some confusion. According to your documentation, after typing:
export DSO_PATH=[PATH_TO_DSO]/dso
rosmake
Will I build dso_ros again or not?
Hi
I would like to stream out the data that is being printed from the function given in the sampleOutputWrapper (pushDepthImageFloat) into, let's say, a Python script.
Is there a way to do so? I tried to find the function in the Main and System codes but to no avail.
Hello, when I run dso with the external camera, the program will crash if I move a little faster. Have you ever encountered such a situation?How to solve this situation?thank you
Hi . how can i get GPU Accelerated DSO SLAM on Jetson TX2
I have successfully upgraded to ROS Lunar and finished build of this project, but on rosrun exectuion I get:
zangetsu@ares ~/catkin_ws $ rosrun dso_ros dso_live image:=image_raw calib=src/dso_ros/live_camera_data/camera.txt gamma=src/dso_ros/live_camera_data/pcalib.txt vignette=src/dso_ros/live_camera_data/vignette.png
loading calibration from src/dso_ros/live_camera_data/camera.txt!
loading gammaCalib from src/dso_ros/live_camera_data/pcalib.txt!
loading vignette from src/dso_ros/live_camera_data/vignette.png!
MODE WITH CALIBRATION, but without exposure times!
Reading Calibration from file src/dso_ros/live_camera_data/camera.txt ... found!
found ATAN camera model, building rectifier.
Creating FOV undistorter
Input resolution: 1280 1024
In: 0.535719 0.669567 0.493249 0.500409 0.897966
Found fx=0.535719, fy=0.669567, cx=0.493249, cy=0.500409.
I'm assuming this is the "relative" calibration file format,and will rescale this by image width / height to fx=685.720714, fy=685.636463, cx=630.858138, cy=511.918472.
Out: Rectify Crop
Output resolution: 640 480
finding CROP optimal new model!
initial range: x: -1.1372 - 1.1901; y: -0.8311 - 0.8292!
iteration 00001: range: x: -1.1315 - 1.1841; y: -0.8311 - 0.8292!
iteration 00002: range: x: -1.1258 - 1.1782; y: -0.8311 - 0.8292!
iteration 00003: range: x: -1.1258 - 1.1782; y: -0.8270 - 0.8251!
iteration 00004: range: x: -1.1258 - 1.1782; y: -0.8228 - 0.8209!
iteration 00005: range: x: -1.1258 - 1.1782; y: -0.8228 - 0.8209!
Rectified Kamera Matrix:
277.34 0 312.234
0 291.402 239.777
0 0 1
Reading Photometric Calibration from file src/dso_ros/live_camera_data/pcalib.txt
Reading Vignette Image from src/dso_ros/live_camera_data/vignette.png
Successfully read photometric calibration!
using pyramid levels 0 to 3. coarsest resolution: 80 x 60!
dso_live: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:128: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 32>::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]: Assertion `(internal::UIntPtr(eigen_unaligned_array_assert_workaround_gcc47(array)) & (31)) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
Neúspěšně ukončen (SIGABRT)
Not sure what to do, I have this EIGEN:
dev-cpp/eigen-3.3.3
maybe this version is not compatible?
Hi,
first thanks for this project, it is amazing!
Maybe it is better question at ROS forum, but when I run:
rosrun \
dso_ros \
dso_live \
image:=/camera/image_raw \
video_device:=/dev/video0 \
calib=src/dso_ros/live_camera_data/camera.txt \
gamma=src/dso_ros/live_camera_data/pcalib.txt \
vignette=src/dso_ros/live_camera_data/vignette.png
The application starts with following output:
loading calibration from src/dso_ros/live_camera_data/camera.txt!
loading gammaCalib from src/dso_ros/live_camera_data/pcalib.txt!
loading vignette from src/dso_ros/live_camera_data/vignette.png!
MODE WITH CALIBRATION, but without exposure times!
Reading Calibration from file src/dso_ros/live_camera_data/camera.txt ... found!
found ATAN camera model, building rectifier.
Creating FOV undistorter
Input resolution: 1280 1024
In: 0.535719 0.669567 0.493249 0.500409 0.897966
Found fx=0.535719, fy=0.669567, cx=0.493249, cy=0.500409.
I'm assuming this is the "relative" calibration file format,and will rescale this by image width / height to fx=685.720714, fy=685.636463, cx=630.858138, cy=511.918472.
Out: Rectify Crop
Output resolution: 640 480
finding CROP optimal new model!
initial range: x: -1.1372 - 1.1901; y: -0.8311 - 0.8292!
iteration 00001: range: x: -1.1315 - 1.1841; y: -0.8311 - 0.8292!
iteration 00002: range: x: -1.1258 - 1.1782; y: -0.8311 - 0.8292!
iteration 00003: range: x: -1.1258 - 1.1782; y: -0.8270 - 0.8251!
iteration 00004: range: x: -1.1258 - 1.1782; y: -0.8228 - 0.8209!
iteration 00005: range: x: -1.1258 - 1.1782; y: -0.8228 - 0.8209!
Rectified Kamera Matrix:
277.34 0 312.234
0 291.402 239.777
0 0 1
Reading Photometric Calibration from file src/dso_ros/live_camera_data/pcalib.txt
Reading Vignette Image from src/dso_ros/live_camera_data/vignette.png
Successfully read photometric calibration!
using pyramid levels 0 to 3. coarsest resolution: 80 x 60!
START PANGOLIN!
But the screen remain completely BLACK, any idea? I don't have in the moment other than standard laptop integrated webcam...
Thanks.
I am using a USB monocular camera with dso_ros. I am getting the data but the data is not correct. It seems like it is not able to calculate the depth and it is just projecting the point cloud in a 2D space. Even if I capture two mutually perpendicular surfaces, it projects the corresponding point cloud in the same place. I think it is a calibration issue. I am adding some screenshots of the results along with the calibration file.
Pinhole 264.4725 264.4275 328.9375 188.5215 0
640 480
crop
640 480
Thanks in advance
after
export DSO_PATH=[PATH_TO_DSO]/dso
catkin_make
output is :
`Base path: /home/ouyangqiuping/DSO/DSO_WS
Source space: /home/ouyangqiuping/DSO/DSO_WS/src
Build space: /home/ouyangqiuping/DSO/DSO_WS/build
Devel space: /home/ouyangqiuping/DSO/DSO_WS/devel
Install space: /home/ouyangqiuping/DSO/DSO_WS/install
-- The C compiler identification is GNU 4.9.4
-- The CXX compiler identification is GNU 4.9.4
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Using CATKIN_DEVEL_PREFIX: /home/ouyangqiuping/DSO/DSO_WS/devel
-- Using CMAKE_PREFIX_PATH: /home/ouyangqiuping/qt_opensource/devel;/home/ouyangqiuping/lsd_slam_catkin/devel;/opt/ros/indigo
-- This workspace overlays: /home/ouyangqiuping/qt_opensource/devel;/home/ouyangqiuping/lsd_slam_catkin/devel;/opt/ros/indigo
-- Found PythonInterp: /home/ouyangqiuping/.venv/python2.7/bin/python (found version "2.7.6")
-- Using PYTHON_EXECUTABLE: /home/ouyangqiuping/.venv/python2.7/bin/python
-- Using Debian Python package layout
-- Using empy: /usr/bin/empy
-- Using CATKIN_ENABLE_TESTING: ON
-- Call enable_testing()
-- Using CATKIN_TEST_RESULTS_DIR: /home/ouyangqiuping/DSO/DSO_WS/build/test_results
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found gtest sources under '/usr/src/gtest': gtests will be built
-- Using Python nosetests: /usr/bin/nosetests-2.7
-- catkin 0.6.18
-- BUILD_SHARED_LIBS is on
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~ traversing 1 packages in topological order:
-- ~~ - dso_ros
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- +++ processing catkin package: 'dso_ros'
-- ==> add_subdirectory(dso_ros-catkin)
---- LOOKING FOR DSO at
"/home/ouyangqiuping/DSO/dso"
---- FOUND Pangolin Headers at
"/home/ouyangqiuping/Pangolin/include;/home/ouyangqiuping/Pangolin/build/src/include;/usr/include;/usr/include;/usr/include/eigen3"
---- FOUND Pangolin Libs at
"pangolin"
---- FOUND OpenCV Headers at
"/usr/local/include/opencv;/usr/local/include"
---- FOUND OpenCV Libs at
"opencv_videostab;opencv_video;opencv_superres;opencv_stitching;opencv_photo;opencv_ocl;opencv_objdetect;opencv_nonfree;opencv_ml;opencv_legacy;opencv_imgproc;opencv_highgui;opencv_gpu;opencv_flann;opencv_features2d;opencv_core;opencv_contrib;opencv_calib3d"
-- Found Eigen3: /usr/local/include/eigen3 (Required is at least version "2.91.0")
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- thread
-- Configuring done
-- Generating done
-- Build files have been written to: /home/ouyangqiuping/DSO/DSO_WS/build
Scanning dependencies of target dso_live
[100%] Building CXX object dso_ros-catkin/CMakeFiles/dso_live.dir/src/main.o
/home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp: In function ‘void vidCb(sensor_msgs::ImageConstPtr)’:
/home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:137:53: error: cannot convert ‘std::vectordso::IOWrap::Output3DWrapper*’ to ‘dso::IOWrap::Output3DWrapper*’ in initialization
IOWrap::Output3DWrapper* wrap = fullSystem->outputWrapper;
^
/home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:142:35: error: no match for ‘operator=’ (operand types are ‘std::vectordso::IOWrap::Output3DWrapper*’ and ‘dso::IOWrap::Output3DWrapper*’)
fullSystem->outputWrapper = wrap;
^
/home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:142:35: note: candidates are:
In file included from /usr/include/c++/4.9/vector:69:0,
from /usr/include/c++/4.9/bits/random.h:34,
from /usr/include/c++/4.9/random:49,
from /usr/include/c++/4.9/bits/stl_algo.h:66,
from /usr/include/c++/4.9/algorithm:62,
from /usr/include/eigen3/Eigen/Core:160,
from /home/ouyangqiuping/DSO/dso/src/util/NumType.h:27,
from /home/ouyangqiuping/DSO/dso/src/FullSystem/FullSystem.h:28,
from /home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:37:
/usr/include/c++/4.9/bits/vector.tcc:167:5: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = dso::IOWrap::Output3DWrapper*; _Alloc = std::allocatordso::IOWrap::Output3DWrapper*]
vector<_Tp, _Alloc>::
^
/usr/include/c++/4.9/bits/vector.tcc:167:5: note: no known conversion for argument 1 from ‘dso::IOWrap::Output3DWrapper*’ to ‘const std::vectordso::IOWrap::Output3DWrapper*&’
In file included from /usr/include/c++/4.9/vector:64:0,
from /usr/include/c++/4.9/bits/random.h:34,
from /usr/include/c++/4.9/random:49,
from /usr/include/c++/4.9/bits/stl_algo.h:66,
from /usr/include/c++/4.9/algorithm:62,
from /usr/include/eigen3/Eigen/Core:160,
from /home/ouyangqiuping/DSO/dso/src/util/NumType.h:27,
from /home/ouyangqiuping/DSO/dso/src/FullSystem/FullSystem.h:28,
from /home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:37:
/usr/include/c++/4.9/bits/stl_vector.h:448:7: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = dso::IOWrap::Output3DWrapper*; _Alloc = std::allocatordso::IOWrap::Output3DWrapper*]
operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
^
/usr/include/c++/4.9/bits/stl_vector.h:448:7: note: no known conversion for argument 1 from ‘dso::IOWrap::Output3DWrapper*’ to ‘std::vectordso::IOWrap::Output3DWrapper*&&’
/usr/include/c++/4.9/bits/stl_vector.h:470:7: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = dso::IOWrap::Output3DWrapper*; _Alloc = std::allocatordso::IOWrap::Output3DWrapper*]
operator=(initializer_list<value_type> __l)
^
/usr/include/c++/4.9/bits/stl_vector.h:470:7: note: no known conversion for argument 1 from ‘dso::IOWrap::Output3DWrapper*’ to ‘std::initializer_listdso::IOWrap::Output3DWrapper*’
/home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp: In function ‘int main(int, char**)’:
/home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:197:31: error: no match for ‘operator=’ (operand types are ‘std::vectordso::IOWrap::Output3DWrapper*’ and ‘dso::IOWrap::PangolinDSOViewer*’)
fullSystem->outputWrapper = new IOWrap::PangolinDSOViewer(
^
/home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:197:31: note: candidates are:
In file included from /usr/include/c++/4.9/vector:69:0,
from /usr/include/c++/4.9/bits/random.h:34,
from /usr/include/c++/4.9/random:49,
from /usr/include/c++/4.9/bits/stl_algo.h:66,
from /usr/include/c++/4.9/algorithm:62,
from /usr/include/eigen3/Eigen/Core:160,
from /home/ouyangqiuping/DSO/dso/src/util/NumType.h:27,
from /home/ouyangqiuping/DSO/dso/src/FullSystem/FullSystem.h:28,
from /home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:37:
/usr/include/c++/4.9/bits/vector.tcc:167:5: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = dso::IOWrap::Output3DWrapper*; _Alloc = std::allocatordso::IOWrap::Output3DWrapper*]
vector<_Tp, _Alloc>::
^
/usr/include/c++/4.9/bits/vector.tcc:167:5: note: no known conversion for argument 1 from ‘dso::IOWrap::PangolinDSOViewer*’ to ‘const std::vectordso::IOWrap::Output3DWrapper*&’
In file included from /usr/include/c++/4.9/vector:64:0,
from /usr/include/c++/4.9/bits/random.h:34,
from /usr/include/c++/4.9/random:49,
from /usr/include/c++/4.9/bits/stl_algo.h:66,
from /usr/include/c++/4.9/algorithm:62,
from /usr/include/eigen3/Eigen/Core:160,
from /home/ouyangqiuping/DSO/dso/src/util/NumType.h:27,
from /home/ouyangqiuping/DSO/dso/src/FullSystem/FullSystem.h:28,
from /home/ouyangqiuping/DSO/DSO_WS/src/dso_ros-catkin/src/main.cpp:37:
/usr/include/c++/4.9/bits/stl_vector.h:448:7: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = dso::IOWrap::Output3DWrapper*; _Alloc = std::allocatordso::IOWrap::Output3DWrapper*]
operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
^
/usr/include/c++/4.9/bits/stl_vector.h:448:7: note: no known conversion for argument 1 from ‘dso::IOWrap::PangolinDSOViewer*’ to ‘std::vectordso::IOWrap::Output3DWrapper*&&’
/usr/include/c++/4.9/bits/stl_vector.h:470:7: note: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = dso::IOWrap::Output3DWrapper*; _Alloc = std::allocatordso::IOWrap::Output3DWrapper*]
operator=(initializer_list<value_type> __l)
^
/usr/include/c++/4.9/bits/stl_vector.h:470:7: note: no known conversion for argument 1 from ‘dso::IOWrap::PangolinDSOViewer*’ to ‘std::initializer_listdso::IOWrap::Output3DWrapper*’
make[2]: *** [dso_ros-catkin/CMakeFiles/dso_live.dir/src/main.o] error 1
make[1]: *** [dso_ros-catkin/CMakeFiles/dso_live.dir/all] error 2
make: *** [all] error 2
Invoking "make -j4 -l4" failed`
catkin_make
gives the following result:
[100%] Building CXX object dso_ros/CMakeFiles/dso_live.dir/src/main.o
Linking CXX executable /home/seonghunlee/ros/dso_ros/catkin_ws/devel/lib/dso_ros/dso_live
CMakeFiles/dso_live.dir/src/main.o: In function `main':
/home/seonghunlee/ros/dso_ros/catkin_ws/src/dso_ros/src/main.cpp:213: undefined reference to `dso::IOWrap::PangolinDSOViewer::PangolinDSOViewer(int, int, bool)'
collect2: error: ld returned 1 exit status
make[2]: *** [/home/seonghunlee/ros/dso_ros/catkin_ws/devel/lib/dso_ros/dso_live] Error 1
make[1]: *** [dso_ros/CMakeFiles/dso_live.dir/all] Error 2
make: *** [all] Error 2
Invoking "make -j4 -l4" failed
Can you maybe help me understand why I am having this error?
Could I get more detail on how to install this? Are there examples anywhere, that I could review?
The instructions here are very minimal. I have installed ROS Melodic in a catkin workspace on a raspberry pi 4b+ per the Rosberry instructions. I have also successfully installed dso in its own directory, using the modified CMakeLists.txt code provided for raspberry pi 3.
dso seems to work, since I can run it with the example datasets from TUM.
I would appreciate it, if anyone could point me to an installation example, or give a step-by-step instruction set, like on the dso page.
Thanks
`DSO_PATH set, trying to find library.
---- EXPECTING DSO sources at
"/catkin_ws/src/dso"
---- LOOKING FOR DSO library at
"/catkin_ws/src/dso/build/lib"
---- Found DSO library at "/catkin_ws/devel/lib/libdso.so"
---- FOUND Pangolin Headers at
""
---- FOUND Pangolin Libs at
"pango_core;pango_display;pango_geometry;pango_glgeometry;pango_image;pango_opengl;pango_packetstream;pango_plot;pango_python;pango_scene;pango_tools;pango_vars;pango_video;pango_windowing;tinyobj"
---- FOUND OpenCV Headers at
"/usr/include;/usr/include/opencv"
---- FOUND OpenCV Libs at
"opencv_calib3d;opencv_core;opencv_features2d;opencv_flann;opencv_highgui;opencv_imgcodecs;opencv_imgproc;opencv_ml;opencv_objdetect;opencv_photo;opencv_shape;opencv_stitching;opencv_superres;opencv_video;opencv_videoio;opencv_videostab;opencv_viz;opencv_aruco;opencv_bgsegm;opencv_bioinspired;opencv_ccalib;opencv_datasets;opencv_dpm;opencv_face;opencv_freetype;opencv_fuzzy;opencv_hdf;opencv_line_descriptor;opencv_optflow;opencv_phase_unwrapping;opencv_plot;opencv_reg;opencv_rgbd;opencv_saliency;opencv_stereo;opencv_structured_light;opencv_surface_matching;opencv_text;opencv_ximgproc;opencv_xobjdetect;opencv_xphoto"
`
/catkin_ws/devel/lib/libdso.so: undefined reference to `pangolin::Handler3D::Handler3D(pangolin::OpenGlRenderState&, pangolin::AxisDirection, float, float)'
I was able to compile and run dso_ros (catkin branch) on ROS kinetic. However I noticed that its only output is through PangolinDSOViewer
. I would like to use DSO SLAM on a quadrotor equipped with a camera. My main motivation is to have some information about odometry based on camera video stream. It would be also great if I could use the output of DSO SLAM to build map of the environment.
Is it possible to publish geometry_msgs/PoseStamped
and sensor_msgs/PointCloud2
from dso_ros?
Ok. I just read the documentation more carefully and find the note about writing custom Output3DWrapper
.
[rosrun] Couldn't find executable named dso_live below /home/ly/catkin_ws/src/dso_ros
[rosrun] Found the following, but they're either not files,
[rosrun] or not executable:
[rosrun] /home/ly/catkin_ws/src/dso_ros/build/bin/dso_live
how to solve it?
can you help me
Hi guys, I downloaded the catkin branch. I am trying to compile it using catkin_make (ROS Lunar), and I got the following error:
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
DSO_LIBRARY
linked by target "dso_live" in directory /******/catkin_ws/src/dso_ros-catkin
Could you give me any suggestions? Thank you very much!
hi!when I run this project I got an error like FAILED TO COMPUTE GOOD CAMERA MATRIX - SOMETHING IS SERIOUSLY WRONG. ABORTING .
my camera.txt is
RadTan 595.2511 595.2407 330.8092 243.9891 0.0827 -0.0182 0.0014 0.0182
640 480
crop
640 480
however everything goes well when I use
RadTan 595.2511 595.2407 330.8092 243.9891 0.0827 -0.0182 0.0014 0.0182
640 480
none
640 480.
looking forward to your reply!
@NikolausDemmel, I ran dso with the dso_ros wrapper, but live feed from the camera is not taken. Why is that?
Anyone have ever managed to add some real-time-streaming function (just like from a mono camera) on Winows using VS2015 or other compiler until now?
I recently tried to implement this, but I don't know how to adapt this DSO_ROS to Windows(as we all know there is not ROS env here) . Where I need to add code into, sampleoutput or some other place? Hope can give me some prompt if you know about this.
Thanks in advance.
By the way, the VS project on windows I used is come from his fork. @jhincapie
https://github.com/jhincapie/DSOonWin
MODE WITH CALIBRATION, but without exposure times!
Reading Calibration from file /home/loopanda/indoorDrone/catkin_ws/src/dso_ros/camera.txt ... found!
found RadTan (OpenCV) camera model, building rectifier.
Creating RadTan undistorter
Input resolution: 640 480
In: 367.720384 369.850464 312.163378 222.327969 -0.302804 0.080163 0.001972 -0.000586
Out: Rectify Crop
Output resolution: 640 480
finding CROP optimal new model!
initial range: x: -1.1532 - 1.2409; y: -0.6982 - 0.8408!
iteration 00001: range: x: -1.1475 - 1.2347; y: -0.6982 - 0.8408!
iteration 00002: range: x: -1.1417 - 1.2285; y: -0.6982 - 0.8408!
iteration 00003: range: x: -1.1360 - 1.2224; y: -0.6982 - 0.8408!
iteration 00004: range: x: -1.1360 - 1.2224; y: -0.6947 - 0.8366!
iteration 00005: range: x: -1.1360 - 1.2224; y: -0.6912 - 0.8324!
iteration 00006: range: x: -1.1360 - 1.2224; y: -0.6912 - 0.8324!
Rectified Kamera Matrix:
270.95 0 307.8
0 314.369 217.307
0 0 1
NO PHOTOMETRIC Calibration!
Reading Photometric Calibration from file
PhotometricUndistorter: Could not open file!
using pyramid levels 0 to 3. coarsest resolution: 80 x 60!
START PANGOLIN!
OpenGL Error: XX (1282)
In: /usr/local/include/pangolin/gl/gl.hpp, line 198
I use pangolin 0.5 and my dso can run normally
Environment: Ubuntu14.04, ros: indigo version
Issue: When I git download the catkin branch, using command "catkin_make", it gives the errors below:
"/opt/ros/indigo/lib/librealsense.so: undefined reference to libusb_strerror' /opt/ros/indigo/lib/librealsense.so: undefined reference to
libusb_get_port_numbers'
/opt/ros/indigo/lib/librealsense.so: undefined reference to libusb_get_parent' /opt/ros/indigo/lib/librealsense.so: undefined reference to
libusb_error_name'
collect2: error: ld returned 1 exit status
"
///////////////////////////////////////////////////////////////////////////////////////////
In the directory /opt/ros/indigo/lib/, input the command "ls -l | grep librealsense", the results are :
"
lrwxrwxrwx 1 root root 17 March 30 2017 librealsense.so -> librealsense.so.1
lrwxrwxrwx 1 root root 22 March 30 2017 librealsense.so.1 -> librealsense.so.1.12.1
-rw-r--r-- 1 root root 959216 March 30 2017 librealsense.so.1.12.1
"
///////////////////////////////////////////////////////////////////////////////////////////
I try to reinstall the library using command "sudo apt-get --reinstall install 'ros-indigo-librealsense'", but is does not work, can anyone help me solve this problem? Thanks a lot.
In case if someone got eigen issue, it needs to compile my edited dso 👍
https://github.com/a-jahani/dso
They did some changes to dso but forget to make those changes to dso-ros too.
If you want to save the camera trajectories when closing the pangolin, you need to compile these:
https://github.com/a-jahani/dso_ros
After a rosmake without error, it doesn't generate the executable dso_live
.
I use the catkin branch. My ROS version is Indigo.
Since I am a beginner, it's hard to figure out what happened. So, it helps a lot if you have a complete test to make sure everything is OK. And maybe more details in the README will help a lot of people like me.
Thanks :)
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.