Skip to content

Commit

Permalink
Merge pull request #271 from clearpathrobotics/development
Browse files Browse the repository at this point in the history
production sync
  • Loading branch information
tonybaltovski authored Sep 24, 2024
2 parents 147d900 + d38d2b2 commit 83957c7
Show file tree
Hide file tree
Showing 41 changed files with 822 additions and 360 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,11 @@ However, please take note of the following:
- The batteries must not be punctured or disassembled.
- The batteries should be disposed of pursuant to your local regulations regarding electrical and/or hazardous waste.


The integrated Ridgeback charger will fully charge the internal lead-acid battery in a few hours. The charger will time out after 12 hours, so be sure to power cycle (by unplugging and re-plugging) the charger on a daily basis. Allow the battery to warm up to at least 10°C before charging.

When the battery is running low on charge, the corner lights will start to flash yellow. This is your indication that the Ridgeback should be plugged in to charge soon.

Please contact Clearpath Robotics for additional information about Ridgeback's batteries or for information about
purchasing additional batteries.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,13 +26,11 @@ Before flashing firmware, place your robot up on blocks or disengage the drivetr

#### 2. Prepare the Robot

:::note
:::note

Platforms with an Ethernet connection to the MCU have the option of flashing over USB or Ethernet.
If you are updating to ROS 2 Humble for the first time, you must use USB. If you are updating ROS 2 Humble firmware
to a newer version, using Ethernet is recommended. Skip this step if flashing over Ethernet.
The J100 MCU does not have an ethernet interface, and therefore cannot be flashed using the eternet bootloader. You must follow the subsequent steps to flash the J100 MCU over mini-USB.

:::
:::

The J100 MCU is mounted to the rear inside wall of the robot. To access it, open the lid, keeping the computer
tray secured to the underside of the lid.
Expand Down Expand Up @@ -87,13 +85,13 @@ Before flashing firmware, place your robot up on blocks or disengage the drivetr

#### 2. Prepare the Robot

:::note
:::note

Platforms with an Ethernet connection to the MCU have the option of flashing over USB or Ethernet.
If you are updating to ROS 2 Humble for the first time, you must use USB. If you are updating ROS 2 Humble firmware
to a newer version, using Ethernet is recommended. Skip this step if flashing over Ethernet.

:::
:::

The W200 MCU is located on the underside of the metal frame over the top of the computer.

Expand Down Expand Up @@ -125,6 +123,159 @@ Before flashing firmware, place your robot up on blocks or disengage the drivetr
While pressing <code>BT0</code> on the MCU, connect the external computer to Warthog's MCU using a USB cable.

</TabItem>

<TabItem
value="R100"
label="R100"
default
>

#### 1. Download the Clearpath Firmware package from the Clearpath package server

On the robot computer, run the following commands:

```
sudo apt-get update
sudo apt-get install ros-humble-clearpath-firmware
```

#### 2. Prepare the Robot

:::note

Platforms with an Ethernet connection to the MCU have the option of flashing over USB or Ethernet.
If you are updating to ROS 2 Humble for the first time, you must use USB. If you are updating ROS 2 Humble firmware
to a newer version, using Ethernet is recommended. Skip this step if flashing over Ethernet.

:::

Place the R100 Ridgeback up on blocks. Firmware loading does not usually result in unintended motion, but it's safest when off the ground.

Remove the side panels to access the robot computer and MCU.

Connect the MCU to the R100 Ridgeback's onboard computer using a mini-USB cable connected to the port shown below:

<center>
<figure>
<img
src="/img/robot_images/ridgeback_images/mcu_usb.png"
width="800"
/>
<figcaption>R100 MCU mini-USB port</figcaption>
</figure>
</center>

In the middle of the MCU, there is a two-position switch labelled `PWR_MODE`. Move the switch from the default `NORM` position to the `AUX` position.

Press the `M_RST` to restart the MCU. Now, the MCU is in boot-loader mode, ready to receive new firmware.

<center>
<figure>
<img
src="/img/robot_images/ridgeback_images/mcu_buttons.png"
width="800"
/>
<figcaption>R100 MCU mode switch and reset button</figcaption>
</figure>
</center>

:::note

The Ridgeback's MCU is normally rotated 90 degrees when it is installed in the robot; the `NORM` position is typically towards the top of the robot's chassis and the `AUX` position is normally towards the bottom.

:::

</TabItem>

<TabItem
value="DX100"
label="DX100"
default
>

#### 1. Download the Clearpath Firmware package from the Clearpath package server

On the robot computer, run the following commands:

```
sudo apt-get update
sudo apt-get install ros-humble-clearpath-firmware
```

#### 2. Prepare the Robot

:::note

Platforms with an Ethernet connection to the MCU have the option of flashing over USB or Ethernet.
If you are updating to ROS 2 Humble for the first time, you must use USB. If you are updating ROS 2 Humble firmware
to a newer version, using Ethernet is recommended. Skip this step if flashing over Ethernet.

:::

The DX100 MCU is mounted near the HMI panel towards the rear of the robot. To access it, remove the antennas and the center channel panel.

Connect the MCU to the onboard computer using a mini-USB cable connected to the port as shown below:

<center>
<figure>
<img
src="/img/robot_images/dingo_images/dingo-d-100-bootloader.jpg"
width="800"
/>
<figcaption>DX100 MCU mini-USB port</figcaption>
</figure>
</center>

As is shown in the image above, set the `PWR_MODE` switch to the `ALT` position.

Press the `M_RST` or restart the robot using the HMI panel. Now, the MCU is in boot-loader mode, ready to receive new firmware.

