ros-naoqi / naoqi_driver

c++ bridge based on libqi
Apache License 2.0
51 stars 93 forks source link

naoqi_driver is not publishing point cloud #146

Open UdayRockzz opened 2 years ago

UdayRockzz commented 2 years ago

Hello,

I am working on octomap package where I need point cloud of the pepper robot. unfortunately naoqi_driver is not publishing point cloud. and these are my rostopic list:

/clock /cmd_vel /diagnostics /joint_angles /joint_states /move_base_simple/goal /naoqi_driver/audio /naoqi_driver/bumper /naoqi_driver/camera/bottom/camera_info /naoqi_driver/camera/bottom/image_raw /naoqi_driver/camera/bottom/image_raw/compressed /naoqi_driver/camera/bottom/image_raw/compressed/parameter_descriptions /naoqi_driver/camera/bottom/image_raw/compressed/parameter_updates /naoqi_driver/camera/bottom/image_raw/theora /naoqi_driver/camera/bottom/image_raw/theora/parameter_descriptions /naoqi_driver/camera/bottom/image_raw/theora/parameter_updates /naoqi_driver/camera/depth/camera_info /naoqi_driver/camera/depth/image_raw /naoqi_driver/camera/depth/image_raw/compressed /naoqi_driver/camera/depth/image_raw/compressed/parameter_descriptions /naoqi_driver/camera/depth/image_raw/compressed/parameter_updates /naoqi_driver/camera/depth/image_raw/compressedDepth /naoqi_driver/camera/depth/image_raw/compressedDepth/parameter_descriptions /naoqi_driver/camera/depth/image_raw/compressedDepth/parameter_updates /naoqi_driver/camera/depth/image_raw/theora /naoqi_driver/camera/depth/image_raw/theora/parameter_descriptions /naoqi_driver/camera/depth/image_raw/theora/parameter_updates /naoqi_driver/camera/front/camera_info /naoqi_driver/camera/front/image_raw /naoqi_driver/camera/front/image_raw/compressed /naoqi_driver/camera/front/image_raw/compressed/parameter_descriptions /naoqi_driver/camera/front/image_raw/compressed/parameter_updates /naoqi_driver/camera/front/image_raw/theora /naoqi_driver/camera/front/image_raw/theora/parameter_descriptions /naoqi_driver/camera/front/image_raw/theora/parameter_updates /naoqi_driver/camera/stereo/camera_info /naoqi_driver/camera/stereo/image_raw /naoqi_driver/camera/stereo/image_raw/compressed /naoqi_driver/camera/stereo/image_raw/compressed/parameter_descriptions /naoqi_driver/camera/stereo/image_raw/compressed/parameter_updates /naoqi_driver/camera/stereo/image_raw/theora /naoqi_driver/camera/stereo/image_raw/theora/parameter_descriptions /naoqi_driver/camera/stereo/image_raw/theora/parameter_updates /naoqi_driver/hand_touch /naoqi_driver/head_touch /naoqi_driver/imu/base /naoqi_driver/imu/torso /naoqi_driver/info /naoqi_driver/laser /naoqi_driver/odom /naoqi_driver/sonar/back /naoqi_driver/sonar/front /naoqi_driver_node/audio /naoqi_driver_node/bumper /naoqi_driver_node/camera/bottom/camera_info /naoqi_driver_node/camera/bottom/image_raw /naoqi_driver_node/camera/bottom/image_raw/compressed /naoqi_driver_node/camera/bottom/image_raw/compressed/parameter_descriptions /naoqi_driver_node/camera/bottom/image_raw/compressed/parameter_updates /naoqi_driver_node/camera/bottom/image_raw/theora /naoqi_driver_node/camera/bottom/image_raw/theora/parameter_descriptions /naoqi_driver_node/camera/bottom/image_raw/theora/parameter_updates /naoqi_driver_node/camera/depth/camera_info /naoqi_driver_node/camera/depth/image_raw /naoqi_driver_node/camera/depth/image_raw/compressed /naoqi_driver_node/camera/depth/image_raw/compressed/parameter_descriptions /naoqi_driver_node/camera/depth/image_raw/compressed/parameter_updates /naoqi_driver_node/camera/depth/image_raw/compressedDepth /naoqi_driver_node/camera/depth/image_raw/compressedDepth/parameter_descriptions /naoqi_driver_node/camera/depth/image_raw/compressedDepth/parameter_updates /naoqi_driver_node/camera/depth/image_raw/theora /naoqi_driver_node/camera/depth/image_raw/theora/parameter_descriptions /naoqi_driver_node/camera/depth/image_raw/theora/parameter_updates /naoqi_driver_node/camera/front/camera_info /naoqi_driver_node/camera/front/image_raw /naoqi_driver_node/camera/front/image_raw/compressed /naoqi_driver_node/camera/front/image_raw/compressed/parameter_descriptions /naoqi_driver_node/camera/front/image_raw/compressed/parameter_updates /naoqi_driver_node/camera/front/image_raw/theora /naoqi_driver_node/camera/front/image_raw/theora/parameter_descriptions /naoqi_driver_node/camera/front/image_raw/theora/parameter_updates /naoqi_driver_node/camera/stereo/camera_info /naoqi_driver_node/camera/stereo/image_raw /naoqi_driver_node/camera/stereo/image_raw/compressed /naoqi_driver_node/camera/stereo/image_raw/compressed/parameter_descriptions /naoqi_driver_node/camera/stereo/image_raw/compressed/parameter_updates /naoqi_driver_node/camera/stereo/image_raw/theora /naoqi_driver_node/camera/stereo/image_raw/theora/parameter_descriptions /naoqi_driver_node/camera/stereo/image_raw/theora/parameter_updates /naoqi_driver_node/hand_touch /naoqi_driver_node/head_touch /naoqi_driver_node/imu/base /naoqi_driver_node/imu/torso /naoqi_driver_node/info /naoqi_driver_node/laser /naoqi_driver_node/odom /naoqi_driver_node/sonar/back /naoqi_driver_node/sonar/front /rosout /rosout_agg /speech /tf

