ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Error running arena_camera_node

asked 2023-03-05 20:07:22 -0500

stanshi gravatar image

Hi,

I am using LUCID's helios2 ToF camera.

I followed the setup instructions exactly as explained in

https://support.thinklucid.com/using-...

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

edit retag flag offensive close merge delete

Comments

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?

matthias88 gravatar image matthias88  ( 2023-06-20 09:16:18 -0500 )edit

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

stanshi gravatar image stanshi  ( 2023-06-26 20:28:55 -0500 )edit

@matthias88

  1. 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/

  2. 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.

  • change image_encoding: "coord3d_c16" to get the depth map
  • change image_encoding: "coord3d_abc16" to get the pointcloud
stanshi gravatar image stanshi  ( 2023-06-26 20:42:29 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2023-03-06 01:44:07 -0500

gvdhoorn gravatar image

The error appears to come from the GeniCam implementation used, which tries to update a particular node (ie: setting) in your camera, called ExposureAuto. The camera reports it doesn't support setting it, which causes GeniCam to report to the arena_camera_node updating that value failed. The node then prints the error message you show.

This is not really a "ROS problem", but a problem in arena_camera_node, your camera and/or the way Lucid is using it.

But also note:

Machine setup:

ROS: Noetic

the page you link states ROS Kinetic for Ubuntu 16.04 or ROS Melodic for Ubuntu 18.04 under System Requirements, while you are using Noetic.

I'm not claiming that's the cause of your problems, but I'd verify with your vendor Noetic is supported.

edit flag offensive delete link more

Comments

Hi gvdhoorn's,

Thanks for the response. I suspected the nodes were not available. You are indeed right. I contacted their support team and I was told that the AutoExposure and AutoGain nodes were not available for Lucid ToF cameras.
I commented them out and it works. I looked everywhere in their documentation and it does not state anything about this which is actually quite critical. LUCID should have a switch or at least allow users to define the model in a config file to automate what nodes will be called instead of figuring this out the hard way.

Anyway thanks for the help. It is really2 helpful. Deeply appreciate it.

stanshi gravatar image stanshi  ( 2023-03-06 18:39:24 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2023-03-05 20:07:22 -0500

Seen: 351 times

Last updated: Mar 05 '23