</TabItem>

<TabItem
value="DX150"
label="DX150"
default
>

#### 1. Download the Clearpath Firmware package from the Clearpath package server

On the robot computer, run the following commands:

```
sudo apt-get update
sudo apt-get install ros-humble-clearpath-firmware
```

#### 2. Prepare the Robot

:::note

Platforms with an Ethernet connection to the MCU have the option of flashing over USB or Ethernet.
If you are updating to ROS 2 Humble for the first time, you must use USB. If you are updating ROS 2 Humble firmware
to a newer version, using Ethernet is recommended. Skip this step if flashing over Ethernet.

:::

The DX150 MCU is mounted near the HMI panel towards the rear of the robot. To access it, remove the antennas and the center channel panel.

Connect the MCU to the onboard computer using a mini-USB cable connected to the port as shown below:

<center>
<figure>
<img
src="/img/robot_images/dingo_images/dingo-d-150-bootloader.jpg"
width="800"
/>
<figcaption>DX150 MCU mini-USB port</figcaption>
</figure>
</center>

As is shown in the image above, set the `PWR_MODE` switch to the `ALT` position.

Press the `M_RST` or restart the robot using the HMI panel. Now, the MCU is in boot-loader mode, ready to receive new firmware.

</TabItem>
</Tabs>


Expand Down Expand Up @@ -174,4 +325,37 @@ If you flashed over Ethernet, skip this step.
Press the <code>RST</code> button. The MCU should enter regular operation.

</TabItem>

<TabItem
value="R100"
label="R100"
>

Switch the <code>PWR_MODE</code> switch from <code>ALT</code> back to <code>NORM</code>. The robot will turn off.
Power it back on with the power button.

</TabItem>


<TabItem
value="DX100"
label="DX100"
>

Switch the <code>PWR_MODE</code> switch from <code>ALT</code> back to <code>NORM</code>. The robot will turn off.
Power it back on with the power button.

</TabItem>


<TabItem
value="DX150"
label="DX150"
>

Switch the <code>PWR_MODE</code> switch from <code>ALT</code> back to <code>NORM</code>. The robot will turn off.
Power it back on with the power button.

</TabItem>

</Tabs>
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,45 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/top_plate_dd100.png").default} width="250" />
</figure>
</center>
<center>
<figure>
<img src={require("./img/top_plate_dd150.png").default} width="250" />
</figure>
</center>
<center>
<figure>
<img src={require("./img/top_plate_do1X0.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: top_plate
type: dd100.top_plate
height: 0.1
parent: default_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>
:::note
All DX1X0 platforms allow for these mounting top plates to be easily added. However, the screw mounting locations are different, and therefore, the position of the top plate is slightly different on each platform.
:::
The height of the top plate can be adjusted using the `height` parameter. This parameter corresponds to the length of the stand-offs holding up the top plate. Therefore, the distance from the `parent` link to the top surface of the top plate will be `height` plus the thickness of the plate.

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 `top_plate_mount_a1` to `top_plate_mount_e6`, where the front left-most location is the `a1` mount and the bottom right-most location is the `e6` mount. The letters correspond to the columns and the number to the rows. The name of these links depends on the `name` parameter defined in the entry above.

The `type` parameter can be set to any of `dd100.top_plate`, `dd150.top_plate`, `do100.top_plate`, or `do150.top_plate`, as all of these resolve in the same attachment.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/fams.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: fams
type: r100.fams
table_height: 0.6
parent: default_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>
The height of the table can be adjusted using the `table_height` parameter. The height parameter corresponds to the length of the table legs. Therefore, the distance from the `parent` link to the top surface of the table will be the `table_height` plus the thickness of the top plate.

Payloads can be added to the table using the links `fams_default_mount` (at the center of the table) and `fams_arm_mount` (at the front of the table). The name of these links corresponds to the `name` parameter set in the `robot.yaml`.
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/hams.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: hams
type: r100.hams
table_height: 0.6
mount_height: 0.3
parent: default_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>
The height of the table can be adjusted using the `table_height` parameter. The height parameter corresponds to the length of the table legs. Therefore, the distance from the `parent` link to the top surface of the table will be the `table_height` plus the thickness of the top plate.

The height of the recessed arm mount can be adjusted using the `mount_height` parameter. The `mount_height` parameter corresponds to the distance from the `parent` link to the top surface of the mounting plate.

Payloads can be added to the table using the links `hams_default_mount` (at the center of the table) and `hams_arm_mount` (center of the recessed plate). The name of these links corresponds to the `name` parameter set in the `robot.yaml`.
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,30 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/tower.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
platform:
attachments:
- name: tower
type: r100.tower
left_height: 0.0
right_height: 0.0
parent: default_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>
The height of each arm mounting location or "shoulder" can be adjusted by using the `left_height` and `right_height` parameters. These height parameters correspond to the vertical distance from the lowest screw mounted location. There are seven screw mounting locations that are separated by 40 mm. The lowest mounting location corresponds to height `0.0` and the highest mounting location corresponds to height `0.28`. In the example above, the tower's right arm mount is set to height `0.0` and the tower's left arm is set to height `0.28`.

Payloads can be added to the tower using the links: `tower_mid_link` (at the center of the tower), `tower_top_link` (at the top of the tower), `tower_left_shoulder_link` (at the center of the left tower mount), and `tower_right_shoulder_link` (at the center of the right tower mount). The name of these links corresponds to the `name` parameter set in the `robot.yaml`.
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

0 comments on commit 83957c7

Please sign in to comment.