Comments (14)
@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.
@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.
@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.
@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.
@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.
Hi, Does the publish_tf flag exist in the current version ?
from realsense-ros.
No. The static transformations are published.
from realsense-ros.
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.
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.
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.
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.
Thanks @doronhi. I will go ahead and comment this line for now.
from realsense-ros.
@liz-murphy Any other questions for this ticket? Looking forward to your update. Thanks!
from realsense-ros.
@liz-murphy Will close this if no other questions. Thanks!
from realsense-ros.
Related Issues (20)
- Can't not display compressed RGB/Depth in RViz HOT 6
- `rgb_camera.color_profile` -> `rgb_camera.profile` ? HOT 2
- Announcement: RealSense ROS wrapper 4.55.1 now available HOT 10
- Cannot Publish Pointclouds on ROS Noetic under Ubuntu 20.04 on an RPi 4 HOT 4
- Can D435 or D455 be used in a MOOS environment? HOT 3
- How to calibrate D435 using checkerboard underwater? HOT 3
- Current Options for Visual Odometry with T265
- Prefixing camera frames with namespaces in the tf_static topic HOT 12
- ROS2 Lifecycle node HOT 2
- D455 camera cannot get imu msg from rostopic HOT 6
- The requested device with serial number f0232572 is NOT found. Will Try again. L515 HOT 3
- Error with "roslaunch realsense2_camera opensource_tracking.launch" HOT 31
- Connect to device via physical ID HOT 5
- The ROS wrapper for RealSense D435 does not starts, it gives ERRORS - D435+ROS Noetic+Ubuntu 20.04 HOT 41
- D455 camera cannot get imu msg from rostopic HOT 15
- Unable to build from source since PR #3125 HOT 35
- cant change color profile HOT 10
- When can a version with "rolling" support be released? HOT 3
- Failed to start the depth stream with D415 after updating to RealSense ROS Wrapper Version 4.55.1 HOT 10
- fails to build from sources HOT 23
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from realsense-ros.