Skip to content

Commit

Permalink
operation instruction updated. pics udpated.
Browse files Browse the repository at this point in the history
  • Loading branch information
hokashun committed Dec 27, 2023
1 parent b0010ac commit bdc49cb
Show file tree
Hide file tree
Showing 22 changed files with 47 additions and 36 deletions.
2 changes: 1 addition & 1 deletion docs/_sidebar.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
- [**Concepts**](concepts/overview.md)

- [About GR-1](concepts/about_gr1.md)
- [About GR Robot](concepts/about_gr1.md)
- [Operation Instruction](concepts/operation_instruction.md)
- [About RoCS](concepts/about_rocs.md)
- [Networking](concepts/network.md)
Expand Down
Binary file added docs/concepts/111.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions docs/concepts/about_gr1.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# About GR-1
# About GR Series Robots

The Fourier GR-1 represents a versatile humanoid robot, boasting a configuration of up to 40 FSA joints capable of delivering peak joint torque of 230 N.m. Its advanced whole-body control algorithm empowers the robot with an impressive 44 degrees of freedom.
The Fourier GR (General Robot) series stands as a testament to the versatility of humanoid robots. These robots feature a configuration that includes up to 40 FSA (Fourier Smart Actuator) joints, capable of delivering a peak joint torque of 230 N.m. What sets them apart is their advanced whole-body control algorithm, which empowers the robot with an impressive total of 44 degrees of freedom.

![](static/about_gr1.png ":size=80%")

Expand All @@ -13,11 +13,11 @@ This robotic marvel exhibits remarkable human-like agility and motion kinematics
* Robust response to impacts
* Seamless human-robot collaboration in task execution.

These capabilities position the Fourier GR-1 as a promising platform for the future of "Embodied AI", which is widely believed to be the next wave of artificial intelligence. As a carrier for artificial intelligence to interact with the physical world, embodied intelligence combines artificial intelligence technology with robot entities, so that the "brain" has a disposable, perceivable, interactive, and actionable "body", which brings great convenience and benefits as an important partner and assistant of human beings.
These capabilities position it as a promising platform for the future of "Embodied AI", which is widely believed to be the next wave of artificial intelligence. As a carrier for artificial intelligence to interact with the physical world, embodied intelligence combines artificial intelligence technology with robot entities, so that the "brain" has a disposable, perceivable, interactive, and actionable "body", which brings great convenience and benefits as an important partner and assistant of human beings.

The Fourier GR-1's scalability lends itself to the validation of various AI models and algorithms, opening up exciting possibilities for applications in industries, rehabilitation, household, and research.
Furthermore, the Fourier GR robot's inherent scalability positions it as an ideal platform for testing and validating various AI models and algorithms. This versatility paves the way for an array of exciting applications across industries, including healthcare, rehabilitation, household assistance, and cutting-edge research.

<h1>GR-1 Specifications</h1>
# GR Robot Specifications

## Mechanical

Expand Down Expand Up @@ -84,7 +84,7 @@ The Fourier GR-1's scalability lends itself to the validation of various AI mode
| OS | Ubuntu20.04+ROS 2 |
| External interfaces | HDMIx1,Type-C x 3(fast charge,USB,peripheral extension ports) |
| Wireless connection | Wi-Fi,EEE 80211a/b/g/n/ac, bluetooth 4.2 |
| Host | ASUS 13th Generation - Dawn X MINI Commercial and Home Office Desktop |
| Embedded computer | ASUS 13th Generation - Dawn X MINI Commercial and Home Office Desktop |
| Model | PN64171RZ |
| CPU | I7 13700H |
| Memory | 16 G |
Expand Down
29 changes: 14 additions & 15 deletions docs/concepts/about_rocs.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,44 +2,43 @@

The Robot Control System, known as RoCS, is an advanced software framework designed for precise management and control of robotic systems. It consists of two primary components: the upper computer and the lower computer.

See the [Quick start](quick_start/overview.md) guide for more details.
RoCS empowers robots with exceptional control and functionality. Here's a brief overview:

## Features

