Skip to content

Commit

Permalink
Merge pull request #252 from clearpathrobotics/development
Browse files Browse the repository at this point in the history
Production sync
  • Loading branch information
tonybaltovski authored Jun 12, 2024
2 parents 536db0c + 6b25001 commit b0b2fa7
Show file tree
Hide file tree
Showing 27 changed files with 2,397 additions and 1,277 deletions.
110 changes: 110 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -374,3 +374,113 @@ Links to headings must not include an extra slash between the name of the page a
Finally, select _OK_, and _Save_

<img src="/static/img/readme_images/readme_solidworks_image_4.png" width="800"/>

## Mermaid Diagrams
Mermaid is a JavaScript based diagram generator that uses Markdown for descriptions and is available to docusaurus through a [plug-in](https://docusaurus.io/docs/next/markdown-features/diagrams).

To get started with Mermaid diagrams, use their [live tool](https://mermaid.live/edit). The live viewing tool is useful to explore the various diagrams using their readily available templates.
>> Currently, we are on version 2.4.3 of the Mermaid plug-in. Therefore, not all of the templates in the live version are available.
Although Mermaid is more complicated to use than other tools, it is easy to version and outputs HTML objects; the resulting diagrams can include links and the text within it is searchable. Additionally, HTML tags can be included within the diagrams for further customization. Refer to the [Mermaid Documentation](https://mermaid.js.org/intro/getting-started.html) for more details on the diagram descriptions.

### Themes
In the [Docusaurus configuration file](./docusaurus.config.js), we have defined the site-wide themes for the Mermaid diagrams. Mermaid offers a choice of five different themes to choose from. There is a way to call the `mermaidAPI` to set a customized site-wide theme, however, this has not yet been implemented.

See their [theming documentation](https://mermaid.js.org/config/theming.html) for more information.

### Creating a Diagram
In Docusaurus, we can use a [dyanmic Mermaid component](https://docusaurus.io/docs/next/markdown-features/diagrams#component) to define and load diagrams.

First, we import the dynamic component.
```
import Mermaid from '@theme/Mermaid';
```

Then, we instantiate the component with the graph passed in as an argument.
```
<Mermaid
value={`
graph TD;
A-->B;
A-->C;
B-->D;
C-->D;
`}
/>
```

### Configuring the Diagram
Diagrams can be modified indepent from the site-wide theme and configuration using [directives](https://mermaid.js.org/config/directives.html). Essentially, these directives are used to pass in an initialization configuration to the local diagram that overrides the existing global configuration.

For example, we can modify the way the arrow connecting two nodes is generated. Instead of the default, we can set the `curve` parameter to `step` to have the generated arrow move in steps rather than a smooth curve.
```
<Mermaid
value={`
%%{ \
init: { \
'flowchart': { \
'curve': 'step'
} \
} \
}%%
flowchart TD;
A-->B;
A-->C;
B-->D;
C-->D;
`}
/>
```

Notice that when defining a directive within the dynamic component, we must end every line with a backslash `\`. Make sure to not have any trailing commas, `,`, at the end of a list or dictionary.

See the [flowchart configuration](
https://mermaid.js.org/config/schema-docs/config-defs-flowchart-diagram-config.html) to see all the settings specific to flowcharts that can be modified with directives.

You may notice that there is no way to set the font size through the diagram's configuration. Instead that must be done by modifying the theme variables.
```
<Mermaid
value={`
%%{ \
init: { \
'themeVariables': { \
'fontSize': '16px'
} \
'flowchart': { \
'curve': 'step'
} \
} \
}%%
flowchart TD;
A-->B;
A-->C;
B-->D;
C-->D;
`}
/>
```
See the (Mermaid configuration)[https://mermaid.js.org/config/schema-docs/config.html] documentation page for an exhaustive list of parameters.


Even though the font size has been modified, the rendered diagram's font may not appear to change size. Instead, the text size will remain a relatively similar size while the boxes and arrows appear smaller. Therefore, the sure-fire method to set a font size is to use HTML `<font size=10></font>` tags to wrap the text within a node.
```
<Mermaid
value={`
%%{ \
init: { \
'themeVariables': { \
'fontSize': '16px'
} \
'flowchart': { \
'curve': 'step'
} \
} \
}%%
flowchart TD;
A-->B(<font size=10>B Text<font>);
A-->C;;
B-->D;
C-->D;
`}
/>
```
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,9 @@ toc_max_heading_level: 4

:::danger SAFETY WARNING

The following Assisted Teleoperation feature is only available on our Jackal and Husky UGVs. It is not currently
available on our Warthog UGV or on OEM platforms.

Making changes to any of the following variables will decrease system safety. It is recommended that users
only modify these parameters in consultation with [Clearpath Robotics Support](../support.mdx).

Expand Down
15 changes: 1 addition & 14 deletions docs_outdoornav_user_manual/web_user_interface/ui_overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,7 @@ mode.
will show here.

11. **Views List:** A dropdown list of available views, detailed later
in this section. Some of the available views are Map, Camera and 3D
views, etc.
in this section. Some of the available views are Map, and Camera views etc.

12. **Local Docking/Undocking:** The local docking/undocking buttons used
to dock/undock the UGV. The UGV must have it's charging adaptor facing the dock
Expand Down Expand Up @@ -190,18 +189,6 @@ available views.
</figure>
</center>

## 3D View

The 3D view allows the user to visualize the pointcloud data being
acquired by the VLP-16 LiDAR.

<center>
<figure>
<img src="/img/outdoornav_images/ui_3d_view.png" />
<figcaption>3D View</figcaption>
</figure>
</center>

## System Configuration

### General Settings {#config-general-settings}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -556,7 +556,8 @@ However, please take note of the following:

- SLA batteries must be charged while in a 0 to +45 ◦C range and discharged while in a -30 to +60 ◦C range.
- Lithium batteries must be charged while in a 0 to +50 ◦C range and discharged while in a -20 to +60 ◦C range.
- LiFEPO<sub>4</sub> batteries must be charged within a 0 to +45 ⁰C range and discharged while in a -20 to +60 ⁰C range
- LiFEPO<sub>4</sub> batteries must be charged within a 0 to +45 ⁰C range and discharged while in a -20 to +60 ⁰C range.
- Chargers must be placed on a hard surface, not on a carpet or other insulating device, as they can get hot during the bulk charging phase.

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

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@ import Support from "/components/support.mdx";

### Overview

Warthog contains a 48 V lead-acid battery pack, consisting of four 12 V lead-acid batteries, or a lithium battery pack, consisting of four 118 Ah 12.8 V batteries
Warthog contains a 48 V lead-acid battery pack, consisting of four 12 V lead-acid batteries, or a LiFEPO<sub>4</sub> battery pack, consisting of four 118 Ah 12.8 V batteries
connected in a 4S1P configuration with a single Battery Management System (BMS) control unit. Battery configuration may vary with each unit. In order to
maximize performance, it's important to ensure that the battery level across each set of lead-acid or lithium batteries is within 0.1-0.2 V.
maximize performance, it's important to ensure that the battery level across each set of lead-acid or LiFEPO<sub>4</sub> batteries is within 0.1-0.2 V.
If the batteries exceed this tolerance, it's advised to charge them to within tolerance before wiring these packs in parallel. The overall battery life
will vary depending upon the usage of the unit.
will vary depending upon the usage of the unit. The typical lifetime of a lead-acid battery pack is approximately 250-300 charge/discharge cycles,
depending on the depth of discharge.

### Battery Management System

Expand All @@ -30,7 +31,15 @@ If your Warthog is equipped with a lead-acid battery pack, you can ignore this s

:::

If your Warthog is equipped with a lithium battery pack, it is also equipped with a single Battery Management System (BMS) control unit.
:::note

Your charger must be disconnected completely from the Warthog when not charging the unit. Leaving the cable plugged
into the Warthog enables the BMS system to be powered on fully even when the robot is off, which will cause the
batteries to be drained to an over-discharged state.

:::

If your Warthog is equipped with a LiFEPO<sub>4</sub> battery pack, it is also equipped with a single Battery Management System (BMS) control unit.
The main function of the BMS is to:

- Protect the individual modules from being overcharged or excessively discharged.
Expand Down Expand Up @@ -95,7 +104,7 @@ charging.
#### To Connect the Charger

1. Plug in the charger DC output cable (heavier gauge cable).
2. Plug in the charger auxiliary control cable. (Note: Only relevant to Warthogs with lithium batteries.)
2. Plug in the charger auxiliary control cable. (Note: Only relevant to Warthogs with LiFEPO<sub>4</sub> batteries.)
3. Plug the charger into AC power (directly to the wall outlet, no extension cords).
4. This can be done with or without power on Warthog being on (however the note above applies: at least once every 2-3 weeks, the charge
process needs to be allowed to fully balance the system).
Expand Down Expand Up @@ -142,12 +151,12 @@ Please contact Clearpath Robotics for additional information about Warthog's bat

---

## Tread Upgrade
## Tracks Upgrade

If your unit came equipped with the tread upgrade, please keep the following considerations in mind:
If your unit came equipped with the tracks upgrade, please keep the following considerations in mind:

- The tread drive units pull considerably more current to operate.
It is advised to operate a tread Warthog at reduced speeds, either through ROS commands or by reducing the speed scale when operating with the Futaba controller.
- The tracks drive units pull considerably more current to operate.
It is advised to operate a Warthog with tracks at reduced speeds, either through ROS commands or by reducing the speed scale when operating with the Futaba controller.
- Due to the increased drive current, expect lower battery life than a wheeled Warthog.
It is recommend to drive at reduced speeds to increase battery life.
- It is possible to trigger an over current error in the motor controller by increasing speed drastically shortly after resetting a stop condition.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ Your Warthog shipment contains the following:
- Warthog UGV
- Onboard computer
- User Breakout Panel with power, Ethernet, Serial (RS232) and USB connectivity
- 48 V Lead-Acid Battery Pack or 48 V Lithium Battery Pack
- 48 V Lead-Acid Battery Pack or 48 V LiFEPO<sub>4</sub> Battery Pack
- One battery charger
- One Futaba remote control
- One Warthog quick start guide
Expand Down Expand Up @@ -67,12 +67,13 @@ The Warthog is shown below and includes:
- Four body lights (one on each corner)

<!-- background color set to white for the image below in order to be visible in dark mode -->

<center>
<figure>
<img
src="/img/robot_images/warthog_images/robot_warthog_1.png"
width="600"
style={{backgroundColor:'white'}}
style={{ backgroundColor: "white" }}
/>
<figcaption>Warthog hardware overview</figcaption>
</figure>
Expand Down Expand Up @@ -155,9 +156,9 @@ and yaw in aircraft, and care should be taken to ensure that data is interpreted
| Drive Configuration | 4 X 4 Skid Steer |
| Operating Environment | Outdoor |
| Traction | Ø610 mm (24") Argo Turf tire (default) or 300 mm (12") wide Quad Track System (optional) |
| Battery Chemistry | AGM sealed lead-acid (lithium optional) |
| Capacity | 105 Ah at 48 V, expandable to 200 Ah with lithium option |
| Nominal Run Time | Lead-acid: 2.5 hrs, lithium: 6 hrs |
| Battery Chemistry | AGM sealed lead-acid (LiFEPO<sub>4</sub> optional) |
| Capacity | 105 Ah at 48 V, expandable to 118 Ah at 51.2 V with LiFEPO<sub>4</sub> option |
| Nominal Run Time | Lead-acid: 2.5 hrs, LiFEPO<sub>4</sub>: 6 hrs |
| Charge Time | 4 Hours approx |
| User Power | 12 V, 24 V and 48 V Fused at 10 A |
| Control Modes | Remote control, computer controlled velocity commands, indoor/outdoor autonomy packages |
Expand Down
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
Expand Up @@ -18,7 +18,7 @@ camera:
xyz: [0.0, 0.0, 0.0]
rpy: [0.0, 0.0, 0.0]
ros_parameters:
camera:
intel_realsense:
camera_name: camera_0
device_type: d435
serial_no: "0"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<table>
<tr>
<td>
<center>
<figure>
<img src={require("./img/stereolabs_zed.png").default} width="250" />
</figure>
</center>
</td>
<td>

```yaml
camera:
- model: stereolabs_zed
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:
stereolabs_zed:
general.grab_frame_rate: 30
general.serial_number: 0
general.camera_model: 'zed2'
general.grab_resolution: 'AUTO'
```
</td>
</tr>
</table>
#### Package and Setup
The Stereolabs Zed cameras use the `zed-ros2-wrapper` ROS 2 driver. The driver is open source, maintained by Stereolabs, and hosted on [GitHub](https://github.com/stereolabs/zed-ros2-wrapper). The `zed_wrapper` nodes depend on the the [ZED SDK](https://www.stereolabs.com/developers/release). The `zed-ros2-wrapper` ROS packages and the ZED SDK **are not installed by ROS dependencies** because the SDK and the wrapper depend on CUDA and need to be built against the specific version installed on your computer. Therefore, **you will have to install these manually by following the instructions in the [`zed-ros2-wrapper`](https://github.com/stereolabs/zed-ros2-wrapper/blob/master/README.md) repository.

For specifics on the way Clearpath's configuration system launches the camera, see the Stereolabs Zed [launch file](https://github.com/clearpathrobotics/clearpath_robot/blob/main/clearpath_sensors/launch/stereolabs_zed.launch.py) and the [default parameter file](https://github.com/clearpathrobotics/clearpath_robot/blob/main/clearpath_sensors/config/stereolabs_zed.yaml) in `clearpath_sensors`.

#### Camera Model
The `general.camera_model` parameter must be modified to the match the type of Zed camera being used. See the list below for all models:
- `zed`
- `zedm`
- `zed2`
- `zed2i`
- `zedx`
- `zedxm`
- `virtual`

#### Serial Number
The `general.serial_number` parameter can be left at `0` if only one camera is connected to that computer. If multiple cameras are connected, make sure to define a serial number for each.

#### Resolution
The `general.grab_resolution` parameter can be modified to change the resolution preset of the camera. Not all cameras support all presets. See the list below for all presets:
- `AUTO`
- `HD2K`
- `HD1080`
- `HD720`
- `VGA`
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ You may need to install _jstest_ with `sudo apt-get install jstest-gtk`
Clearpath uses the _/bluetooth_teleop_ ROS node to publish velocity commands from the joystick to _/twist_mux_.
_/twist_mux_ Takes in multiple sources of velocity commands, and prioritizes what actually gets sent to _/cmd_vel_ to drive the robot.

Depending on the robot platform and related controller, you will need to configure your robot's [robot.yaml configuration file](../../../ros/config/yaml/platform.mdx).
Depending on the robot platform and related controller, you will need to configure your robot's [robot.yaml configuration file](../../../ros/config/yaml/platform/controller.mdx).

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,8 @@ However, please take note of the following:

- SLA batteries must be charged while in a 0 to +45 ◦C range and discharged while in a -30 to +60 ◦C range.
- Lithium batteries must be charged while in a 0 to +50 ◦C range and discharged while in a -20 to +60 ◦C range.
- LiFEPO<sub>4</sub> batteries must be charged within a 0 to +45 ⁰C range and discharged while in a -20 to +60 ⁰C range
- LiFEPO<sub>4</sub> batteries must be charged within a 0 to +45 ⁰C range and discharged while in a -20 to +60 ⁰C range.
- Chargers must be placed on a hard surface, not on a carpet or other insulating device, as they can get hot during the bulk charging phase.

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

Expand Down
Loading

0 comments on commit b0b2fa7

Please sign in to comment.