Skip to content

Commit

Permalink
Merge pull request #1725 from ROBOTIS-GIT/feature-proofreading
Browse files Browse the repository at this point in the history
Compilation of a variety of proofreading and similar QOL changes to emanual
  • Loading branch information
ROBOTIS-Yang authored Dec 19, 2024
2 parents 0ad46ba + 07d929f commit f9dea50
Show file tree
Hide file tree
Showing 76 changed files with 1,530 additions and 601 deletions.
2 changes: 1 addition & 1 deletion _data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -363,7 +363,7 @@ main:
- title: "*ROBOTIS OP2"
titlekr: "*로보티즈 OP2"
url: /platform/op2/getting_started/
- title: "*OBOTIS OP3"
- title: "*ROBOTIS OP3"
titlekr: "*로보티즈 OP3"
url: /platform/op3/introduction/
- title: "*THORMANG3"
Expand Down
3 changes: 1 addition & 2 deletions _includes/en/dxl/2x_intro.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
{% if page.ref=='2xc430-w250' %}**2XC430-W250**{% else %}**2XL430-W250**{% endif %} is a ground breaking DYNAMIXEL that allows to control **2 axis(2 DOF)** with a single module. In order to control 2 axis at the same time, each axle should be assigned with different ID while sharing an identical [Baud rate(8)](#baud-rate). Since the Control Table for each axle is separated except the Baudrate, {% if page.ref=='2xc430-w250' %}**2XC430-W250**{% else %}**2XL430-W250**{% endif %} can be applied in various applications.
The usage is identical to other DYNAMIXEL's, but be aware that Firmware Recovery will reset both axis to factory settings.
The DYNAMIXEL {% if page.ref=='2xc430-w250' %}**2XC430-W250**{% else %}**2XL430-W250**{% endif %} is a ground breaking DYNAMIXEL featuring **2 integrated movement axes** within a single module. Each axis has it's own dedicated Control Table allowing the {% if page.ref=='2xc430-w250' %}**2XC430-W250**{% else %}**2XL430-W250**{% endif %} to control them as if they were two independent DYNAMIXEL servos.
{: .notice--success}
4 changes: 2 additions & 2 deletions _includes/en/dxl/assembly/xl430_frame_assembly.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,10 @@ DYNAMIXEL hinge frames are assembled by attaching them to the idler and output h
**NOTE**: Information regarding size and depth of DYNAMIXEL servo mounting points can be found in the [Drawings](#drawings) section of the product's eManual page.
{: .notice}

**NOTE**: An idler horn is required for the installation of DYNAMIXEL hinge frames. See the [Idler Horn Assembly] instructions for more information.
**NOTE**: An idler horn is required for the installation of DYNAMIXEL hinge frames. See the [Idler Horn Assembly](#idler-horn-assembly) instructions for more information.
{: .notice}

**WARNING**: During hinge assembly, ensure that all screws are the proper length before installation. See [Frame and Horn Assembly Precautions] for more information.
**WARNING**: During hinge assembly, ensure that all screws are the proper length before installation. See [Frame and Horn Assembly Precautions](#frame-and-horn-assembly-precautions) for more information.
{: .notice--warning}

### [Side Frame Assembly](#side-frame-assembly)
Expand Down
2 changes: 1 addition & 1 deletion _includes/en/dxl/assembly/xl_xc430_horn_assembly.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@

### [Idler Horn Assembly](#idler-horn-assembly)

An idler horn is required in addition to a DYNAMIXEL's output horn for installation of hinge frame accessories.
An idler horn is required for installation of hinge frame accessories.

Additionally, the hollow shaft of an installed idler horn provides a neat cable wiring solution.

Expand Down
4 changes: 4 additions & 0 deletions _includes/en/dxl/common_link.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
[ID(7)]: #id7
[Baud Rate(8)]: #baud-rate8
[Return Delay time(9)]: #return-delay-time-9
[Drive Mode(10)]: #drive-mode10
[Operating Mode(11)]: #operating-mode11
[Homing Offset(13)]: #homing-offset13
[Protocol Type(13)]: #protocol-type13
Expand All @@ -17,6 +18,8 @@
[Moving Threshold(24)]: #moving-threshold24
[Acceleration Limit(26)]: #acceleration-limit26
[Goal Position(30)]: #goal-position-30
[Temperature Limit (31)]: #temperature-limit31
[Max/Min Voltage Limit(32, 34)]: #minmax-voltage-limit32-34
[Torque Limit(34)]: #torque-limit-34
[PWM Limit(36)]: #pwm-limit36
[Current Limit(38)]: #current-limit38
Expand All @@ -36,6 +39,7 @@
[Profile Velocity(112)]: #profile-velocity112
[Goal Position(116)]: #goal-position116
[Moving(122)]: #moving122
[Moving Status(123)]: #moving-status123
[Present PWM(124)]: #present-pwm124
[Present Current(126)]: #present-current126
[Present load(126)]: #present-load126
Expand Down
4 changes: 2 additions & 2 deletions _includes/en/dxl/control_table.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# [Control Table](#control-table)
The Control Table is a structure of data implemented in the device. Users can read a specific Data to get status of the device with Read Instruction Packets, and modify Data as well to control the device with WRITE Instruction Packets.
The Control Table is a data structure used by DYNAMIXEL actuators to manage the state of the device. Users can read data registers to get information about the status of the device with Read Instruction Packets, and modify data registers to control the device with Write Instruction Packets.

{% assign protocol= "DYNAMIXEL Protocol 2.0" %}
{% assign data_size= "1 ~ 4" %}

{% if page.product_group=='dxl_p' %}
**WARNING** : DYNAMIXEL-P use different Control Table from DYNAMIXEL PRO series. Please pay attention when replacing DYNAMIXEL PRO with DYNAMIXEL-P.
**WARNING** : DYNAMIXEL-P servos use a different Control Table layout than DYNAMIXEL PRO series actuators. Please verify the control table addresses used in your control program attention when transitioning from DYNAMIXEL PRO to DYNAMIXEL-P.
{: .notice--warning}
{% assign torque_enable= "512" %}

Expand Down
12 changes: 6 additions & 6 deletions _includes/en/dxl/led_policy.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{% capture dxl_led_policy %}
**NOTE** : Check the status of DYNAMIXEL by the counts of flickering LED.
**NOTE** : The LED is also used to indicate various statuses of the DYNAMIXEL actuator, refer to the following chart for more information.

| Status | LED Representation |
|:----------------:|:--------------------:|
| Booting | LED flickers once |
| Factory Reset | LED flickers 4 times |
| Alarm | LED flickers |{% if page.product_group=='dxl_x540' or page.ref=='mx-106-2' or page.ref=='mx-106' %}
| Slave Mode | LED flickers 3 times |{% else %}{% endif %}
| Boot Mode | LED On |
| Booting | LED blinks once |
| Factory Reset | LED blinks quickly 4 times |
| Shutdown Error | LED blinks continuously |{% if page.product_group=='dxl_x540' or page.ref=='mx-106-2' or page.ref=='mx-106' %}
| Follower Mode | LED blinks quickly 3 times |{% else %}{% endif %}
| Bootloader Mode | LED on continuously |

{% endcapture %}
<div class="notice">{{ dxl_led_policy | markdownify }}</div>
4 changes: 2 additions & 2 deletions _includes/en/dxl/note_performance_graph.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@

Stall torque is the maximum momentary torque output the servo is capable of, an is generally how RC servos are measured. The Performance graph, or N-T curve, from the above graph is measured under conditions simulating a gradually increasing load.

The actual real world performance of the servo will generally be closer to the performance graph measurements, not the rated stall torque. For this reason, the performance graph is broadly used in the industrial field.

Generally, the Maximum Torque shown through Performance Graph testing is less than the maximum Stall Torque.

The actual real world performance of the servo will generally be closer to the performance graph measurements, not the rated stall torque.

{% endcapture %}

<div class="notice">{{ perform_graph_01 | markdownify }}</div>
Expand Down
40 changes: 19 additions & 21 deletions _includes/en/dxl/profile_description.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
The Profile is an acceleration/deceleration control method to reduce vibration, noise and load of the motor by controlling dramatically changing velocity and acceleration.
It is also called Velocity Profile as it controls acceleration and deceleration based on velocity.
DYNAMIXEL provides 3 different types of Profile. The following explains 3 Profiles.
Profiles are usually selected by the combination of [Profile Velocity(112)] and [Profile Acceleration(108)].

![](/assets/images/dxl/x/profile_types.png)

When given [Goal Position(116)], DYNAMIXEL's profile creates desired velocity trajectory based on present velocity(initial velocity of the Profile).
When DYNAMIXEL receives updated desired position from a new [Goal Position(116)] while it is moving toward the previous [Goal Position(116)], velocity smoothly varies for the new desired velocity trajectory.
Maintaining velocity continuity while updating desired velocity trajectory is called Velocity Override.
For a simple calculation, let's assume that the initial velocity of the Profile is '0'.
The following explains how Profile processes [Goal Position(116)] instruction in Position Control mode, Extended Position Control Mode{% if page.product_group!='dxl_xl430' %}, Current-based Position Control Mode{% else %}{% endif %}.

1. An Instruction from the user is transmitted via DYNAMIXEL bus, then registered to [Goal Position(116)] (If Velocity-based Profile is selected).
2. Acceleration time(t1) is calculated from [Profile Velocity(112)] and [Profile Acceleration(108)].
3. Types of Profile is decided based on [Profile Velocity(112)], [Profile Acceleration(108)] and total travel distance(ΔPos, the distance difference between desired position and present position).
4. Selected Profile type is stored at [Moving Status(123)].
5. DYNAMIXEL is driven by the calculated desired trajectory from Profile.
6. desired velocity trajectory and desired position trajectory from Profile are stored at [Velocity Trajectory(136)] and [Position Trajectory(140)] respectively.
The Profile is a generated movement trajectory intended to reduce vibration, noise and load of the motor by dynamically changing velocity and acceleration during movements.
DYNAMIXEL servos provide 3 different types of Profile:
![](/assets/images/dxl/x/profile_types.png)

Profiles are usually selected according to the combination of [Profile Velocity(112)] and [Profile Acceleration(108)].


When given a new [Goal Position(116)], the DYNAMIXEL's profile settings creates a desired velocity trajectory based on present movement velocity.
When a DYNAMIXEL receives an updated [Goal Position(116)] while it is moving toward the previous [Goal Position(116)], velocity is adjusted smoothly to match the new desired velocity trajectory.
The following explains how the Profile processes [Goal Position(116)] instructions in {% if page.product_group!='dxl_xl430' %}Current-based Position Control Mode,{% else %}{% endif %} Position Control mode, and Extended Position Control Mode.

1. An Instruction from the user is transmitted via the DYNAMIXEL bus, then registered to [Goal Position(116)] (If Velocity-based Profile is selected).
2. Acceleration time(t1) is calculated based on [Profile Velocity(112)] and [Profile Acceleration(108)].
3. The type of Profile is decided based on [Profile Velocity(112)], [Profile Acceleration(108)] and total travel distance(ΔPos, the distance difference between desired position and present position).
4. The selected Profile type is stored at [Moving Status(123)].
5. The DYNAMIXEL is driven by the calculated desired trajectory from the Profile.
6. The desired velocity trajectory and desired position trajectory from the Profile are stored at [Velocity Trajectory(136)] and [Position Trajectory(140)] respectively.

| Condition | Types of Profile |
|:---------------------------------------------------------|:-----------------------------------------|
Expand All @@ -27,7 +25,7 @@ The following explains how Profile processes [Goal Position(116)] instruction in
![](/assets/images/dxl/x/velocity_profile.png)

{% capture group_notice_03 %}
**NOTE** : Velocity Control Mode only uses [Profile Acceleration(108)](#profile-acceleration108). Step and Trapezoidal Profiles are supported. Velocity Override are supported as well. Acceleration time(t1) can be calculated as below equation.
**NOTE** : Velocity Control Mode only uses [Profile Acceleration(108)](#profile-acceleration108). Step and Trapezoidal Profiles are supported. Acceleration time(t1) can be calculated according to the equation below.

**Velocity-based Profile** : t<sub>1</sub> = 64 * {[Profile Velocity(112)](#profile-velocity112) / [Profile Acceleration(108)](#profile-acceleration108)}
**Time-based Profile** : t<sub>1</sub> = [Profile Acceleration(108)](#profile-acceleration108)
Expand All @@ -38,7 +36,7 @@ The following explains how Profile processes [Goal Position(116)] instruction in
</div>

{% capture group_notice_04 %}
**NOTE** : If Time-based Profile is selected, [Profile Velocity(112)](#profile-velocity112) is used to set the time span of the Profile(t<sub>3</sub>), while [Profile Acceleration(108)](#profile-acceleration108) sets accelerating time(t<sub>1</sub>) in millisecond[ms]. [Profile Acceleration(108)](#profile-acceleration108) will not exceed 50% of [Profile Velocity(112)](#profile-velocity112) value.
**NOTE** : If Time-based Profile is selected, [Profile Velocity(112)](#profile-velocity112) is used to set the time span of the Profile(t<sub>3</sub>), while [Profile Acceleration(108)](#profile-acceleration108) sets allowed accelerating time(t<sub>1</sub>) in millisecond[ms]. [Profile Acceleration(108)](#profile-acceleration108) will not exceed 50% of the configured [Profile Velocity(112)](#profile-velocity112) value.
{% endcapture %}

<div class="notice">
Expand Down
85 changes: 20 additions & 65 deletions _includes/en/dxl/quick_start.md
Original file line number Diff line number Diff line change
@@ -1,107 +1,62 @@

### Prerequisites
{% if page.product_group=='xl330' or page.ref=='xc330-m288' or page.ref=='xc330-m181' %}
- Power supply to DYNAMIXEL ([LB-041](http://en.robotis.com/shop_en/item.php?it_id=903-0220-001) or SMPS compatible with DYNAMIXEL)
- DYNAMIXEL Power Supply ([LB-041](http://en.robotis.com/shop_en/item.php?it_id=903-0220-001) or SMPS compatible with DYNAMIXEL)
- See [Compatibility Table]
{% else %}
- Power supply to DYNAMIXEL(12V SMPS / Controllers, compatible with DYNAMIXEL or [LB-020 battery](http://en.robotis.com/shop_en/item.php?it_id=903-0277-000))
- DYNAMIXEL Power Supply (12V SMPS, or compatible 12v battery.)
- See [Compatibility Table]
{% endif %}
- PC with Windows, Linux or MacOS.
- Connection between PC and DYNAMIXEL ([U2D2], [USB2Dynamixel])
- [Compatible Software with DYNAMIXEL](#compatible-software-with-dynamixel)
- Serial converter to communicate between your PC and DYNAMIXEL ([U2D2], [OpenRB-150])
- [DYNAMIXEL Control Software](#compatible-software-with-dynamixel)

{% capture warn_01 %}
**WARNING**:
- USB2Dynamixel has been discontinued.
- Some software may not support OS which you use. Be sure to read e-Manual of software you use to check the supported OS for right use of software.
- Some software may not support all OS options. Be sure to read the eManual page of any software you wish to use to ensure compatibility.
{% endcapture %}
<div class="notice--warning">{{ warn_01 | markdownify }}</div>

{% capture notice_01 %}
**NOTE**:
- U2D2 is a small size USB communication converter that enables to control and operate DYNAMIXEL with PC.
- [U2D2 Power Hub](/docs/en/parts/interface/u2d2_power_hub/) which combines with U2D2 supplies a variety external power source with a stable power supply to DYNAMIXEL.
- The U2D2 is a small size USB to Serial communication converter that enables control and operation of DYNAMIXEL servos directly from a connected PC.
- The [U2D2 Power Hub](/docs/en/parts/interface/u2d2_power_hub/) simplifies the process of connecting an external power source to your U2D2 to supply power to your DYNAMIXEL.
{% endcapture %}
<div class="notice">{{ notice_01 | markdownify }}</div>

### [Compatible Software with DYNAMIXEL](#compatible-software-with-dynamixel)

You can use exclusive software for DYNAMIXEL. See the software compatibility on the next table and choose a desired software for your project.

| Model | AX Series | DX Series | RX Series | EX Series | MX Series | X-Series | PRO Series | P Series |
|:---------------------|:----------|:----------|:----------|:----------|:----------|:----------------------|:-----------|:---------|
| R+ Manager 2.0 | X | X | X | X | O | O | O | O |
| DYNAMIXEL Wizard | O | X | X | O | O | X (XL320 can be used) | O | X |
| DYNAMIXEL Wizard 2.0 | O | O | O | O | O | O | O | O |
| DYNAMIXEL SDK | O | O | O | O | O | O | O | O |
| DYNAMIXEL Workbench | O | O | O | O | O | O | O | O |

{% capture notice_02 %}
**NOTE**: You can also use more variety of software. For more information, see the following to check software provided by ROBOTIS.
- [DYNAMIXEL to software Compatibility Table ](/docs/en/parts/controller/controller_compatibility/#dynamixel)
- [Controller to software Compatibility Table](/docs/en/parts/controller/controller_compatibility/#software)
{% endcapture %}
<div class="notice">{{ notice_02 | markdownify }}</div>

#### [R+ Manager](#r-manager)

[R+ Manager] is used to handle devices used by a robot. Major functions of this program are as follows.

- Manage controller firmware. (Update and Restore)
- Inspect the status of the controller and peripheral devices. (Test)
- Set the required modes. (Settings)

**NOTE**: R+ Manager 2.0 or DYNAMIXEL Wizard 2.0 provides diverse features compared to [R+ Manager].
{: .notice}

#### [R+ Manager 2.0](#r-manager-20)

The R+ Manager 2.0 manages a controller and DYNAMIXEL devices that comprise the robot. By connecting the product, you can update the product to the latest version and test Control Table. The functions that were previously provided in RoboPlus Manager 1.0 and Wizard 1.0 have been combined in RoboPlus Manager 2.0.

{% capture warn_02 %}
**WARNING**: R+ Manager 2.0 is not compatible with DYNAMIXEL using protocol 1.0.
DYNAMIXEL Wizard 2.0 supports all DYNAMIXEL for Firmware Recovery, Firmware Update, and change data of Control Table of DYNAMIXEL.
{% endcapture %}
<div class="notice--warning">{{ warn_02 | markdownify }}</div>

#### [DYNAMIXEL Wizard 2.0](#dynamixel-wizard-20)

[DYNAMIXEL Wizard 2.0] is an optimized tool for managing DYNAMIXEL’s from various operating systems.
[DYNAMIXEL Wizard 2.0] a configuration tool designed to simplify the setup, configuration and management of DYNAMIXEL servos.

The following features are provided with DYNAMIXEL Wizard 2.0.
The following features are provided by DYNAMIXEL Wizard 2.0:

- DYNAMIXEL Firmware Update
- DYNAMIXEL Diagnosis
- DYNAMIXEL Configuration and Test
- DYNAMIXEL Data Plotting in Real-Time
- DYNAMIXEL Error Diagnosis
- DYNAMIXEL Configuration and Testing
- DYNAMIXEL Real-time Data Plotting
- Generate & Monitor DYNAMIXEL Packets

#### [DYNAMIXEL SDK](#dynamixel-sdk)

[DYNAMIXEL SDK] is a software development kit that provides DYNAMIXEL control functions using packet communication. The API of DYNAMIXEL SDK is designed for DYNAMIXEL actuators and DYNAMIXEL-based platforms. You need to be familiar with C/C++ programming language for right use of the software. This e-Manual provides comprehensive information on ROBOTIS products and applications.
[DYNAMIXEL SDK] is a software development kit that provides DYNAMIXEL control functions for a variety of popular programming languages.

**Supported Programming Laguanges and Features**:
- C, C++, C#, Python, Java, MATLAB, LabVIEW
- Windows, Mac, Linux.
- ROS
- Arduino

#### [DYNAMIXEL Workbench](#dynamixel_workbench)

[DYNAMIXEL Workbench], based on DYNAMIXEL SDK, is library which provides simple and easier method to use DYNAMIXEL.

**Supported Programming Laguanges and Features**:
- C++
- Linux, MacOS
- ROS
- Arduino

**NOTE**: DYNAMIXEL Workbench may provide lack of contents or features compared to DYNAMIXEL SDK. In order to use DYNAMIXEL with sufficient contents, use [DYNAMIXEL SDK].
{: .notice}
{% capture notice_02 %}
**NOTE**: You can also use more variety of software. For more information, see the following to check software provided by ROBOTIS.
- [DYNAMIXEL to software Compatibility Table ](/docs/en/parts/controller/controller_compatibility/#dynamixel)
- [Controller to software Compatibility Table](/docs/en/parts/controller/controller_compatibility/#software)
{% endcapture %}
<div class="notice">{{ notice_02 | markdownify }}</div>

[U2D2]: /docs/en/parts/interface/u2d2/
[USB2DYNAMIXEL]: /docs/en/parts/interface/usb2dynamixel/
[OpenRB-150]: /docs/en/parts/controller/openrb-150/
[R+ Manager]: /docs/en/software/rplus1/manager/
[R+ Manager 2.0]: /docs/en/software/rplus2/manager/
[DYNAMIXEL SDK]: /docs/en/software/dynamixel/dynamixel_sdk/overview/
Expand Down
Loading

0 comments on commit f9dea50

Please sign in to comment.