Comments (8)
I see what you mean. So it's actually correct the way it is, exposing the service at /set_camera_info
, because all I need to do is launch the node inside a "camera" namespace to make it appear as "/camera/set_camera_info", and I should remove the hard-coded "/camera" so the other publishers will work the same way.
from image_common.
The CameraInfoManager constructor advertises set_camera_info
service in the namespace of whatever node handle you pass it.
Is the raspicam node already running in a /camera
namespace?
from image_common.
I believe so, and rostopic list
shows it exposes /camera/image
, but I only see /set_camera_info
.
Is there a sequence when CameraInfoManager should be initialized? The node is currently doing right after ros::init()
as shown here. Is that too early?
I've forked the code and have fixed a few minor bugs, so if this isn't the correct initialization, I could fix it.
from image_common.
Sounds like you're not running in the /camera
namespace, just advertising the topic with a relative topic name.
If you want things to be in the /camera
namespace, you should probably define a camera node handle, like in this example. Use that for both the topics and the camera info service.
from image_common.
I see. I'll try updating the code following that example. Thanks.
from image_common.
Note that the example given does not follow the recommendations of REP-0135, which recommends not using the "camera" sub-namespace, but rather launching the driver in whatever namespace seems appropriate for that specific device.
I chose not to modify camera1394 when that REP was adopted, because it already had many users and I didn't want to confuse them. Making that change in a backwards-compatible way seemed difficult.
I would recommend using the root namespace, in your case.
from image_common.
What do you mean by root namespace? As in "/"? Shouldn't I use something like "raspicam"?
from image_common.
No, the ROS root namespace is /
. Using raspicam
makes the data specific to that one driver. The general interface is /image_raw
, which works with any camera. not just yours.
from image_common.
Related Issues (20)
- Support Modern CMake practices HOT 2
- [Feature Request] Python bindings HOT 2
- fatal error: camera_info_manager/camera_info_manager.hpp: No such file or directory HOT 1
- New release for Rolling HOT 2
- Republishing multiple cameras has unexpected results HOT 6
- CameraInfoManager should register services inside node namespace
- image_transport::CameraPublisher does not support cv::Mat Type adapter
- Low message read rate on other device and excessive message size with tutorial publisher HOT 2
- disable_pub_plugins parameter commented out in ROS2 HOT 1
- Unable to leverage compressed image topics as expected, ROS2 Humble HOT 5
- Error will cmake
- image_transport publisher nodes should support subscriber specific compression config HOT 2
- Merge #276 broke downstream packages HOT 1
- Camera & info synchronization check timer wrong seconds value HOT 1
- No synchornization HOT 1
- undefined reference error after upgrading ros-rolling-image-transport
- yuv422_yuy2 incorrectly (de)compressed HOT 1
- image_transport tutorial resized_plugins Shared Object mismatch between resized_plugins.xml and CMakeLists.txt
- Creating an ImageTransport object inside a ROS node can lead to a circular dependency
- Register component for republish node in humble
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 image_common.