Skip to content

Commit

Permalink
Merge pull request #189 from clearpathrobotics/humble-0.2.0
Browse files Browse the repository at this point in the history
Humble 0.2.0
  • Loading branch information
luis-camero authored Dec 18, 2023
2 parents 2589b05 + 3ffe266 commit 4827f6d
Show file tree
Hide file tree
Showing 117 changed files with 2,453 additions and 1,267 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,156 @@
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";

:::caution

Before flashing firmware, place your robot up on blocks. Firmware loading does not usually result in unintended motion, but it is safest when off the ground.

:::

#### 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.

:::

<Tabs groupId="platform">
<TabItem
value="J100"
label="J100"
>

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.

<center>
<figure>
<img
src="/img/robot_images/jackal_images/mcu-annotated.jpg"
width="800"
/>
<figcaption>J100 MCU</figcaption>
</figure>
</center>


<figure>
<figcaption><b>J100 MCU labels</b></figcaption>
<ol>
<li>
The <code>M_RST</code> button, used to reset the MCU.
</li>
<li>
The <code>PWR_MODE</code> switch. Left is <code>NORM</code> or normal mode, right is <code>ALT</code> or bootloader mode. This is used for flashing the firmware.
</li>
<li>
The mini-USB port used for transmitting data. This should be connected to J100's computer for both normal operation and firmware flashing.
</li>
</ol>
</figure>

**Place the J100 MCU into bootloader mode**

Open the lid of the robot to expose the MCU and make sure the mini-USB cable is connected to the robot computer.
Switch the <code>PWR_MODE</code> switch from <code>NORM</code> to <code>ALT</code>. If the robot is on, press the <code>M_RST</code> button. Otherwise, turn the robot on with the power button.

</TabItem>

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

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

<center>
<figure>
<img
src="/img/robot_images/warthog_images/mcu_buttons.jpg"
width="800"
/>
<figcaption>W200 MCU</figcaption>
</figure>
</center>


<figure>
<figcaption><b>W200 MCU labels</b></figcaption>
<ul>
<li>
The <code>RST</code> button, used to reset the MCU.
</li>
<li>
The <code>BT0</code> button, used to enter the USB bootloader mode.
</li>
</ul>
</figure>

**Place the W200 MCU into bootloader mode**

While pressing <code>BT0</code> on the MCU, connect the external computer to Warthog's MCU using a USB cable.

</TabItem>
</Tabs>


#### 3. Flash the firmware

Run the Clearpath firmware flash tool:

```
source /opt/ros/humble/setup.bash
ros2 run clearpath_firmware flash
```

Select your platform, then select which method of flashing you would like to use.

:::caution

Do not turn the robot off or unplug the cable while flashing firmware. If an error occurs while
flashing, you can attempt to flash again over USB.

:::

#### 4. Place the robot back into normal operating mode

:::note

If you flashed over Ethernet, skip this step.

:::

<Tabs groupId="platform">
<TabItem
value="J100"
label="J100"
>

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="W200"
label="W200"
default
>

Press the <code>RST</code> button. The MCU should enter regular operation.

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

```yaml
attachments:
- name: front_bumper
type: a200.bumper
model: default
parent: front_bumper_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
extension: 0.0
- name: rear_bumper
type: a200.bumper
model: default
parent: rear_bumper_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
extension: 0.0
```
</td>
</tr>
</table>
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,24 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/sensor_arch_300.png").default} width="250"/>
</figure>
</center>
</td>
<td>

```yaml
attachments:
- name: sensor_arch
type: a200.sensor_arch
model: sensor_arch_300
parent: mid_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/sensor_arch_510.png").default} width="250"/>
</figure>
</center>
</td>
<td>

```yaml
attachments:
- name: sensor_arch
type: a200.sensor_arch
model: sensor_arch_510
parent: mid_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/top_plate_default.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
attachments:
- name: top_plate
type: a200.top_plate
model: default
parent: mid_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/top_plate_large.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
attachments:
- name: top_plate
type: a200.top_plate
model: large
parent: mid_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</td>
</tr>
</table>
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/top_plate_pacs.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
attachments:
- name: top_plate
type: a200.top_plate
model: pacs
parent: mid_mount
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
```
</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/fender_default.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
attachments:
- name: front_fender
type: fender
model: default
parent: base_link
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
- name: rear_fender
type: fender
model: default
parent: base_link
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 3.1415]
enabled: true
```
</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/fender_sensor.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
attachments:
- name: front_fender
type: fender
model: sensor
parent: base_link
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
enabled: true
- name: rear_fender
type: fender
model: sensor
parent: base_link
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 3.1415]
enabled: true
```
</td>
</tr>
</table>
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 4827f6d

Please sign in to comment.