I'm trying to implement two Orbecc Astra PRO cameras with RTAB-Map in ROS.
I followed the example of demo_two_kinects.launch but when the nodelets are launched, the message says:
waitForService: Service [/camera1/camera1_nodelet_manager/load_nodelet] has not been advertised, waiting..
waitForService: Service [/camera2/camera2_nodelet_manager/load_nodelet] has not been advertised, waiting...
a quick fix would be to use standalone nodelets:
instead of "load depth_image_proc/rgbd_sync camera1_nodelet_manager", set "standalone depth_image_proc/rgbd_sync"
This is because freenect.launch or openni.launch uses a camera nodelet manager. You may look for the astra launch if there is also a nodelet manager, if so use it instead of "standalone" to avoid serialization/deserialization of the image messages.
Thank you for the reply.
I tried the standalone nodelets but results in pages long errors.
The atra package is very similar to the openni package but i just dont know where i can find the name of the nodelet manager.
I figured out the nodelet name, was all about the _ .
But now i get an error that suggests that the nodelet does not exist.
Failed to load nodelet [/camera_1/rgbd_sync] of type [depth_image_proc/rgbd_sync] even after refreshing the cache: According to the loaded plugin descriptions the class depth_image_proc/rgbd_sync with base class type nodelet::Nodelet does not exist.
I tried another random nodelet and gave the same result.
Would you know if this is an environment configureation issue?
If I install ros-kinetic-astra-launch and launch astra.launch, it seems that there is no nodelet problem:
$ sudo apt-get install ros-kinetic-astra-launch
$ roslaunch astra_launch astra.launch
... logging to /home/mathieu/.ros/log/eb24631a-5aa6-11e8-8135-c42c030ca39d/roslaunch-mathieu-Aspire-MC605-20389.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://mathieu-Aspire-MC605:40466/
* /camera/camera_nodelet_manager/num_worker_threads: 4
* /camera/depth_rectify_depth/interpolation: 0
* /camera/driver/auto_exposure: True
* /camera/driver/auto_white_balance: True
* /camera/driver/bootorder: 0
* /camera/driver/color_depth_synchronization: False
* /camera/driver/depth_frame_id: camera_depth_opti...
* /camera/driver/depth_registration: False
* /camera/driver/device_id: #1
* /camera/driver/devnums: 1
* /camera/driver/rgb_frame_id: camera_rgb_optica...
* /rosdistro: kinetic
* /rosversion: 1.12.13
auto-starting new master
process[master]: started with pid 
setting /run_id to eb24631a-5aa6-11e8-8135-c42c030ca39d
process[rosout-1]: started with pid 
started core service [/rosout]
process[camera/camera_nodelet_manager-2]: started with pid 
process[camera/driver-3]: started with pid 
process[camera/rgb_rectify_color-4]: started with pid 
process[camera/depth_rectify_depth-5]: started with pid 
process[camera/depth_metric_rect-6]: started with pid 
process[camera/depth_metric-7]: started with pid 
process[camera/depth_points-8]: started with pid 
process[camera/register_depth_rgb-9]: started with pid 
process[camera/points_xyzrgb_sw_registered-10]: started with pid 
process[camera/depth_registered_sw_metric_rect-11]: started with pid 
process[camera_base_link-12]: started with pid 
process[camera_base_link1-13]: started with pid 
process[camera_base_link2-14]: started with pid 
process[camera_base_link3-15]: started with pid 
[ INFO] [1526653361.285933059]: Initializing nodelet with 4 worker threads.
[ INFO] [1526653361.471240851]: No matching device found.... waiting for devices. Reason: std::__cxx11::string astra_wrapper::AstraDriver::resolveDeviceURI(const string&) @ /tmp/binarydeb/ros-kinetic-astra-camera-0.2.2/src/astra_driver.cpp @ 741 : Invalid device number 1, there are 0 devices connected.
[ INFO] [1526653364.471490445]: No matching device found.... waiting for devices. Reason: std::__cxx11::string astra_wrapper::AstraDriver::resolveDeviceURI(const string&) @ /tmp/binarydeb/ros-kinetic-astra-camera-0.2.2/src/astra_driver.cpp @ 741 : Invalid device number 1, there are 0 devices connected.
Well I don't have an astra camera, so I cannot see if images are actually published. The nodelet manager "camera_nodelet_manager" is in "camera" namespace. So to add a nodelet to it, we should load it with "camera/camera_nodelet_manager".
I managed to get the nodelets.
The only thing left is to figure out how to get the point cloud to be published as i get this message:
[ WARN] [1527083804.674772661]: /rgbd_odometry: Did not receive data since 5 seconds! Make sure the input topics are published ("$ rostopic hz my_topic") and the timestamps in their header are set.
/rgbd_odometry subscribed to (approx sync):
All the topics which the nodelets sub to are being published.