Closed beyondli closed 2 years ago
Which model are you using? And did you copy the rule file (56-orbbec-usb.rules) to /etc/udev/rules.d/
?
Please check if there is any astra device under /dev
I installed astro pro, yes I copy to /etc/udev/rules.d/ but sudo systemctl reload systemd-udevd failed
with v4tl-ctl ,I can see astro device
Maybe you could try this command.
sudo service udev reload && sudo service udev restart
Edited: I have looked the logs you provided. It seems that the depth camera is working. Can you check about whether your rgb camera's VID:PID string is 2bc5:0502? If not, modifies the parameters file and try again. You can run lsusb | grep 2bc5
to check simply.
[component_container-1] /mnt/workspace/ros2_foxy/install/rclcpp_components/lib/rclcpp_components/component_container: symbol lookup error: /mnt/workspace/mini_robot/install/depth_image_proc/lib/libdepth_image_proc.so: undefined symbol: _ZN16depth_image_proc12convertDepthIfEEvRKSt10shared_ptrIKN11sensor_msgs3msg6Image_ISaIvEEEERS1_INS3_12PointCloud2_IS5_EEERKN14image_geometry18PinholeCameraModelEd
I found an issue(https://github.com/ros-perception/image_pipeline/issues/696) related to this. Perhaps I install this package through apt install
, I have not met this problem.
Hi Kaven Yau, thanks for you reply,
1)sudo service udev reload && sudo service udev restart this command seems worked for me , no info feedback from screen 2)but still uvc_find_device error 3)I tested on foxy, do you test on foxy? 4)I compile total image_pipeline, it is successed
for RGB image, I tested on ROS2, it is OK that it can capture correct image
but still uvc_find_device error
Run this command to check the pid and vid
lsusb | grep 2bc5
I tested on foxy, do you test on foxy?
Yes, I tested on foxy just now, and I could get cloud data.
seems device driver is OK
Got it, modify the vid and pid in parameters file ros2_astra_camera/ros2_astra_camera/launch/params/astra_pro.yaml
, it should work for you.
uvc_camera_node:
ros__parameters:
vendor: "0x2bc5"
product: "0x0501"
thanks, uvc mode works! but still some yaml missed
[uvc_camera_node-3] unsupported descriptor subtype VS_COLORFORMAT [uvc_camera_node-3] unsupported descriptor subtype VS_COLORFORMAT [astra_camera_node-2] [WARN] [1651758248.049495651] [astra_camera_node]: has IR sensor is 1 [astra_camera_node-2] [INFO] [1651758248.070842286] [astra_camera_node]: Starting IR stream. [astra_camera_node-2] [WARN] [1651758248.079114955] [astra_camera_node]: has depth sensor is 1 [astra_camera_node-2] [INFO] [1651758248.089330159] [astra_camera_node]: Starting depth stream. [astra_camera_node-2] [INFO] [1651758248.183846074] [astra_camera_node]: using default calibration URL [astra_camera_node-2] [INFO] [1651758248.184743229] [astra_camera_node]: camera calibration URL: file:///home/tx2/.ros/camera_info/depth_Astra_Orbbec.yaml [astra_camera_node-2] [ERROR] [1651758248.185681504] [camera_calibration_parsers]: Unable to open camera calibration file [/home/tx2/.ros/camera_info/depth_Astra_Orbbec.yaml] [astra_camera_node-2] [WARN] [1651758248.185965345] [astra_camera_node]: Camera calibration file /home/tx2/.ros/camera_info/depth_Astra_Orbbec.yaml not found [ [astra_camera_node-2] [ERROR] [1651758248.185681504] [camera_calibration_parsers]: Unable to open camera calibration file [/home/tx2/.ros/camera_info/depth_Astra_Orbbec.yaml] how to create this depth_Astra_Orbbec.yaml? it is found at dir /.ros/camera, seems generated by some tools then installed?
Hi KavenYau, 1)where you found depth_Astra_Orbbec.yaml/color_Astra_Orbbec.yaml, I cannot find these files 2)for libdepth_image_proc.so issues:how do you install it, I just compiled it mannually, but still errors
thanks any help!
where you found depth_Astra_Orbbec.yaml/color_Astra_Orbbec.yaml, I cannot find these files
I think these files are generated after camera calibration. Actually I have not done this yet. Maybe you can follow this step http://wiki.ros.org/camera_calibration/Tutorials/MonocularCalibration.
for libdepth_image_proc.so issues:how do you install it, I just compiled it mannually, but still errors
I test on Ubuntu 20.04, so I can use a easy way to install it, e.g.,sudo apt install ros-foxy-image-pipeline
. I have not tested on NVIDIA Jetson Platform, and I am not sure whether it will get the same errors if the image-pipeline package built from source on Ubuntu 20.04.
thanks! try more on it
Hi Kaven, I now can bring up astro, but it seems blocked at below pic, may I know how long you can see point clound after launch file run? Does this means camera already OK, after launch how to view it? rviz2? tx2@tx2:/mnt/workspace/mini_robot$ ros2 launch ros2_astra_camera astra_pro_launch.py [INFO] [launch]: All log files can be found below /home/tx2/.ros/log/2022-05-07-11-09-06-285508-tx2-26353 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [component_container-1]: process started with pid [26369] [INFO] [astra_camera_node-2]: process started with pid [26370] [INFO] [uvc_camera_node-3]: process started with pid [26371] [INFO] [robot_state_publisher-4]: process started with pid [26372] [robot_state_publisher-4] [WARN] [1651936146.953187205] [robot_state_publisher]: No robot_description parameter, but command-line argument available. Assuming argument is name of URDF file. This backwards compatibility fallback will be removed in the future. [robot_state_publisher-4] Parsing robot urdf xml string. [robot_state_publisher-4] Link camera_depth_frame had 1 children [robot_state_publisher-4] Link camera_depth_optical_frame had 0 children [robot_state_publisher-4] Link camera_rgb_frame had 1 children [robot_state_publisher-4] Link camera_rgb_optical_frame had 0 children [robot_state_publisher-4] [INFO] [1651936146.964768263] [robot_state_publisher]: got segment camera_depth_frame [robot_state_publisher-4] [INFO] [1651936146.964903110] [robot_state_publisher]: got segment camera_depth_optical_frame [robot_state_publisher-4] [INFO] [1651936146.964958406] [robot_state_publisher]: got segment camera_link [robot_state_publisher-4] [INFO] [1651936146.964999141] [robot_state_publisher]: got segment camera_rgb_frame [robot_state_publisher-4] [INFO] [1651936146.965038021] [robot_state_publisher]: got segment camera_rgb_optical_frame [component_container-1] [INFO] [1651936146.971940781] [depth_image_proc_container]: Load Library: /mnt/workspace/mini_robot/install/depth_image_proc/lib/libdepth_image_proc.so [astra_camera_node-2] [INFO] [1651936147.096142140] [astra_wrapper]: Device "2bc5/0403@1/6" found. [astra_camera_node-2] [INFO] [1651936147.134220838] [astra_camera_node]: ir_frame_id = 'camera_ir_optical_frame' [astra_camera_node-2] [INFO] [1651936147.134797122] [astra_camera_node]: rgb_frame_id = 'camera_rgb_optical_frame' [astra_camera_node-2] [INFO] [1651936147.134905185] [astra_camera_node]: depth_frame_id = 'camera_depth_optical_frame'
[component_container-1] [INFO] [1651936147.141977127] [depth_image_proc_container]: Found class: rclcpp_components::NodeFactoryTemplate
I also saw the warning message in your figure when testing on foxy before, but clouds were normal. I haven't delved into it yet.
You can use launch the launch file, or subscribe the topic with Best Effort QoS.
ros2 launch ros2_astra_camera astra_rviz.py
from rvi2 I found all image/pointcloud2 topic have no output , could you see these output from rviz2?
Yes, I can. Did you set Fixed Frame to camera_link
in Rviz2 ? You can use ros2 topic echo
to have a simple check.
cool! image is OK, but pointcloud still no output ?more set for it?
Subscribing the cloud topics with Best Effort QoS.
worked, thanks ,Kaven, your great work!
Hi I try to compile on 32.6.1, erros below:
[astra_camera_node-2] Warning: USB events thread - failed to set priority. This might cause loss of data... [uvc_camera_node-3] [WARN] [1651716631.879512838] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic. [INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/point_cloud_xyz_node' in container '/depth_image_proc_container' [uvc_camera_node-3] [INFO] [1651716631.918672675] [uvc_camera_node]: Opening camera with vendor=0x2bc5, product=0x502, serial="", index=0 [astra_camera_node-2] Warning: USB events thread - failed to set priority. This might cause loss of data... [astra_camera_node-2] [INFO] [1651716631.963984946] [astra_wrapper]: device name: Orbbec Astra Pro [astra_camera_node-2] [INFO] [1651716631.964407190] [astra_camera_node]: depth_mode is Resolution: 640x480@30Hz Format: Depth 1mm [astra_camera_node-2] [INFO] [1651716631.964549911] [astra_camera_node]: color mode is Resolution: 640x480@30Hz Format: RGB888 [astra_camera_node-2] [INFO] [1651716631.964629368] [astra_camera_node]: IR mode is Resolution: 640x480@30Hz Format: Gray16 [uvc_camera_node-3] uvc_find_device: No such device (-4) [uvc_camera_node-3] terminate called after throwing an instance of 'std::runtime_error' [uvc_camera_node-3] what(): camera driver start failed. [astra_camera_node-2] [WARN] [1651716632.046588591] [astra_camera_node]: has IR sensor is 1 [astra_camera_node-2] [INFO] [1651716632.066862419] [astra_camera_node]: Starting IR stream. [astra_camera_node-2] [WARN] [1651716632.072144510] [astra_camera_node]: has depth sensor is 1 [astra_camera_node-2] [INFO] [1651716632.078902420] [astra_camera_node]: Starting depth stream. [astra_camera_node-2] [INFO] [1651716632.176594282] [astra_camera_node]: using default calibration URL [astra_camera_node-2] [INFO] [1651716632.176859244] [astra_camera_node]: camera calibration URL: file:///home/tx2/.ros/camera_info/depth_Astra_Orbbec.yaml [astra_camera_node-2] [ERROR] [1651716632.177212751] [camera_calibration_parsers]: Unable to open camera calibration file [/home/tx2/.ros/camera_info/depth_Astra_Orbbec.yaml] [astra_camera_node-2] [WARN] [1651716632.177307440] [astra_camera_node]: Camera calibration file /home/tx2/.ros/camera_info/depth_Astra_Orbbec.yaml not found [component_container-1] /mnt/workspace/ros2_foxy/install/rclcpp_components/lib/rclcpp_components/component_container: symbol lookup error: /mnt/workspace/mini_robot/install/depth_image_proc/lib/libdepth_image_proc.so: undefined symbol: _ZN16depth_image_proc12convertDepthIfEEvRKSt10shared_ptrIKN11sensor_msgs3msg6Image_ISaIvEEEERS1_INS3_12PointCloud2_IS5_EEERKN14image_geometry18PinholeCameraModelEd [ERROR] [component_container-1]: process has died [pid 15182, exit code 127, cmd '/mnt/workspace/ros2_foxy/install/rclcpp_components/lib/rclcpp_components/component_container --ros-args -r node:=depth_image_proc_container -r __ns:=/']. [ERROR] [uvc_camera_node-3]: process has died [pid 15184, exit code -6, cmd '/mnt/workspace/mini_robot/install/ros2_astra_camera/lib/ros2_astra_camera/uvc_camera_node --ros-args -r node:=uvc_camera_node --params-file /mnt/workspace/mini_robot/install/ros2_astra_camera/share/ros2_astra_camera/launch/params/astra_pro.yaml']. ^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[astra_camera_node-2] terminate called after throwing an instance of 'std::system_error' [astra_camera_node-2] what(): Invalid argument
actually, I CAN see it from v4tl
any help is very appreciated!