Skip to content
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

changes #305

Merged
merged 13 commits into from
May 8, 2024
123 changes: 92 additions & 31 deletions website/docs/apps/autoplot_app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,59 +25,84 @@ Before engaging autonomy, ensure to verify:

- [ ] Accurate [**IMU Calibration**](/docs/apps/launcher/#imu-calibration).
- [ ] The correct offsets are set in [**Robot Geometry**](/docs/apps/launcher/#robot-geometry).
- [ ] [**GPS NTRIP**](docs/apps/launcher/#gps-ntrip) requirements have been met.
- [ ] Robot is connected to [**WiFi**](docs/apps/launcher/#wifi).
- [ ] [**GPS NTRIP**](/docs/apps/launcher/#gps-ntrip) requirements have been met.
- [ ] Robot is connected to [**WiFi**](/docs/apps/launcher/#wifi).
- [ ] Amiga Dashboard is set to [**Auto Control**](/docs/dashboard/dashboard-user-guide#auto-control).

:::tip RTK-GPS Configuration
For precision in autonomous operations,
configuring the RTK-GPS is essential.
This high-accuracy GPS configuration is
critical for tasks that require precise geo-location capabilities.

For detailed information on setting up and
configuring RTK-GPS with your Amiga, please refer
to the [**farm-ng GPS Service Overview**](/docs/concepts/gps_service#Requirements).
This is critical for tasks that require
precise geo-location capabilities.
Detailed RTK-GPS information can be found on the
[**GPS Service**](/docs/concepts/gps_service/) overview page.
:::

## How to Use the Autoplot App

### Teach-and-Repeat

The teach-and-repeat functionality allows you to
The Amiga's teach-and-repeat functionality allows you to
drive the robot along a desired path
and then have the robot repeat the path autonomously.
and then repeat the path autonomously. The process for doing so is as follows:
AgustinBRodriguez marked this conversation as resolved.
Show resolved Hide resolved

#### 1. New Path

Click the 'New Path' icon to initiate recording.
Click the **New Path** icon to initiate recording.

![new path](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/4e338205-6f07-42a7-8131-5ee6522d597b)

#### 2. Drive the robot as desired, blue dots will pop up on the screen indicating the robot's trace
#### 2. Map your Path

Drive the robot through the desired path and note
the blue dots popping up on the screen indicating
the robot's trace.

![recording](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/65c208c2-0685-48b6-ba51-8124747c5e85)

To remove waypoints (blue dots), first click the
'Pause Path' button, then select the 'Remove Point' icon.
Each press of the 'Remove Point' icon will delete a single dot.
Once you have removed the desired points, click 'Resume Recording'
If you need to remove points along your recorded track,
click the **Pause Path** button followed by
the **Remove Point** button.

![remove points](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/22cb8ddf-87c7-4d13-b9d6-6d976b1d120f)
Each press of the **Remove Point** button will delete a single dot. Deleted points will appear in green.
Once you have removed the desired points, click on **Resume Recording**
to continue mapping your path.

![remove](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/697f37f8-435b-4d4c-945b-7c12fd22b2dd)
:::tip Removing Points
Use this feature when you have deviated
slightly from the desired course and
need to make some corrections.
:::

![remove points](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/22cb8ddf-87c7-4d13-b9d6-6d976b1d120f)
#### 3. Saving a Path

#### 3. Click "Save" and name your track to use it later
Clicking the **Save** button will prompt you to name
your recently recorded track for later use.

![name it](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/e31b3e77-4b94-4119-a0cc-2efd260c0fff)

#### 4. Load the track when needed and click "Start Track" to initiate autonomous follow
#### 4. Load Path

Clicking the **Load Path** icon enables you to
select from any of your previously recorded tracks.

![load it](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/deb2daaf-37bf-4a51-9537-1ffcda67464c)

:::tip Auto Control
In order to repeat a pre-recorded path, you must manually
set the Dashboard to [**Auto Control**](/docs/dashboard/dashboard-user-guide#auto-control),
and be sure that all
other [**Autonomy Requirements**](/docs/apps/autoplot_app/#autonomy-requirements) have been met.

:::

![start](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/621eb211-1e2d-4553-a202-fb9e8eac962d)

Once you have loaded a track the **Start Path** icon will
turn black and you will be ready to deploy
autonomous navigation on your Amiga.

:::info
After starting to follow the track, the `Start Track` button will switch to `Stop`,
which can be used to interrupt the autonomous task.
Expand All @@ -87,10 +112,28 @@ which will automatically cancel the autonomous operation.

### Tool Control

![Screenshot from 2024-05-02 17-57-53](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/7ea61bf7-d90f-4c06-b98e-bc7f76133213)
This feature allows you to control your
connected hardware devices through
a browser window. The control panel is accessed by
clicking on the gear icon located in the upper
right corner.
![gearing](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/f09d117f-1026-4036-b2f0-20a557f83c9a)

Our current Firmware release
[**amiga-dash-v0.5.0**](https://github.com/farm-ng/amiga-dev-kit/releases/tag/amiga-dash-v0.5.0) supports
up to four H-Bridge devices that can
be latched or momentarily controlled.
They can also be coupled for synchronous operation.

![Screenshot from 2024-05-02 18-05-04](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/ffb45918-ed86-497d-a72b-5892d75053ab)

Two PTO Devices are supported and can be
remotely selected for operation. The control
panel gives you directional controls for both
H-Bridge and PTO connected devices.
As an added safety measure you may remotely
stop all actively engaged tools.

### Remote Access via Web Browser

The Autoplot app is designed as a web-app,
Expand All @@ -100,7 +143,7 @@ To open the Autoplot interface in your browser,
simply enter the following address:

```bash
<your-robot-name>:8008
<tailscale-name>/
AgustinBRodriguez marked this conversation as resolved.
Show resolved Hide resolved
```

:::note Remote Control Requirements
Expand Down Expand Up @@ -139,7 +182,7 @@ ideal for teaching the robot new tracks.

Here are instructions for using the pendant
and the kartech as of dashboard firmware
release [**`v0.0.5`**](https://github.com/farm-ng/amiga-dev-kit/releases):
release [**amiga-dash-v0.5.0**](https://github.com/farm-ng/amiga-dev-kit/releases/tag/amiga-dash-v0.5.0)

![pendant](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/4a8fbe60-7780-4f32-b92f-6ce895a706e0)
![kartech](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/99aee18e-e7d2-41c5-888b-6d38365c699e)
Expand All @@ -157,7 +200,8 @@ Here are instructions for using both options:
![joystick](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/6bf57701-f241-4855-a675-d174084637b4)

:::info Autonomy Required for Remote Control
Remote Control requires the robot to be in `automode`.
Remote Control operation requires the robot's
Dashboard be set to [**Auto Control**](/docs/dashboard/dashboard-user-guide#auto-control).
This mode ensures that all movements
are managed safely by the robot's autonomous systems.
:::
Expand All @@ -168,14 +212,15 @@ robot from any location with internet access.

:::tip Teaching Tracks Remotely or On-Site
Tracks can be taught to the robot
whether you're using the on-site pendant or the Remote Keyboard
Control feature via a web browser.
by driving it manually with the pendant or Kar-Tech controller.
Alternatively, you may use the Remote Keyboard
Controls or the Game Pad controller feature via a web browser.
:::

## Tips for Optimal Autonomy

- Before engaging in autonomous operations,
- always perform a safety check of the environment.
- Always perform a safety check of the surrounding environment
before engaging in autonomous operations.
- When operating the robot via remote keyboard control
in the web app, ensure a stable and
responsive network connection.
Expand All @@ -186,18 +231,34 @@ to avoid interruptions in longer operations.

If you encounter issues with autonomy or control:

![icon bar](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/d69c2611-a3ad-4bb5-9db2-23a77c6a73ec)

- Verify all status indicators in the Autoplot app's
top bar are active and showing the expected states.
- Check the [**Filter App**](/docs/apps/filter_app)
to confirm that calibration and GPS settings are up-to-date.
- Confirm that [**IMU Calibration**](/docs/apps/launcher/#imu-calibration)
and [**GPS NTRIP**](/docs/apps/launcher/#gps-ntrip) settings
are set correctly and up-to-date.
- If the robot does not respond to WAD keyboard commands,
AgustinBRodriguez marked this conversation as resolved.
Show resolved Hide resolved
ensure that no other tasks are running and
that the robot is in automode.
the robot's Dashboard is set to [**Auto Control**](/docs/dashboard/dashboard-user-guide#auto-control).

![filter error](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/9e6ab78d-dd52-4d86-9688-53b7ee9bff66)

If the filter is not converged, the icon on the
AgustinBRodriguez marked this conversation as resolved.
Show resolved Hide resolved
navigation bar will show up with a line cutting across it.
Clicking the icon will help you resolve the error's details.

![gps error](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/c026d6fb-c86e-43d9-b8ca-928bd2ed5515)

If the robot is not receiving GPS messages the icon
AgustinBRodriguez marked this conversation as resolved.
Show resolved Hide resolved
on the navigation bar will show up with a line cutting across it.
Clicking the icon will help you resolve the error's details.

![fail](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/9bd8b212-3286-4bac-9e40-2ec86b9ff11d)

Occasionally, track following might fail. An error
message will appear and the **Start Path** button
will switch to **Error:Check status**. In this case make sure that you
have properly carried out an [**IMU Calibration**](/docs/apps/launcher/#imu-calibration).
AgustinBRodriguez marked this conversation as resolved.
Show resolved Hide resolved

For further assistance, reach out to the [support team](mailto:support@farm-ng.com).
12 changes: 6 additions & 6 deletions website/docs/examples/camera_calibration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@ or linked to it through [**tailscale**.](https://tailscale.com/)

Ensure that a [**farm-ng brain**](/docs/brain/) running Oak cameras is active.

### Install the [farm-ng Brain ADK package](/docs/brain/brain-install)
### 1. Install the [farm-ng Brain ADK package](/docs/brain/brain-install)

### Setup
### 2. Setup

:::tip

Expand All @@ -52,13 +52,13 @@ source venv/bin/activate
cd farm-ng-amiga/py/examples/camera_calibration
```

### Install the example's dependencies
### 3. Install the example's dependencies

```bash
pip3 install -r requirements.txt
```

### Execute the Python script
### 4. Execute the Python script

:::info
To run this script from your PC, you need to update the `service_config.json`
Expand All @@ -72,7 +72,7 @@ for more details.
python3 main.py --service-config service_config.json
```

### Customize run
### 5. Customize run

```bash
# usage: amiga-camera-calibration [-h] --service-config SERVICE_CONFIG
Expand All @@ -83,7 +83,7 @@ python3 main.py --service-config service_config.json
# The camera config.
```

### Code overview
### 6. Code overview

In this example we use the `EventClient` with the `request_reply`
method to receive the camera camera calibration.
Expand Down
2 changes: 1 addition & 1 deletion website/sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,8 +62,8 @@ const sidebars = {
"App Overviews": [
"apps/launcher/launcher",
"apps/autoplot_app/autoplot-app",
"apps/file_manager_app/file-manager-app",
"apps/camera_app/camera-app",
"apps/file_manager_app/file-manager-app",
],
},
{
Expand Down