Skip to content

Add A300 attachments to config/yaml/attachments section #404

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<table>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Intent the HTML block.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

HTML table formatting was copied from another page already in the repo, e.g.

<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/bumper.png").default} width="250"/>
</figure>
</center>
</td>
<td>

The entire components directory consistently uses unindented HTML blocks, so I'd rather keep the formatting in this MR consistent with existing files. If formatting is an issue in the future we can bulk-update the whole directory at once in a different MR.

<tr>
<td>
<center>
<figure>
<img src={require("./img/amp_enclosure.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: enclosure
type: a300.amp_enclosure
model: default
parent: base_link
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>

The top of the enclosure features user rails running down the full length, to allow easy mounting
of additional payloads. The `a300.amp_enclosure` URDF includes the following links that can be set
as the `parent_link` of other attachments:

- `${name}_center_mount`: the centre of the upper surface of the enclosure. Items mounted to the
user rails should measure from this point.
- `${name}_antenna_mount`: the standard parent for the AMP Sensor Arch, located at the rear of the
user rails
- `${name}_front_lidar_mount`: located on the front face of the enclosure, this is the default location
for the AMP's front-facing 3D lidar
- `${name}_ins_mount`: located on the rear face of the enclosure, this is the default location for
the AMP's INS sensor

Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/amp_sensor_arch.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: sensor_arch
type: a300.amp_sensor_arch
model: default
parent: enclosure_antenna_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>

The AMP sensor arch includes the following links to attach sensors and other accessories:
- `${name}_front_camera_mount`: located under the centre-top of the arch, this is the default
location for the front-facing teleoperation camera
- `${name}_rear_camera_mount`: located under the centre-top of the arch, this is the default
location for the rear-facing teleoperation camera
- `${name}_lidar_mount`: default mounting location for a secondary 3D lidar. This mount is only
usable when an additional bracket is physically installed on the arch.
- `${name}_left_antenna_mount`: the default mounting location for the GNSS/INS sensor's left antenna
- `${name}_right_antenna_mount`: the default mounting location for the GNSS/INS sensor's right antenna
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/bumpers.png").default} width="250"/>
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: front_bumper
type: a300.bumper
model: default
parent: front_bumper_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
- name: rear_bumper
type: a300.bumper
model: default
parent: rear_bumper_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>

The bumpers can be extended by setting the `extension` parameter.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/spotlights.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: driving_light_1
type: a300.spotlight
parent: sensor_arch_front_left_corner_mount
xyz: [0.0, 0.0, -0.08]
rpy: [0.0, 0.5235987755982988, 0.5235987755982988]
- name: driving_light_2
type: a300.spotlight
parent: sensor_arch_front_right_corner_mount
xyz: [0.0, 0.0, -0.08]
rpy: [0.0, 0.5235987755982988, -0.5235987755982988]
- name: driving_light_3
type: a300.spotlight
parent: sensor_arch_rear_left_corner_mount
xyz: [0.0, 0.0, -0.08]
rpy: [0.0, 0.5235987755982988, -0.5235987755982988]
- name: driving_light_4
type: a300.spotlight
parent: sensor_arch_rear_right_corner_mount
xyz: [0.0, 0.0, -0.08]
rpy: [0.0, 0.5235987755982988, 0.5235987755982988]
```
</td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/top_plate_default.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: top_plate
type: a300.top_plate
model: default
parent: default_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>

The default top plate has 3 mounting locations that can be used as the `parent_link` for sensors and other
attachments:
- `${name}_front_mount` at the front edge of the plate,
- `${name}_rear_mount` at the rear edge of the plate, and
- `${name}_default_mount` located in the centre of the plate.
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/top_plate_pacs.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: top_plate
type: a300.top_plate
model: pacs
parent: default_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>

Attach accessories to the top plate mounts by setting the accessory's `parent` parameter to one of the grid mounting
locations displayed above. The grid mounting locations span from `${name}_mount_a1` to `${name}_mount_e9`, where the
front left-most location is the `a1` mount and the rear right-most location is the `e9` mount. The letters correspond
to the columns and the number to the rows.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/wireless_charger.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: wireless_charger
type: a300.wireless_charger
model: default
parent: base_link
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>

The A300 can optionally be equipped with a wireless charging coil, mounted to the the right side of the robot.

The `${name}_face` link is located in the centre of the charging coil's face, with the X axis pointing outwards.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: A200 Attachments
sidebar_label: A200
sidebar_position: 2
sidebar_position: 3
toc_min_heading_level: 2
toc_max_heading_level: 5
---
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
---
title: A300 Attachments
sidebar_label: A300
sidebar_position: 2
toc_min_heading_level: 2
toc_max_heading_level: 5
---
import A300AmpEnclosure from "/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/amp_enclosure.mdx";
import A300AmpSensorArch from "/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/amp_sensor_arch.mdx";
import A300Bumper from "/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/bumper.mdx";
import A300Spotlight from "/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/spotlight.mdx";
import A300TopPlateDefault from "/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/top_plate_default.mdx";
import A300TopPlatePacs from "/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/top_plate_pacs.mdx";
import A300WirelessCharger from "/docs_versioned_docs/version-ros2jazzy/components/yaml/attachments/a300/wireless_charger.mdx";

## Bumper

The A300 can have bumpers. By default, we have two bumpers, on the front and rear of the robot.

<A300Bumper />


## Top Plate

The A300 description supports two types of top plates that modify the mounting links of the robot.

### Default

The **default** top plate is mounted on top of the robot.
<A300TopPlateDefault/>
<br/>

### PACS
The **PACS** top is physically identical to the **default** plate, but adds PACS-compatible mounting links.
<A300TopPlatePacs/>
<br/>

## Wireless Charger

<A300WirelessCharger />

## AMP Attachments

The Husky AMP (Autonomous Mobile Platform) has large enclosure on top to contain additional computers, sensors, and
power-distribution equipment and an arch to support additional sensors. These attachments can be added to
the A300 just like any other attachment.

### AMP Enclosure

If the AMP Enclosure is used, the [top plate](#top-plate) should be omitted.

<A300AmpEnclosure />

### AMP Sensor Arch

The AMP sensor arch is used to attach additional sensors and antennas.

<A300AmpSensorArch />

### Spotlights

The AMP is equipped with multiple spotlights to assist in teleoperation in dark environments. The models also include
simulated light sources when used with [Gazebo](../../../../tutorials/simulator/overview.mdx)

<A300Spotlight />
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: DD1X0 and DO1X0 Attachments
sidebar_label: DD1X0 & DO1X0
sidebar_position: 5
sidebar_position: 6
toc_min_heading_level: 2
toc_max_heading_level: 5
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: J100 Attachments
sidebar_label: J100
sidebar_position: 3
sidebar_position: 4
toc_min_heading_level: 2
toc_max_heading_level: 5
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: R100 Attachments
sidebar_label: R100
sidebar_position: 6
sidebar_position: 7
toc_min_heading_level: 2
toc_max_heading_level: 5
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: W200 Attachments
sidebar_label: W200
sidebar_position: 4
sidebar_position: 5
toc_min_heading_level: 2
toc_max_heading_level: 5
---
Expand Down