* **High Precision Control:** RoCS is designed for achieving highly precise control of robotic systems, making robots excel in various tasks, be it in industrial automation, medical surgery, or other domains.
* **Layered Architecture:** RoCS employs a layered architecture, modularizing functionalities for ease of maintenance and scalability. This simplifies development and integration of various components, enhancing system maintainability.
* **User-Friendly Graphical Interface:** RoCS provides a user-friendly graphical interface (Control App) that enables developers to interact with and monitor robotic systems seamlessly, expediting the development process.
* **Open Source:** Part of RoCS (Client SDK) is open source, offering flexibility and customization opportunities for developers. This fosters community engagement and drives innovation.
* **Efficient Data Transmission:** RoCS's Server API facilitates data transmission through HTTP and WebSocket protocols, ensuring efficient and secure data transfer crucial for real-time control and monitoring.
* **High Precision Control:** RoCS excels in various tasks, be it in industrial automation, medical surgery, or other domains, thanks to its precise control of robotic systems.
* **Layered Architecture:** It employs a modular architecture, making maintenance and scalability a breeze. This simplifies development and integration, enhancing system maintainability.
* **User-Friendly Interface:** RoCS provides a user-friendly graphical interface (Control App) that expedites the development process, allowing developers to interact with and monitor robotic systems seamlessly.
* **Open Source:** Part of RoCS (Client SDK) is open source, fostering community engagement and driving innovation by offering flexibility and customization opportunities.
* **Efficient Data Transmission:** RoCS's Server API ensures efficient and secure data transfer through HTTP and WebSocket protocols, crucial for real-time control and monitoring.
* **Comprehensive Functionality:** RoCS offers a wide range of functionalities, including sound and video processing, motion algorithms, hardware control, and more, making it suitable for diverse robotic application domains.
* **Integration:** RoCS effectively integrates various components within its layered structure, making it a comprehensive robotic control system capable of meeting diverse application needs.

## Lower Computer

The lower computer, functioning as the analog of the cerebellum in human physiology, specializes in tasks related to motion control. It is responsible for motor control, motion algorithms, hardware driver management, and other critical functions essential for the robot's movement and stability.
The lower computer, functioning as the analog of the cerebellum in human physiology, specializes in motion control, handling motor control, motion algorithms, hardware driver management, and other critical functions essential for the robot's movement and stability.

## Upper Computer

Conversely, the upper computer is primarily dedicated to seamless data exchange and executing specific logic applications. Its role encompasses tasks such as receiving and playing audio, real-time transmission of video streams, dispatching precise instructions to the robot's hardware components, and continuous monitoring of the robot's operational status.
The upper computer is dedicated to data exchange and executing specific logic applications. It manages tasks such as receiving and playing audio, real-time transmission of video streams, dispatching precise instructions to hardware components, and continuous monitoring of the robot's operational status.

## Layers of RoCS

The RoCS is structured into three distinct layers, each serving a unique and pivotal role:
RoCS consists of three layers:

* **Control App (User Graphic Application)**

The Control App is an intuitive graphical application tailored for use on terminals external to the robot's physical body, such as computers and mobile devices. Its primary function is to serve as a comprehensive reference for developers, rather than as a consumer-facing application.
An intuitive graphical application for developers to reference and interact with.
* **Client SDK (Client Interface)**

The Client SDK represents the client-side interface, facilitating interaction with the Robot Control System. It provides developers with a streamlined mechanism for accessing the Server API, thereby enabling the development of customized applications. This layer is open-source, encouraging the development community to create tailored solutions.
Facilitates interaction with the Robot Control System, encouraging the development of customized applications.
* **Server API (Server Interface)**

Operating within the confines of the robot, the Server API assumes the role of a lightweight data forwarding layer. It leverages HTTP and WebSocket protocols to facilitate the seamless transmission of external commands to the lower computer and the transmission of essential robot data to external entities. Despite its location within the robot, the Server API is considered an integral part of the upper computer. However, due to efficiency and security concerns, it is not available as open-source software.
The Server API essentially serves as the crucial conduit between the core functions of the lower computer and the external world, ensuring the efficient and secure exchange of data.
Acts as a conduit between the lower computer and the external world, ensuring efficient and secure data exchange. It leverages HTTP and WebSocket protocols for communcation. Due to efficiency and security concerns, it is not open-sourced.

## RoCS Architecture

