diff --git a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/1-AdaptiveGripper.md b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/1-AdaptiveGripper.md
index 1e93540..aa2664d 100644
--- a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/1-AdaptiveGripper.md
+++ b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/1-AdaptiveGripper.md
@@ -18,7 +18,7 @@
| service life lifetime | 1 year |
| drive mode drive | electric |
| Transmission modetransmission | gear+connecting rod |
-| size | 158x105x55mm |
+| size | 158x105x55mm |
| weightweight | 350 grams |
| Fixed method fixed | screw fixed |
| Use environment requirements | Temperature and pressure |
@@ -45,13 +45,13 @@
- long object
-Mall link:
-
-- [Taobao](https://shop504055678.taobao.com)
-- [shopify](https://shop.elephantrobotics.com/)
+Mall link:
+- [Taobao](https://shop504055678.taobao.com)
+- [shopify](https://shop.elephantrobotics.com/)
## How to use
+
1 Installing
@@ -59,13 +59,115 @@ Mall link:
If the video fails to load, please click the link below to view the video.
[Installing Vidio](https://www.youtube.com/watch?v=RPKjV0IuP5E)
+**Installation and use**
+
+- Clamping jaws mounting:
+
+ - Structural installation:
+
+ 1. Align the spacer with the hole at the end of the arm and tighten with the screws:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/安装1.png)
+
+ 2. Align the screw holes in the jaws with the holes around the gasket and tighten with the fine screws.:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/安装2.png)
+
+ - electrical connection:
+ > Take care to do this with the robotic arm powered off.
+ 1. Align the m8 cable with the connector of the robot arm, note that the connector has a notch and the connecting cable has a corresponding protrusion, confirm the direction and then insert it and tighten it:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/电气连接1.png)
+ 2. Insert the jaw control connector, again paying attention to the orientation of the notch:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/电气连接2.png)
+
+
+
+**myCobot Pro 320 Instructions for use**
+
+- Programming development (python):
+
+ > Programming and development of the jaws using python:
+ > [python environment download](../../../7-ApplicationBasePython/7.1_download.md)
+
+ 1. Create a new python file:
+ Right click on the desired file path to create a new python file:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python使用1.png)
+
+ > The file name can be changed as needed
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python使用2.png)
+
+ 2. Perform function programming:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python使用3.png)
+ > The code is as follows:
-
-----
+---
+
[← Accessories Tools Page](../1.4-AccessoriesTools.md#gripper)
- | [Next Page →](../1.4.1-Gripper/2-ElectricGripper.md)
+| [Next Page →](../1.4.1-Gripper/2-ElectricGripper.md)
diff --git a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/2-ElectricGripper.md b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/2-ElectricGripper.md
index d1f329d..c02ece8 100644
--- a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/2-ElectricGripper.md
+++ b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/2-ElectricGripper.md
@@ -6,8 +6,6 @@
-
-
## Specifications:
| **name** | **mycobot Pro Electric Gripper** |
@@ -66,22 +64,67 @@
## Mall link
-Mall link:
-- [Taobao](https://shop504055678.taobao.com)
-- [shopify](https://shop.elephantrobotics.com/)
+Mall link:
+
+- [Taobao](https://shop504055678.taobao.com)
+- [shopify](https://shop.elephantrobotics.com/)
## How to use
1 Installing the gripper:
-- For an electric gripper, insert it into the 485 interface on the top, as shown in the following figure:
-
+- For an electric gripper, insert it into the 485 interface on the top, as shown in the following figure:
+
+
+**Installation and use**
+
+- Check that the kit is complete: screws, hexagonal spanner, clamping jaws with connecting wires, clamping jaws with arm end fixing device
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/物料.jpg)
+
+- Clamping jaws mounted:
+
+ - Structural installation:
+
+ 1. Place the short screws into the holes in the fixture:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/安装1.jpg)
+
+ 2. Align the screws with the four screw holes on the end of the robot arm and tighten:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/安装2.jpg)
+
+ 3. Insert the motorised jaws into the fixture and tighten with fine screws on both sides, eight in total:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/安装3.jpg)
+
+ - Electrical Connections:
+
+ 1. Plug the 485 cable into the robot arm control connector:
+ ![](../../../resourse/6-ApplicationBaseRoboFlow/6.5/6.6_2.png)
+
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/电气连接.jpg)
+
+
+**Instructions for use:**
+
+```python
+from pymycobot.mycobot import MyCobot
+import time
+
+# Initialise a MyCobot object
+mc = MyCobot("COM3", 115200)
+
+# Can control the clamping jaws to open and strike - close and open:
+mc.set_eletric_gripper(0)
+time.sleep(3)
+mc.set_eletric_gripper(1)
+time.sleep(3)
+mc.set_eletric_gripper(0)
+time.sleep(3)
+```
-
-[← Accessories Tools Page](../1.4-AccessoriesTools.md#gripper) | [Next Page →](../1.4.1-Gripper/3-PneumaticGripper.md)
\ No newline at end of file
+[← Accessories Tools Page](../1.4-AccessoriesTools.md#gripper) | [Next Page →](../1.4.1-Gripper/3-PneumaticGripper.md)
diff --git a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/3-PneumaticGripper.md b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/3-PneumaticGripper.md
index 19dc775..8002489 100644
--- a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/3-PneumaticGripper.md
+++ b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/3-PneumaticGripper.md
@@ -47,12 +47,10 @@
- Custom fingertips can expand more items
-
-
## Mall link
-- [Taobao](https://shop504055678.taobao.com)
-- [shopify](https://shop.elephantrobotics.com/)
+- [Taobao](https://shop504055678.taobao.com)
+- [shopify](https://shop.elephantrobotics.com/)
@@ -64,9 +62,114 @@
-
-[← Accessories Tools Page](../1.4-AccessoriesTools.md#gripper) | [Next Page →](../1.4.1-Gripper/4-FlexibleGripper.md)
\ No newline at end of file
+[← Accessories Tools Page](../1.4-AccessoriesTools.md#gripper) | [Next Page →](../1.4.1-Gripper/4-FlexibleGripper.md)
diff --git a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/4-FlexibleGripper.md b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/4-FlexibleGripper.md
index 0cef1c1..6f2e31b 100644
--- a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/4-FlexibleGripper.md
+++ b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.1-Gripper/4-FlexibleGripper.md
@@ -6,40 +6,38 @@
-
## Specifications
+
**Gripper**
-| Picture | |
+| Picture | |
| ----------------------------- | ----------------------------------------- |
-| Material | Metal |
-| clamping rangeclamp size | 36-136mm |
-| clamp force | Vertical 600g wrap 1080g |
-| Repeatability precision | 0.5 mm |
-| service life lifetime | 1 year |
-| drive mode drive | pneumatic |
-| Transmission modetransmission | deformation |
-| size | 170x128x195mm |
-| weightweight | 365 grams |
-| Fixed method fixed | screw fixed |
-| Use environment requirements | Temperature and pressure |
-| control interface control | SAC40A Pneumatic Controller |
-| Applicable equipment | ER myCobot 320 series, ER myCobot Pro 600 |
+| Material | Metal |
+| clamping rangeclamp size | 36-136mm |
+| clamp force | Vertical 600g wrap 1080g |
+| Repeatability precision | 0.5 mm |
+| service life lifetime | 1 year |
+| drive mode drive | pneumatic |
+| Transmission modetransmission | deformation |
+| size | 170x128x195mm |
+| weightweight | 365 grams |
+| Fixed method fixed | screw fixed |
+| Use environment requirements | Temperature and pressure |
+| control interface control | SAC40A Pneumatic Controller |
+| Applicable equipment | ER myCobot 320 series, ER myCobot Pro 600 |
**Controller**
-| **Picture** | |
+| **Picture** | |
| -------------- | ------------------- |
-|Power | 24V 1.5A |
+|Power | 24V 1.5A |
|Controller| IO |
-| Air Source Pressure | > 0.4 MPA |
-| Flow Rate | > 40 L/MIN |
-| IO| |
+| Air Source Pressure | > 0.4 MPA |
+| Flow Rate | > 40 L/MIN |
+| IO| |
|Value State | IN1: HIGH & IN2: LOW = Close Gripper IN1: LOW & IN2: HIGH = Open Gripper Caution ⚠️: When using IO control, ensure the three-position toggle switch above is set to the middle position. |
|船型开关|The term "船型开关" translates to "toggle switch," specifically referring to a three-position toggle switch.|
|正压|Gripper Close|
|负压|Gripper Open|
-
-
## Use for Gripping Objects
**Introduction**
@@ -58,12 +56,12 @@
- Objects of any shape within a reasonable size
-## Mall link:
+## Mall link:
-- [Taobao](https://shop504055678.taobao.com)
-- [shopify](https://shop.elephantrobotics.com/)
+- [Taobao](https://shop504055678.taobao.com)
+- [shopify](https://shop.elephantrobotics.com/)
- ## How to use
+## How to use
1 Installing:
@@ -71,12 +69,121 @@
- For connecting and adjusting the pneumatic circuit: First, set the positive pressure before connecting to a soft mechanical grip. Temporarily block the outlet with a fingertip to prevent air escape, ensuring the positive pressure is strictly below 100KPA to avoid potential injury to the finger.
-- **Connect to Air Source**: Attach the air source to port 6 (inlet), ensuring the pressure is above 0.4MPA and flow exceeds 40L/MIN.
-- **Connect Soft Mechanical Grip**: Link the soft mechanical grip to port 4 (outlet).
-- **Power Up**: Supply power to connection 5.
-- **Adjust Positive Pressure**: Use the toggle switch to select positive pressure. Adjust the regulator as per the gauge until desired pressure is reached.
-- **Switch to Negative Pressure**: For negative pressure adjustment, pull up the regulator cap, turn to set, then push down to lock.
+- **Connect to Air Source**: Attach the air source to port 6 (inlet), ensuring the pressure is above 0.4MPA and flow exceeds 40L/MIN.
+- **Connect Soft Mechanical Grip**: Link the soft mechanical grip to port 4 (outlet).
+- **Power Up**: Supply power to connection 5.
+- **Adjust Positive Pressure**: Use the toggle switch to select positive pressure. Adjust the regulator as per the gauge until desired pressure is reached.
+- **Switch to Negative Pressure**: For negative pressure adjustment, pull up the regulator cap, turn to set, then push down to lock.
Special Reminder ⚠️: Regarding pressure maintenance, both positive and negative pressures can be maintained after 0.5 seconds of activation, allowing the mechanical grip to retain its preset pressure. This approach is energy-efficient, especially since maintaining negative pressure continuously consumes more air. Additionally, it prevents the loss of grip on objects in case of unexpected power or air supply cut-offs, ensuring operational reliability.
-[← Accessories Tools Page](../1.4-AccessoriesTools.md#gripper)
\ No newline at end of file
+**Installation and use**
+
+- It needs to be used with an air compressor:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/空压机.png)
+
+ 1. Insert the black plug into the row of plugs;
+
+ 2. Insert the matching red hose into the connector on the machine:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/空压机安装1.png)
+ 3. The red button is the on/off switch, pulling it outwards turns it on, pressing it back turns the machine off:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/空压机按钮.png)
+
+- Clamping jaws mounted:
+
+
+
+ 1. Connect the other end of the red hose from the air compressor to the connector on the pneumatic controller:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/结构安装1.png)
+ 2. Use the blue hose that comes with the flexible gripper to connect the gripper to the pneumatic controller:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/结构安装2.png)
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/结构安装3.png)
+ 3. Attach the flexible gripper to the end of the arm with the matching screws:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/结构安装4.png)
+
+- Electrical Connections:
+
+ 1. Two connection cables are issued, one for power and one for control.
+
+ - At the base of the robot arm, for the power supply, connect the red wire to the 24V connector and the black wire to the GND connector. For the control wires, connect red to OUT1 and black to OUT2:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/电气连接1.png)
+ - Pneumatic controller terminal, power supply wire red connects to pneumatic controller 24V, black connects to pneumatic controller GND, control wire red connects to IN1, black connects to IN2:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/电气连接2.png)
+ > Be careful to connect to the "Positive Voltage" side, if the power supply is successful the display will light up.
+ > You can test the connection manually to see if it is working properly by switching the air compressor on and pressing the button on the pneumatic controller, pressing it to the left (positive pressure) will contract the jaws and pressing it to the right (negative pressure) will open the jaws.
+
+- Software-driven testing:
+
+ > To test if the jaws are available after installation, use myBlockly.
+ > [myblockly download](../../../5-ProgramingApplication-myblockly-uiflow-mind/5.1-myblockly/5.1.1-myBlocklyFirstUse.md#myblockly下载安装)
+
+ 1. After confirming that the structural and electrical connections are complete, start the arm and open the myblockly software when the graphical interface appears.
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly验证0.png)
+ 2. Modify the baud rate to 115200:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly验证1.png)
+ 3. Find `Base` in the list on the left and select the `Set Pin Out` module:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly验证2.png)
+ 4. Set `pin number` to `1` and `output` to `0`:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly验证3.png)
+ 5. Find `Time` and select the `Sleep` module:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly验证4.png)
+ 6. Set the time as desired, here it is set to `1s`:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly验证5.png)
+ 7. Repeat the above steps for the final setup as follows:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly验证6.png)
+ 8. Click on the green run button in the top right corner to see the jaws close-open once.
+
+- Programming Development:
+
+ > Programming the jaws using python
+ > [python environment download](../../../7-ApplicationBasePython/7.1_download.md)
+
+ 1. Create a new python file:
+ Right click on the desired file path to create a new python file:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python使用1.png)
+
+ > The file name can be changed as needed
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python使用2.png)
+
+ 2. Perform function programming:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python使用3.png)
+
+ > The code is as follows:
+
+ ```python
+ from pymycobot.mycobot import MyCobot
+ import time
+
+ # Initialise a MyCobot object
+ mc = MyCobot("COM3", 115200)
+
+ # Controls jaws closed-open:
+ # Using the jaw status interface 0 is open, 1 is closed
+ mc.set_basic_output(1, 0)
+ time.sleep(1)
+ mc.set_basic_output(2, 1)
+ time.sleep(1)
+ mc.set_basic_output(1, 1)
+ time.sleep(1)
+ mc.set_basic_output(2, 0)
+ time.sleep(1)
+
+ # For more information on using the interface, see the python API.
+ ```
+
+ 3. Save the file and close it, right-click on an empty space in the folder to open a command line terminal
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python使用4.png)
+
+ Input:
+
+ ```bash
+ python FlexGripperPro.py
+ ```
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python使用5.png)
+
+ > Clamping jaws can be seen closed-open
+
+[← Accessories Tools Page](../1.4-AccessoriesTools.md#gripper)
diff --git a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.2-PumpCup/1-ModuleSuctionCup.md b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.2-PumpCup/1-ModuleSuctionCup.md
index 3e3a5de..7e3f776 100644
--- a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.2-PumpCup/1-ModuleSuctionCup.md
+++ b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.2-PumpCup/1-ModuleSuctionCup.md
@@ -4,10 +4,8 @@
## Product Icon
-
-
## Specifications
| **name** | **Module suction cup** |
@@ -40,12 +38,12 @@
**Applicable objects :** suitable for objects with flat surfaces
-## Mall link:
+## Mall link:
-- [Taobao](https://shop504055678.taobao.com)
-- [shopify](https://shop.elephantrobotics.com/)
+- [Taobao](https://shop504055678.taobao.com)
+- [shopify](https://shop.elephantrobotics.com/)
- ## How to use
+## How to use
@@ -57,4 +55,103 @@ For a system incorporating a suction cup, solenoid valve, and vacuum pump, the c
In operation, when the solenoid valve is energized, it opens, allowing vacuum pressure from the pump to reach the suction cup, enabling it to grip objects. De-energizing the valve cuts off the vacuum, allowing air to flow back to the suction cup, releasing the grip on the object. This setup is efficient for automation systems requiring precise control over picking and placing items.
-[← Accessories Tools Page](../1.4-AccessoriesTools.md#pump-cup)
\ No newline at end of file
+**Installation and use**
+
+- It needs to be used with an air compressor:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/空压机.png)
+
+ 1. Insert the black plug into the row of plugs;
+
+ 2. Insert the matching red hose into the connector on the machine:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/空压机安装1.png)
+ 3. The red button is the on/off switch, pulling it outwards turns it on, pressing it back turns the machine off:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/空压机按钮.png)
+
+- Suction cup mounting:
+
+ 1. Connect the other end of the red hose from the air compressor to the solenoid valve connection:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/结构安装1.png)
+ 2. Use the clear hose that comes with the modular suction cup to connect to the connector above the solenoid valve and the hose branch of the modular suction cup respectively:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/结构安装2.png)
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/结构安装3.png)
+ 3. Secure the module suction cup to the end of the robot arm with the matching screws:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/结构安装4.png)
+ 4. Attach the hose branch to the modular suction cup:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/结构安装5.png)
+
+- Electrical Connections:
+
+ 1. Connect the black wire to the GND of the robot arm base, and the red wire to any one of OUT1~OUT6, and change the pin number of the subsequent programme according to the selected interface, here we use OUT1:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/电气连接1.png)
+
+- Software-driven testing:
+
+ > To test if the jaws are available after installation, use myBlockly.
+ > [myblockly download](../../../5-ProgramingApplication-myblockly-uiflow-mind/5.1-myblockly/5.1.1-myBlocklyFirstUse.md#myblockly下载安装)
+
+ 1. After confirming that the structural and electrical connections are complete, start the arm and open the myblockly software when the graphical interface appears.
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly验证0.png)
+ 2. Modify the baud rate to 115200:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly验证1.png)
+ 3. Find `Base` in the list on the left and select the `Set Pin Out` module:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly验证2.png)
+ 4. Set `pin number` to `1` and `output` to `0`:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly验证3.png)
+ 5. Find `Time` and select the `Sleep` module:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly验证4.png)
+ 6. Set the time as desired, here it is set to `2s`:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly验证5.png)
+ 7. Repeat the above steps for the final setup as follows:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly验证6.png)
+ 8. Hold the suction cup against the object and click the green run button in the upper right corner to allow the suction cup to hold the object for 2s and then release it.
+
+- Programming Development:
+
+ > Programming Suction Cups with python
+ > [python environment download](../../../7-ApplicationBasePython/7.1_download.md)
+
+ 1. Create a new python file:
+ Right click on the desired file path to create a new python file:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python使用1.png)
+
+ > The file name can be changed as needed
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python使用2.png)
+
+ 2. Perform function programming:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python使用3.png)
+
+ > The code is as follows:
+
+ ```python
+ from pymycobot.mycobot import MyCobot
+ import time
+
+ # Initialise a MyCobot object
+ mc = MyCobot("COM3", 115200)
+
+ # Controls suction cups closed-open:
+ # Use suction cup status interface 0 for open, 1 for closed
+ mc.set_basic_output(1, 0)
+ time.sleep(2)
+ mc.set_basic_output(1, 1)
+ time.sleep(2)
+
+ # For more information on using the interface, see the python API.
+ ```
+
+ 3. Save the file and close it, right-click on an empty space in the folder to open a command line terminal
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python使用4.png)
+
+ Input:
+
+ ```bash
+ python ModularPump.py
+ ```
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python使用5.png)
+
+ > You can see the suction cups close-open
+
+[← Accessories Tools Page](../1.4-AccessoriesTools.md#pump-cup)
diff --git a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.3-Camera/1-CameraModulePro.md b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.3-Camera/1-CameraModulePro.md
index 9151f5e..a2a702d 100644
--- a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.3-Camera/1-CameraModulePro.md
+++ b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.3-Camera/1-CameraModulePro.md
@@ -8,17 +8,17 @@
## Specifications
-| **name** | **myCobotPro camera module** |
-| ---------------------------- | ----------------------------------------------- |
-| model | myCobot_Pro_cameraHolder_J6 |
-| Material | photosensitive resin |
-| USB protocol | USB2.0 HS/FS |
-| lens focal length | Standard 1.7mm |
-| Field of view | about 60° |
-| supported system | Win7/8/10, Linux, MAC |
-| service life | two years |
-| a fixed way | screw fixed |
-| Use environment requirements | Temperature and pressure |
+| **name** | **myCobotPro camera module** |
+| ---------------------------- | ---------------------------------------------------- |
+| model | myCobot_Pro_cameraHolder_J6 |
+| Material | photosensitive resin |
+| USB protocol | USB2.0 HS/FS |
+| lens focal length | Standard 1.7mm |
+| Field of view | about 60° |
+| supported system | Win7/8/10, Linux, MAC |
+| service life | two years |
+| a fixed way | screw fixed |
+| Use environment requirements | Temperature and pressure |
| Applicable equipment support | ER myCobot 320 Series ER myCobot Pro 600 Series |
## Use for Objects
@@ -29,10 +29,93 @@
- USB high-definition camera can be used with suction pump, self-adaptive gripper, artificial intelligence kit, etc., eye in hand to achieve precise positioning and calibration.
-## Mall link:
+**Installation and use**
-- [Taobao](https://shop504055678.taobao.com)
-- [shopify](https://shop-elephantrobotics-com.translate.goog/collections/mycobot-pro-600/products/mycobotpro-cameraflange?_x_tr_sl=auto&_x_tr_tl=zh-CN)
+- Check that the kit has everything: screws and hexagonal spanners, camera module with usb cable
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/物料.jpg)
+- Camera Installation:
-----
-[← Accessories Tools Page](../1.4-AccessoriesTools.md#camera)
\ No newline at end of file
+ - Structural installation:
+
+ 1. Align the camera module to the end of the robot arm according to the desired direction, and tighten the screws with the Allen spanner
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/安装.jpg)
+
+ - Electrical Connections:
+
+ 1. 将 USB 线插入底座 USB 接口:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/电气连接.jpg)
+
+- Programming Development:
+
+ > Programming the camera module using python
+ > [python environment download](../../../7-ApplicationBasePython/7.1_download.md)
+
+ - Create a new python file:
+ Right click on the desired file path to create a new python file:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/python使用1.png)
+
+ > The file name can be changed as needed
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/python使用2.png)
+
+ - Perform function programming:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/python使用3.png)
+
+ > The code is as follows:
+
+ ```python
+ import cv2
+ import numpy as np
+
+ cap = cv2.VideoCapture(0) # "0", based on the queried camera equipment number
+
+ while(True):
+ ret, frame = cap.read()
+
+ # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
+
+ cv2.imshow('frame', frame)
+ # Press 'q' to exit
+ if cv2.waitKey(1) & 0xFF == ord('q'):
+ break
+
+ cap.release()
+ cv2.destroyAllWindows()
+ ```
+
+ - Save the file and close it, right-click on an empty space in the folder to open a command line terminal
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/python使用4.png)
+
+ Input:
+
+ ```bash
+ python camera.py
+ ```
+
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/python使用5.png)
+
+ > You can see what the camera captured
+
+ Run results:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/python使用6.png)
+
+- How to check camera device number
+
+ ```bash
+ ls /dev/video* -l
+ ```
+
+ > This can be confirmed by plugging and unplugging the devices and using the command separately to observe the added device number.
+
+ Example results:
+ ![alt text](../../../resources/1-ProductIntroduction/1.4/1.4.3-Camera/python使用7-查询设备号.png)
+
+## Mall link:
+
+- [Taobao](https://shop504055678.taobao.com)
+- [shopify](https://shop-elephantrobotics-com.translate.goog/collections/mycobot-pro-600/products/mycobotpro-cameraflange?_x_tr_sl=auto&_x_tr_tl=zh-CN)
+
+---
+
+[← Accessories Tools Page](../1.4-AccessoriesTools.md#camera)
diff --git a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.4-Other/1-PenHolderPro.md b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.4-Other/1-PenHolderPro.md
index 405fe21..24941d0 100644
--- a/1-ProductIntroduction/1.4-AccessoriesTools/1.4.4-Other/1-PenHolderPro.md
+++ b/1-ProductIntroduction/1.4-AccessoriesTools/1.4.4-Other/1-PenHolderPro.md
@@ -34,14 +34,20 @@ Used when using the robotic arm to write and draw
## Mall link
-- [Taobao](https://shop504055678.taobao.com)
-- [shopify](https://shop.elephantrobotics.com/)
+- [Taobao](https://shop504055678.taobao.com)
+- [shopify](https://shop.elephantrobotics.com/)
- ## How to use
+## How to use
-1 Installing :
+**Installation and use**
-
+- mounting
+
+ 1. Stick the two short screws into the gripper holes:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.4-Other/1-PenHoldPro/安装1.jpg)
+ 2. Use an Allen key to secure the gripper to the end of the arm:
+ ![](../../../resources/1-ProductIntroduction/1.4/1.4.4-Other/1-PenHoldPro/安装2.jpg)
+
-[← Accessories Tools Page](../../1.4-AccessoriesTools/1.4-AccessoriesTools.md#holder) | [Next Page →](../1.4.4-Other/2-PhoneHolderPro.md)
\ No newline at end of file
+[← Accessories Tools Page](../../1.4-AccessoriesTools/1.4-AccessoriesTools.md#holder) | [Next Page →](../1.4.4-Other/2-PhoneHolderPro.md)
diff --git a/1-ProductIntroduction/README.md b/1-ProductIntroduction/README.md
index 22fe95f..7fd500a 100644
--- a/1-ProductIntroduction/README.md
+++ b/1-ProductIntroduction/README.md
@@ -2,8 +2,7 @@
-> **320, meaning 320 mm, refers to the effective working radius of the robot arm.**
-
+> **The effective working radius of the robot arm is 350 mm.**
## Product Introduction
@@ -12,8 +11,9 @@ The myCobot 320 Robot Arm, developed by Elephant Robotics, is a collaborative ro
## Supported Extension Development
The myCobot 320 encourages users to engage in extension development to fully exploit its potential:
+
- **Programming Languages**: Supports Python, C++, among others, offering a diverse selection of programming options.
-
+
- **Hardware Interfaces**: Includes IO, USB, etc., facilitating the connection to a variety of sensors and actuators.
- **Software Libraries**: Provides a rich set of open-source libraries and APIs to streamline the development process.
- **System Compatibility**: Compatible with Windows, Linux, MacOS, accommodating a wide range of development environments.
@@ -22,24 +22,26 @@ The myCobot 320 encourages users to engage in extension development to fully exp
## Documentation Learning Content
By reading the official documentation, you will gain:
+
- **Basic Setup**: Guidelines for installation, configuration, and initial operation.
- **Programming Guidance**: How to control and program the myCobot 320 M5 using various languages and platforms.
- **Custom Development**: How to utilize extension interfaces and software libraries for custom application development.
- **Success Stories**: Insights into the application of myCobot 320 M5 across different domains.
- **Maintenance and Troubleshooting**: Tips for maintenance and solutions to common issues.
-## Address for Purchase
+## Address for Purchase
-If you are interested in purchasing the device, please click the link below.
+If you are interested in purchasing the device, please click the link below.
-- Taobao: https://shop504055678.taobao.com
-- shopify: https://shop.elephantrobotics.com/
+- Taobao: https://shop504055678.taobao.com
+- shopify: https://shop.elephantrobotics.com/
+- AliExpress:https://elephantrobotics.aliexpress.com/store/1101941423
## Chapter Summary
-Now that you have a grasp of the product's fundamental features and applications, let's delve deeper into obtaining more detailed information together. The next section of this manual will guide you to various sub-chapters, enabling you to gain a more comprehensive understanding of our product's design philosophy, target user demographics, recommended usage scenarios, as well as the supported accessories and tools.
+Now that you have a grasp of the product's fundamental features and applications, let's delve deeper into obtaining more detailed information together. The next section of this manual will guide you to various sub-chapters, enabling you to gain a more comprehensive understanding of our product's design philosophy, target user demographics, recommended usage scenarios, as well as the supported accessories and tools.
-Please feel free to select the following sections based on your interests and requirements:
+Please feel free to select the following sections based on your interests and requirements:
[1.1-Design Philosophy](../../myCobot320-docs/1-ProductIntroduction/1.1-DesignPhilosophy.md)
@@ -63,7 +65,8 @@ Please click on the respective links based on your interests to access more deta
We greatly appreciate you taking the time to read the myCobot 320 user manual. We hope this document helps you to better understand and effectively use this robot, thereby inspiring your creativity. Should you have any questions or require further assistance, please do not hesitate to contact our customer support team. We look forward to seeing the innovative projects you accomplish with myCobot 320 and welcome you to our rapidly growing community of developers.
-----
+---
+
If you have already read all the content in this chapter, please proceed to the next chapter.
-[Next Chapter →](../2-ProductFeature/2.1_320_M5_product/README.md)
\ No newline at end of file
+[Next Chapter →](../2-ProductFeature/2.1_320_M5_product/README.md)
diff --git a/10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_Handle_control.md b/10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_Handle_control.md
new file mode 100644
index 0000000..b3e139e
--- /dev/null
+++ b/10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_Handle_control.md
@@ -0,0 +1,125 @@
+The movement of the machine can be controlled by the gamepad, and the grasping of objects can be realized with the gripper or the suction pump.
+
+> Note: The handle needs to be purchased separately, please consult the official customer service for details
+
+>
+
+# Handle COntrol
+
+## The corresponding functions of the handle buttons are as follows:
+
+### myCobot
+
+- **1**: RX direction coordinate value increases
+- **2**: RX direction coordinate value decreases
+- **3**: RY direction coordinate value decreases
+- **4**: RY direction coordinate value increases
+- **5**: X direction coordinate value increases
+- **6**: X direction coordinate value decreases
+- **7**: Y direction coordinate value decreases
+- **8**: Y direction coordinate value increases
+- **9**: Z direction coordinate value increases
+- **10**: Z direction coordinate value decreases
+- **11**: RZ direction coordinate value decreases
+- **12**: RZ direction coordinate value increases
+- **13**: Wake up the handle. After the handle is not used for a long time after connection, it will enter sleep mode. You need to press this button to wake up.
+- **14**: Check the connection status of the machine. The atom LED flashes green three times to indicate that the machine is normal; flashes red three times to indicate that the state is abnormal.
+- **X**: Press and hold the button, the jaws continue to open
+- **Y**: Press and hold the button, the jaws continue to close
+- **A**: open suction pump
+- **B**: Shut down the suction pump
+- **Left 1**: Press and hold for 2s to initialize the robot to the joint zero state.
+- **Left 2**: Press and hold for 2s, the robot stops torque output and relaxes all joints.
+- **Right 1**: Press and hold for 2s to initialize the robot to move to the initial point.
+- **Right 2**: Press and hold for 2s, the robot turns on the torque output, and all joints are locked
+
+### myArm
+
+- **1**: RX direction coordinate value increases
+- **2**: RX direction coordinate value decreases
+- **3**: RY direction coordinate value decreases
+- **4**: RY direction coordinate value increases
+- **5**: X direction coordinate value increases
+- **6**: X direction coordinate value decreases
+- **7**: Y direction coordinate value decreases
+- **8**: Y direction coordinate value increases
+- **9**: Currently not functional
+- **10**: Currently not functional
+- **11**: Currently not functional
+- **12**: Currently not functional
+- **13**: Wake up the handle. After the handle is not used for a long time after connection, it will enter sleep mode. You need to press this button to wake up.
+- **14**: Check the connection status of the machine. The atom LED flashes green three times to indicate that the machine is normal; flashes red three times to indicate that the state is abnormal.
+- **X**: Z direction coordinate value increases
+- **Y**:Z direction coordinate value decreases
+- **A**: open suction gripper
+- **B**: Shut down the suction gripper
+- **Left 1**: Press and hold for 2s to initialize the robot to the joint zero state.
+- **Left 2**: Press and hold for 2s, the robot stops torque output and relaxes all joints.
+- **Right 1**: Press and hold for 2s to initialize the robot to move to the initial point.
+- **Right 2**: Press and hold for 2s, the robot turns on the torque output, and all joints are locked
+
+## instructions
+
+### 1.Connecting devices
+
+Connect the MyCobot and handle to the computer.
+
+### 2.Install required libraries
+
+Download code: https://github.com/elephantrobotics/pymycobot
+
+Open the terminal, Enter the `pymycobot/demo/handle_control` folder, and run the following command。
+
+```bash
+pip3 install -r requirements.txt
+```
+
+### 3.Modify port number
+
+#### myCobot-pi
+
+Edit the handle_control.py file
+
+```python
+import pygame
+import time
+from pymycobot import MyCobot
+from pymycobot import PI_PORT, PI_BAUD # When using the Raspberry Pi version of mycobot, these two variables can be referenced for MyCobot initialisation
+import threading
+
+mc = MyCobot(PI_PORT, 115200)
+...
+```
+
+Finally. run the program.
+
+```bash
+python3 handle_control.py
+```
+
+#### myArm
+
+Edit the myarm_handle_control.py file
+
+```python
+import pygame
+import time
+from pymycobot import MyArm
+import threading
+# Change com7 to the port number detected by your computer
+
+mc = MyArm("/dev/ttyAMA0",115200)
+...
+```
+
+Finally. run the program
+
+```bash
+python3 myarm_handle_control.py
+```
+
+> Note: After running the program, first click the **14** button to check the machine connection status, the machine connection status is normal (if it is abnormal, you will not be able to perform other operations, please solve the abnormal connection problem first), and then click **Right 1** button, other operations can only be performed after the machine reaches the initial point.
+
+---
+
+[← Previous Page](4_drag.md) | [Next Section →](6_example.md)
diff --git a/10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_example.md b/10-ApplicationBasePython/10.1_320_PI-ApplicationPython/6_example.md
similarity index 100%
rename from 10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_example.md
rename to 10-ApplicationBasePython/10.1_320_PI-ApplicationPython/6_example.md
diff --git a/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/4_drag.md b/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/4_drag.md
index ebd06bf..cc0cfa5 100644
--- a/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/4_drag.md
+++ b/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/4_drag.md
@@ -20,6 +20,10 @@
![](../../resources/10-ApplicationBasePython/3.jpg)
+> - RAM is a type of volatile memory, meaning it requires continuous power supply to retain stored data. RAM provides random access, allowing the CPU to access any memory cell directly without the need for sequential access. Thus, RAM offers very fast read and write speeds.
+> - Flash memory is non-volatile, meaning it does not require continuous power to retain stored data. It utilizes electronic storage technology where data is programmed into memory cells. Writing to flash memory is relatively slower compared to reading, but reading operations are typically fast.
+> - RAM is volatile, while Flash memory is non-volatile, retaining data even during power loss. RAM is used for temporary storage, whereas Flash memory is used for long-term storage. RAM offers faster read and write speeds compared to Flash memory.
+
**Step 5:** Move the joints of the robot arm to specific positions. After that, press any one of the three buttons so as to stop recording and save the motion.
![](../../resources/10-ApplicationBasePython/4.jpg)
@@ -28,7 +32,7 @@
![](../../resources/10-ApplicationBasePython/7.jpg)
-> **Notice:**
+> **Notice:**
>
> **Pause**: pause the movement
>
diff --git a/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/5_Handle_control.md b/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/5_Handle_control.md
new file mode 100644
index 0000000..1b6a29a
--- /dev/null
+++ b/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/5_Handle_control.md
@@ -0,0 +1,124 @@
+The movement of the machine can be controlled by the gamepad, and the grasping of objects can be realized with the gripper or the suction pump.
+
+> Note: The handle needs to be purchased separately, please consult the official customer service for details
+
+>
+
+# Handle COntrol
+
+## The corresponding functions of the handle buttons are as follows:
+
+### myCobot
+
+- **1**: RX direction coordinate value increases
+- **2**: RX direction coordinate value decreases
+- **3**: RY direction coordinate value decreases
+- **4**: RY direction coordinate value increases
+- **5**: X direction coordinate value increases
+- **6**: X direction coordinate value decreases
+- **7**: Y direction coordinate value decreases
+- **8**: Y direction coordinate value increases
+- **9**: Z direction coordinate value increases
+- **10**: Z direction coordinate value decreases
+- **11**: RZ direction coordinate value decreases
+- **12**: RZ direction coordinate value increases
+- **13**: Wake up the handle. After the handle is not used for a long time after connection, it will enter sleep mode. You need to press this button to wake up.
+- **14**: Check the connection status of the machine. The atom LED flashes green three times to indicate that the machine is normal; flashes red three times to indicate that the state is abnormal.
+- **X**: Press and hold the button, the jaws continue to open
+- **Y**: Press and hold the button, the jaws continue to close
+- **A**: open suction pump
+- **B**: Shut down the suction pump
+- **Left 1**: Press and hold for 2s to initialize the robot to the joint zero state.
+- **Left 2**: Press and hold for 2s, the robot stops torque output and relaxes all joints.
+- **Right 1**: Press and hold for 2s to initialize the robot to move to the initial point.
+- **Right 2**: Press and hold for 2s, the robot turns on the torque output, and all joints are locked
+
+### myArm
+
+- **1**: RX direction coordinate value increases
+- **2**: RX direction coordinate value decreases
+- **3**: RY direction coordinate value decreases
+- **4**: RY direction coordinate value increases
+- **5**: X direction coordinate value increases
+- **6**: X direction coordinate value decreases
+- **7**: Y direction coordinate value decreases
+- **8**: Y direction coordinate value increases
+- **9**: Currently not functional
+- **10**: Currently not functional
+- **11**: Currently not functional
+- **12**: Currently not functional
+- **13**: Wake up the handle. After the handle is not used for a long time after connection, it will enter sleep mode. You need to press this button to wake up.
+- **14**: Check the connection status of the machine. The atom LED flashes green three times to indicate that the machine is normal; flashes red three times to indicate that the state is abnormal.
+- **X**: Z direction coordinate value increases
+- **Y**:Z direction coordinate value decreases
+- **A**: open suction gripper
+- **B**: Shut down the suction gripper
+- **Left 1**: Press and hold for 2s to initialize the robot to the joint zero state.
+- **Left 2**: Press and hold for 2s, the robot stops torque output and relaxes all joints.
+- **Right 1**: Press and hold for 2s to initialize the robot to move to the initial point.
+- **Right 2**: Press and hold for 2s, the robot turns on the torque output, and all joints are locked
+
+## instructions
+
+### 1.Connecting devices
+
+Connect the MyCobot and handle to the computer.
+
+### 2.Install required libraries
+
+Download code: https://github.com/elephantrobotics/pymycobot
+
+Open the terminal, Enter the `pymycobot/demo/handle_control` folder, and run the following command。
+
+```bash
+pip3 install -r requirements.txt
+```
+
+### 3.Modify port number
+
+#### myCobot
+
+Edit the handle_control.py file
+
+```python
+import pygame
+import time
+from pymycobot import MyCobot
+import threading
+# Change com7 to the port number detected by your computer
+mc = MyCobot("com7")
+...
+```
+
+Finally. run the program.
+
+```bash
+python3 handle_control.py
+```
+
+#### myArm
+
+Edit the myarm_handle_control.py file
+
+```python
+import pygame
+import time
+from pymycobot import MyArm
+import threading
+# Change com7 to the port number detected by your computer
+
+mc = MyArm("/dev/ttyAMA0",115200)
+...
+```
+
+Finally. run the program
+
+```bash
+python3 myarm_handle_control.py
+```
+
+> Note: After running the program, first click the **14** button to check the machine connection status, the machine connection status is normal (if it is abnormal, you will not be able to perform other operations, please solve the abnormal connection problem first), and then click **Right 1** button, other operations can only be performed after the machine reaches the initial point.
+
+---
+
+[← Previous Page](4_drag.md) | [Next Section →](6_example.md)
diff --git a/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/5_example.md b/10-ApplicationBasePython/10.2_320_M5-ApplicationPython/6_example.md
similarity index 100%
rename from 10-ApplicationBasePython/10.2_320_M5-ApplicationPython/5_example.md
rename to 10-ApplicationBasePython/10.2_320_M5-ApplicationPython/6_example.md
diff --git a/10-ApplicationBasePython/README.md b/10-ApplicationBasePython/README.md
index ae0540e..f6aa970 100644
--- a/10-ApplicationBasePython/README.md
+++ b/10-ApplicationBasePython/README.md
@@ -4,7 +4,7 @@
## ![README1](../resources/10-ApplicationBasePython/python-README1.jpg)
-**Python** was designed in the early 1990s by Guido van Rossum of the Netherlands Society for Mathematics and Computer Science as an alternative to a language called ABC.
+**Python** was designed in the early 1990s by Guido van Rossum of the Netherlands Society for Mathematics and Computer Science as an alternative to a language called ABC.
**Python** not only provides efficient, advanced data structures, but also can be used to do simple and effective object-oriented programming.
@@ -14,8 +14,6 @@ The interpreter of **Python** is easily extensible, and new functions and data t
**Python** can also be used for extending program languages in customizable software. **Python** has rich standard libraries and provides source or machine codes suitable for each major system platform.
-
-
## Installing Python
![README2](../resources/10-ApplicationBasePython/myArm/python-README2.jpg)
@@ -23,12 +21,91 @@ The interpreter of **Python** is easily extensible, and new functions and data t
- **Python** Python's official downloading address:https://www.python.org/downloads/
- [**Python** downloading and Installation Tutorial](https://python.land/installing-python#Install_Python_on_Windows) for reference only
+### 1 Download and Installation of Python
+
+Python is applicable to:
+
+- myCobot 280:
+ - myCobot 280 M5
+ - myCobot 280 PI
+ - myCobot 280 Jetson Nano
+ - myCobot 280 for Arduino
+- myCobot 320:
+ - myCobot 320 M5
+ - myCobot 320 PI
+- myPalletizer 260:
+ - myPalletizer 260 M5
+ - myPalletizer 260 PI
+- mechArm-270:
+ - mechArm-270 M5
+ - mechArm-270 PI
+
+At present, Python has two versions: `2.x` and `3.x`. These two versions are incompatible with each other. This section takes the version `3.x` as an example due to its increasing popularity.
+
+#### 1.1 Installing Python
+
+> **Notice:** Before installation, check the operation system of PC. Press right button on the `My Computer` icon and then select `Properties`. Install the corresponding Python.
+>
+>
+>
+>
+
+- **Go to http://www.python.org/download/ to download Python.**
+- **Click on `Downloads`, and then download begins. Tick `Add Python 3.10 to PATH`. Click on `Install Now`, and then installation begins.**
+
+
+
+
+
+
+
+- **Download and installation complete.**
+
+
+
+#### 1.2 Running Python
+
+Open the command prompt window (Win+R, input `cmd` and press `Enter`). Type `Python`.
+
+**Successful Installation:**
+
+
+
+This on-screen instruction means that Python is successfully installed. The prompt `>>>` means Python interactive environment. If you input a Python code to get the execution result immediately.
+
+**Error Report:**
+
+If a wrong instruction is typed, for example "pythonn", the system may report an error.
+
+
+
+> **Notice:** Generally, the error results from lack of environment configuration. Refer to **1.3 Environment Configuration** to solve problems.
+
+#### 1.3 Environment Variable Configuration
+
+Windows follows the path set by a Path environment variable in search of **python.exe** . Otherwise, an error will be reported. If you fail to tick `Add Python 3.9 to PATH` during installation, you need to manually add the path where python.exe is located into environment variable or download python again. Remember to tick `Add Python 3.9 to PATH` .
+
+Follow the steps below to add python into environment variable manually.
+
+- Right click on `My Computer` icon -->Properties ->Advanced System Settings ->Environment Variables
+
+
+
+- The environment variables include user variables and system variables. For user variables, users can utilize their own downloaded programs via `cmd` command. Write the absolute path of the target program into the user variables.
+
+
+
+
+
+- After the configuration, open the command prompt window (Win+R; input `cmd` and press `Enter`), and type `Python`.
+
+
**Preconditions for use:**
-- **M5** series version, the bottom **M5Stack-basic** is programmed to miniRobot , select the **Transponder** function, and the end **ATOM** is programmed to the latest version of atomMain (the factory default has been programmed)
+- **M5** series version, the bottom **M5Stack-basic** is programmed to miniRobot , select the **Transponder** function, and the end **ATOM** is programmed to the latest version of atomMain (the factory default has been programmed)
- **Pi \ jetsonnano** series, **ATOM** burns the latest version of **atomMain** (factory default already burnt)
---
-[← Previous Chapter](../5-BasicApplication/5.2-ApplicationUse/5.2.1-myblockly/320m5/1-myBlocklyFirstUse.md) | [Next Page →](../10-ApplicationBasePython/10.2_320_M5-ApplicationPython/1_download.md)
\ No newline at end of file
+[← Previous Chapter](../5-BasicApplication/5.2-ApplicationUse/5.2.1-myblockly/320m5/1-myBlocklyFirstUse.md) | [Next Page →](../10-ApplicationBasePython/10.2_320_M5-ApplicationPython/1_download.md)
diff --git a/2-ProductFeature/2.1_320_M5_product/2.1.4-ElectricalCharacteristicParameter.md b/2-ProductFeature/2.1_320_M5_product/2.1.4-ElectricalCharacteristicParameter.md
index b7d903c..3471891 100644
--- a/2-ProductFeature/2.1_320_M5_product/2.1.4-ElectricalCharacteristicParameter.md
+++ b/2-ProductFeature/2.1_320_M5_product/2.1.4-ElectricalCharacteristicParameter.md
@@ -1,48 +1,11 @@
# Electrical characteristic parameter
-## 1 Base electrical interface overview
+## 1 Base electrical interface overview
Figure 1 Front view of a base
-
-
-Figure 2 Left side of the base
-
-
-
-Figure 3 Right side of the base
-
-| Number | Interface | Definition | Function | Remarks |
-|:----:|:--------------:|:---------:|:-----------------:|:----------------:|
-| 1 | Type C | Communication Interface | Communicate with PC | development use |
-| 2 | screen | displaying | Use with buttons | |
-| 3 | button | button A | Use with the display | |
-| 4 | | button B | | |
-| 5 | | button C | | |
-| 6 | switch | 电源开关 | 控制输入电源通断 | 带灯(通电灯亮) |
-| 7 | DC/IO interface | GND | GND | |
-| | | IN6 | Digital input signal 1~6 | Input only in NPN mode |
-| | | IN5 | | |
-| | | IN4 | | |
-| | | IN3 | | |
-| | | IN2 | | |
-| | | IN1 | | |
-| | | 24V | DC24V | |
-| 8 | Type C | Communication Interface | Communicate with PC | development use |
-| 9 | Power DC input interface | DC24V input | DC24V input | |
-| 10 | DC/IO interface | 24V | DC24V | |
-| | | OUT1 | Digital output signal 1~6 | output only in PNP mode |
-| | | OUT2 | | |
-| | | OUT3 | | |
-| | | OUT4 | | |
-| | | OUT5 | | |
-| | | OUT6 | | |
-| | | GND | GND | |
-| 11 | Emergency stop interface | STOP | Emergency stop circuit interface | |
-
-
#### 1.1 Type C :Type C interface is used to connect and communicate with the PC, available for developers.
#### 1.2 Screen :Screen is used to display the communication status of myCobot and calibrate the robot move to starting point with a 2-inch IPS screen.
@@ -51,6 +14,14 @@ Figure 3 Right side of the base
#### 1.4 Power switch :Power switch is used to control the main power input. If it is switched off, the controller is also powered off.
+
+
+Figure 2 Left side of the base
+
+
+
+Figure 3 Right side of the base
+
#### 1.5 24V output :Internal DC24V, available for users.
#### 1.6 Digital input/output: includes 6 digital input signals and 6 digital output signals for interaction with other devices, and together with other devices constitute an important part of the automation system.
@@ -67,8 +38,140 @@ It should be noted that the output signal is in PNP form, and the input signal i
#### 1.8 Emergency stop circuit terminal is connected to the emergency stop button box, which can be used to control the emergency stop of the robot.
-> **Notice**: The emergency stop switch must be connected when the robot is in use, and make sure that the emergency stop switch circuit is always connected.
-
+> **Notice**: The emergency stop switch must be connected when the robot is in use, and make sure that the emergency stop switch circuit is always connected.
+
+
+
+
+
Number
+
Interface
+
Definition
+
Function
+
Remarks
+
+
+
+
+
1
+
Type C
+
Communication Interface
+
Communicate with PC
+
development use
+
+
+
2
+
screen
+
displaying
+
Use with buttons
+
+
+
+
3
+
button
+
button A
+
Use with the display
+
+
+
+
4
+
button B
+
+
+
5
+
button C
+
+
+
6
+
switch
+
power switch
+
Control input power on/off
+
With light (power on light)
+
+
+
7
+
DC/IO interface
+
GND
+
GND
+
+
+
+
IN6
+
Digital input signal 1~6
+
Input only in NPN mode
+
+
+
IN5
+
+
+
IN4
+
+
+
IN3
+
+
+
IN2
+
+
+
IN1
+
+
+
24V
+
DC24V
+
+
+
8
+
Type C
+
Communication Interface
+
Communicate with PC
+
development use
+
+
+
9
+
Power DC input interface
+
DC24V input
+
DC24V input
+
+
+
+
10
+
DC/IO interface
+
24V
+
DC24V
+
+
+
+
OUT1
+
Digital output signal 1~6
+
output only in PNP mode
+
+
+
OUT2
+
+
+
OUT3
+
+
+
OUT4
+
+
+
OUT5
+
+
+
OUT6
+
+
+
GND
+
GND
+
+
+
11
+
Emergency stop interface
+
STOP
+
Emergency stop circuit interface
+
+
+
+
## 2 Electrical Interface at the end of the Robot Arm
@@ -80,13 +183,12 @@ Figure 4 Side view of the end of the robot arm
Figure 5 Side view of the end of the robot arm
-
-| Number | Interface | Definition | Function | Remarks |
-|:------:|:----------------:|:-----------:|:-------------------:|:------------------:|
-| 12 | M8 aviation socket | End tool IO interface | interface Interact with external devices | |
-| 13 | Atom | Led + button | Status view/drag to teach | |
-| 14 | Type C | Communication Interface | Communicate with PC | Update Atom firmware using |
-| 15 | Grove | | | developers use |
+| Number | Interface | Definition | Function | Remarks |
+| :----: | :----------------: | :---------------------: | :--------------------------------------: | :------------------------: |
+| 12 | M8 aviation socket | End tool IO interface | interface Interact with external devices | |
+| 13 | Atom | Led + button | Status view/drag to teach | |
+| 14 | Type C | Communication Interface | Communicate with PC | Update Atom firmware using |
+| 15 | Grove | | | developers use |
#### 2.1 End-tool IO interface: This is a tool I/O diagram, and the myCobot 320 robot provides one input and two outputs.
@@ -96,19 +198,19 @@ Built-in I/O power supply, voltage 24V, single output maximum 0.2A. External pow
The definition of each tool I/O port is shown in the following table. It should be noted that both the input and output of the tool I/O are PNP types, and the wiring mode is the same as the bottom output interface.
-| Number | Signal | Explanation | Matchable Color of M8 Line |
-| :------: | :------: | :-----------------------: | :--------------------------: |
-| 1 | GND | DC24V negative pole | White |
-| 2 | OUT1 | Tool output interface 1 | brown |
-| 3 | OUT2 | Tool output interface 2 | green |
-| 4 | 485A | reserved, undeveloped | yellow |
-| 5 | 24V | DC24V positive | Ash |
-| 6 | IN1 | Tool input interface 1 | pink |
-| 7 | IN2 | unavailable | blue |
-| 8 | 485B | reserved, undeveloped | purple |
+| Number | Signal | Explanation | Matchable Color of M8 Line |
+| :----: | :----: | :---------------------: | :------------------------: |
+| 1 | GND | DC24V negative pole | White |
+| 2 | OUT1 | Tool output interface 1 | brown |
+| 3 | OUT2 | Tool output interface 2 | green |
+| 4 | 485A | reserved, undeveloped | yellow |
+| 5 | 24V | DC24V positive | Ash |
+| 6 | IN1 | Tool input interface 1 | pink |
+| 7 | IN2 | unavailable | blue |
+| 8 | 485B | reserved, undeveloped | purple |
#### 2.2 Atom:Atom is used for 5X5 RGB LED to display the state of the robot arm and key function (used when the robot performs the drag teaching)
---
-[← Previous Page](../2.1_320_M5_product/2.1.3-MechanicalStructureParameter.md)| [Next Page →](../2.1_320_M5_product/2.1.5-CoordinateSystem.md)
\ No newline at end of file
+[← Previous Page](../2.1_320_M5_product/2.1.3-MechanicalStructureParameter.md)| [Next Page →](../2.1_320_M5_product/2.1.5-CoordinateSystem.md)
diff --git a/2-ProductFeature/2.2_320_PI_product/2.2.4-ElectricalCharacteristicParameter.md b/2-ProductFeature/2.2_320_PI_product/2.2.4-ElectricalCharacteristicParameter.md
index d2990b3..eab024e 100644
--- a/2-ProductFeature/2.2_320_PI_product/2.2.4-ElectricalCharacteristicParameter.md
+++ b/2-ProductFeature/2.2_320_PI_product/2.2.4-ElectricalCharacteristicParameter.md
@@ -1,57 +1,21 @@
# Electrical characteristic parameter
-## 1 Base electrical interface overview
+## 1 Base electrical interface overview
Figure 1 Front view of a base
-
-
-Figure 2 Left side of the base
-
-
-
-Figure 3 Right side of the base
-
-| Number | Interface | Definition | Function | Remark |
-| :------: | :---------: | :----------: | :--------: | :------: |
-| 1 | Type C | Communication Interface | communicate with PC | development use |
-| 2 | MircoHDMI | HDMI1 | use to connect a screen | |
-| 3 | HDMI2 | | | |
-| 4 | speaker, headphone jack | speaker, headphone jack | | |
-| 5 | Type C | Communication Interface | communicate with PC | development use |
-| 6 | Switch | Switch | control input power on and off | With lights (lights on) |
-| 7 | DC/IO interface | GND | GND | |
-| | | IN6 | Digital input signal 1~6 | Input only in NPN mode |
-| | | IN5 | | |
-| | | IN4 | | |
-| | | IN3 | | |
-| | | IN2 | | |
-| | | IN1 | | |
-| | | 24V | DC24V | |
-| 8 | Emergency stop interface | S TOP | emergency stop circuit interface | |
-| 9 | indicator light | Main Control Power indicator | feedback master power-on status | |
-| 10 | SD card slot | SD card slot | use to replace SD card | |
-| 11 | USB2.0 | USB2.0*2 | Can be connected to external devices or U disk shion | |
-| 12 | USB3.0 | USB3.0*2 | External device or U disk | |
-| 13 | network port | Ethereum | Ethernet port communication | |
-| 1 4 | DC / IO interface | 2 4V | D C24V | |
-| OUT1 | digital output signal1 to 6 | P NP mode only | | |
-| OUT2 | | | | |
-| OUT3 | | | | |
-| OUT4 | | | | |
-| OUT5 | | | | |
-| OUT6 | | | | |
-| GND | GND | | | |
-| 15 | Power DC Input interface | DC24V | power input | |
-
#### 1.1 Type C :Type C interface is used to connect and communicate with the PC, available for developers.
#### 1.2 MircoHDMI :MircoHDMI interface is an HDMI D-type interface, which is connected to the monitor. HDMI interface 1 is recommended as HDMI interface 2 is prioritized.
#### 1.3 Power switch : Power switch is used to control the main power input. If it is switched off, the controller is also powered off.
+
+
+Figure 2 Left side of the base
+
#### 1.4 Digital input/output: includes 6 digital input signals and 6 digital output signals for interaction with other devices, and together with other devices constitute an important part of the automation system.
Built-in I/O power supply, voltage 24V, single output maximum 0.2A. External power supply is not supported.
@@ -70,13 +34,185 @@ It should be noted that the output signal is PNP form, the input signal is NPN f
#### 1.7 Power DC input interface : It uses KPPX-4P R7BFDC power socket. The 24V 9.2A DC power adapter provided by the manufacturer can also be used to power myCobot320.
+
+
+Figure 3 Right side of the base
+
#### 1.8 USB :USB interface is an interface for data connection with serial standards 2.0 and 3.0. Users can use the USB interface to copy program files, or use the USB interface to connect peripherals such as mouse and keyboard.
-#### 1.9 Network port :Network port is the port for network data connection. Users can use the Ethernet interface for communication and interaction between the PC and the robot system, and for Ethernet communication with other devices.
+#### 1.9 Network port :Network port is the port for network data connection. Users can use the Ethernet interface for communication and interaction between the PC and the robot system, and for Ethernet communication with other devices.
+
+
+
+
+
Number
+
Interface
+
Definition
+
Function
+
Remark
+
+
+
+
+
1
+
Type C
+
Communication Interface
+
communicate with PC
+
development use
+
+
+
2
+
MircoHDMI
+
HDMI1
+
use to connect a screen
+
+
+
+
3
+
HDMI2
+
+
+
+
+
+
4
+
speaker, headphone jack
+
speaker, headphone jack
+
+
+
+
+
5
+
Type C
+
Communication Interface
+
communicate with PC
+
development use
+
+
+
6
+
Switch
+
Switch
+
control input power on and off
+
With lights (lights on)
+
+
+
7
+
DC / IO interface
+
GND
+
GND
+
+
+
+
IN6
+
Digital input signal 1~6
+
Input only in NPN mode
+
+
+
IN5
+
+
+
IN4
+
+
+
IN3
+
+
+
IN2
+
+
+
IN1
+
+
+
24V
+
DC24V
+
+
+
+
8
+
Emergency stop interface
+
S TOP
+
emergency stop circuit interface
+
+
+
+
9
+
indicator light
+
Main Control Power indicator
+
feedback master power-on status
+
+
+
+
10
+
SD card slot
+
SD card slot
+
use to replace SD card
+
+
+
+
11
+
USB2.0
+
USB2.0*2
+
Can be connected to external devices or U disk shion
+
+
+
+
12
+
USB3.0
+
USB3.0*2
+
External device or U disk
+
+
+
+
13
+
network port
+
Ethereum
+
Ethernet port communication
+
+
+
+
14
+
DC / IO interface
+
24V
+
DC24V
+
+
+
+
OUT1
+
digital output signal1 to 6
+
PNP mode only
+
+
+
OUT2
+
+
+
OUT3
+
+
+
OUT4
+
+
+
OUT5
+
+
+
OUT6
+
+
+
GND
+
GND
+
+
+
+
15
+
Power DC Input interface
+
DC24V
+
power input
+
+
+
+
## 2 Electrical Interface at the End of the Robot Arm
-
Figure 4 Side view of the end of the robotic arm
@@ -85,14 +221,12 @@ Figure 4 Side view of the end of the robotic arm
Figure 5 Side view of the end of the robotic arm
-
-| Number | Interface name | Definition | Function | Remark |
-| :------: | :-------: | :----: | :----: | :-----: |
-| 16 | Atom | Led + Led + button | Status view/drag to teach | |
-| 17 | M8 aviation socket | End tool IO interface | Interact with external devices | |
-| 18 | Type C | Communication Interface | Communicate with PC | Update Atom firmware using |
-| 19 | Grove | | | developers use |
-
+| Number | Interface name | Definition | Function | Remark |
+| :----: | :----------------: | :---------------------: | :----------------------------: | :------------------------: |
+| 16 | Atom | Led + Led + button | Status view/drag to teach | |
+| 17 | M8 aviation socket | End tool IO interface | Interact with external devices | |
+| 18 | Type C | Communication Interface | Communicate with PC | Update Atom firmware using |
+| 19 | Grove | | | developers use |
#### 2.1 End-tool IO interface: This is a tool I/O diagram, and the myCobot 320 robot provides one input and two outputs.
@@ -102,19 +236,19 @@ Built-in I/O power supply, voltage 24V, single output maximum 0.2A. External pow
The definition of each tool I/O port is shown in the following table. It should be noted that both the input and output of the tool I/O are PNP types, and the wiring mode is the same as the bottom output interface.
-| Number | Signal | Explanation | Matchable Color of M8 Line |
-| :------: | :------: | :-----------------------: | :--------------------------: |
-| 1 | GND | DC24V negative pole | White |
-| 2 | OUT1 | Tool output interface 1 | brown |
-| 3 | OUT2 | Tool output interface 2 | green |
-| 4 | 485A | reserved, undeveloped | yellow |
-| 5 | 24V | DC24V positive | Ash |
-| 6 | IN1 | Tool input interface 1 | pink |
-| 7 | IN2 | unavailable | blue |
-| 8 | 485B | reserved, undeveloped | purple |
+| Number | Signal | Explanation | Matchable Color of M8 Line |
+| :----: | :----: | :---------------------: | :------------------------: |
+| 1 | GND | DC24V negative pole | White |
+| 2 | OUT1 | Tool output interface 1 | brown |
+| 3 | OUT2 | Tool output interface 2 | green |
+| 4 | 485A | reserved, undeveloped | yellow |
+| 5 | 24V | DC24V positive | Ash |
+| 6 | IN1 | Tool input interface 1 | pink |
+| 7 | IN2 | unavailable | blue |
+| 8 | 485B | reserved, undeveloped | purple |
#### 2.2 Atom:Atom is used for 5X5 RGB LED to display the state of the robot arm and key function (used when the robot performs the drag teaching)
---
-[← Previous Page](../2.2_320_PI_product/2.2.3-MechanicalStructureParameter.md)| [Next Page →](../2.2_320_PI_product/2.2.5-CoordinateSystem.md)
\ No newline at end of file
+[← Previous Page](../2.2_320_PI_product/2.2.3-MechanicalStructureParameter.md)| [Next Page →](../2.2_320_PI_product/2.2.5-CoordinateSystem.md)
diff --git "a/4-FirstInstallAndUse/4.1-Pi/4.1.1-\344\272\247\345\223\201\346\270\205\345\215\225.md" "b/4-FirstInstallAndUse/4.1-Pi/4.1.1-\344\272\247\345\223\201\346\270\205\345\215\225.md"
index 34b4f27..515a50a 100644
--- "a/4-FirstInstallAndUse/4.1-Pi/4.1.1-\344\272\247\345\223\201\346\270\205\345\215\225.md"
+++ "b/4-FirstInstallAndUse/4.1-Pi/4.1.1-\344\272\247\345\223\201\346\270\205\345\215\225.md"
@@ -2,21 +2,21 @@
## 1 Product List Picture
-![320m5 standard set](../resources/4-FirstInstallAndUse/320PI标准套2.png)
+![320m5 standard set](../../resources/4-FirstInstallAndUse/320PI标准套2.png)
Each product is numbered and detailed to ensure you can accurately refer to your listing.
## 2 Product Standard List Comparison Table
-| Serial number | Product |
-|------------|-----------------|
-| 1 | MyCobot 320 Pi Robotic Arm |
-| 2 | Product Brochure |
-| 3 | Product kit, including USB-Type C, jumper, M6*35, cup head hexagon, fully threaded, stainless steel screws |
-| 4 | Micro HDMI Cable |
-| 5 | 24V, 9.2A supporting power supply |
-| 6 | Flat base |
-| 7 | Clamp holder |
+| Serial number | Product |
+| ------------- | ----------------------------------------------------------------------------------------------------------- |
+| 1 | MyCobot 320 Pi Robotic Arm |
+| 2 | Product Brochure |
+| 3 | Product kit, including USB-Type C, jumper, M6\*35, cup head hexagon, fully threaded, stainless steel screws |
+| 4 | Micro HDMI Cable |
+| 5 | 24V, 9.2A supporting power supply |
+| 6 | Flat base |
+| 7 | Clamp holder |
**Note:** After the packaging box is in place, please confirm that the robot packaging is intact. If there is any damage, please contact the logistics company and the supplier in your region in time. After unpacking, please check the actual contents in the box according to the item list.
diff --git "a/4-FirstInstallAndUse/4.1-Pi/4.1.3-\345\274\200\346\234\272\346\243\200\346\265\213.md" "b/4-FirstInstallAndUse/4.1-Pi/4.1.3-\345\274\200\346\234\272\346\243\200\346\265\213.md"
index 1c517a4..37fba53 100644
--- "a/4-FirstInstallAndUse/4.1-Pi/4.1.3-\345\274\200\346\234\272\346\243\200\346\265\213.md"
+++ "b/4-FirstInstallAndUse/4.1-Pi/4.1.3-\345\274\200\346\234\272\346\243\200\346\265\213.md"
@@ -6,14 +6,13 @@ myCobot weights 3.3 kg. Due to the fact that the center of gravity will change a
#### Base Interface Size
-* The base fixing holes act as the interface between robot and other bases or planes. The specific hole size is shown in the figure below. There are 4 countersunk holes with a diameter of 4.5 mm, which can be fixed with M6 bolts.
+- The base fixing holes act as the interface between robot and other bases or planes. The specific hole size is shown in the figure below. There are 4 countersunk holes with a diameter of 4.5 mm, which can be fixed with M6 bolts.
-![底座尺寸](../resources/4-FirstInstallAndUse/底座尺寸.jpg)
+![底座尺寸](../../resources/4-FirstInstallAndUse/底座尺寸.jpg)
- The end is mounted with flange and is compatible with both LEGO component holes and screw threaded holes. Please make sure that there are corresponding threaded holes on the fixed base before installing.
-
-#### *Before the installation, please confirm:*
+#### _Before the installation, please confirm:_
- The environmental condition meets the requirements listed in Section 2.2.4.3.1 above.
- The installation position is no smaller than the working range of the robot, and there is enough space for installation, use, maintenance and repair.
@@ -23,19 +22,19 @@ myCobot weights 3.3 kg. Due to the fact that the center of gravity will change a
- After confirming the above, please move the robot to the base installation table, adjust the robot position, and align the fixing holes of the robot base with the holes on the base mounting table. After aligning the holes, align the screws with the holes and tighten them.
-> **Notice:** When adjusting the position of the robot on the base installation table, do not pushing or pulling the robot directly on the base installation table to avoid scratches. When manually moving the robot, do not applying external force to the fragile parts of the robot body, so as to avoid unnecessary damage to the robot.
+> **Notice:** When adjusting the position of the robot on the base installation table, do not pushing or pulling the robot directly on the base installation table to avoid scratches. When manually moving the robot, do not applying external force to the fragile parts of the robot body, so as to avoid unnecessary damage to the robot.
- **For more installation details, scan the code to watch the video:**
+**For more installation details, scan the code to watch the video:**
-![底座尺寸](../resources/4-FirstInstallAndUse/wps193.tmp.jpg)
+![底座尺寸](../../resources/4-FirstInstallAndUse/wps193.tmp.jpg)
## 2 External cable connection
Before operation, confirm that you have read **Chapter 1 Safety Instructions** to ensure safe operation. At the same time, connect the power adapter with the robotic arm, and fix the base of the robotic arm on the table. The connection method is shown in Figure 3-1.
-![image-20220620175457856](../resources/4-FirstInstallAndUse/320Pipower.png)
+![image-20220620175457856](../../resources/4-FirstInstallAndUse/320Pipower.png)
- Figure 3-1 Location of the power connector
+ Figure 3-1 Location of the power connector
myCobot must be powered on with an external power supply to provide sufficient power:
@@ -45,27 +44,27 @@ myCobot must be powered on with an external power supply to provide sufficient p
- Plug Type: R7B
- ![image-20220620175457856](../resources/4-FirstInstallAndUse/320-R7B.png)
+ ![image-20220620175457856](../../resources/4-FirstInstallAndUse/320-R7B.png)
**Note that you cannot just use the TypeC plugged into the M5Stack-basic for power.** Use an officially adapted power supply to avoid damage to the robotic arm.
The use case diagram is shown in the following figure: (Please carefully align it with the use case diagram for connection)
-
+
-
+
-
+
## 3 Power on status display
Make sure that the power adapter, emergency stop switch, and HDMI display are connected, and press the power switch **Start button (circular)**. At this time, the **LED light panel of the ATOM at the end of the robotic arm will light up**. It means it is booting up until the display shows system desktop related information.
-![led](../resources/4-FirstInstallAndUse/led灯板.jpg)
+![led](../../resources/4-FirstInstallAndUse/led灯板.jpg)
-![system gui](../resources/4-FirstInstallAndUse/blockly-1.png)
+![system gui](../../resources/4-FirstInstallAndUse/blockly-1.png)
## 4 Basic function detection
@@ -73,20 +72,20 @@ Make sure that the power adapter, emergency stop switch, and HDMI display are co
**Step 2:** Open the myBlockly graphical software on the desktop
-![](../resources/4-FirstInstallAndUse/blockly-2.png)
+![](../../resources/4-FirstInstallAndUse/blockly-2.png)
**Step 3:** Open the right control bar in myBlockly software
-![](../resources/4-FirstInstallAndUse/blockly-3.png)
+![](../../resources/4-FirstInstallAndUse/blockly-3.png)
**Step 4:** After confirming the serial port and baud rate of the robot arm, click the **Open** connection button
-![](../resources/4-FirstInstallAndUse/blockly-4.png)
+![](../../resources/4-FirstInstallAndUse/blockly-4.png)
**Step 5:** After completing step 4, the rapid movement module below will display the angle information and coordinate information of the robotic arm in real time. You can perform simple control of the robotic arm by clicking the plus and minus buttons.
-![](../resources/4-FirstInstallAndUse/blockly-5.png)
+![](../../resources/4-FirstInstallAndUse/blockly-5.png)
---
-[← Previous Page](4.1.2-产品开箱.md) | [Next Chapter →](../5-BasicApplication/5.2-ApplicationUse/5.2.1-myblockly/320pi/1-myBlocklyFirstUse.md)
\ No newline at end of file
+[← Previous Page](4.1.2-产品开箱.md) | [Next Chapter →](../5-BasicApplication/5.2-ApplicationUse/5.2.1-myblockly/320pi/1-myBlocklyFirstUse.md)
diff --git a/4-FirstInstallAndUse/4.1-Pi/4.1_320_PI_firstUse.md b/4-FirstInstallAndUse/4.1-Pi/4.1_320_PI_firstUse.md
index 2c0abfd..19ccb19 100644
--- a/4-FirstInstallAndUse/4.1-Pi/4.1_320_PI_firstUse.md
+++ b/4-FirstInstallAndUse/4.1-Pi/4.1_320_PI_firstUse.md
@@ -1,20 +1,20 @@
# First installation and use
-![1](../resources/4-FirstInstallAndUse/320Pi.jpg)
+![1](../../resources/4-FirstInstallAndUse/320Pi.jpg)
- **Thank you for choosing our product**
-
+
Before we begin, we would like to sincerely thank you for choosing our product. We are committed to providing you with an excellent user experience.
- **First time use and problem handling**
-
+
This chapter will introduce in detail the initial use of the product after receiving it, and provide relevant information for solving problems to ensure that you have no worries during use.
- **Jump to each section**
- - [4.1 Product Standard List](4.1.1-产品清单.md)
- - [4.2 Product Unboxing Guide](4.1.2-产品开箱.md)
- - [4.3 Power-on Test Guide](4.1.3-开机检测.md)
+ - [4.1 Product Standard List](4.1.1-产品清单.md)
+ - [4.2 Product Unboxing Guide](4.1.2-产品开箱.md)
+ - [4.3 Power-on Test Guide](4.1.3-开机检测.md)
---
-[← Previous Chapter](../3-UserNotes/README.md) | [Next Page →](4.1.1-产品清单.md)
\ No newline at end of file
+[← Previous Chapter](../3-UserNotes/README.md) | [Next Page →](4.1.1-产品清单.md)
diff --git a/8-FilesDownload/8.1_320_PI_Files/8.4_systemInfo.md b/8-FilesDownload/8.1_320_PI_Files/8.4_systemInfo.md
index f8e683b..f7699d0 100644
--- a/8-FilesDownload/8.1_320_PI_Files/8.4_systemInfo.md
+++ b/8-FilesDownload/8.1_320_PI_Files/8.4_systemInfo.md
@@ -1,7 +1,7 @@
# Image Download
- **Download system image files**
-
+
Product
@@ -10,7 +10,6 @@
SHA256 Hash
-
myCobot 320 PI
ubuntu 18.04
@@ -25,7 +24,6 @@
-
# Image Burning
### Introduction to PI version robots
@@ -33,43 +31,41 @@
### 1.1 Start to use
- **Connect devices**
-
+
- PI version robotic arms does not need to be equipped with a PC, laptop and other equipment, and can be connected to the display for application development(**Tips⚠:Use the delivered HDMI cable to connect the monitor and use the built-in system for development**)
-
+
- Plug the HDMI cable into the HDMI port of the monitor.
-
-
+
- Plug the other end into the HDMI port of the robotic arm.
-
+
-
+
-
+
-
+
- **SD card description**
- 32G TF card,built-in Ubuntu20.04 system,had installed**myStudio**,**myBlockly**,adapted **python ROS** develope env.
-
+
- **Optional items**
- - A network (Ethernet) cable to connect your Raspberry Pi to your local network and the Internet.
+ - A network (Ethernet) cable to connect your Raspberry Pi to your local network and the Internet.
- If you aren’t using an HDMI monitor with speakers you might also need some form of sound hardware. Audio can be played through speakers or headphones by connecting them to the AV jack (not available on the Raspberry Pi 400). However speakers must have their own amplification since the output from your Raspberry Pi is not powerful enough to drive them directly.
-
- **Troubleshooting**
- - Make sure you are using a good quality power supply; we recommend using an official power supply.
+ - Make sure you are using a good quality power supply; we recommend using an official power supply.
- Make sure you are using a good quality power supply; we recommend using an official Raspberry Pi power supply.
@@ -78,12 +74,11 @@
### 1.2 Updates of the system
- **What is Mirroring**
-
- - Mirroring is a form of file saving. It refers to the fact that data saved in one disc also exists in another disc without any distortion. Mirroring files are often saved as BIN, IMG, TAO, DAO, FCD. It is similar to ZIP packages, which make a series of files into one single file according to certain formats to meet users demands. The most fundamental function of mirroring is that is can be identified by a software immediately and recorded on disc. Generally, mirroring files can be extended to cover more information such as system files. Thus, mirroring files can contain the information of even a hardware. The most typical software for creating mirroring files is Ghost, featuring recording function to save information on a disc.
-
+
+ - Mirroring is a form of file saving. It refers to the fact that data saved in one disc also exists in another disc without any distortion. Mirroring files are often saved as BIN, IMG, TAO, DAO, FCD. It is similar to ZIP packages, which make a series of files into one single file according to certain formats to meet users demands. The most fundamental function of mirroring is that is can be identified by a software immediately and recorded on disc. Generally, mirroring files can be extended to cover more information such as system files. Thus, mirroring files can contain the information of even a hardware. The most typical software for creating mirroring files is Ghost, featuring recording function to save information on a disc.
- **How to update the system**
-
+
**Step 1:** Unzip the package and a file of image style appears.
@@ -113,19 +108,19 @@
- **According to the robot to configure the system**
-
- - Press the shortcut key Ctrl+Alt+T to open the terminal,enter `python3 ~/deployment/one_click.py` to open ER-tools
-
+
+ - Press the shortcut key Ctrl+Alt+T to open the terminal,enter `python3 ~/deployment/one_click.py` to open ER-tools
+
-
+
- Select the corresponding robot model, click **一键更新全部**,wait until it done
-
+
**Note: When updating pymycobot & ros1 & ros2, the update will fail due to network instability, it is recommended to update separately**
-
+
-
+
-
+
- If you do not need to update all softwares, click the corresponding software button
-
-
\ No newline at end of file
+
+
diff --git a/8-FilesDownload/8.1_320_PI_Files/8.5_PublicityMaterial.md b/8-FilesDownload/8.1_320_PI_Files/8.5_PublicityMaterial.md
index 7fa731d..62f2b04 100644
--- a/8-FilesDownload/8.1_320_PI_Files/8.5_PublicityMaterial.md
+++ b/8-FilesDownload/8.1_320_PI_Files/8.5_PublicityMaterial.md
@@ -1,12 +1,17 @@
# Product Brochure
-| Robot | Brochure |
-| :---------: | :--------------:|
+| Robot | Brochure |
+| :------------: | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| myCobot 320 PI | [download](https://download-elephantrobotics.oss-cn-shenzhen.aliyuncs.com/Product_software/myCobot/%E4%BA%A7%E5%93%81%E7%94%BB%E5%86%8C/%E4%BA%A7%E5%93%81%E7%94%BB%E5%86%8CmyCobot320pi20221013.pdf) |
-
# Product Video
+
+
# Product Photos
+![alt text](../../resources/8-FilesDownload/8G3A1093.jpg)
+![alt text](../../resources/8-FilesDownload/8G3A1073.jpg)
+![alt text](../../resources/8-FilesDownload/8G3A1081.jpg)
diff --git a/8-FilesDownload/8.2_320_M5_Files/8.4_systemInfo.md b/8-FilesDownload/8.2_320_M5_Files/8.4_systemInfo.md
index 2a22ec7..96fdb55 100644
--- a/8-FilesDownload/8.2_320_M5_Files/8.4_systemInfo.md
+++ b/8-FilesDownload/8.2_320_M5_Files/8.4_systemInfo.md
@@ -1,34 +1,30 @@
# System Firmware
-![mystudio1](../../resources/8-FilesDownload/4-BasicApplication/4.1/mystudioview.jpg)
-
-
+![mystudio1](../../resources/8-FilesDownload/4-BasicApplication/4.1/mystudioview.png)
## 1 Reasons for Designing myStudio
-- Because myStudio is a one-step application platform for a variety of robots.
+- Because myStudio is a one-step application platform for a variety of robots.
-- Because it is easy for users to select corresponding firmwares to meet demands and acquire related tutorial data online.
+- Because it is easy for users to select corresponding firmwares to meet demands and acquire related tutorial data online.
## 2 Latest Version and Supported Systems
-- Version 3.4.1(updated on Oct 1, 2022)
+- Version 3.4.1(updated on Oct 1, 2022)
-- Supported Systems: Windows, Mac and Linux
+- Supported Systems: Windows, Mac and Linux
## 3 Functions
-- Burning and updating firmwares
-
-- Providing tutorial data, such as user manuals and tutorial video
-
-- Providing information about maintenance and repair
+- Burning and updating firmwares
+- Providing tutorial data, such as user manuals and tutorial video
-## 5 Recommended Firmwares
+- Providing information about maintenance and repair
-The optimal firmwares varies with the type of robots in use. Recommended firmwares for different types of robots are listed as follows.
+## 5 Recommended Firmwares
+The optimal firmwares varies with the type of robots in use. Recommended firmwares for different types of robots are listed as follows.
**myCobot 320(2022) series**
diff --git a/8-FilesDownload/8.2_320_M5_Files/8.5_PublicityMaterial.md b/8-FilesDownload/8.2_320_M5_Files/8.5_PublicityMaterial.md
index bed6677..26c8f15 100644
--- a/8-FilesDownload/8.2_320_M5_Files/8.5_PublicityMaterial.md
+++ b/8-FilesDownload/8.2_320_M5_Files/8.5_PublicityMaterial.md
@@ -1,12 +1,17 @@
# Product Brochure
-| Robot | Brochure |
-| :---------: | :--------------:|
+| Robot | Brochure |
+| :------------: | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| myCobot 320 M5 | [download](https://download-elephantrobotics.oss-cn-shenzhen.aliyuncs.com/Product_software/myCobot/%E4%BA%A7%E5%93%81%E7%94%BB%E5%86%8C/%E4%BA%A7%E5%93%81%E7%94%BB%E5%86%8Cmycobot320m5v20221013.pdf) |
# Product Video
-
+
+
# Product Photos
+![alt text](../../resources/8-FilesDownload/8G3A1093.jpg)
+![alt text](../../resources/8-FilesDownload/8G3A1073.jpg)
+![alt text](../../resources/8-FilesDownload/8G3A1081.jpg)
diff --git a/SUMMARY_320_M5.md b/SUMMARY_320_M5.md
index 2ab2f8f..0b88cdf 100644
--- a/SUMMARY_320_M5.md
+++ b/SUMMARY_320_M5.md
@@ -1,85 +1,91 @@
# Elephant Gitbook
-* [1 Product Introduction](1-ProductIntroduction/README.md)
- * [1.1 Design Philosophy](1-ProductIntroduction/1.1-DesignPhilosophy.md)
- * [1.2 Suitable Users](1-ProductIntroduction/1.2-SuitableUsers.md)
- * [1.3 Application Scenario](1-ProductIntroduction/1.3-ApplicationScenario.md)
- * [1.4 Accessories Tools](1-ProductIntroduction/1.4-AccessoriesTools/1.4-AccessoriesTools.md)
-
-* [2 Product Feature](2-ProductFeature/2.1_320_M5_product/README.md)
- * [2.1 Functional Parameters](2-ProductFeature/2.1_320_M5_product/2.1.1-MachineSpecification.md)
- * [2.2 Controller Parameters](2-ProductFeature/2.1_320_M5_product/2.1.2-ControlCoreParameter.md)
- * [2.3 Structural Parameters](2-ProductFeature/2.1_320_M5_product/2.1.3-MechanicalStructureParameter.md)
- * [2.4 Electronic Parameters](2-ProductFeature/2.1_320_M5_product/2.1.4-ElectricalCharacteristicParameter.md)
- * [2.5 Coordinate System](2-ProductFeature/2.1_320_M5_product/2.1.5-CoordinateSystem.md)
-
-* [3 User Notes](3-UserNotes/320_M5/REMADE.md)
- * [3.1 Safety Instructions](3-UserNotes/320_M5/3.1.1-SafetyInstruction/1-SafetyInstruction.md)
- * [3.2 Transport and Storage](3-UserNotes/320_M5/3.1.2-TransportandStorage/1-TransportandStorage.md)
- * [3.3 Maintenance and Care](/3-UserNotes/320_M5/3.1.3-MaintenanceandCare/1-MaintenanceandCare.md)
- * [3.4 FAQs](3-UserNotes/320_M5/4-FAQ/3.2_320_M5_userNotes.md)
-
-* [4 First Install and Use](4-FirstInstallAndUse/4.2-M5/4.2_320_M5_firstUse.md)
- * [4.1 Product Standard List](4-FirstInstallAndUse/4.2-M5/4.2.1-List.md)
- * [4.2 Product Unboxing Guide](4-FirstInstallAndUse/4.2-M5/4.2.2-UNbox.md)
- * [4.3 Power-on Test Guide](4-FirstInstallAndUse/4.2-M5/4.2.3-StartRobot.md)
-
-* [5 Basic Application](5-BasicApplication/README.md)
- * [5.1 miniRoboflow](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/README.md)
- * [1 Drag & Play](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/4.2.1.1-micro_controller.md)
- * [2 Joint Calibration](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/4.2.2.1-micro_controller.md)
- * [3 Computer Connect](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/4.2.3.1-micro_controller.md)
- * [4 Robot Information](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/4.2.4.1-micro_controller.md)
- * [5.2 Firmware Description](5-BasicApplication/5.3-FirmwareUse/m5/1-firmware.md)
- * [1 Burn Firmware](5-BasicApplication/5.3-FirmwareUse/m5/2-burn_firmware.md)
- * [5.3 Application Use](5-BasicApplication/README.md)
- * [1 myblockly](5-BasicApplication/5.2-ApplicationUse/5.2.1-myblockly/320m5/README.md)
- * [2 myStudio](5-BasicApplication/5.2-ApplicationUse/5.2.2-mystudio/320m5/README.md)
-
-* [6 SDK Development](6-SDKDevelopment/README.md)
- * [6.1 Python](10-ApplicationBasePython/README.md)
- * [1 Environment Building](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/1_download.md)
- * [2 Introduction to API](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/2_API.md)
- * [3 TCP/IP Control](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/3_TCPIP.md)
- * [4 Drag to teach](10-ApplicationBasePython/10.2_320_M5-ApplicationPython/4_drag.md)
- * [5 Handle Control](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_Handle_control.md)
- * [6 Videos and Codes for Display](10-ApplicationBasePython/10.2_320_M5-ApplicationPython/5_example.md)
- * [6.2 Robot Operating System 1 (ROS1) ](11-ApplicationBaseROS/11.1-ROS1/11.1.1-M5.md)
- * [1 Environment Building](11-ApplicationBaseROS/11.1-ROS1/11.1.1-320M5/11.1.1.1-环境搭建.md)
- * [2 ROS basics](11-ApplicationBaseROS/11.1-ROS1/11.1.1-320M5/11.1.1.2-ROS基础.md)
- * [3 Rviz use](11-ApplicationBaseROS/11.1-ROS1/11.1.1-320M5/11.1.1.3-rviz介绍.md)
- * [4 Basic function case](11-ApplicationBaseROS/11.1-ROS1/11.1.1-320M5/11.1.1.4-基础功能.md)
- * [6.3 Robot Operating System 2 (ROS2)](11-ApplicationBaseROS/11.2-ROS2/11.2.1-M5.md)
- * [1 Environment Building](11-ApplicationBaseROS/11.2-ROS2/11.2.1-320M5/11.2.1.1-环境搭建.md)
- * [2 ROS2 basics](11-ApplicationBaseROS/11.2-ROS2/11.2.1-320M5/11.2.1.2-ROS基础.md)
- * [3 Rviz2 use](11-ApplicationBaseROS/11.2-ROS2/11.2.1-320M5/11.2.1.3-rviz2介绍.md)
- * [4 Basic function case](11-ApplicationBaseROS/11.2-ROS2/11.2.1-320M5/11.2.1.4-基础功能.md)
- * [6.4 C Sharp (C#)](15-ApplicationBaseCSharp/15.6C-M5.md)
- * [1 Environmental construction](15-ApplicationBaseCSharp/15.1-myCobot320-M5.md)
- * [2 Mechanical control](15-ApplicationBaseCSharp/15.1.1-angle.md)
- * [3 myCobot API](15-ApplicationBaseCSharp/15.4-API.md)
- * [4 Use Cases](15-ApplicationBaseCSharp/15.5-case.md)
- * [6.5 C plus plus (C++)](12-ApplicationBaseCPlus/README.md)
- * [1 CPlus Download](12-ApplicationBaseCPlus/12.1-download.md)
- * [2 build](12-ApplicationBaseCPlus/12.2-build.md)
- * [3 API](12-ApplicationBaseCPlus/12.3-API.md)
- * [4 example](12-ApplicationBaseCPlus/12.4-example.md)
- * [6.6 Arduino](16-ArduinoEnv320/README.md)
- * [1 arduino Download](16-ArduinoEnv320/16.1-arduino_download.md)
- * [2 API](16-ArduinoEnv320/16.2-api.md)
- * [3 example](16-ArduinoEnv320/16.3-example.md)
- * [6.7 Communication Message Protocol](/6-SDKDevelopment/6.1-CommunicationDoc.md)
-
-* [7 Examples of Robots Using](7-ExamplesRobotsUsing/7.2_320_M5_Examples.md)
-
-* [8 Documents Download](8-FilesDownload/README.md)
- * [8.1 Gitbook Download](https://www.elephantrobotics.com/)
- * [8.2 Product Brochure](8-FilesDownload/8.2_320_M5_Files/8.2_productBrochure.md)
- * [8.3 Software and Source Code](8-FilesDownload/8.2_320_M5_Files/8.3_softwareSource.md)
- * [8.4 System Information](8-FilesDownload/8.2_320_M5_Files/8.4_systemInfo.md)
- * [8.5 Publicity Material](/8-FilesDownload/8.2_320_M5_Files/8.5_PublicityMaterial.md)
-
-
-* [9 About Us](9-AboutUs/README.md)
- * [9.1 Elephant Robotics](9-AboutUs/9.1_company.md)
- * [9.2 Contact us](9-AboutUs/9.2_contact.md)
\ No newline at end of file
+- [1 Product Introduction](1-ProductIntroduction/README.md)
+
+ - [1.1 Design Philosophy](1-ProductIntroduction/1.1-DesignPhilosophy.md)
+ - [1.2 Suitable Users](1-ProductIntroduction/1.2-SuitableUsers.md)
+ - [1.3 Application Scenario](1-ProductIntroduction/1.3-ApplicationScenario.md)
+ - [1.4 Accessories Tools](1-ProductIntroduction/1.4-AccessoriesTools/1.4-AccessoriesTools.md)
+
+- [2 Product Feature](2-ProductFeature/2.1_320_M5_product/README.md)
+
+ - [2.1 Functional Parameters](2-ProductFeature/2.1_320_M5_product/2.1.1-MachineSpecification.md)
+ - [2.2 Controller Parameters](2-ProductFeature/2.1_320_M5_product/2.1.2-ControlCoreParameter.md)
+ - [2.3 Structural Parameters](2-ProductFeature/2.1_320_M5_product/2.1.3-MechanicalStructureParameter.md)
+ - [2.4 Electronic Parameters](2-ProductFeature/2.1_320_M5_product/2.1.4-ElectricalCharacteristicParameter.md)
+ - [2.5 Coordinate System](2-ProductFeature/2.1_320_M5_product/2.1.5-CoordinateSystem.md)
+
+- [3 User Notes](3-UserNotes/320_M5/REMADE.md)
+
+ - [3.1 Safety Instructions](3-UserNotes/320_M5/3.1.1-SafetyInstruction/1-SafetyInstruction.md)
+ - [3.2 Transport and Storage](3-UserNotes/320_M5/3.1.2-TransportandStorage/1-TransportandStorage.md)
+ - [3.3 Maintenance and Care](/3-UserNotes/320_M5/3.1.3-MaintenanceandCare/1-MaintenanceandCare.md)
+ - [3.4 FAQs](3-UserNotes/320_M5/4-FAQ/3.2_320_M5_userNotes.md)
+
+- [4 First Install and Use](4-FirstInstallAndUse/4.2-M5/4.2_320_M5_firstUse.md)
+
+ - [4.1 Product Standard List](4-FirstInstallAndUse/4.2-M5/4.2.1-List.md)
+ - [4.2 Product Unboxing Guide](4-FirstInstallAndUse/4.2-M5/4.2.2-UNbox.md)
+ - [4.3 Power-on Test Guide](4-FirstInstallAndUse/4.2-M5/4.2.3-StartRobot.md)
+
+- [5 Basic Application](5-BasicApplication/README.md)
+
+ - [5.1 miniRoboflow](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/README.md)
+ - [1 Drag & Play](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/4.2.1.1-micro_controller.md)
+ - [2 Joint Calibration](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/4.2.2.1-micro_controller.md)
+ - [3 Computer Connect](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/4.2.3.1-micro_controller.md)
+ - [4 Robot Information](/5-BasicApplication/5.1-SystemUsageInstructions/320m5/4.2.4.1-micro_controller.md)
+ - [5.2 Firmware Description](5-BasicApplication/5.3-FirmwareUse/m5/1-firmware.md)
+ - [1 Burn Firmware](5-BasicApplication/5.3-FirmwareUse/m5/2-burn_firmware.md)
+ - [5.3 Application Use](5-BasicApplication/README.md)
+ - [1 myblockly](5-BasicApplication/5.2-ApplicationUse/5.2.1-myblockly/320m5/README.md)
+ - [2 myStudio](5-BasicApplication/5.2-ApplicationUse/5.2.2-mystudio/320m5/README.md)
+
+- [6 SDK Development](6-SDKDevelopment/README.md)
+
+ - [6.1 Python](10-ApplicationBasePython/README.md)
+ - [1 Environment Building](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/1_download.md)
+ - [2 Introduction to API](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/2_API.md)
+ - [3 TCP/IP Control](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/3_TCPIP.md)
+ - [4 Drag to teach](10-ApplicationBasePython/10.2_320_M5-ApplicationPython/4_drag.md)
+ - [5 Handle Control](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_Handle_control.md)
+ - [6 Videos and Codes for Display](10-ApplicationBasePython/10.2_320_M5-ApplicationPython/6_example.md)
+ - [6.2 Robot Operating System 1 (ROS1) ](11-ApplicationBaseROS/11.1-ROS1/11.1.1-M5.md)
+ - [1 Environment Building](11-ApplicationBaseROS/11.1-ROS1/11.1.1-320M5/11.1.1.1-环境搭建.md)
+ - [2 ROS basics](11-ApplicationBaseROS/11.1-ROS1/11.1.1-320M5/11.1.1.2-ROS基础.md)
+ - [3 Rviz use](11-ApplicationBaseROS/11.1-ROS1/11.1.1-320M5/11.1.1.3-rviz介绍.md)
+ - [4 Basic function case](11-ApplicationBaseROS/11.1-ROS1/11.1.1-320M5/11.1.1.4-基础功能.md)
+ - [6.3 Robot Operating System 2 (ROS2)](11-ApplicationBaseROS/11.2-ROS2/11.2.1-M5.md)
+ - [1 Environment Building](11-ApplicationBaseROS/11.2-ROS2/11.2.1-320M5/11.2.1.1-环境搭建.md)
+ - [2 ROS2 basics](11-ApplicationBaseROS/11.2-ROS2/11.2.1-320M5/11.2.1.2-ROS2基础.md)
+ - [3 Rviz2 use](11-ApplicationBaseROS/11.2-ROS2/11.2.1-320M5/11.2.1.3-rviz2介绍.md)
+ - [4 Basic function case](11-ApplicationBaseROS/11.2-ROS2/11.2.1-320M5/11.2.1.4-基础功能.md)
+ - [6.4 C Sharp (C#)](15-ApplicationBaseCSharp/15.6C-M5.md)
+ - [1 Environmental construction](15-ApplicationBaseCSharp/15.1-myCobot320-M5.md)
+ - [2 Mechanical control](15-ApplicationBaseCSharp/15.1.1-angle.md)
+ - [3 myCobot API](15-ApplicationBaseCSharp/15.4-API.md)
+ - [4 Use Cases](15-ApplicationBaseCSharp/15.5-case.md)
+ - [6.5 C plus plus (C++)](12-ApplicationBaseCPlus/README.md)
+ - [1 CPlus Download](12-ApplicationBaseCPlus/12.1-download.md)
+ - [2 build](12-ApplicationBaseCPlus/12.2-build.md)
+ - [3 API](12-ApplicationBaseCPlus/12.3-API.md)
+ - [4 example](12-ApplicationBaseCPlus/12.4-example.md)
+ - [6.6 Arduino](16-ArduinoEnv320/README.md)
+ - [1 arduino Download](16-ArduinoEnv320/16.1-arduino_download.md)
+ - [2 API](16-ArduinoEnv320/16.2-api.md)
+ - [3 example](16-ArduinoEnv320/16.3-example.md)
+ - [6.7 Communication Message Protocol](/6-SDKDevelopment/6.1-CommunicationDoc.md)
+
+- [7 Examples of Robots Using](7-ExamplesRobotsUsing/7.2_320_M5_Examples.md)
+
+- [8 Documents Download](8-FilesDownload/README.md)
+
+ - [8.1 Gitbook Download](https://www.elephantrobotics.com/)
+ - [8.2 Product Brochure](8-FilesDownload/8.2_320_M5_Files/8.2_productBrochure.md)
+ - [8.3 Software and Source Code](8-FilesDownload/8.2_320_M5_Files/8.3_softwareSource.md)
+ - [8.4 System Information](8-FilesDownload/8.2_320_M5_Files/8.4_systemInfo.md)
+ - [8.5 Publicity Material](/8-FilesDownload/8.2_320_M5_Files/8.5_PublicityMaterial.md)
+
+- [9 About Us](9-AboutUs/README.md)
+ - [9.1 Elephant Robotics](9-AboutUs/9.1_company.md)
+ - [9.2 Contact us](9-AboutUs/9.2_contact.md)
diff --git a/SUMMARY_320_PI.md b/SUMMARY_320_PI.md
index 0bd8961..27be39d 100644
--- a/SUMMARY_320_PI.md
+++ b/SUMMARY_320_PI.md
@@ -1,63 +1,68 @@
# Elephant Gitbook
-* [1 Product Introduction](1-ProductIntroduction/README.md)
-* [2 Product Feature](2-ProductFeature/2.2_320_PI_product/README.md)
- * [2.1 MachineSpecification](2-ProductFeature/2.2_320_PI_product/2.2.ss1-MachineSpecification.md)
- * [2.2 ControlCoreParameter](2-ProductFeature/2.2_320_PI_product/2.2.2-ControlCoreParameter.md)
- * [2.3 MechanicalStructureParameter](2-ProductFeature/2.2_320_PI_product/2.2.3-MechanicalStructureParameter.md)
- * [2.4 ElectricalCharacteristicParameter](2-ProductFeature/2.2_320_PI_product/2.2.4-ElectricalCharacteristicParameter.md)
- * [2.5 CoordinateSystem](2-ProductFeature/2.2_320_PI_product/2.2.5-CoordinateSystem.md)
-* [3 User Notes](3-UserNotes/320_PI/README.md)
-* [4 First Install and Use](4-FirstInstallAndUse/4.1_320_PI_firstUse.md)
- * [4.1 Product Standard List](4-FirstInstallAndUse/4.1.1-产品清单.md)
- * [4.2 Product Unboxing Guide](4-FirstInstallAndUse/4.1.2-产品开箱.md)
- * [4.3 Power-on Test Guide](4-FirstInstallAndUse/4.1.3-开机检测.md)
-* [5 Basic Application](5-BasicApplication/README.md)
- * [5.1 System instruction manual](5-BasicApplication/5.1-SystemUsageInstructions/320pi/5.1-SystemUsageInstructions.md)
- * [5.2 ApplicationUse](5-BasicApplication/README.md)
- * [1 myblockly](5-BasicApplication/5.2-ApplicationUse/5.2.1-myblockly/320pi/README.md)
- * [2 myStudio](5-BasicApplication/5.2-ApplicationUse/5.2.2-mystudio/320pi/README.md)
- * [5.3 FirmwareUse]()
- * [1 firmware update info](5-BasicApplication/5.3-FirmwareUse/pi/1-firmware.md)
- * [2 how to burn firmware](5-BasicApplication/5.3-FirmwareUse/pi/2-burn_firmware.md)
-* [6 SDK Development](6-SDKDevelopment/README.md)
- * [6.1 Development based on python](10-ApplicationBasePython/README.md)
- * [1 Environment Building](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/1_download.md)
- * [2 Introduction to API](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/2_API.md)
- * [3 TCP/IP Control](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/3_TCPIP.md)
- * [4 Drag to teach](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/4_drag.md)
- * [5 Videos and Codes for Display](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_example.md)
- * [6.2 Development based on ROS1](11-ApplicationBaseROS/11.1-ROS1/11.1.2-PI.md)
- * [1 Environment Building](11-ApplicationBaseROS/11.1-ROS1/11.1.2-320PI/11.1.2.1-环境搭建.md)
- * [2 ROS basics](11-ApplicationBaseROS/11.1-ROS1/11.1.2-320PI/11.1.2.2-ROS基础.md)
- * [3 Rviz use](11-ApplicationBaseROS/11.1-ROS1/11.1.2-320PI/11.1.2.3-rviz介绍.md)
- * [4 Basic function case](11-ApplicationBaseROS/11.1-ROS1/11.1.2-320PI/11.1.2.4-基础功能.md)
-
-
- * [6.3 Development based on ROS2](11-ApplicationBaseROS/11.2-ROS2/11.2.2-PI.md)
- * [1 Environment Building](11-ApplicationBaseROS/11.2-ROS2/11.2.2-320PI/11.2.2.1-环境搭建.md)
- * [2 ROS2 basics](11-ApplicationBaseROS/11.2-ROS2/11.2.2-320PI/11.2.2.2-ROS2基础.md)
- * [3 Rviz2 use](11-ApplicationBaseROS/11.2-ROS2/11.2.2-320PI/11.2.2.3-rviz2介绍.md)
- * [4 Basic function case](11-ApplicationBaseROS/11.2-ROS2/11.2.2-320PI/11.2.2.4-基础功能.md)
-* [6.4 Development based on C# ](15-ApplicationBaseCSharp/15.6C-PI.md)
- * [1 Environmental construction](15-ApplicationBaseCSharp/15.2-myCobot320-PI.md)
- * [2 Mechanical control](15-ApplicationBaseCSharp/15.2.1-angle.md)
- * [3 myCobot API](15-ApplicationBaseCSharp/15.4.1-API-PI.md)
- * [4 Use Cases](15-ApplicationBaseCSharp/15.5.1-case-PI.md)
-
-* [7 Examples of Robots Using](7-ExamplesRobotsUsing/7.1_320_PI_Examples.md)
-* [8 Documents Download](8-FilesDownload/README.md)
- * [8.1 Gitbook Download](https://www.elephantrobotics.com/)
- * [8.2 Product Brochure](8-FilesDownload/8.1_320_PI_Files/8.2_productBrochure.md)
- * [8.3 Software and Source Code](8-FilesDownload/8.1_320_PI_Files/8.3_softwareSource.md)
- * [8.4 System Information](8-FilesDownload/8.1_320_PI_Files/8.4_systemInfo.md)
- * [8.4.1 System image](8-FilesDownload/8.4.1_systemImage.md)
- * [8.4.2 Image burning](8-FilesDownload/8.4.2_imageBurning.md)
- * [8.5 Publicity Material](8-FilesDownload/8.1_320_PI_Files/8.5_PublicityMaterial.md)
- * [8.5.1 Product Brochure]()
- * [8.5.2 Product Video](8-FilesDownload/1_productVideos.md)
- * [8.5.3 Product Photos]()
-* [9 About Us]()
- * [9.1 Elephant Robotics](9-AboutUs/9.1_company.md)
- * [9.2 Contact us](9-AboutUs/9.2_contact.md)
+- [1 Product Introduction](1-ProductIntroduction/README.md)
+- [2 Product Feature](2-ProductFeature/2.2_320_PI_product/README.md)
+ - [2.1 MachineSpecification](2-ProductFeature/2.2_320_PI_product/2.2.ss1-MachineSpecification.md)
+ - [2.2 ControlCoreParameter](2-ProductFeature/2.2_320_PI_product/2.2.2-ControlCoreParameter.md)
+ - [2.3 MechanicalStructureParameter](2-ProductFeature/2.2_320_PI_product/2.2.3-MechanicalStructureParameter.md)
+ - [2.4 ElectricalCharacteristicParameter](2-ProductFeature/2.2_320_PI_product/2.2.4-ElectricalCharacteristicParameter.md)
+ - [2.5 CoordinateSystem](2-ProductFeature/2.2_320_PI_product/2.2.5-CoordinateSystem.md)
+- [3 User Notes](3-UserNotes/320_PI/README.md)
+- [4 First Install and Use](4-FirstInstallAndUse/4.1-PI/4.1_320_PI_firstUse.md)
+ - [4.1 Product Standard List](4-FirstInstallAndUse/4.1-PI/4.1.1-产品清单.md)
+ - [4.2 Product Unboxing Guide](4-FirstInstallAndUse/4.1-PI/4.1.2-产品开箱.md)
+ - [4.3 Power-on Test Guide](4-FirstInstallAndUse/4.1-PI/4.1.3-开机检测.md)
+
+- [5 Basic Application](5-BasicApplication/README.md)
+ - [5.1 System instruction manual](5-BasicApplication/5.1-SystemUsageInstructions/320pi/5.1-SystemUsageInstructions.md)
+ - [5.2 ApplicationUse](5-BasicApplication/README.md)
+ - [1 myblockly](5-BasicApplication/5.2-ApplicationUse/5.2.1-myblockly/320pi/README.md)
+ - [2 myStudio](5-BasicApplication/5.2-ApplicationUse/5.2.2-mystudio/320pi/README.md)
+ - [5.3 FirmwareUse]()
+ - [1 firmware update info](5-BasicApplication/5.3-FirmwareUse/pi/1-firmware.md)
+ - [2 how to burn firmware](5-BasicApplication/5.3-FirmwareUse/pi/2-burn_firmware.md)
+- [6 SDK Development](6-SDKDevelopment/README.md)
+
+ - [6.1 Development based on python](10-ApplicationBasePython/README.md)
+ - [1 Environment Building](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/1_download.md)
+ - [2 Introduction to API](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/2_API.md)
+ - [3 TCP/IP Control](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/3_TCPIP.md)
+ - [4 Drag to teach](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/4_drag.md)
+ - [5 Handle Control](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/5_Handle_control.md)
+ - [6 Videos and Codes for Display](10-ApplicationBasePython/10.1_320_PI-ApplicationPython/6_example.md)
+ - [6.2 Development based on ROS1](11-ApplicationBaseROS/11.1-ROS1/11.1.2-PI.md)
+
+ - [1 Environment Building](11-ApplicationBaseROS/11.1-ROS1/11.1.2-320PI/11.1.2.1-环境搭建.md)
+ - [2 ROS basics](11-ApplicationBaseROS/11.1-ROS1/11.1.2-320PI/11.1.2.2-ROS基础.md)
+ - [3 Rviz use](11-ApplicationBaseROS/11.1-ROS1/11.1.2-320PI/11.1.2.3-rviz介绍.md)
+ - [4 Basic function case](11-ApplicationBaseROS/11.1-ROS1/11.1.2-320PI/11.1.2.4-基础功能.md)
+
+ - [6.3 Development based on ROS2](11-ApplicationBaseROS/11.2-ROS2/11.2.2-PI.md)
+ - [1 Environment Building](11-ApplicationBaseROS/11.2-ROS2/11.2.2-320PI/11.2.2.1-环境搭建.md)
+ - [2 ROS2 basics](11-ApplicationBaseROS/11.2-ROS2/11.2.2-320PI/11.2.2.2-ROS2基础.md)
+ - [3 Rviz2 use](11-ApplicationBaseROS/11.2-ROS2/11.2.2-320PI/11.2.2.3-rviz2介绍.md)
+ - [4 Basic function case](11-ApplicationBaseROS/11.2-ROS2/11.2.2-320PI/11.2.2.4-基础功能.md)
+
+- [6.4 Development based on C# ](15-ApplicationBaseCSharp/15.6C-PI.md)
+
+ - [1 Environmental construction](15-ApplicationBaseCSharp/15.2-myCobot320-PI.md)
+ - [2 Mechanical control](15-ApplicationBaseCSharp/15.2.1-angle.md)
+ - [3 myCobot API](15-ApplicationBaseCSharp/15.4.1-API-PI.md)
+ - [4 Use Cases](15-ApplicationBaseCSharp/15.5.1-case-PI.md)
+
+- [7 Examples of Robots Using](7-ExamplesRobotsUsing/7.1_320_PI_Examples.md)
+- [8 Documents Download](8-FilesDownload/README.md)
+ - [8.1 Gitbook Download](https://www.elephantrobotics.com/)
+ - [8.2 Product Brochure](8-FilesDownload/8.1_320_PI_Files/8.2_productBrochure.md)
+ - [8.3 Software and Source Code](8-FilesDownload/8.1_320_PI_Files/8.3_softwareSource.md)
+ - [8.4 System Information](8-FilesDownload/8.1_320_PI_Files/8.4_systemInfo.md)
+ - [8.4.1 System image](8-FilesDownload/8.4.1_systemImage.md)
+ - [8.4.2 Image burning](8-FilesDownload/8.4.2_imageBurning.md)
+ - [8.5 Publicity Material](8-FilesDownload/8.1_320_PI_Files/8.5_PublicityMaterial.md)
+ - [8.5.1 Product Brochure]()
+ - [8.5.2 Product Video](8-FilesDownload/1_productVideos.md)
+ - [8.5.3 Product Photos]()
+- [9 About Us]()
+ - [9.1 Elephant Robotics](9-AboutUs/9.1_company.md)
+ - [9.2 Contact us](9-AboutUs/9.2_contact.md)
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2521.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2521.png"
new file mode 100644
index 0000000..5890474
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2521.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2522.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2522.jpg"
new file mode 100644
index 0000000..a054d37
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2522.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2523.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2523.jpg"
new file mode 100644
index 0000000..8af1e77
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/1.4.1\350\207\252\351\200\202\345\272\224\345\244\271\347\210\2523.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2501.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2501.png"
new file mode 100644
index 0000000..af27988
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2501.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\25010.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\25010.png"
new file mode 100644
index 0000000..9db83fe
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\25010.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\25011.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\25011.png"
new file mode 100644
index 0000000..c1103af
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\25011.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2502.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2502.png"
new file mode 100644
index 0000000..4e54a88
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2502.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2503.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2503.png"
new file mode 100644
index 0000000..b25e2ae
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2503.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2504.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2504.png"
new file mode 100644
index 0000000..77c0aaf
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2504.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2505.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2505.png"
new file mode 100644
index 0000000..e7dde90
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2505.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2506.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2506.png"
new file mode 100644
index 0000000..8ee4e7f
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2506.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2507.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2507.png"
new file mode 100644
index 0000000..6f47a97
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2507.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2508.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2508.png"
new file mode 100644
index 0000000..0703adb
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2508.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2509.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2509.png"
new file mode 100644
index 0000000..db9698f
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/myblockly\344\275\277\347\224\2509.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2501.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2501.png"
new file mode 100644
index 0000000..3c9e467
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2501.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2502.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2502.png"
new file mode 100644
index 0000000..5248ab6
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2502.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2503.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2503.png"
new file mode 100644
index 0000000..c3fba6c
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2503.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2504.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2504.png"
new file mode 100644
index 0000000..f972544
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2504.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2505.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2505.png"
new file mode 100644
index 0000000..babb60a
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/python\344\275\277\347\224\2505.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\345\256\211\350\243\2051.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\345\256\211\350\243\2051.png"
new file mode 100644
index 0000000..547ea55
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\345\256\211\350\243\2051.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\345\256\211\350\243\2052.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\345\256\211\350\243\2052.png"
new file mode 100644
index 0000000..449ac22
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\345\256\211\350\243\2052.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png"
new file mode 100644
index 0000000..305890f
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\347\224\265\346\260\224\350\277\236\346\216\2452.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\347\224\265\346\260\224\350\277\236\346\216\2452.png"
new file mode 100644
index 0000000..5420e93
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/1-AdaptiveGripper/\347\224\265\346\260\224\350\277\236\346\216\2452.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2051.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2051.jpg"
new file mode 100644
index 0000000..6895146
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2051.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2052.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2052.jpg"
new file mode 100644
index 0000000..9db078b
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2052.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2053.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2053.jpg"
new file mode 100644
index 0000000..14ecbc9
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\345\256\211\350\243\2053.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\347\211\251\346\226\231.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\347\211\251\346\226\231.jpg"
new file mode 100644
index 0000000..47ccb0f
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\347\211\251\346\226\231.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\347\224\265\346\260\224\350\277\236\346\216\245.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\347\224\265\346\260\224\350\277\236\346\216\245.jpg"
new file mode 100644
index 0000000..3cf8c59
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/2-ElectricGripper/\347\224\265\346\260\224\350\277\236\346\216\245.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2010.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2010.png"
new file mode 100644
index 0000000..af27988
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2010.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2011.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2011.png"
new file mode 100644
index 0000000..fab3b26
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2011.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2012.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2012.png"
new file mode 100644
index 0000000..06c7d83
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2012.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2013.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2013.png"
new file mode 100644
index 0000000..527ad1c
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2013.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2014.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2014.png"
new file mode 100644
index 0000000..f14cfff
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2014.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2015.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2015.png"
new file mode 100644
index 0000000..1b2ce99
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2015.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2016.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2016.png"
new file mode 100644
index 0000000..a8b78af
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/myblockly\351\252\214\350\257\2016.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2501.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2501.png"
new file mode 100644
index 0000000..3c9e467
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2501.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2502.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2502.png"
new file mode 100644
index 0000000..05416db
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2502.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2503.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2503.png"
new file mode 100644
index 0000000..f88c61b
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2503.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2504.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2504.png"
new file mode 100644
index 0000000..f972544
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2504.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2505.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2505.png"
new file mode 100644
index 0000000..2cb770b
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/python\344\275\277\347\224\2505.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png"
new file mode 100644
index 0000000..06205ac
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272.png"
new file mode 100644
index 0000000..4630daa
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png"
new file mode 100644
index 0000000..bc2de3a
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png"
new file mode 100644
index 0000000..866fd6f
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2051.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2051.png"
new file mode 100644
index 0000000..6d034a2
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2051.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2052.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2052.png"
new file mode 100644
index 0000000..0a1290b
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2052.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2053.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2053.png"
new file mode 100644
index 0000000..f1e8d9f
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2053.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2054.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2054.png"
new file mode 100644
index 0000000..fa53f54
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2054.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2055.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2055.png"
new file mode 100644
index 0000000..ccc4242
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2055.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2056.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2056.png"
new file mode 100644
index 0000000..6eaae74
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/3-PneumaticGripper/\347\273\223\346\236\204\345\256\211\350\243\2056.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2010.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2010.png"
new file mode 100644
index 0000000..af27988
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2010.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2011.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2011.png"
new file mode 100644
index 0000000..fab3b26
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2011.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2012.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2012.png"
new file mode 100644
index 0000000..06c7d83
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2012.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2013.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2013.png"
new file mode 100644
index 0000000..91bf5da
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2013.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2014.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2014.png"
new file mode 100644
index 0000000..f14cfff
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2014.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2015.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2015.png"
new file mode 100644
index 0000000..a77337e
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2015.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2016.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2016.png"
new file mode 100644
index 0000000..9d076d2
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/myblockly\351\252\214\350\257\2016.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2501.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2501.png"
new file mode 100644
index 0000000..3c9e467
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2501.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2502.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2502.png"
new file mode 100644
index 0000000..3272e4e
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2502.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2503.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2503.png"
new file mode 100644
index 0000000..f5d7cf5
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2503.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2504.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2504.png"
new file mode 100644
index 0000000..f972544
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2504.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2505.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2505.png"
new file mode 100644
index 0000000..f3b3e56
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/python\344\275\277\347\224\2505.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png"
new file mode 100644
index 0000000..029714e
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\224\265\346\260\224\350\277\236\346\216\2451.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\224\265\346\260\224\350\277\236\346\216\2452.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\224\265\346\260\224\350\277\236\346\216\2452.png"
new file mode 100644
index 0000000..cf596e0
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\224\265\346\260\224\350\277\236\346\216\2452.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272.png"
new file mode 100644
index 0000000..4630daa
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png"
new file mode 100644
index 0000000..bc2de3a
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png"
new file mode 100644
index 0000000..866fd6f
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2051.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2051.png"
new file mode 100644
index 0000000..1b894d8
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2051.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2052.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2052.png"
new file mode 100644
index 0000000..1337727
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2052.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2053.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2053.png"
new file mode 100644
index 0000000..293f27e
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2053.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2054.png" "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2054.png"
new file mode 100644
index 0000000..005f1bb
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.1-Gripper/4-FlexibleGripper/\347\273\223\346\236\204\345\256\211\350\243\2054.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2010.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2010.png"
new file mode 100644
index 0000000..af27988
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2010.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2011.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2011.png"
new file mode 100644
index 0000000..fab3b26
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2011.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2012.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2012.png"
new file mode 100644
index 0000000..06c7d83
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2012.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2013.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2013.png"
new file mode 100644
index 0000000..527ad1c
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2013.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2014.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2014.png"
new file mode 100644
index 0000000..f14cfff
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2014.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2015.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2015.png"
new file mode 100644
index 0000000..1b2ce99
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2015.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2016.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2016.png"
new file mode 100644
index 0000000..a8b78af
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/myblockly\351\252\214\350\257\2016.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2501.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2501.png"
new file mode 100644
index 0000000..3c9e467
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2501.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2502.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2502.png"
new file mode 100644
index 0000000..7c495f7
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2502.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2503.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2503.png"
new file mode 100644
index 0000000..d7b5058
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2503.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2504.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2504.png"
new file mode 100644
index 0000000..f972544
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2504.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2505.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2505.png"
new file mode 100644
index 0000000..79c2fcb
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/python\344\275\277\347\224\2505.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\224\265\346\260\224\350\277\236\346\216\2451.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\224\265\346\260\224\350\277\236\346\216\2451.png"
new file mode 100644
index 0000000..abd206e
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\224\265\346\260\224\350\277\236\346\216\2451.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272.png"
new file mode 100644
index 0000000..4630daa
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png"
new file mode 100644
index 0000000..bc2de3a
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272\345\256\211\350\243\2051.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png"
new file mode 100644
index 0000000..866fd6f
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\251\272\345\216\213\346\234\272\346\214\211\351\222\256.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2051.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2051.png"
new file mode 100644
index 0000000..6d034a2
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2051.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2052.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2052.png"
new file mode 100644
index 0000000..3cbc485
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2052.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2053.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2053.png"
new file mode 100644
index 0000000..0ef06d4
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2053.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2054.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2054.png"
new file mode 100644
index 0000000..3bb9cf8
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2054.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2055.png" "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2055.png"
new file mode 100644
index 0000000..2b6459c
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.2-PumpCup/\347\273\223\346\236\204\345\256\211\350\243\2055.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2501.png" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2501.png"
new file mode 100644
index 0000000..3c9e467
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2501.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2502.png" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2502.png"
new file mode 100644
index 0000000..486b98b
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2502.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2503.png" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2503.png"
new file mode 100644
index 0000000..d1af374
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2503.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2504.png" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2504.png"
new file mode 100644
index 0000000..f972544
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2504.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2505.png" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2505.png"
new file mode 100644
index 0000000..19adc6e
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2505.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2506.png" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2506.png"
new file mode 100644
index 0000000..4276997
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2506.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2507-\346\237\245\350\257\242\350\256\276\345\244\207\345\217\267.png" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2507-\346\237\245\350\257\242\350\256\276\345\244\207\345\217\267.png"
new file mode 100644
index 0000000..f2d60ed
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/python\344\275\277\347\224\2507-\346\237\245\350\257\242\350\256\276\345\244\207\345\217\267.png" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\345\256\211\350\243\205.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\345\256\211\350\243\205.jpg"
new file mode 100644
index 0000000..af3d406
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\345\256\211\350\243\205.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\346\221\204\345\203\217\345\244\264\346\250\241\345\235\227.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\346\221\204\345\203\217\345\244\264\346\250\241\345\235\227.jpg"
new file mode 100644
index 0000000..50eeb63
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\346\221\204\345\203\217\345\244\264\346\250\241\345\235\227.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\347\211\251\346\226\231.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\347\211\251\346\226\231.jpg"
new file mode 100644
index 0000000..1751f66
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\347\211\251\346\226\231.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\347\224\265\346\260\224\350\277\236\346\216\245.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\347\224\265\346\260\224\350\277\236\346\216\245.jpg"
new file mode 100644
index 0000000..f9a6abf
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.3-Camera/\347\224\265\346\260\224\350\277\236\346\216\245.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.4-Other/1-PenHoldPro/\345\256\211\350\243\2051.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.4-Other/1-PenHoldPro/\345\256\211\350\243\2051.jpg"
new file mode 100644
index 0000000..d26fd64
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.4-Other/1-PenHoldPro/\345\256\211\350\243\2051.jpg" differ
diff --git "a/resources/1-ProductIntroduction/1.4/1.4.4-Other/1-PenHoldPro/\345\256\211\350\243\2052.jpg" "b/resources/1-ProductIntroduction/1.4/1.4.4-Other/1-PenHoldPro/\345\256\211\350\243\2052.jpg"
new file mode 100644
index 0000000..844b65a
Binary files /dev/null and "b/resources/1-ProductIntroduction/1.4/1.4.4-Other/1-PenHoldPro/\345\256\211\350\243\2052.jpg" differ
diff --git "a/resources/8-FilesDownload/0523-320-\346\234\272\346\242\260\350\207\202-\350\213\261\346\226\207.m4v" "b/resources/8-FilesDownload/0523-320-\346\234\272\346\242\260\350\207\202-\350\213\261\346\226\207.m4v"
new file mode 100644
index 0000000..9685363
Binary files /dev/null and "b/resources/8-FilesDownload/0523-320-\346\234\272\346\242\260\350\207\202-\350\213\261\346\226\207.m4v" differ
diff --git a/resources/8-FilesDownload/4-BasicApplication/4.1/mystudioview.jpg b/resources/8-FilesDownload/4-BasicApplication/4.1/mystudioview.jpg
deleted file mode 100644
index dcf7a6d..0000000
Binary files a/resources/8-FilesDownload/4-BasicApplication/4.1/mystudioview.jpg and /dev/null differ
diff --git a/resources/8-FilesDownload/4-BasicApplication/4.1/mystudioview.png b/resources/8-FilesDownload/4-BasicApplication/4.1/mystudioview.png
new file mode 100644
index 0000000..83e3b0d
Binary files /dev/null and b/resources/8-FilesDownload/4-BasicApplication/4.1/mystudioview.png differ
diff --git a/resources/8-FilesDownload/8G3A1073.jpg b/resources/8-FilesDownload/8G3A1073.jpg
new file mode 100644
index 0000000..1a90a32
Binary files /dev/null and b/resources/8-FilesDownload/8G3A1073.jpg differ
diff --git a/resources/8-FilesDownload/8G3A1081.jpg b/resources/8-FilesDownload/8G3A1081.jpg
new file mode 100644
index 0000000..ca23756
Binary files /dev/null and b/resources/8-FilesDownload/8G3A1081.jpg differ
diff --git a/resources/8-FilesDownload/8G3A1093.jpg b/resources/8-FilesDownload/8G3A1093.jpg
new file mode 100644
index 0000000..012a5fb
Binary files /dev/null and b/resources/8-FilesDownload/8G3A1093.jpg differ