Git Product home page Git Product logo

Comments (5)

taihup avatar taihup commented on September 7, 2024

This launch should work for kitti. If not, check that you are running before launch S-PTAM:

roscore &
rosparam set use_sim_time true
<launch>

  <!-- Set use_sim_time true for datasets-->
  <param name="use_sim_time" value="true" />

  <!-- static_transform_publisher x y z yaw pitch roll frame_id child_frame_id -->
  <!-- This transform was used set only to test if everything works
       when using something different than the camera as a reference frame.
       If enabled, take care to also fix the transform below. -->
  <node pkg="tf2_ros" type="static_transform_publisher" name="camera_broadcaster" args="1 0 0.5 -1.57 0 -1.57 base_link left_camera" />

  <!-- 'start' frame is the starting pose of the camera
       When 'base_link' is set as the reference frame,
       take care to set this transformation to the same as the previous one -->
  <node pkg="tf2_ros" type="static_transform_publisher" name="start_broadcaster" args="0 0 0 0 0 0 start map" />

  <!-- S-PTAM pose path publisher. Used for visualization. -->
  <node pkg="ros_utils" type="pose_to_path" name="sptam_path">
    <remap from="pose" to="sptam/robot/pose" />
    <remap from="path" to="sptam/robot/path" />
  </node>

  <!-- Nodelet Manager -->
  <node pkg="nodelet" type="nodelet" name="nodelet_manager"  args="manager" output="screen" clear_params="true"/>

  <!-- Choose between Nodelet and Node S-PTAM -->
  <!-- <node pkg="sptam" type="sptam_node" name="sptam" output="screen" > -->
  <node pkg="nodelet" type="nodelet" name="sptam" args="load sptam/sptam_nodelet nodelet_manager" output="screen" clear_params="true" >

    <!-- Read S-PTAM parameters file -->
    <rosparam command="load" file="$(find sptam)/configurationFiles/kitti.yaml" />
    <param name="LoopDetectorVocabulary" value="$(find sptam)/bow_voc/DBoW2/brief_mit_malaga_vocabulary.yml.gz" />

    <param name="use_prediction" value="false" />
    <param name="approximate_sync" value="false" />
    <param name="publish_transform" value="true" />
    <param name="publish_on_fail" value="true" />

    <!--param name="prediction_frame" value="odom" /-->
    <param name="base_frame" value="left_camera" />
    <param name="camera_frame" value="left_camera" />
    <!--param name="map_frame" value="map" /-->
    <param name="reference_frame" value="base_link" />

    <remap from="/stereo/left/image_rect" to="/kitti_stereo/left/image_rect" />
    <remap from="/stereo/right/image_rect" to="/kitti_stereo/right/image_rect" />
    <remap from="/stereo/left/camera_info"  to="/kitti_stereo/left/camera_info" />
    <remap from="/stereo/right/camera_info"  to="/kitti_stereo/ri`ght/camera_info" />

  </node>

</launch>

from sptam.

salahkhan94 avatar salahkhan94 commented on September 7, 2024

Thanks for the help.
It doesn't publish anything and It gets stuck at this point I guess.
waitForService: Service [/nodelet_manager/load_nodelet] has not been advertised, waiting...

I have a few queries :

  1. What is the difference in using Node S-PTAM and Nodelet?
  2. Can we use Node instead of Nodelet in the above setting?
  3. Is it possible to load a pre-recorded point-cloud global map of features generated on an earlier run? How to accomplish this?

The following is the output of the launch:


WARNING: Metapackage "elas" should not have other dependencies besides a buildtool_depend on catkin and run_depends.
... logging to /home/sal/.ros/log/6627cd42-541f-11e8-87ce-8056f2bf2829/roslaunch-sal-5921.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://sal:34565/

SUMMARY
========