The RoCS architecture is designed to offer precise control and management of robotic systems through a network-based communication system, facilitating seamless interaction with the robot and enabling operators to issue commands and receive real-time feedback. Node.js and Python serve as the communication interfaces, connecting the terminal (joystick) with the three layers of the system.
The RoCS architecture offers precise control and management of robotic systems through network-based communication, connecting the terminal with the three layers of the system.

![](static/about_rocs.png)

Expand All @@ -56,4 +55,4 @@ The RoCS architecture is designed to offer precise control and management of rob
* The uppermost layer is versatile and dynamic, incorporating advanced functionalities such as graphical programming, cluster control, avatar control, and embodied intelligence.
* This layer enables higher-level tasks, including human-robot interaction, decision-making, and intelligent behaviors.

The RoCS architecture offers a comprehensive framework for controlling and managing robots, spanning from low-level motion control to high-level intelligent behaviors and human-robot interaction,making it a versatile tool in various robotic applications.
RoCS is a versatile tool in various robotic applications. For more details, see the [Quick Start](https://chat.openai.com/c/quick_start/overview.md) guide.
Binary file modified docs/concepts/image/operation_instruction/1703562695596.png
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.
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.
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.
4 changes: 2 additions & 2 deletions docs/concepts/network.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Network Communication

To initiate communication with the GR-1 robot, all applications leverage a network connection employing WebSocket and HTTP protocols. A comprehensive understanding of these protocols is imperative for effective troubleshooting and ensuring the robust functionality of applications.
To initiate communication with the GR robot, all applications leverage a network connection employing WebSocket and HTTP protocols. A comprehensive understanding of these protocols is imperative for effective troubleshooting and ensuring the robust functionality of applications.

RoCS APIs manage two categories of instructions: continuous and instantaneous, exchanged with the GR-1 robot. Continuous instructions utilize WebSocket for real-time communication, ensuring immediate feedback and reliability. Conversely, instantaneous instructions use HTTP for simpler communication when real-time feedback is not essential. The SDK provides tools for actively monitoring pushed messages and handling different instruction types accordingly.

## WebSocket Connection

The primary mode of communication for GR-1 is WebSocket, a real-time, bidirectional protocol facilitating near real-time data exchange between applications and the robot. This approach is particularly suitable for scenarios requiring low latency and high responsiveness, such as those involving continuous instructions.
The primary mode of communication for GR robot is WebSocket, a real-time, bidirectional protocol facilitating near real-time data exchange between applications and the robot. This approach is particularly suitable for scenarios requiring low latency and high responsiveness, such as those involving continuous instructions.

**Continuous Instructions:**

Expand Down
24 changes: 18 additions & 6 deletions docs/concepts/operation_instruction.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ Before activating the robot, it's critical to set it to its calibration pose. Th

## Connecting Control APP to Robot

The robot creates a Wi-Fi hotspot that the Control APP needs to connect to for motion control. Once the connection is successful, the Control APP will indicate a `Connected` status.
The robot automatically creates a Wi-Fi hotspot during booting. The Control APP needs to connect to the hotspot Wi-Fi for motion control. Once the connection is successful, the Control APP will indicate a `Connected` status.

For details, see [Connecting to Robot](demo_app/connnecting_to_robot).

Expand All @@ -122,7 +122,7 @@ The initial state, which is a prerequisite for starting the motion control, ensu
To set the robot to initial state:

1. Ensure that the robot is fastened to the protective lift.
2. Click `Initial` to make the robot to initial state in the Control APP interface.
2. Click `Initial` button on the Control App interface to set the robot to initial state. In this state, the robot's legs will be slightly bent, as depicted in the following figure.

![1703562695596](image/operation_instruction/1703562695596.png)

Expand All @@ -134,9 +134,13 @@ This involves a series of actions to ensure the robot transitions safely from an

1. **Set Robot to Initial State** : As outlined in the preceding section.
2. **Control the Descent** : Use the protective lift descent button to control the robot's descent to the ground. This should be done slowly to prevent any impact or damage.

![1703650838701](image/operation_instruction/1703650838701.png)
3. **Confirm Stability** : Once the robot has landed, gently shake it to confirm that it is stable and there are no issues with its balance or the surface it is on.
4. **Initiate Standing** : Click `Stand` to bring the robot to a standing position. During this process, you may need to assist the robot by adjusting its front-to-back center of gravity to achieve a stable upright position.
5. **Standing Assistance** : While the robot is standing, continue to assist by maintaining the correct balance until it can stand stably on its own. The blue area in the guidance indicates the location of the handrail to be used for this purpose.
4. **Initiate Standing** : Click `Stand` to bring the robot to a standing position. During this process, you may need to assist the robot to adjust its front-to-back center of gravity to achieve stability.

![1703654341082](image/operation_instruction/1703654341082.png)
5. **Standing Assistance** : While the robot is standing, continue to hold the lifting handle to assist it by maintaining the correct balance until it can stand stably on its own.

# Operations

Expand All @@ -159,12 +163,12 @@ There are two primary methods for stopping the robot's motion. Both are crucial

### Manual Interruption via Controller

- To momentarily pause the robot's activities, the `Stand` button on the Control APP interface should be pressed.
- To momentarily pause the robot's activities, press the `Stand` button on the Control APP interface.
- Activating this button causes the robot to cease its current operation and, if it was standing, to maintain that posture. This approach offers a controlled means to momentarily halt the robot's actions without powering down the entire system.

### Emergency Shutdown

The Emergency Stop switch is employed under urgent conditions to immediately halt all robot operations, primarily for safety purposes. Such situations might include:
Press the Emergency Stop switch under urgent conditions to immediately halt all robot operations, primarily for safety purposes. Such situations might include:

- Unusual or unexpected robot movements, like incorrect velocities or trajectories.
- When disassembly or maintenance is underway, necessitating a cessation of movement for safety.
Expand All @@ -178,8 +182,16 @@ The Emergency Stop switch is employed under urgent conditions to immediately hal
To ensure the safe shutdown of the robot, follow these steps:

1. **Securing the Robot**: Before initiating the shutdown process, make sure the robot is secured to the protective lift. Ensure the robot is in a stable position and not in the middle of a task that requires completion.

![1703654861483](image/operation_instruction/1703654861483.png)
2. **Return to Initial State**: Bring the robot back to its initial state. This step is crucial for ensuring that the robot is in a safe and neutral position, which prevents any issues when it is powered back on.

![1703655016299](image/operation_instruction/1703655016299.png)
3. **Press Emergency Stop Switch**: Press the Emergency Stop switch as part of the shutdown process. This action ensures an immediate cessation of all operations and is a safety measure to prevent any unintended movements during the shutdown.

![1703655237533](image/operation_instruction/1703655237533.png)
4. **Engage Power-Off Sequence** : Finally, activate the power-off sequence through the power off button on the right corner of the Control APP main interface.

![1703655946412](image/operation_instruction/1703655946412.png)

!> Caution: Long pressing the embedded computer's power button for 15 seconds will forcibly shut down the robot. This function should primarily be used when the robot cannot be powered off normally. Please be aware that forcing a shutdown may potentially lead to robot file corruption, so perform this action with care.
Binary file modified docs/concepts/static/about_gr1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 6 additions & 6 deletions docs/quick_start/verification.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,18 +12,18 @@ Following output signifies a successful installation:

```shell
fftai@fftai-rocs-machine:~$ dpkg -l | grep rocs
ii rocs-control 1.3 all Provides support and functionality for control algorithms relevant to robotics
ii rocs-lib 1.0 all Installs the libraries required by RoCS
ii rocs-svr 1.3 all Provides export call services for robot algorithm programs
ii rocs-webots 1.3 all Provides a Webots simulation environment model
ii rocs-wifi 1.0 all Opens a hotspot for clients to connect to the same network segment as the robot
ii rocs-control 1.3 all Provides support and functionality for control algorithms relevant to robotics
ii rocs-lib 1.0 all Installs the libraries required by RoCS
ii rocs-svr 1.3 all Provides export call services for robot algorithm programs
ii rocs-webots 1.3 all Provides a Webots simulation environment model
ii rocs-wifi 1.0 all Opens a hotspot for clients to connect to the same network segment as the robot
fftai@fftai-rocs-machine:~$

```

## Verifying Service Effectiveness

After completing the installation, it is essential to verify whether the automatic startup of the following services is functioning correctly.
After completing the installation, it is essential to verify whether the automatic startup of the following services is functioning correctly.

1. Verify the Status of `rocs-wifi` Service:

Expand Down

0 comments on commit bdc49cb

Please sign in to comment.