Ouster Driver for ROS2
I'm attempting to use the ROS2 Ouster driver on Foxy and Ubuntu 20.04 and having problems.
I am connecting to an OS1 LiDAR with firmware version v2.2.0. I can connect to it on the config page at the os-XXXXX.local address as well as though the OusterStudio application.
When following the instructions at https://github.com/ros-drivers/ros2_o... under the Component heading I get the following:
milner@canterbury:~$ source /opt/ros/foxy/setup.bash
milner@canterbury:~$ cd code/ros2_workspace/
milner@canterbury:~/code/ros2_workspace$ ros2 component load /ComponentManager ros2_ouster ros2_ouster::OS1Driver
Loaded component 1 into '/ComponentManager' container node as '/OusterDriver'
milner@canterbury:~/code/ros2_workspace$ ros2 param set OusterDriver lidar_ip os-992129000537.local
Set parameter successful
milner@canterbury:~/code/ros2_workspace$ ros2 param set OusterDriver computer_ip 169.254.32.56
Set parameter successful
milner@canterbury:~/code/ros2_workspace$ ros2 lifecycle set OusterDriver 1
Transitioning failed
milner@canterbury:~/code/ros2_workspace$ ros2 lifecycle set OusterDriver 3
Unknown transition requested, available ones are:
- configure [1]
- shutdown [5]
And over in my other terminal I get:
milner@canterbury:~/code/ros2_workspace$ ros2 run rclcpp_components component_container
[INFO] [1644353685.156037464] [ComponentManager]: Load Library: /opt/ros/foxy/lib/libouster_driver_core.so
[INFO] [1644353685.162147508] [ComponentManager]: Found class: rclcpp_components::NodeFactoryTemplate<ros2_ouster::OS1Driver>
[INFO] [1644353685.162162592] [ComponentManager]: Instantiate class: rclcpp_components::NodeFactoryTemplate<ros2_ouster::OS1Driver>
[INFO] [1644353769.738136712] [OusterDriver]: Configuring Ouster driver node.
[INFO] [1644353769.738229749] [OusterDriver]: Connecting to sensor at os-992129000537.local.
[INFO] [1644353769.738239176] [OusterDriver]: Broadcasting data from sensor to 169.254.32.56.
[ERROR] [1644353769.769268933] []: Caught exception in callback for transition 10
[ERROR] [1644353769.769292744] []: Original error: vector::_M_range_check: __n (which is 0) >= this->size() (which is 0)
[WARN] [1644353769.769328709] []: Error occurred while doing error handling.
[ERROR] [1644353769.769338368] [OusterDriver]: Handing error in Ouster driver node.
[INFO] [1644353785.799961202] [OusterDriver]: Shutting down Ouster driver node.
If, instead, I try to run the default launch script, after modifying the params file I get:
milner@canterbury:~/code/ros2_workspace$ ros2 launch ros2_ouster os1_launch.py
[INFO] [launch]: All log files can be found below /home/milner/.ros/log/2022-02-08-13-09-02-533595-canterbury-45739
[INFO] [launch]: Default logging verbosity is set to INFO
/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/actions/lifecycle_node.py:84: UserWarning: The parameter 'node_name' is deprecated, use 'name' instead
warnings.warn("The parameter 'node_name' is deprecated, use 'name' instead")
/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/actions/lifecycle_node.py:95: UserWarning: The parameter 'node_executable' is deprecated, use 'executable' instead
super().__init__(name=name, namespace=namespace, **kwargs)
/opt/ros/foxy/lib/python3.8/site-packages/launch_ros/actions/node.py:196: UserWarning: The parameter 'node_namespace' is deprecated, use 'namespace' instead
warnings.warn("The parameter 'node_namespace' is deprecated, use 'namespace' instead")
[INFO] [ouster_driver-1]: process started with pid [45751]
[ouster_driver-1] [INFO] [1644354542.883533387] [ouster_driver]: Configuring Ouster driver node.
[ouster_driver-1] [INFO] [1644354542.883904337] [ouster_driver]: Connecting to sensor at os-992129000537.local.
[ouster_driver-1] [INFO] [1644354542.883955140] [ouster_driver]: Broadcasting data from sensor to 169.254.32.56.
[ouster_driver-1] [ERROR] [1644354543.040435627] []: Caught exception in callback for transition 10
[ouster_driver-1] [ERROR] [1644354543.040504266] []: Original error: vector::_M_range_check: __n (which is 0) >= this->size() (which ...