CLEAR PARAMETERS
 * /nodelet_manager/
 * /sptam/

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.13
 * /sptam/BundleAdjustmentActiveKeyframes: 10
 * /sptam/DescriptorExtractor/Name: BRIEF
 * /sptam/DescriptorExtractor/bytes: 32
 * /sptam/DescriptorMatcher/Name: BruteForce-Hamming
 * /sptam/DescriptorMatcher/crossCheck: False
 * /sptam/EpipolarDistance: 0
 * /sptam/FeatureDetector/Name: GFTT
 * /sptam/FeatureDetector/minDistance: 15.0
 * /sptam/FeatureDetector/nfeatures: 1000
 * /sptam/FeatureDetector/qualityLevel: 0.01
 * /sptam/FeatureDetector/useHarrisDetector: False
 * /sptam/FrustumFarPlaneDist: 10000.0
 * /sptam/FrustumNearPlaneDist: 0.1
 * /sptam/LoopDetectorVocabulary: /home/sal/sptam_w...
 * /sptam/MatchingCellSize: 15
 * /sptam/MatchingDistance: 25
 * /sptam/MatchingNeighborhood: 2
 * /sptam/approximate_sync: False
 * /sptam/base_frame: left_camera
 * /sptam/camera_frame: left_camera
 * /sptam/minimumTrackedPointsRatio: 0.9
 * /sptam/publish_on_fail: True
 * /sptam/publish_transform: True
 * /sptam/reference_frame: base_link
 * /sptam/use_prediction: False
 * /use_sim_time: True

NODES
  /
    camera_broadcaster (tf2_ros/static_transform_publisher)
    nodelet_manager (nodelet/nodelet)
    sptam (nodelet/nodelet)
    sptam_path (ros_utils/pose_to_path)
    start_broadcaster (tf2_ros/static_transform_publisher)

ROS_MASTER_URI=http://localhost:11311

WARNING: Metapackage "elas" should not have other dependencies besides a buildtool_depend on catkin and run_depends.
process[camera_broadcaster-1]: started with pid [5940]
process[start_broadcaster-2]: started with pid [5941]
process[sptam_path-3]: started with pid [5961]
process[nodelet_manager-4]: started with pid [5973]
process[sptam-5]: started with pid [5985]
[ INFO] [1525935478.722579432]: Loading nodelet /sptam of type sptam/sptam_nodelet to manager nodelet_manager with the following remappings:
[ INFO] [1525935478.722705606]: /stereo/left/camera_info -> /kitti_stereo/left/camera_info
[ INFO] [1525935478.722745247]: /stereo/left/image_rect -> /kitti_stereo/left/image_rect
[ INFO] [1525935478.722769475]: /stereo/right/camera_info -> /kitti_stereo/right/camera_info
[ INFO] [1525935478.722789006]: /stereo/right/image_rect -> /kitti_stereo/right/image_rect
[ INFO] [1525935478.728956715]: waitForService: Service [/nodelet_manager/load_nodelet] has not been advertised, waiting...
[ INFO] [1525935478.782675911]: Initializing nodelet with 4 worker threads.


from sptam.

taihup avatar taihup commented on September 7, 2024
  1. nodelet make s-ptam faster because ROS messages do not need to be serialised. Check http://wiki.ros.org/nodelet
  2. Yes. Check to run in Node mode.
  3. No, It is not possible with the current code.

I suggest you to remove the catkin workspace and redo all the steps. Maybe you have a wrong configuration. Also, It looks like you have the libelas library in your wrokspace and it is throwing a warning, try to remove the package that contains it.

Try to compile without Loop Closure.

from sptam.

salahkhan94 avatar salahkhan94 commented on September 7, 2024

Yes I'm using Libelas for building 3D maps using Point-cloud generated by elas and Pose output of SPTAM.
It's weird that SPTAM works perfectly with using left_camera as frame of reference but not while using base_link. Anyways I'll try to re-install everything.

Thanks for the help.

from sptam.

taihup avatar taihup commented on September 7, 2024

There is a work that maybe do the same idea: https://github.com/CIFASIS/dense-sptam
However, take into account that it is based in a previous version of S-PTAM and it does not have a Loop Closure module.

from sptam.

Related Issues (20)

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.