Git Product home page Git Product logo

Comments (14)

reaganlo avatar reaganlo commented on July 20, 2024

@liz-murphy , I understand why you could get confused. But let me try to explain the reason why we have two flags "publish_tf" and "enable_tf":

This was done to follow the standards in freenect.launch, where "publish_tf" is set to true when the transforms are generated statically using "static_transform_publisher".

By default, the realsense package generates transforms from within the nodelet.

So when the "publish_tf" is set to true, we wanted to turn-off the default behavior of the realsense package and not generate transforms from within the nodelet, as the expectation/assumption was that the transforms will be generated statically. We have a comment in the realsense_r200_nodelet.launch.xml that states that.
"enable_tf" will be set to false only if "publish_tf" is true. Else it is set to true.
Ensures that the nodelet does not publish tf if the transforms are published statically.

Let me know if this helps.

from realsense-ros.

reaganlo avatar reaganlo commented on July 20, 2024

@liz-murphy, Also, since you are using realsense_r200_nodelet.launch.xml, I would like to mention that you could change the resolution of the depth and color streams in "manual" mode. Please refer to the sample launch file manual launch.

We will update the realsense_r200_nodelet.launch.xml in the next release to show this option, in case users overlook the manual.launch example.

from realsense-ros.

liz-murphy avatar liz-murphy commented on July 20, 2024

@reaganlo OK, my bad, I'm sorry. You are not providing a default static transform file though, so it is still odd to set publish_tf=true and have nothing published.
https://github.com/ros-drivers/freenect_stack/blob/edaf577f6db318ca12f2ac767619b2c6a971cff2/freenect_launch/launch/freenect.launch#L129

With respect to resolutions etc - you should be using a combination of dynamic reconfigure and/or ros params to load the configuration. It's just a more standard way of doing things and allows more transparency in remapping. It also means you can get rid of all those constants here https://github.com/intel-ros/realsense/blob/indigo-devel/camera/src/realsense_camera_nodelet.h#L78

I've made a start on that in my fork, needed it for compatability with our existing launch files on the robot.
https://github.com/liz-murphy/realsense/blob/dev/camera/src/realsense_camera_nodelet.h
https://github.com/liz-murphy/realsense/blob/dev/camera/src/realsense_camera_nodelet.cpp

Note that it is also a lot more convenient to set the resolution by enumerating the device modes in the dynamic reconfigure configuration and fetching the width/height etc in the code via

dev->get_stream_mode(strm, k, width, height, format, framerate);

which stops the user from setting an invalid combination.

from realsense-ros.

liz-murphy avatar liz-murphy commented on July 20, 2024

@reaganlo if it helps with development I can send you the launch file we currently use to launch 2 cameras. Let me know if that'd be useful.

from realsense-ros.

reaganlo avatar reaganlo commented on July 20, 2024

@liz-murphy, Yes, your suggestions are all valid. We are working on converting args to params and will have it part of the next release (next week). I was about to do a quick test on your pull request #8 .
I will post my comments on your pull request in that thread.

Yes, it would be great if you could send the launch files that you are using, so that we can understand the requirement better.

I will review this issue #9 with my team in the morning and decide how to resolve it. Meanwhile, if you feel it could be "closed" based on our discussion (i.e let publish_tf be set to false which would let the nodelet publish the transforms) , please feel free to close it :)

from realsense-ros.

aditya2592 avatar aditya2592 commented on July 20, 2024

Hi, Does the publish_tf flag exist in the current version ?

from realsense-ros.

doronhi avatar doronhi commented on July 20, 2024

No. The static transformations are published.

from realsense-ros.

aditya2592 avatar aditya2592 commented on July 20, 2024

Is there any way to turn the static publishing off? In our case the camera is already in the robot URDF model and transforms are present there

from realsense-ros.

doronhi avatar doronhi commented on July 20, 2024

We could add a flag in future versions, if it is a common demand. In the meanwhile, could you rename and ignore them?

from realsense-ros.

aditya2592 avatar aditya2592 commented on July 20, 2024

Are you referring to using tf_prefix? If I use that it also renames the frame_ids of images and point clouds and then the transform between image frame and other frames is lost as it is not present in the tf tree

from realsense-ros.

doronhi avatar doronhi commented on July 20, 2024

I see now what you mean.
It could take me a while to set a flag to disable publishing tf as there are more issues I'd like to address in the process. In the meanwhile, I think that if you disabled this line you'll get what you need.

from realsense-ros.

aditya2592 avatar aditya2592 commented on July 20, 2024

Thanks @doronhi. I will go ahead and comment this line for now.

from realsense-ros.

RealSenseCustomerSupport avatar RealSenseCustomerSupport commented on July 20, 2024

@liz-murphy Any other questions for this ticket? Looking forward to your update. Thanks!

from realsense-ros.

RealSenseCustomerSupport avatar RealSenseCustomerSupport commented on July 20, 2024

@liz-murphy Will close this if no other questions. Thanks!

from realsense-ros.

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.