Error running arena_camera_node
Hi,
I am using LUCID's helios2 ToF camera.
I followed the setup instructions exactly as explained in
Machine setup:
ROS: Noetic
OS : Ubuntu 20.04.5 LTS (Focal Fossa)
Docker version: 20.10.23
I installed all the required packages for ros etc. I am able to detect the camera using the IpConfigUtility utility provided.
Scanning for devices...
[index] MAC IP SUBNET GATEWAY IP CONFIG
[0] 1C0FAF062C2B 172.28.60.3 255.255.255.0 0.0.0.0 DHCP= 1 Persistent Ip= 0 LLA = 1
However, when I ran the command below to start the arena_camara_node, i got the following error
rosrun arena_camera arena_camera_node
Error:
[ WARN] [1678067288.896143231]: Autoflash: 0, line2: 1 , line3: 1
[ INFO] [1678067288.896723617]: No Device User ID set -> Will open the camera device found first
[ INFO] [1678067290.361024230]: Camera is found!
[ INFO] [1678067290.398845075]: Framerate is set to: 5.00 Hz
[ERROR] [1678067290.399070788]: Error while grabbing first image occurred:
RuntimeException: Node ExposureAuto not implemented (GenApiCustom.cpp, SetNodeValue)
I have been searching for the file "GenApiCustom.cpp" to try and rectify the issue but I could not find it anywhere.
Any help is very much appreciated
Thanks
Hi @stanshi, i have had the same issues, but after solving the autoexposure/autogain issue, the next problem arised. I wasn't able to get a rectified image/depth image or point cloud (sensor_msgs/PointCloud2) over arena_camera_node, only the raw image but without calibration information. I tried an approach over depth_image_proc/point_cloud_xyz nodelet, but without success. Did you find a possibility to visualize the point cloud?
Hi @matthias88,
Apologies for the delayed response. I am not sure what camera you are using, so, I am assuming you are using Helios2 or Helios2+. FYI, I was using Helios2+. I have a working repo to run and acquire the pointcoud and depthmap here please have a look at it.
In the repo, I used docker as a container to run arena_camera_ros and the arena SDK but you just copy the necessary files (which I will explain below) to your current directory to get it to work even without docker. In case if you have docker, then you can simply run the docker container
@matthias88
If you need the depth map, you will need to copy image_encodings.h located at "helios2plus/installer/arena_camera_ros/catkin_ws/inc/" to "/opt/ros/noetic/include/sensor_msgs". The default image_encodings.h file does not have the "coord3d_c16" format but I modified it to include the "coord3d_c16" format. The "coord3d_c16" format allows you to acquire the depth map which then also allows you to project the point cloud, should you want it. Then you need to run "Save_COORD3D_C16" located in helios2plus/installer/ArenaSDK_v0.1.68_Linux_x64/ArenaSDK_Linux_x64/Examples/Arena/
If you want the point cloud directly, you can run the "Cpp_Save_Ply" located in helios2plus/installer/ArenaSDK_v0.1.68_Linux_x64/ArenaSDK_Linux_x64/Examples/Arena/
Before you do any of the above, ensure that you change the format in the default.yaml.