1. Getting Started
Doosan robot mainly provides 2 types of motion commands, basic motion commands and advanced motion commands.
- Basic Motions (4 types): Move J, Move L, Move C, Move JX
- Advanced Motions (5 types): Move SX, Move SJ, Move B, Move Spiral, Move Periodic
This course will introduce the 4 types of basic motion commands.
The motion commands that drive the robot can be divided into joint motions and task motions. If the motion command contains a 'J', it is categorized as a joint motion in which each joint of the robot moves to its target position and reaches the final coordinates according to the joint angle, without considering tool coordinates and linearity. If a 'J' is not included, it is categorized as a task motion, which moves from the end of the tool to the final coordinates in a straight line or arc form. As a result, various joint angles can be combined, but if movement with each joint angle is not possible, a singularity error may occur.
2. Common Settings: Operating Conditions
This section will introduce the property values set in common when writing motion commands.
2.1 Position Information
In the case of Move J, used to move the robot with target joint coordinates, the robot is moved to the desired position by specifying each joint angle, without setting reference coordinates.
① Select the type of movement (absolute, relative).
② Use the jog function or perform direct teaching to move the robot to the desired position arbitrarily and save the pose.
③ Specify the angle of each joint. Six joints move at the same time.
In the case of Move L, Move C, Move JX, set the reference coordinates, X, Y, Z joint position values, and A, B, C axis rotation angles.
④ Set the coordinates according to base, world, tool standards.
⑤ Set the X, Y, Z joint position values and A, B, C joint rotation angles.
2.2 Speed, Acceleration
For speed and acceleration, the value entered in the MainSub, the top of the task list, is the default value unless there is a separate setting for each motion command. On MainSub, task, joint speed, acceleration, and singularity handling, etc may be set all at once. Joint motion, Move J, can set the movement speed of each joint, while task motions like Move L, can set the conversion and rotational speed on the 'Local' tab, and can also specify the time of arrival.
① When set to Global, the robot operates with the speed set in the MainSub property.
② When set to Local, speed and acceleration can be set to each motion command individually.
③ The user can set speed and acceleration directly or using the slide bar.
2.3 Operation Mode, Radius, Blending
① Depending on the axis operation method during movement, there is a synchronized and asynchronized mode.
- Synchronized: The motion commands are executed in consecutive order. After the command being executed is finished, the following commands are executed in consecutive order.
- Asynchronized: This is the non-sequential motion command. After executing any motion command arbitrarily, the next command is executed immediately.
② If the radius is set to 0, the motion blending function does not activate. So, if the robot reaches the target point of the current motion command, it stops and then moves to the target point of the next motion command.
③ When certain conditions are met, instead of reaching the target point and stopping, there is a function to move to the next target point smoothly without reaching the target point of the current motion command.
- Duplicate: When the robot reaches the set radius centering the target point of the motion command, it retains the speed of the current command and moves to the target point of the next motion command.
- Override: When the robot reaches the set radius centering the target point of the motion command, it immediately reduces the speed of the current command and moves to the target point of the next command.
[Try it]
Set various operating conditions in the basic motion property, then try moving the robot yourself. Compare the robot's movements while changing the MainSub, location, speed/acceleration, and operating mode for each motion property.
3. Learn about Move J
Move J is used to move the robot by setting the joint angle at the target position. TCP does not have to follow a particular path and is faster in motion than other types. If an intermediate target point is not set separately, the location of the end point is not important and is often used to speed up the movement to perform swift operations. For example, it is effective to pick up a workpiece from a conveyor and to make quick movements to load it onto a pallet.
[Try it]
Use Move J to move to the arbitrary starting point, P0, and create the following program.
- Set the speed (60 º/s) and acceleration (100 º/s²), and move to arbitrary target point P1. Additionally, set the time of arrival to 5 seconds and compare the speed of moving from target point P0 to P1.
- Set the speed (30 º/s) and acceleration (50 º/s²), and move to another arbitrary target point P2. Set the radius value in motion property and try to move to P2 via P1 in blending mode.
A better understanding can be attained regarding the property, joint movement, and movement speed that influences joint motion.
4. Learn about Move L
Move L is used to move the robot along a straight line to the target workspace coordinates. In general, TCP is important for Pick & Place. It is useful for elaborate motion or linear motion, such as picking up workpieces from conveyors or loading them on pallets precisely.
[Try it]
Use Move J to move to arbitrary starting point P0, and create the following program.
- In Local property, set speed (250 mm/s) and move to arbitrary target point P1.
- Set other arbitrary point P2 to be as perpendicular as possible to the existing path, and execute the motion in asynchronized mode or blending override mode.
5. Learn about Move C
Move C is used to move the robot along an arc consisting of two points (waypoint, target point) from current position. This method draws the arc based on the two points, therefore if the current position value changes, the arc is drawn at another location, so take caution not to change the starting point.
[Try it]
Move to arbitrary starting point P0, and create the following program with two waypoints (P1, P2).
- Set speed (250 mm/s) and move along the arc trajectory to P2 via P1.
- Set the entire circular and optional angles to 60 º, 30 º respectively. Along the trajectory of the previous three points (P0, P1, P2), accelerate and move from starting point P0 to point 30 º, then move to point 60 º at set speed, then to point 30 º at decelerated speed, a total of 120 º curve movement. Depending on the angle set at this time, it may fall short of waypoint P1, P2 or it may pass the waypoint based on the arc trajectory.
6. Learn about Move JX
Move JX is used to move the robot to the target workspace coordinates and joint form. This does not move along a straight line and regulating movement for each joint and teaching collision avoidance. To solve singularity error problems and move to target task coordinates, consider shoulder (right/left), elbow (top/bottom), wrist (flip/non-flip).
[Try it]
Use Move J to move to arbitrary starting point P0, and create the following program.
- Set speed (60 º/s) and acceleration (120 º/s²), along with shoulder, elbow, wrist conditions, and move to arbitrary target point P1. Take caution for safety as the range of robot movement may be wide. In the case error occurs, try operating after changing the conditions.
7. Summary
This course introduced the basic motion commands provided by Doosan robot. Simple programming is possible using the common setting values of robot operation and four types of basic motion commands in the task builder or task writer. It is important to become well-acquainted with the characteristics of property values for each motion.
Recommended resources
※ Doosan Robotics has copyright and intellectual property rights to all content and all designs shown in this material. Therefore, any use, copying, or dissemination of them without written permission from Doosan Robotics is prohibited. Please note that you will be held solely responsible for any improper use or alteration of the patent rights of Doosan Robotics.