Skip to content

azimuth_window and min_range of ouster driver have no effect in robot.yaml #269

@Bli9sta

Description

@Bli9sta
  • OS: Ubuntu 24.04
  • ROS 2 Distro: Jazzy
  • Built from source or installed: in /etc/clearpath/robot.yaml
  • Real hardware or simulation: Real Hardware (A200)

This is our robot.yaml file:
serial_number: a200-0758
version: 0
system:
hosts:
- hostname: huskyos1
ip: 192.168.131.1
ros2:
namespace: a200_0000
domain-id: 0
middleware:
implementation: rmw_fastrtps_cpp
platform:
controller: logitech
battery:
model: ES20_12C
configuration: S2P1
drivetrain:
control: diff_4wd
wheels:
front: outdoor
rear: outdoor
attachments:
- name: front_bumper
type: a200.bumper
parent: front_bumper_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
- name: rear_bumper
type: a200.bumper
parent: rear_bumper_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enable: true
- name: top_plate
type: a200.top_plate
model: pacs
parent: default_mount
- name: sensor_arch
type: a200.sensor_arch
model: sensor_arch_300
parent: default_mount
xyz: [0.25, 0.0, 0.0]
sensors:
imu:
- model: redshift_um7
urdf_enabled: true
launch_enabled: true
parent: base_link
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
ros_parameters:
um7_driver:
port: /dev/clearpath/um7
frame_id: imu_0_link
tf_ned_to_enu: true
lidar3d:
- model: ouster_os1
urdf_enabled: true
launch_enabled: true
parent: default_mount
xyz: [0.2, 0.0, 0.4]
rpy: [0.0, 0.0, 0.0]
ros_parameters:
ouster_driver:
sensor_hostname: 192.168.132.1
lidar_port: 7502
imu_port: 7503
scan_ring: 15
azimuth_window_start: 0
azimuth_window_end: 80000
proc_mask: PCL|SCAN
use_system_default_qos: false
cap_type: fins
lidar_mode: 512x10
point_type: native
max_range: 3.0
min_range: 0.6

We tried to cut a section of our pointcloud (and scan) by defining the azimuth_window. After applying the changes and running
sudo systemctl daemon-reload && sudo systemctl start clearpath-robot.service
we expected the published pointcloud to be only a quarter of the 360 degree, but it was actually still the whole 360 degree scan. A similar issue arises with the min_ and max_range. We would expect for our pointcloud to be cut after 3.0m, but the points in the pointcloud are much farther away than the 3.0m defined in our robot.yaml. We checked that the content of the robot.yaml file was pushed to the respective sub-config files (i.e. /etc/clearpath/sensors/config/lidar3d_0.yaml) after running the command above, and it is indeed present in the file.

We also made a copy of that file and put it our local (offboard) computer ~/clearpath/ folder and ran the clearpath_generator_common as described here (https://docs.clearpathrobotics.com/docs/ros/installation/offboard_pc) and added it to our .bashrc file for sourcing.

Why is this happening? Why aren't the ouster driver parameters doing what they should?

To Reproduce
Provide the steps to reproduce:

  1. change robot.yaml file on onboard computer
  2. run sudo systemctl daemon-reload && sudo systemctl start clearpath-robot.service on onboard computer
  3. copy robot.yaml file to offboard computer
  4. run ros2 run clearpath_generator_common generate_bash -s ~/clearpath on offboard computer
  5. start node ros2 launch clearpath_viz view_robot.launch.py namespace:=a200_0000 to view robot and pointcloud

Other notes
Add anything else you think is important.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions