Git Product home page Git Product logo

lucid_vision_driver's Issues

Network setting issue

All my LiDARs and PCs are under 192.168.0.1/24 subnet, the default lucid camera IP is under 169.254.0.1/16 if i am not wrong. If i only got one PC to run both perception and Autoware.universe, how can I reroute the lucid camera IP under the 192.168.0.1 subnet?

ROS2 galactic colcon build error

Environment:

  • Docker
  • ROS2 galactic
  • ubuntu 20.04

Camera model: TRI032S-CC

Reproduce:

  1. Install the ArenaSDK inside the Docker
  2. git clone this project under workspace/src/
  3. cd back to root of workpace
  4. source /opt/ros/galactic/setup.bash
  5. colcon build --symlink-install

Error messages:

Starting >>> arena_camera
--- stderr: arena_camera                             
In file included from /home/ros/lucid_camera_ws/src/lucid_vision_driver/arena_camera/src/arena_camera_node.cpp:20:
/home/ros/lucid_camera_ws/src/lucid_vision_driver/arena_camera/include/arena_camera/arena_camera_node.h:28:10: fatal error: camera_info_manager/camera_info_manager.hpp: No such file or directory
   28 | #include <camera_info_manager/camera_info_manager.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/arena_camera_node.dir/build.make:63: CMakeFiles/arena_camera_node.dir/src/arena_camera_node.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:134: CMakeFiles/arena_camera_node.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
---
Failed   <<< arena_camera [4.42s, exited with code 2]

Summary: 0 packages finished [4.59s]
  1 package failed: arena_camera
  1 package had stderr output: arena_camera

On top of that question:
Inside the param file, camera_info_url: "file:///home/zeys/projects/main_autoware/autoware/src/sensor_component/external/arena_camera/config/camera0_info.yaml" is being called for camera param file. What is this file used for? How can I modify it to fit my camera?

Failed to Load multiple nodes/cameras.

I want to load 2 cameras simultaneously, but the second camera throws an error:

