Skip to content

Commit

Permalink
Major update overhaul (#303)
Browse files Browse the repository at this point in the history
* launcher (#296)

* launcher

* Update README.md

* launcher

* Fix pre-commit

* Fix pre-commit

* robot geometry

* geometry

* fix

* Update README.md

additional images on IMU calibration

* Update README.md

imu imare order

* imu/ntrip

* fix

* fix it

* f

* Update README.md

name/character length changes

* ntrip

* pre co fix

* Add specific details about adjustable parameters

* launcher final

* launch

* suggestions

* resolved conversations

* resolved

* Fix pre-commit

* new images

---------

Co-authored-by: Gui <guilhermedemouraa@gmail.com>

* spelling

* Fix bug

* setext

* Update

* Update PoE

* Fix pre-commit errors

* Update events recorder (#304)

* Update website example

* Update uri call

* images.md

* record.md

* images.md

* update.md

* launcher images.md

* Updated images.md

* Updatee images.md

* Updated images.md

* Updated images.md

* Update.md

* save.md

* updates

* up

* poe

* Update poe.md

* launch

* changes (#305)

* changes

* Update tool control.md

* autoplot update

* hbridge view.md

* Autoplot

* Autoplot changes

* camra app

* Updates.md

* file manager

* resolve

* file manager

* Fix autoplot stuff

* Fix pre-commit issues

* Fix camera app stuff

* Fix file manager app stuff

* Fix launcher stuff

* Bump released version

* Update services descriptions/API (#308)

* Review services apis

* Finish review of services

* Add missing '/' to canbus API

* Enforce oak/*

* Mention camera app as alternative for recording

* Clarify role of the recorder sub-service

* Add links to data streams available in the recorder service

* Revert oversight

* Release Notes OS 2.3 (#306)

* First draft

* Add new file to sidebar

* Add more info

* Wifi Manager

* Add images/links to internal docs

* Review content

* Add image of new services diagram

* Update placeholder

* Include tip to divergence reasons

* Revert unecessary changes

* Add USB requirements for File Manager app (#310)

* Update farm-ng-amiga to v2.3.0 (#311)

* Rm pre-release warning for tool control

* Alert users about manifest changes

---------

Co-authored-by: Gui <guilhermedemouraa@gmail.com>
Co-authored-by: Guilherme <39603677+guilhermedemouraa@users.noreply.github.com>
Co-authored-by: Kyle Coble <53625197+Hackerman342@users.noreply.github.com>
  • Loading branch information
4 people authored May 21, 2024
1 parent 6981836 commit da9796c
Show file tree
Hide file tree
Showing 37 changed files with 795 additions and 281 deletions.
2 changes: 1 addition & 1 deletion farm-ng-amiga
Submodule farm-ng-amiga updated 76 files
+1 −1 .flake8
+1 −0 protos/CMakeLists.txt
+89 −0 protos/farm_ng/canbus/amiga_v6.proto
+127 −0 protos/farm_ng/canbus/tool_control.proto
+5 −0 protos/farm_ng/filter/filter.proto
+33 −17 protos/farm_ng/gps/gps.proto
+57 −0 protos/farm_ng/oak/oak.proto
+2 −0 protos/farm_ng/track/track.proto
+2 −2 py/examples/camera_aruco_detector/main.py
+1 −1 py/examples/camera_calibration/main.py
+1 −1 py/examples/camera_client/main.py
+2 −2 py/examples/camera_pointcloud/main.py
+1 −1 py/examples/camera_pointcloud/requirements.txt
+2 −2 py/examples/camera_pointcloud/service_config.json
+1 −1 py/examples/camera_settings/main.py
+3 −0 py/examples/dashboard_settings/README.md
+95 −0 py/examples/dashboard_settings/main.py
+1 −0 py/examples/dashboard_settings/requirements.txt
+6 −0 py/examples/dashboard_settings/service_config.json
+5 −6 py/examples/event_recorder/main.py
+21 −25 py/examples/event_recorder/record_camera_config.json
+31 −33 py/examples/event_recorder/record_filter_config.json
+3 −7 py/examples/event_recorder/service_config.json
+1 −1 py/examples/file_converter/main.py
+2 −2 py/examples/file_reader/main.py
+6 −5 py/examples/file_reader_can/main.py
+36 −4 py/examples/file_reader_gps/main.py
+3 −1 py/examples/file_reader_headers/main.py
+1 −1 py/examples/file_splitter/main.py
+1 −1 py/examples/filter_client/main.py
+29 −1 py/examples/gps_client/main.py
+1 −1 py/examples/gps_client/service_config.json
+7 −12 py/examples/monitor_app/config.json
+75 −41 py/examples/monitor_app/main.py
+0 −1 py/examples/monitor_app/ts/src/components/App.tsx
+3 −3 py/examples/monitor_app/ts/src/components/TopicMonitor.tsx
+15 −5 py/examples/monitor_app/ts/vite.config.ts
+1 −1 py/examples/motor_states_stream/main.py
+3 −3 py/examples/multi_client_geoimage/config.json
+1 −3 py/examples/multi_client_geoimage/main.py
+1 −1 py/examples/multi_client_subscriber/main.py
+3 −0 py/examples/pendant_state/README.md
+54 −0 py/examples/pendant_state/main.py
+1 −0 py/examples/pendant_state/requirements.txt
+15 −0 py/examples/pendant_state/service_config.json
+1 −1 py/examples/service_client/client.py
+16 −0 py/examples/service_client/genprotos.py
+1 −1 py/examples/service_client/service.py
+26 −0 py/examples/service_client/two_ints.proto
+42 −0 py/examples/service_client/two_ints_pb2.py
+19 −0 py/examples/service_client/two_ints_pb2.pyi
+16 −0 py/examples/service_client/two_ints_pb2_grpc.py
+3 −1 py/examples/service_counter/client.py
+1 −1 py/examples/service_counter/counter.py
+3 −3 py/examples/service_propagation/agent.py
+0 −0 py/examples/service_propagation/service_config.json
+5 −3 py/examples/service_propagation/storage.py
+5 −3 py/examples/service_propagation/supervisor.py
+1 −1 py/examples/square_track/main.py
+3 −0 py/examples/tool_control/README.md
+155 −0 py/examples/tool_control/main.py
+2 −0 py/examples/tool_control/requirements.txt
+15 −0 py/examples/tool_control/service_config.json
+1 −1 py/examples/track_follower/main.py
+3 −0 py/examples/track_planner/README.md
+209 −0 py/examples/track_planner/main.py
+4 −0 py/examples/track_planner/requirements.txt
+5 −0 py/examples/track_planner/service_config.json
+191 −0 py/examples/track_planner/track_planner.py
+1 −1 py/examples/track_plotter/main.py
+1 −1 py/examples/track_recorder/main.py
+7 −5 py/examples/vehicle_twist/main.py
+148 −16 py/farm_ng/canbus/packet.py
+115 −0 py/tests/test_packet.py
+1 −1 pyproject.toml
+1 −1 setup.cfg
194 changes: 110 additions & 84 deletions website/docs/apps/autoplot_app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ title: Autoplot App

# Autoplot App Guide

The Autoplot app is an advanced control interface for your Amiga, offering multiple modes of
operation:
The Autoplot app is an advanced control interface for your Amiga,
offering multiple modes of operation:

- **Direct control**: Manually drive the robot with simple controls for straight, turn, and backwards.
- **Teach-and-repeat**: Manually drive the robot along a desired path, save it, and then command the
Expand All @@ -15,90 +15,111 @@ robot to repeat the path autonomously.
Sn30](https://shop.8bitdo.com/products/8bitdo-sn30-pro-bluetooth-gamepad) joystick.

:::caution Resource Intensive Operation
The Autoplot app requires significant computational resources when run directly on the robot's screen.
To ensure optimal performance, it is recommended not to use the Autoplot app in conjunction with the
recorder or other custom user applications on the brain's display itself.
However, running the Autoplot app and the recorder app through a web browser on a separate device is
acceptable and should not impact performance.
Running the Autoplot app directly on the robot's screen demands considerable computational resources.
For optimal performance, avoid using the Autoplot app alongside other custom applications on the brain.
It is recommended to use the Autoplot app and
any custom applications through a web browser
on a separate device, as this should not impact performance.
:::

## Autonomy Requirements

Before starting any operation, make sure to check the following:
Before engaging autonomy, ensure to verify:

- [ ] The robot is calibrated through the [**Filter App**](/docs/apps/filter_app).
- [ ] The GPS antenna offsets are correctly set in the [**Filter App**](/docs/apps/filter_app).
- [ ] Ensure the robot is connected to an RTK base station for enhanced GPS accuracy.
- [ ] Set your Amiga to `automode`.
This is done through the dashboard in the [**automation screen**](https://www.youtube.com/watch?v=PKOhI4hbGUs&t=258s).
- [ ] 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).
- [ ] 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 geolocation 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 manually drive the robot along a desired path
and then have the robot repeat the path autonomously.
The Amiga's teach-and-repeat functionality allows you to drive the robot along a desired path
and then repeat the path autonomously.
The process for doing so is as follows:

#### 1. Click "Record" to start mapping your path
#### 1. New Path

![Screenshot from 2023-11-08 16-15-51](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/a23646f6-26e3-49c9-b70f-d8faab3ae159)
Click the **New Path** icon to initiate recording.

#### 2. Drive the robot as desired, blue dots will pop up on the screen indicating the robot's trace
![new path](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/4e338205-6f07-42a7-8131-5ee6522d597b)

![Screenshot from 2023-11-08 16-20-21](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/13bbbec5-f66f-47a4-b064-8e98be59e43f)
#### 2. Map your Path

#### 3. Click "Save" and name your track to use it later
Drive the robot through the desired path and note the blue dots popping up on the screen indicating
the robot's trace.

![image](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/7be15197-ced2-4f07-aa23-453dff7a0835)
![recording](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/65c208c2-0685-48b6-ba51-8124747c5e85)

#### 4. Load the track when needed and click "Start Track" to initiate autonomous follow
If you need to remove points along your recorded track, click the **Pause Path** button followed by
the **Remove Point** button.

![image](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/72fcf1e5-5152-419b-a74a-78c0ef66b062)
![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.

:::info
After starting to follow the track, the `Start Track` button will switch to `Stop`,
which can be used to interrupt the autonomous task.
Additionally, users can press the `` button on the pendant to disengage `automode`,
which will automatically cancel the autonomous operation.
:::tip Removing Points
Use this feature when you have deviated slightly from the desired course and need to make some corrections.
:::

### Remote Access via Web Browser
#### 3. Saving a Path

The Autoplot app is designed as a web-app, enabling seamless access from any standard web browser
like Google Chrome, Firefox, or Safari.
To open the Autoplot interface in your browser, simply enter the following address:
Clicking the **Save** button will prompt you to name your recently recorded track for later use.

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

:::note Remote Control Requirements
To remotely control your Amiga:
#### 4. Load Path

- Ensure you are connected to the same network as your Amiga robot.
- For access across different networks, configure [**cross-network access**](/docs/ssh#recommended-configure-cross-network-access)
by adding your Amiga to your Tailscale network.
Clicking the **Load Path** icon enables you to
select from any of your previously recorded tracks.

For Tailscale users, access the app using your Amiga's Fully Qualified Domain Name (FQDN):
![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.
:::

```bash
<element-fruit>.<tailnet-name>.ts.net:8008
```
![start](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/621eb211-1e2d-4553-a202-fb9e8eac962d)

Replace `<element-fruit>` and `<tailnet-name>` with the respective names configured in your
Tailscale network.
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.
Additionally, users can press the `` button on the pendant to disengage `automode`,
which will automatically cancel the autonomous operation.
:::

You can control your Amiga from a web browser at any time, even when the Autoplot app is not active
on the Brain display.
### Tool Control

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)

Up to four 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.

## How to Control your Amiga

Expand All @@ -107,58 +128,45 @@ You can control your Amiga robot in two ways:
**Manual Control**: Use the [pendant](/docs/pendant),
the [kartech](https://kar-tech.com/single-axis-joystick-universal-mega-system.html)
or [dashboard](/docs/dashboard/dashboard-user-guide)
while physically present with the robot, ideal for teaching the robot new tracks.
while physically present with the robot,
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):
Here are instructions for using the pendant
and the kartech as of dashboard firmware
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)

**Remote Control**: From your web browser, you can remotely operate the robot without needing
**Remote Control**: From your web browser,
you can remotely operate the robot without needing
to be in the same physical location.
For that, you can use a keyboard for driving your Amiga, or use an
For that, you can use a keyboard for
driving your Amiga, or use an
[8Bitdo Sn30](https://shop.8bitdo.com/products/8bitdo-sn30-pro-bluetooth-gamepad) joystick.

Here are instructions for using both options:

![keyboard](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/6d81ee6c-6f9b-4395-ab4b-aaaa01b17565)
![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`.
:::info Auto Mode Required for Remote Control
The 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.
:::

Both methods allow for track recording; however, remote control enables you to operate the
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.
Tracks can be taught to the robot by driving it manually with the pendant or the Kar-Tech controller.
Alternatively, you may use the Keyboard controls or the Game Pad controller via a web browser.
:::

## Status Bar Icons

The Autoplot app features a status bar with icons that provide critical
information for autonomous operation:

- **Automode**: This icon confirms if the robot is in automode, a prerequisite for autonomous tasks.
- **Filter**: This indicates the status of the UKF filter.
Autonomy will not engage if the filter has not converged.
- **GPS**: A visual indicator showing if the GPS service is active and functional.
- **WiFi**: This shows if the robot is connected to Wifi, which is necessary for autonomous operations.
- **Battery**: Displays the current battery level.
Always monitor this, especially before starting long tasks.

<div align="center">
<img src="https://github.com/farm-ng/amiga-dev-kit/assets/39603677/044304e6-1ae5-4724-845f-da4a9ebe4def"
alt="image" />
</div>

## 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.
- Monitor the robot's battery status via the Autoplot app to avoid interruptions in longer operations.
Expand All @@ -167,10 +175,28 @@ responsive network connection.

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.
- If the robot does not respond to WAD keyboard commands, ensure that no other tasks are running and
that the robot is in automode.
- 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 WASD keyboard commands, ensure that no other tasks are running and
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 navigation bar will be crossed out.
Click on the icon to visualize 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 on the navigation bar will be crossed out.
Click on the icon to visualize 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**.
If you encounter this error message, make sure you Robot meets all the [**Autonomy Requirements**](/docs/apps/autoplot_app/#autonomy-requirements).

For further assistance, reach out to the [support team](mailto:support@farm-ng.com).
41 changes: 25 additions & 16 deletions website/docs/apps/camera_app/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ The app provides a live feed from each connected oak camera, allowing users to s
camera sees.
This real-time visualization aids in making informed adjustments to camera settings for optimal
recording quality.
![Screenshot from 2023-12-08 11-38-03](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/7c630193-68fb-4916-ae3c-fbfb16c33992)

![main](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/1a146c44-e9f7-40de-ad75-df26a6c2bba7)

### Camera Configuration

Expand All @@ -30,33 +31,41 @@ The following settings can be adjusted directly within the app:
- **Exposure Time (ms)**: Control the duration of each frame's exposure to light.
- **ISO Value**: Adjust the camera's sensitivity to light.
- **Lens Position**: Fine-tune the focus of the camera lens to capture sharp images.
- **Settings Adjustment**: Quick access to camera settings, with sliders for manual adjustments and
checkboxes for automatic configurations.
- **Camera Selection**: Tabs for each oak device enable users to switch between different cameras effortlessly.

![settings](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/3da3b23d-8c59-45b8-bbb4-c86b388edd64)

![Screenshot from 2023-12-08 11-43-07](https://github.com/farm-ng/amiga-dev-kit/assets/39603677/e50a1425-9274-4c3b-ba95-e8c18e1a6c4e)
For convenience, users may also opt for:

- **Auto Exposure**: The camera automatically adjusts the exposure settings for the best image quality.
- **Auto Focus**: The camera will manage its focus settings to ensure clarity and detail in recorded
imagery.

### Direct Recording
:::tip
Double click anyone of the auto controls to open up their manual configuration settings.
**Single Log File** allows you to set a maximum file size for log recording.
:::

Initiate data recording directly from the Camera App with the same efficacy as using the Recorder App.
This feature is particularly useful for capturing imagery data streams, like RGB, left, right, and
disparity views, without the need for additional configuration.
### Direct Recording

:::note
Recording from the Camera App is equivalent to recording from the Recorder App, however, the Recorder
App provides additional data streams such as GPS and canbus.
:::
**Start/Stop Recording**: Simple controls to begin or end the recording session.

## Streamlined Interface
![start rec](https://github.com/farm-ng/amiga-dev-kit/assets/133177230/cb1d2d19-aaf5-4091-9d65-b2bf7b6e7499)

The Camera App interface is designed for ease of use:
To initiate data recording through the Camera App, simply press the **Start Recording** button at
the upper right corner. The button will switch from green to red and start flashing,
signaling that the recording is underway.
This functionality is especially handy for capturing various imagery data
streams such as RGB, left, right, and disparity views, all without requiring extra configuration.

- **Start/Stop Recording**: Simple controls to begin or end the recording session.
- **Settings Adjustment**: Quick access to camera settings, with sliders for manual adjustments and
checkboxes for automatic configurations.
- **Camera Selection**: Tabs for each oak device enable users to switch between different cameras effortlessly.
:::tip
By default, all the topic streams in the [**Recorder**](/docs/apps/launcher/#recorder)
are captured when you press the **RECORD** button on the navigation bar, or the **Start Recording** button
on the camera app. You may select individual topics to record from the
[**Recorder**](/docs/apps/launcher/#recorder) tab.
:::

With its user-friendly design and comprehensive feature set, the Camera App is an indispensable tool
for anyone looking to maximize the capabilities of their Amiga robot's camera system.
Loading

0 comments on commit da9796c

Please sign in to comment.