I have uncommented those two lines in camera_info_definitions.hpp but I am getting errors as below
error: ambiguous overload for ‘operator=’ (operand types are ‘sensormsgs::CameraInfo<std::allocator >::_D_type {aka std::vector}’ and ‘boost::assign_detail::generic_list’) cam_info_msg.D = boost::assign::list_of(-0.0688388724945936)(0.0697453843669642)(0.00309518737071049)(-0.00570486993696543)(0); ^ In file included from /usr/include/c++/5/vector:69:0, from /usr/include/c++/5/bits/random.h:34, from /usr/include/c++/5/random:49, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /usr/include/boost/function/detail/prologue.hpp:13, from /usr/include/boost/function.hpp:24, from /opt/ros/kinetic/include/qi/anyfunction.hpp:11, from /opt/ros/kinetic/include/qi/signal.hpp:12, from /opt/ros/kinetic/include/qi/anyobject.hpp:15, from /home/uday/Desktop/pepper/workspace/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:30, from /home/uday/Desktop/pepper/workspace/catkin_ws/src/naoqi_driver/src/converters/converter_base.hpp:24, from /home/uday/Desktop/pepper/workspace/catkin_ws/src/naoqi_driver/src/converters/camera.hpp:24, from /home/uday/Desktop/pepper/workspace/catkin_ws/src/naoqi_driver/src/converters/camera.cpp:21: /usr/include/c++/5/bits/vector.tcc:167:5: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = double; _Alloc = std::allocator] vector<_Tp, _Alloc>:: ^ In file included from /usr/include/c++/5/vector:64:0, from /usr/include/c++/5/bits/random.h:34, from /usr/include/c++/5/random:49, from /usr/include/c++/5/bits/stl_algo.h:66, from /usr/include/c++/5/algorithm:62, from /usr/include/boost/function/detail/prologue.hpp:13, from /usr/include/boost/function.hpp:24, from /opt/ros/kinetic/include/qi/anyfunction.hpp:11, from /opt/ros/kinetic/include/qi/signal.hpp:12, from /opt/ros/kinetic/include/qi/anyobject.hpp:15, from /home/uday/Desktop/pepper/workspace/catkin_ws/src/naoqi_driver/include/naoqi_driver/tools.hpp:30, from /home/uday/Desktop/pepper/workspace/catkin_ws/src/naoqi_driver/src/converters/converter_base.hpp:24, from /home/uday/Desktop/pepper/workspace/catkin_ws/src/naoqi_driver/src/converters/camera.hpp:24, from /home/uday/Desktop/pepper/workspace/catkin_ws/src/naoqi_driver/src/converters/camera.cpp:21: /usr/include/c++/5/bits/stl_vector.h:448:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = double; _Alloc = std::allocator] operator=(vector&& x) noexcept(_Alloc_traits::_S_nothrow_move()) ^ /usr/include/c++/5/bits/stl_vector.h:470:7: note: candidate: std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::initializer_list<_Tp>) [with _Tp = double; _Alloc = std::allocator] operator=(initializer_list l) ^ naoqi_driver/CMakeFiles/naoqi_driver.dir/build.make:230: recipe for target 'naoqi_driver/CMakeFiles/naoqi_driver.dir/src/converters/camera.cpp.o' failed make[2]: [naoqi_driver/CMakeFiles/naoqi_driver.dir/src/converters/camera.cpp.o] Error 1 CMakeFiles/Makefile2:8397: recipe for target 'naoqi_driver/CMakeFiles/naoqi_driver.dir/all' failed make[1]: [naoqi_driver/CMakeFiles/naoqi_driver.dir/all] Error 2 Makefile:138: recipe for target 'all' failed make: *** [all] Error 2

and even I have checked with SoftBank's version. even though I am not getting point cloud information. Does anyone solve this issue? or Am I missing any thing?

I am using ROS_Kinetic.

sasilva1998 commented 2 years ago

Hello, could somebody solve this issue? I am using the Pepper Robot as well but I dont get any message in the depth points camera topic

UdayRockzz commented 2 years ago

Hi @sasilva1998, try this with this repo. You will get depth information.

sasilva1998 commented 2 years ago

At last I got it working by using the C++ sdk, however, I get a really low frequency. I get about 1 pointcloud message per second. How much frequency do you get from the Depth Camera @UdayRockzz?

Thanks for your advice

UdayRockzz commented 2 years ago

wow. you are getting point cloud data from C++ SDK. that's nice. As I mentioned before, I am using python-based SDK and this is the rosbag from the topic . even the same for me.

depthbag