ros2 launch lucid_vision_driver test_node_container.launch.py [INFO] [launch]: All log files can be found below /home/vwp/.ros/log/2023-04-20-11-04-32-212034-datalynx-8259 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [component_container-1]: process started with pid [8271] [component_container-1] [INFO] [1681981472.596805394] [perception.object_detection.lucid_camera_node_container]: Load Library: /home/vwp/autoware/install/arena_camera/lib/libarena_camera_node.so [component_container-1] [INFO] [1681981472.694545831] [perception.object_detection.lucid_camera_node_container]: Found class: rclcpp_components::NodeFactoryTemplate<ArenaCameraNode> [component_container-1] [INFO] [1681981472.695266744] [perception.object_detection.lucid_camera_node_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<ArenaCameraNode> [component_container-1] Camera readed from yaml file. Camera Name:camera_1 Frame id:camera_top/camera_link Serial no:231301220 Pixel_format:bgr8 FPS:19 [component_container-1] [WARN] [1681981474.116701298] [ARENA_CAMERA_HANDLER]: Not possible to set exposure value when auto exposure is enabled. [component_container-1] [WARN] [1681981474.120789087] [ARENA_CAMERA_HANDLER]: Not possible to set gain value when auto gain is enabled. [component_container-1] Camera:1852729698 is created. [component_container-1] [INFO] [1681981474.126826927] [arena_camera_node_right]: camera calibration URL: file:///home/vwp/autoware/src/vwp/external/lucid_vision_driver/config/test.yaml [component_container-1] Camera idx:1852729698 acquisition thread. [component_container-1] [INFO] [1681981474.150741900] [ARENA_CAMERA]: Not possible to use hardware based binning for horizontal binning:4 , software binning will be used. [component_container-1] [INFO] [1681981474.167400934] [ARENA_CAMERA]: Not possible to use hardware based binning for vertical binning:4 , software binning will be used. [INFO] [launch_ros.actions.load_composable_nodes]: Loaded node '/arena_camera_node_right' in container '/perception/object_detection/lucid_camera_node_container' [component_container-1] [INFO] [1681981474.393411868] [perception.object_detection.lucid_camera_node_container]: Found class: rclcpp_components::NodeFactoryTemplate<ArenaCameraNode> [component_container-1] [INFO] [1681981474.393524752] [perception.object_detection.lucid_camera_node_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<ArenaCameraNode> [component_container-1] Camera readed from yaml file. Camera Name:camera_2 Frame id:camera_top/camera_link Serial no:231301251 Pixel_format:bgr8 FPS:19 [component_container-1] [ERROR] [1681981474.604538974] [perception.object_detection.lucid_camera_node_container]: Component constructor threw an exception [ERROR] [launch_ros.actions.load_composable_nodes]: Failed to load node 'arena_camera_node_left' of type 'ArenaCameraNode' in container '/perception/object_detection/lucid_camera_node_container': Component constructor threw an exception

Here from my launch file:

`def generate_launch_description():
launch_arguments = []

context = LaunchContext()
camera_param_path = os.path.join(
    FindPackageShare("arena_camera").perform(context),
    "param/test.param.yaml"
)
with open(camera_param_path, "r") as f:
    camera_yaml_param = yaml.safe_load(f)["/**"]["ros__parameters"]

nodes = []

nodes.append(
    ComposableNode(
        package="arena_camera",
        plugin="ArenaCameraNode",
        name="arena_camera_node_right",
        parameters=[{"camera_name": camera_yaml_param['camera_name'],
                     "frame_id": camera_yaml_param['frame_id'],
                     "pixel_format": camera_yaml_param['pixel_format'],
                     "serial_no": 231301220, #camera_yaml_param['serial_no'],
                     "camera_info_url": camera_yaml_param['camera_info_url'],
                     "fps": camera_yaml_param['fps'],
                     "horizontal_binning": camera_yaml_param['horizontal_binning'],
                     "vertical_binning": camera_yaml_param['vertical_binning'],
                     "use_default_device_settings": camera_yaml_param['use_default_device_settings'],
                     "exposure_auto": camera_yaml_param['exposure_auto'],
                     "exposure_target": camera_yaml_param['exposure_target'],
                     "gain_auto": camera_yaml_param['gain_auto'],
                     "gain_target": camera_yaml_param['gain_target'],
                     "gamma_target": camera_yaml_param['gamma_target'],
                     }],
        remappings=[
        ],
        extra_arguments=[
            {"use_intra_process_comms": True}
        ],
    )
)

nodes.append(
    ComposableNode(
        package="arena_camera",
        plugin="ArenaCameraNode",
        name="arena_camera_node_left",
        parameters=[{"camera_name": "camera_2",#camera_yaml_param['camera_name'],
                     "frame_id": "camera_top/camera_link",#camera_yaml_param['frame_id'],
                     "pixel_format": camera_yaml_param['pixel_format'],
                     "serial_no": 231301251, #camera_yaml_param['serial_no'],
                     "camera_info_url": camera_yaml_param['camera_info_url'],
                     "fps": camera_yaml_param['fps'],
                     "horizontal_binning": camera_yaml_param['horizontal_binning'],
                     "vertical_binning": camera_yaml_param['vertical_binning'],
                     "use_default_device_settings": camera_yaml_param['use_default_device_settings'],
                     "exposure_auto": camera_yaml_param['exposure_auto'],
                     "exposure_target": camera_yaml_param['exposure_target'],
                     "gain_auto": camera_yaml_param['gain_auto'],
                     "gain_target": camera_yaml_param['gain_target'],
                     "gamma_target": camera_yaml_param['gamma_target'],
                     }],
        remappings=[
        ],
        extra_arguments=[
            {"use_intra_process_comms": True}
        ],
    )
)

container = ComposableNodeContainer(
    name="lucid_camera_node_container",
    namespace="/perception/object_detection",
    package="rclcpp_components",
    executable="component_container",
    composable_node_descriptions=nodes,
    output="both",
)

return LaunchDescription(
    [
        *launch_arguments,
        container
    ]
)

Do i miss something here?

parameter folder

Hi,
I can't see any parameter folders on my installation.
Is the repo up to date? Or, we should create a new yml file for it?

If you have only one camera work on this param file : <your_ws>/src/arena_camera/param/lucid_vision_camera.param.yml If you have more than one camera work on this param file : <your_ws>/src/arena_camera/param/multi_camera.param.yml

Build error with iron

This issue is fairly old but it seems to be the root cause of a problem building this package with iron. The declare_parameter function behavior has changed slightly.

ros2/rclcpp#1691 (comment)
ros2/rclcpp#1522

Should be a relatively easy (and backwards compatible I think?) fix to add default values or add rclcpp::PARAMETER_STRING etc to the Camera Setting constructor to allow unset values.


/home/workspace/src/lucid_vision_driver/src/arena_camera_node.cpp:57:26: error: no matching function for call to ‘ArenaCameraNode::declare_parameter(const char [12])’
   57 |   this->declare_parameter("camera_name");
      |   ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~

(and) 

In file included from /opt/ros/iron/include/camera_info_manager/camera_info_manager/camera_info_manager.hpp:45,
                 from /home/workspace/src/lucid_vision_driver/include/arena_camera/arena_camera_node.h:24,
                 from /home/workspace/src/lucid_vision_driver/src/arena_camera_node.cpp:17:
/opt/ros/iron/include/rclcpp/rclcpp/node.hpp:479:3: note: candidate: ‘template<class ParameterT> auto rclcpp::Node::declare_parameter(const string&, const ParameterT&, const ParameterDescriptor&, bool)’
  479 |   declare_parameter(
      |   ^~~~~~~~~~~~~~~~~
/opt/ros/iron/include/rclcpp/rclcpp/node.hpp:479:3: note:   template argument deduction/substitution failed:
/home/workspace/src/lucid_vision_driver/src/arena_camera_node.cpp:57:26: note:   candidate expects 4 arguments, 1 provided

process has died

I installed the package following instructions but I see the package name is lucid_vision_driver while readme file says another. However, I am now using correct package name in the launch file and got this error:

zillur@trc:~$ ros2 launch lucid_vision_driver test_node_container.launch.py 
[INFO] [launch]: All log files can be found below /home/zillur/.ros/log/2023-06-18-12-40-10-272274-trc-4375
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container-1]: process started with pid [4388]
[component_container-1] [INFO] [1687117210.670763303] [perception.object_detection.camera_node_right]: Load Library: /home/zillur/ros2_ws/install/lucid_vision_driver/lib/libarena_camera_node.so
[component_container-1] [INFO] [1687117210.751479257] [perception.object_detection.camera_node_right]: Found class: rclcpp_components::NodeFactoryTemplate<ArenaCameraNode>
[component_container-1] [INFO] [1687117210.751533363] [perception.object_detection.camera_node_right]: Instantiate class: rclcpp_components::NodeFactoryTemplate<ArenaCameraNode>
[component_container-1] Camera readed from yaml file. Camera Name:camera_1 Frame id:camera_top/camera_link Serial no:221202855 Pixel_format:bgr8 FPS:15
[component_container-1]  ~ArenaCamerasHandler()
[ERROR] [component_container-1]: process has died [pid 4388, exit code -11, cmd '/opt/ros/humble/lib/rclcpp_components/component_container --ros-args -r __node:=camera_node_right -r __ns:=/perception/object_detection'].
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[WARNING] [launch_ros.actions.load_composable_nodes]: Abandoning wait for the '/perception/object_detection/camera_node_right/_container/load_node' service response, due to shutdown.
zillur@trc:~$ 

About Image Rect Bandwidth

First of all, I did what was mentioned in the readme file and build the workspace correctly. I replaced my own calibration parameters with those in the test_full_res.yaml file. I visualized via Rviz2 and there was no problem. But when I watch the bandwidths of the topics, I realized that the rectified image use much bw. Is it normal?

lucidbwissue

Also upper is /image and bottom is /image_rect
lucid2image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.