Skip to content

Commit

Permalink
Merged changes in development
Browse files Browse the repository at this point in the history
  • Loading branch information
luis-camero committed Mar 27, 2024
2 parents 4487ae7 + ee0f9c2 commit 4dc1689
Show file tree
Hide file tree
Showing 37 changed files with 966 additions and 360 deletions.
16 changes: 9 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,10 +154,12 @@ Next, to start the development of a new version, the latest released version of

For Example, for making a new release after humble, the contents of `docs_versioned_docs/version-ros2humble/` would be copied to `docs/`. This folder will then be built as the "next" version. Once enabled, this version will be available in the version drop down (just like how it is visible for OutdoorNav - http://docs.clearpathrobotics.com/docs_outdoornav_user_manual/next/index).

Enable the visibility of the "next" version by setting
Enable the visibility of the "next" version by setting

```
includeCurrentVersion: true,
```

in `docusaurus.config.js` alongside `id: "docs",`. Ensure to reset this to false before releasing the changes.

Continue through to step 9 of the workflow above to complete the update. Once complete, continue to the release phase.
Expand Down Expand Up @@ -198,11 +200,11 @@ includeCurrentVersion: false,

5. Empty the docs folder leaving only the .keep file (such that the folder is still tracked by git).

6. When ready, publish your branch on GitHub, and submit a Pull Request to merge your changes into the _development_ branch.
Be sure to include the updates to the following:
- docs_versioned_docs/
- docs_versioned_sidebars/
- docs_versions.json
6. When ready, publish your branch on GitHub, and submit a Pull Request to merge your changes into the _development_ branch.
Be sure to include the updates to the following:
- docs_versioned_docs/
- docs_versioned_sidebars/
- docs_versions.json

</details>

Expand Down Expand Up @@ -341,7 +343,7 @@ The list below are not strict rules, but are considered good practice to keep im

## Links and Imports

All links to, or imports of versioned elements (images, markdown files etc.) must be referred to using relative links (`img/image-name.png` or `../../robots/add-ons/pacs.mdx`), including the file extension. These versioned pages will be moved together and ensures that the correct version is used. Including the file extension ensures that the next page will be located based on the file location not the generated links. This method is much more robust and should be followed whenever possible.
All links to, or imports of versioned elements (images, markdown files etc.) must be referred to using relative links (`img/image-name.png` or `../../robots/add-ons/pacs.mdx`), including the file extension. These versioned pages will be moved together and ensures that the correct version is used. Including the file extension ensures that the next page will be located based on the file location not the generated links. This method is much more robust and should be followed whenever possible. When using visual studio code, the `Relative Path` extension can make this process easy.

All links to, or imports of unversioned static elements must be referred to using absolute paths (`/static/img/image-name.png`). This allows these assets to be found irrelevant of the location of the particular page. This link should be the path to the file including the file extension, even when it is an md or mdx file.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ tray secured to the underside of the lid.

1. The `M_RST` button, used to reset the MCU.
2. The MCU mode switch. Left is `NORM` or normal mode, right is `ALT` used for flashing the firmware.
3. The mini-USB port used for transmitting data. This should be connected to Jackal's PC for both normal operation and firmware flashing.
3. The mini-USB port used for transmitting data. This should be connected to Jackal's computer for both normal operation and firmware flashing.

:::

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ For a general list of topics and descriptions see the [Clearpath API](../ros/api
## Software Setup

- [Robot Software](../ros/installation/robot.mdx)
- [Remote Computer](../ros/installation/remote_pc.mdx)
- [Offboard Computer](../ros/installation/offboard_pc.mdx)
- [PS4 Joystick Controller (if applicable)](../ros/installation/controller.mdx)

## Using your Robot
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The `clearpath_computer_setup` package offers a terminal menu tool for configuring a robot computer.
The main feature of this tool is the ability to generate `netplan` configurations. The `clearpath_computer_setup`
package is available on the [Clearpath package server](../ros/installation/robot.mdx#clearpath-package-server).
package is available on the [Clearpath package server](../../ros/installation/robot.mdx#clearpath-package-server).

It should be installed on the robot's computer:

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
ROS 2 networking uses an abstracted middleware referred to as the "RMW Implementation". The Clearpath robot packages support
eProsima Fast DDS as the middleware implementation. This middleware has two supported options for ROS 2 node discovery, Simple
Discovery and Discovery Server. Each of these discovery mechanisms has their own use case:

**Simple Discovery**
- Default, does not require manual setup
- Generally operates on the basis that any ROS 2 devices on the network should be discoverable and connect automatically
- Requires multicasting on the network (may be restricted on school or corporate networks)
- Good for simple systems (small number of robots on a dedicated local network)

**Discovery Server**
- Requires manual configuration in the robot.yaml
- Generally operates on the basis that ROS 2 networks should be controlled and can only discover other devices as directed
- Does not require multicasting (more likely to work on school or corporate networks)
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
The default networking configuration for a robot's computer is to bridge all Ethernet interfaces and assign the computer
the IP address `192.168.131.1`. See [Network IP Addresses](../ros/networking/network_ip_addresses.mdx) for a detailed list of IP ranges.
the IP address `192.168.131.1`. See [Network IP Addresses](../../ros/networking/network_ip_addresses.mdx) for a detailed list of IP ranges.

To configure the default bridge:
1. Run `sudo clearpath-computer-setup`
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -390,14 +390,14 @@ This step is optional.

See instructions [here](../../../../ros/installation/controller.mdx#ps4-controller) for how to pair the PS4 controller.

### Step 7: Use Remote Computer with Jetson (Optional)
### Step 7: Use Offboard Computer with Jetson (Optional)

:::note

This step is optional.

:::

To use your Remote Computer (eg. laptop) with the Jetson, note the IP address of the Jetson, install the robot-specific
desktop packages on the Remote Computer, at set up your Remote Computer to use the Jetson as the ROS master.
Refer to the "Installing Remote Computer Software" section of your robot User Manual for details.
To use your Offboard Computer (for example laptop) with the Jetson, note the IP address of the Jetson, and install the robot-specific
desktop packages on the Offboard Computer.
Refer to the "Installing Offboard Computer Software" section of your robot User Manual for details.
Original file line number Diff line number Diff line change
Expand Up @@ -456,7 +456,7 @@ The direction of the axes differs from those used for roll, pitch, and yaw in ai
You are ready to go! This section details how to get Dingo into action.
To begin, place Dingo "up on blocks" as described in the [Safety](#safety) section, making sure that the wheels are clear of the ground.

For most Dingo setups, there will be an Onboard Computer which is directly connected to the Dingo and a Remote Computer which is used to control Dingo and gather data.
For most Dingo setups, there will be an Onboard Computer which is directly connected to the Dingo and an Offboard Computer which is used to control Dingo and gather data.
These two computers must be set up to communicate with each other.

### Onboard Computer Setup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,8 +170,8 @@ are clear of the ground.
### Onboard Computer Setup

A standard Ridgeback ships with an integrated Onboard Computer that is directly connected to the Ridgeback MCU. Most users
will also make use of a Remote Computer, which is used to control Ridgeback and gather data.
These two computers must be set up to communicate with each other. Details on the Remote Computer setup
will also make use of an Offboard Computer, which is used to control Ridgeback and gather data.
These two computers must be set up to communicate with each other. Details on the Offboard Computer setup
can be found in [Ridgeback Tutorials](tutorials_ridgeback.mdx).

### Powering Up
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ _²robot climbing 30° grade with high-mounted payload, or turning in place in h
You are ready to go! This section details how to get Husky into action.
To begin, place Husky "up on blocks" as described in the [Safety](#safety) section, making sure that the wheels are clear of the ground.

For most Husky setups, there will be an Onboard Computer which is directly connected to the Husky and a Remote Computer which is used to control Husky and gather data.
For most Husky setups, there will be an Onboard Computer which is directly connected to the Husky and an Offboard Computer which is used to control Husky and gather data.
These two computers must be set up to communicate with each other.

### Onboard Computer Setup
Expand Down Expand Up @@ -225,7 +225,7 @@ To reconnect the battery:

To power on Husky, firmly press the power button located above the status panel.
It will illuminate blue, and the status panel lights will show a brief test pattern.
The `COMM` status light will turn red, as the PC is not yet communicating with Husky.
The `COMM` status light will turn red, as the computer is not yet communicating with Husky.

The `STOP` status light will be red if the Stop button is pressed.
If the Stop button is not pressed, press it and verify that the `STOP` light illuminates.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ Except for bus-powered USB cameras, most payloads have separate leads for power

Data connections may be brought through the hatch and connected directly to the internal computer. Both
of Jackal's internal computer options support USB3 and Ethernet connectivity. With the performance
PC, the PCIe slot may be used to supply Firewire, Thunderbolt, or additional USB3 ports, as necessary.
computer, the PCIe slot may be used to supply Firewire, Thunderbolt, or additional USB3 ports, as necessary.

Additionally, the internal mounting area may be used for an Ethernet switch, when attaching multiple
Ethernet payloads, or for a PoE power injector as required.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ equipment will be included per your specific configuration, plus further documen

Jackal is built around a computer running Ubuntu (Intel-based computer or Jetson developer kit), paired
with a 32-bit microcontroller MCU. The MCU handles IO, power supply monitoring and motor control, as well as supplying
data from the integrated IMU and GPS receiver. The communication channel between the MCU and PC is a Full
data from the integrated IMU and GPS receiver. The communication channel between the MCU and computer is a Full
Speed USB connection, with the MCU operating as a standard serial CDC device.

The communication protocol used is rosserial. An instance of the `rosserial_server` serial node is embedded
Expand Down Expand Up @@ -200,7 +200,7 @@ taken to ensure that data is interpreted correctly.
You are ready to go! This section details how to get Jackal into action.
To begin, place Jackal "up on blocks" as described in the [Safety](#safety) section, making sure that the wheels are clear of the ground.

For most Jackal setups, there will be an Onboard Computer which is directly connected to the Jackal and a Remote Computer
For most Jackal setups, there will be an Onboard Computer which is directly connected to the Jackal and an Offboard Computer
which is used to control Jackal and gather data. These two computers must be set up to communicate with each other.

### Onboard Computer Setup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,13 +100,13 @@ Obstruction of water flow may result in damage to the internal electrical compon

The User Breakout Panel provides access to the user power panel, as well as USB, serial, and ethernet ports.
The power panel can be used to power your payloads.
The USB 3.0 and Ethernet ports are connected directly to the onboard PC.
The USB 3.0 and Ethernet ports are connected directly to the onboard computer.
To connect a device to the onboard network, it's suggested to give it a static IP in the _192.168.131.xxx_ subnet, avoiding IPs in use by the following pre-existing devices:

| IP address | Description |
| :-----------: | :-------------------------------------------- |
| 192.168.131.1 | Onboard PC (all ports, br0 network interface) |
| 192.168.131.2 | Ethernet-connected MCU |
| IP address | Description |
| :-----------: | :-------------------------------------------------- |
| 192.168.131.1 | Onboard Computer (all ports, br0 network interface) |
| 192.168.131.2 | Ethernet-connected MCU |

Typically addresses numbered 192.168.131.100 and above will not collide with any of Warthog's payloads.
Please see [Electrical Integration](integration_warthog/integration_warthog.mdx#warthog-electrical-integration) for more information.
Expand Down Expand Up @@ -182,7 +182,7 @@ and yaw in aircraft, and care should be taken to ensure that data is interpreted
You are ready to go! This section details how to get Warthog into action.
To begin, place Warthog "up on blocks", making sure that the wheels are clear of the ground.

For most Warthog setups, there will be an Onboard Computer which is directly connected to the Warthog and a Remote Computer which is used to control Husky and gather data.
For most Warthog setups, there will be an Onboard Computer which is directly connected to the Warthog and an Offboard Computer which is used to control Husky and gather data.
These two computers must be set up to communicate with each other.

### Onboard Computer Setup
Expand Down
2 changes: 1 addition & 1 deletion docs_versioned_docs/version-ros2humble/ros/config/live.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Before running the node, we will need to setup the working directory.

On our robots, our standard working directory is: `/etc/clearpath`.

On remote computers, such as our users' computers, we recommend using `$HOME/clearpath`.
On offboard computers, such as our users' computers, we recommend using `$HOME/clearpath`.

However, you can choose whatever directory you'd like to use, just be mindful that contents may be deleted and recreated by our generator scripts. We will refer to this directory as the **setup_path**.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,20 +56,21 @@ You can also skip to each section to get an explanation of each part of the samp
serial_number: a200-0000
version: 0
system:
username: administrator
hosts:
self: cpr-a200-0000
platform:
cpr-a200-0000: 192.168.131.1
onboard: {}
remote: {}
- hostname: cpr-a200-0000
ip: 192.168.131.1
ros2:
username: administrator
namespace: a200_0000
domain_id: 0
rmw_implementation: rmw_fastrtps_cpp
middleware:
implementation: rmw_fastrtps_cpp
workspaces: []
platform:
controller: ps4
battery:
model: ES20_12C
configuration: S2P1
attachments:
- name: front_bumper
type: a200.bumper
Expand Down
Loading

0 comments on commit 4dc1689

Please sign in to comment.