From b0bdcb4deb8fe6c8d913606297a0f93ee2fbb842 Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Wed, 9 Apr 2025 12:53:34 -0400 Subject: [PATCH 01/12] Add meshes, URDFs for the A300 Observer attachments. Waiting for final locations of sensor mounting points to add additional links --- .../description/attachments.py | 7 +++ .../attachments/observer_access_panels.stl | Bin 0 -> 2884 bytes .../meshes/a300/attachments/observer_arch.stl | Bin 0 -> 5884 bytes .../a300/attachments/observer_enclosure.stl | Bin 0 -> 7084 bytes .../a300/attachments/observer_arch.urdf.xacro | 47 +++++++++++++++ .../attachments/observer_backpack.urdf.xacro | 57 ++++++++++++++++++ 6 files changed, 111 insertions(+) create mode 100644 clearpath_platform_description/meshes/a300/attachments/observer_access_panels.stl create mode 100644 clearpath_platform_description/meshes/a300/attachments/observer_arch.stl create mode 100644 clearpath_platform_description/meshes/a300/attachments/observer_enclosure.stl create mode 100644 clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro create mode 100644 clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro diff --git a/clearpath_generator_common/clearpath_generator_common/description/attachments.py b/clearpath_generator_common/clearpath_generator_common/description/attachments.py index 70498775..b2982e0e 100644 --- a/clearpath_generator_common/clearpath_generator_common/description/attachments.py +++ b/clearpath_generator_common/clearpath_generator_common/description/attachments.py @@ -32,6 +32,7 @@ from typing import List from clearpath_config.platform.attachments.a200 import A200Attachment +from clearpath_config.platform.attachments.a300 import A300Attachment from clearpath_config.platform.attachments.config import BaseAttachment from clearpath_config.platform.attachments.dd100 import DD100Attachment from clearpath_config.platform.attachments.dd150 import DD150Attachment @@ -125,6 +126,12 @@ def __init__(self, attachment: BaseAttachment) -> None: A200Attachment.TOP_PLATE: BaseDescription, A200Attachment.SENSOR_ARCH: BaseDescription, A200Attachment.OBSERVER_BACKPACK: BaseDescription, + # A300 + A300Attachment.BUMPER: BumperDescription, + A300Attachment.TOP_PLATE: BaseDescription, + A300Attachment.AMP_FRAME: BaseDescription, + A300Attachment.OBSERVER_BACKPACK: BaseDescription, + A300Attachment.OBSERVER_ARCH: BaseDescription, # J100 J100Attachment.FENDER: BaseDescription, J100Attachment.TOP_PLATE: BaseDescription, diff --git a/clearpath_platform_description/meshes/a300/attachments/observer_access_panels.stl b/clearpath_platform_description/meshes/a300/attachments/observer_access_panels.stl new file mode 100644 index 0000000000000000000000000000000000000000..c574e658730c318bf9fae91bb7e050ec981b3edc GIT binary patch literal 2884 zcmbuAKS)(k9LG;$L+}WiTi#$};M1f6y9YbkdY(R&x)7e0Vc3lem8kuHb>^!=-p3r0m} zjil8_B+ybKG+JZ6{u#`-K7Ts)%I?k0>|=lK&6um*9&x=--uunj0k>~q!SVY&KhC>d zwNa{7nTQr7_)CS06#H<|2m0gp@k_0QS|GxfsBFxGygP_p{qg%| zRFp?Ts3naMqMEDR?YiGFWtS)yoU7!!EqQE5V7548Mdm>0ydsfiPEoDwKxo&}er&b( z*ol!!W9?4OVy!TbbP|6OF*jUkydwfFNMJ>b*&yOC5#LJ$-ognrrfqkR{Y_D=5`h*Z za0`stKXj>^GS45(*BiJ+oGtWUXIiVc;$P z@5$?V7GztBQj}I#<;5e1?d(B?50Hbu-lS{4(`pod~p) z3Ei7eEYjUvbeCt>i|(=phqFZJ6Wt92TBPTZV5J6vRMd*@vWj}qU9Pkj-Q^mF_eBSR zP>b|A5K`T6E(lUl%epI*7`{bkr77A{RFObSiD1>1JVbq-iSF`bc+p+fE-$*v>f=>+ zS+A6c7MZ0$@R|DI6Wwiy?(&2OA2P4;%qk&1ICoNNCDc+(cqG!O`2P{2k|~L?t3Q6< zj7t6=N~opSsOSTt5{1h}cXh6k?-H%ih8FS;mI+bLkS)$w(Q_blUXkFsHGRn6Ao@T; zZ>9a<9VFe&M0Z)EV%M}j=_K+FlI~`ryS(RNMlo~Q$FM6wcXQI+OmtTXyoFO4bT=p6 z%|v%~!jZt;RE4vmySjIrZOkc|vDl9m0&k_6GeZ4{gyw++opr|aZ?GMqx43Q^A?vOs z-OWUIUDOQRU{r~qyOwk}6W!I!kx1u?|FxvMndq((cq^$J>#il;%|v&#qGdw&#{2_H CoX8UZ literal 0 HcmV?d00001 diff --git a/clearpath_platform_description/meshes/a300/attachments/observer_arch.stl b/clearpath_platform_description/meshes/a300/attachments/observer_arch.stl new file mode 100644 index 0000000000000000000000000000000000000000..e92fa411a1062720848aaa4d593a70c699f8315e GIT binary patch literal 5884 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 literal 0 HcmV?d00001 diff --git a/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro new file mode 100644 index 00000000..a764969e --- /dev/null +++ b/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + Gazebo/DarkYellow + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro new file mode 100644 index 00000000..2be0a016 --- /dev/null +++ b/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + Gazebo/Black + + + + + + + + + + + + + + + + + + + + + + + Gazebo/DarkYellow + + + + + + + + + + + + From 8783bb289964bbdaad789b064bd15cc34e0a638a Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Wed, 9 Apr 2025 14:24:51 -0400 Subject: [PATCH 02/12] Add placeholders for the front & rear face sensor mounts --- .../a300/attachments/observer_backpack.urdf.xacro | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro index 2be0a016..4790b472 100644 --- a/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro +++ b/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro @@ -53,5 +53,19 @@ + + + + + + + + + + + + + + From dd9f9ca014bdf51c53e046134b7536379712f813 Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Thu, 10 Apr 2025 15:54:31 -0400 Subject: [PATCH 03/12] Add sensor mount points from Rhys --- .../a300/attachments/observer_arch.urdf.xacro | 33 ++++++++++++++++--- .../attachments/observer_backpack.urdf.xacro | 33 ++++++++++++------- 2 files changed, 50 insertions(+), 16 deletions(-) diff --git a/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro index a764969e..b58102ec 100644 --- a/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro +++ b/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro @@ -27,21 +27,44 @@ - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro index 4790b472..d73dd97c 100644 --- a/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro +++ b/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro @@ -46,26 +46,37 @@ + + - + - - - - - + + + + + + - - - - - + + + + + + + + + + + + + From 2370c188029067d314aa58006c5ce9f06d29b003 Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Thu, 10 Apr 2025 16:15:22 -0400 Subject: [PATCH 04/12] Fix the angle of the rear camera mount, rear INS. Remove duplicate link name --- .../urdf/a300/attachments/observer_arch.urdf.xacro | 8 ++++---- .../urdf/a300/attachments/observer_backpack.urdf.xacro | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro index b58102ec..eadb8d0c 100644 --- a/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro +++ b/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro @@ -59,11 +59,11 @@ - - + + - - + + diff --git a/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro index d73dd97c..ee2c960a 100644 --- a/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro +++ b/clearpath_platform_description/urdf/a300/attachments/observer_backpack.urdf.xacro @@ -68,7 +68,7 @@ - + From 95079a6daa7c96169b6bb8a1a8c67c2771d622bd Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Thu, 10 Apr 2025 16:55:13 -0400 Subject: [PATCH 05/12] Add the ability to specify the OS-1 cap type & omit the base plate --- .../description/sensors.py | 8 ++- .../urdf/ouster_os1.urdf.xacro | 71 +++++++++++-------- 2 files changed, 48 insertions(+), 31 deletions(-) diff --git a/clearpath_generator_common/clearpath_generator_common/description/sensors.py b/clearpath_generator_common/clearpath_generator_common/description/sensors.py index 82615f0a..bdd33106 100644 --- a/clearpath_generator_common/clearpath_generator_common/description/sensors.py +++ b/clearpath_generator_common/clearpath_generator_common/description/sensors.py @@ -193,15 +193,19 @@ def __init__(self, sensor: BaseINS) -> None: class OusterOS1Description(Lidar3dDescription): SAMPLES_HORIZONTAL = 'samples_h' SAMPLES_VERTICAL = 'samples_v' + BASE_TYPE = 'base' + CAP_TYPE = 'cap' - def __init__(self, sensor: BaseLidar3D) -> None: + def __init__(self, sensor: OusterOS1) -> None: super().__init__(sensor) del self.parameters[self.ANGULAR_RESOLUTION_H] del self.parameters[self.ANGULAR_RESOLUTION_V] self.parameters.update({ self.SAMPLES_HORIZONTAL: 1024, - self.SAMPLES_VERTICAL: 64 + self.SAMPLES_VERTICAL: 64, + self.BASE_TYPE: sensor.base_type, + self.CAP_TYPE: sensor.cap_type, }) class ImuDescription(BaseDescription): diff --git a/clearpath_sensors_description/urdf/ouster_os1.urdf.xacro b/clearpath_sensors_description/urdf/ouster_os1.urdf.xacro index 87db2577..94bcff28 100644 --- a/clearpath_sensors_description/urdf/ouster_os1.urdf.xacro +++ b/clearpath_sensors_description/urdf/ouster_os1.urdf.xacro @@ -21,6 +21,7 @@ name parent_link cap:=halo + base:=base *origin samples_h:=1024 min_ang_h:=${-pi} max_ang_h:=${pi} samples_v:=64 min_ang_v:=${-21.2 * pi/180} max_ang_v:=${21.2 * pi/180} @@ -32,9 +33,16 @@ - - - + + + + + + + + + + @@ -46,33 +54,38 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + From 755c8a05aa37e3edfee3eb21b30d51e93672b847 Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Mon, 14 Apr 2025 13:13:45 -0400 Subject: [PATCH 06/12] Add spotlight attachment with light plugin for simulation --- .../description/attachments.py | 1 + .../a300/attachments/observer_arch.urdf.xacro | 30 +++++++- .../a300/attachments/spotlight.urdf.xacro | 73 +++++++++++++++++++ 3 files changed, 102 insertions(+), 2 deletions(-) create mode 100644 clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro diff --git a/clearpath_generator_common/clearpath_generator_common/description/attachments.py b/clearpath_generator_common/clearpath_generator_common/description/attachments.py index b2982e0e..64992dc9 100644 --- a/clearpath_generator_common/clearpath_generator_common/description/attachments.py +++ b/clearpath_generator_common/clearpath_generator_common/description/attachments.py @@ -132,6 +132,7 @@ def __init__(self, attachment: BaseAttachment) -> None: A300Attachment.AMP_FRAME: BaseDescription, A300Attachment.OBSERVER_BACKPACK: BaseDescription, A300Attachment.OBSERVER_ARCH: BaseDescription, + A300Attachment.SPOTLIGHT: BaseDescription, # J100 J100Attachment.FENDER: BaseDescription, J100Attachment.TOP_PLATE: BaseDescription, diff --git a/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro index eadb8d0c..379e2b12 100644 --- a/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro +++ b/clearpath_platform_description/urdf/a300/attachments/observer_arch.urdf.xacro @@ -55,7 +55,7 @@ - + @@ -63,7 +63,33 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro new file mode 100644 index 00000000..b2d82aa2 --- /dev/null +++ b/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 0 0 0 0 0 + 1 1 1 0.5 + .1 .1 .1 1 + + 20 + 0.8 + 0.75 + 0.01 + + 0 0 0 + + 0.5235987755982988 + 1.0471975511965976 + 1.0 + + true + + + ${name}_light_link + + 0 0 0 0 0 0 + ${name}_light + + + false + + + \ No newline at end of file From 6c2811c2973e7e8ab8919f053392e701e4acd0f1 Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Mon, 14 Apr 2025 17:11:38 -0400 Subject: [PATCH 07/12] Don't render the light sources --- .../urdf/a300/attachments/spotlight.urdf.xacro | 1 + 1 file changed, 1 insertion(+) diff --git a/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro index b2d82aa2..bd82dd7d 100644 --- a/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro +++ b/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro @@ -59,6 +59,7 @@ 1.0 true + false ${name}_light_link From d054c64f788e3d86644b0733b0f6bcbe1c59dd13 Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Thu, 17 Apr 2025 15:36:19 -0400 Subject: [PATCH 08/12] Increase the angles of the spotlights --- .../urdf/a300/attachments/spotlight.urdf.xacro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro b/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro index bd82dd7d..f7ba29ca 100644 --- a/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro +++ b/clearpath_platform_description/urdf/a300/attachments/spotlight.urdf.xacro @@ -54,8 +54,8 @@ 0 0 0 - 0.5235987755982988 - 1.0471975511965976 + 1.0471975511965976 + 2.0943951023931953 1.0 true From 75dab2ac4e557cdab2bfc394d7010d592346449e Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Tue, 22 Apr 2025 13:30:39 -0400 Subject: [PATCH 09/12] Fix gazebo link tag --- clearpath_sensors_description/urdf/phidgets_spatial.urdf.xacro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clearpath_sensors_description/urdf/phidgets_spatial.urdf.xacro b/clearpath_sensors_description/urdf/phidgets_spatial.urdf.xacro index be1b0fcc..b3cbd8ff 100644 --- a/clearpath_sensors_description/urdf/phidgets_spatial.urdf.xacro +++ b/clearpath_sensors_description/urdf/phidgets_spatial.urdf.xacro @@ -27,7 +27,7 @@ true ${update_rate} true - ${name}_link + ${name}_link $(arg namespace)/sensors/${name}/data From 70f08edb6a1ebc2dcdc0a47f3c0a605ed60b9196 Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Tue, 22 Apr 2025 13:31:09 -0400 Subject: [PATCH 10/12] Make parameters easier to read, update angle, resolution --- .../urdf/seyond_lidar.urdf.xacro | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/clearpath_sensors_description/urdf/seyond_lidar.urdf.xacro b/clearpath_sensors_description/urdf/seyond_lidar.urdf.xacro index 0c087419..28a00a3e 100644 --- a/clearpath_sensors_description/urdf/seyond_lidar.urdf.xacro +++ b/clearpath_sensors_description/urdf/seyond_lidar.urdf.xacro @@ -1,9 +1,15 @@ + ang_res_h:=0.002617993877991494 + min_ang_h:=-1.0471975511965976 + max_ang_h:=1.0471975511965976 + ang_res_v:=0.006283185307179586 + min_ang_v:=-0.6108652381980153 + max_ang_v:=0.6108652381980153 + update_rate:=20 + min_range:=0.1 + max_range:=150.0"> From dd21113e85c83811c46b61ecc4d7ef0a6ac5185e Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Tue, 22 Apr 2025 14:04:32 -0400 Subject: [PATCH 11/12] Add Seyond description with lower-than-reality resolution & correct FoV for simulation. Fix math for calculating the number of samples --- .../description/sensors.py | 19 ++++++++++++++++++- .../urdf/seyond_lidar.urdf.xacro | 4 ++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/clearpath_generator_common/clearpath_generator_common/description/sensors.py b/clearpath_generator_common/clearpath_generator_common/description/sensors.py index bdd33106..80a5c15f 100644 --- a/clearpath_generator_common/clearpath_generator_common/description/sensors.py +++ b/clearpath_generator_common/clearpath_generator_common/description/sensors.py @@ -208,6 +208,23 @@ def __init__(self, sensor: OusterOS1) -> None: self.CAP_TYPE: sensor.cap_type, }) + class SeyondLidarDescription(Lidar3dDescription): + + def __init__(self, sensor: BaseLidar3D) -> None: + super().__init__(sensor) + + self.parameters.update({ + self.ANGULAR_RESOLUTION_H: 0.01, + self.ANGULAR_RESOLUTION_V: 0.01, + self.MINIMUM_ANGLE_H: -1.0471975511965976, + self.MAXIMUM_ANGLE_H: 1.0471975511965976, + self.MINIMUM_ANGLE_V: -0.6108652381980153, + self.MAXIMUM_ANGLE_V: 0.6108652381980153, + self.MINIMUM_RANGE: 0.1, + self.MAXIMUM_RANGE: 150.0, + self.UPDATE_RATE: 20 # TODO: link to clearpath_config property + }) + class ImuDescription(BaseDescription): UPDATE_RATE = 'update_rate' @@ -280,7 +297,7 @@ def __init__(self, sensor: StereolabsZed) -> None: AxisCamera.SENSOR_MODEL: AxisCameraDescription, Microstrain.SENSOR_MODEL: ImuDescription, OusterOS1.SENSOR_MODEL: OusterOS1Description, - SeyondLidar.SENSOR_MODEL: Lidar3dDescription, + SeyondLidar.SENSOR_MODEL: SeyondLidarDescription, VelodyneLidar.SENSOR_MODEL: Lidar3dDescription, CHRoboticsUM6.SENSOR_MODEL: ImuDescription, RedshiftUM7.SENSOR_MODEL: ImuDescription, diff --git a/clearpath_sensors_description/urdf/seyond_lidar.urdf.xacro b/clearpath_sensors_description/urdf/seyond_lidar.urdf.xacro index 28a00a3e..518aa21a 100644 --- a/clearpath_sensors_description/urdf/seyond_lidar.urdf.xacro +++ b/clearpath_sensors_description/urdf/seyond_lidar.urdf.xacro @@ -55,8 +55,8 @@ - - + + ${update_rate} From b3567b3e6d7b5d3b72ba2dcbafeec67c6685c5d0 Mon Sep 17 00:00:00 2001 From: Chris Iverach-Brereton Date: Tue, 22 Apr 2025 14:33:04 -0400 Subject: [PATCH 12/12] Add GPS plugins for the Fixposition description --- .../urdf/fixposition.urdf.xacro | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/clearpath_sensors_description/urdf/fixposition.urdf.xacro b/clearpath_sensors_description/urdf/fixposition.urdf.xacro index 044a0f08..2a9c9bef 100644 --- a/clearpath_sensors_description/urdf/fixposition.urdf.xacro +++ b/clearpath_sensors_description/urdf/fixposition.urdf.xacro @@ -79,6 +79,14 @@ rpy="${gps_0_rpy_r} ${gps_0_rpy_p} ${gps_0_rpy_y}" /> + + + 1 + 1 + ${name}_gps_0_link + $(arg namespace)/sensors/${name}/gps_0/fix + + + + + 1 + 1 + ${name}_gps_1_link + $(arg namespace)/sensors/${name}/gps_1/fix + +