.................. 13 Safety Precautions ..................13 850 User Manual-Hardware Section ..............21 1. Hardware Installation Manual ................ 21 1.1. The Hardware Composition of 850 .............21 1.2. Robot Installation ..................25 1.3. Power Supply for the Robotic Arm ............. 34 2. Electrical Interface ....................37...
Page 3
2.1.1. Joint Motion ..................165 2.3. Singularity ....................181 3. Typical Examples ....................184 3.1. The Use of 850 Vacuum Gripper ............185 3.2. The Use of 850 Gripper ................ 187 3.3. The Use of the Digital IO ..............188 4. Robotic Arm Motion Mode and State Analysis...
Page 4
1.1 850 Common Specifications ............... 209 1.2 850 Specifications ................. 211 Appendix3-FAQ ..................... 212 Appendix4-The 850 Software/Firmware Update Method......213 1.Online upgrade: when PC has network connection ......214 2.Offline upgrade: when PC has no network connection ....215 Appendix5- Maintenance and Inspection ............
..................222 1.9 Stopping Time and Stopping Distance ..........222 1.10 Maximum Speed .................. 223 1.11 Specifications ..................223 Appendix8-DH Parameters of 850 Series ............224 Preface Product Information Package contains: 1. Robotic Arm x 1 2. Control Box x 1 3. Robotic Arm power and signal cable x 1...
850 User Manual Software Section (1) UFactory studio instructions (2) 850 motion analysis (3) Typical examples Appendix (1) 850 error reporting and handling (2) 850 technical specifications (3) FAQ (4) The 850 software/firmware update method (5) Maintenance and Inspection (6) After-sales service Terms and Definitions The following terms and definitions apply to this manual.
Page 8
TCP Motion TCP motion is the Cartesian space motion, with target position in Cartesian space coordinate and the end follows the specified trajectory (arc, line, etc.). TCP Payload The payload weight refers to the actual (end tool +other object) weight in Kg; the X / Y / Z-axis indicates the position of the center (End Payload)...
Page 9
· Rx / Ry / Rz representation also, using 3 values to represent the pose (but not three rotation angles), which is the product of a three- dimensional rotation vector [x, y, z] and a rotation angle [phi (scalar)]. The characteristics of the axis angle: Assume the rotation axis is [x, y, z], and the rotation angle is phi.
Page 10
taken as the zero point, and the trajectory of the robotic arm refers to the tool coordinate system. User Coordinate The user coordinate system can be defined as any other reference System coordinate system rather than the robot base. (Please refer to the figure 1) Manual Mode In this mode, the robotic arm will enter the ‘zero gravity’...
Figure 1 850 Motion Parameters The parameters of the robotic arm are shown in Table 1.1 and Table 1.2. Table 1.1 Working range of each joint of the robotic arm Robotic Arm Maximum 180°/s Joint 1 ±360° Joint 2 -118°~120°...
Speed 0~1000mm /s 0~180°/s Acceleration 0~50000mm /s 0~1145°/s Jerk 0~100000mm /s 0~28647°/s Note: 1. In the TCP motion (Cartesian space motion) commands (set_position () function of the SDK), If a motion command involves both position transformation and attitude transformation, the attitude rotation speed is generally calculated automatically by the system.
● This chapter contains essential safety information, integrators and users of 850 must follow the instructions and pay special attention to the content with warning signs. Due to the complexity of the robotic arm system and its degree of danger, please ensure you fully understand the content of this manual and strictly adhere to the instructions.
Page 14
The integrators of the 850 are responsible for the compliance of applicable safety laws and regulations in the country, to prevent any hazards in the operating environment.
Page 15
● Any information given in this manual regarding safety must not be construed as a warranty by UFACTORY that the 850 will not cause injury or damage even if all safety instructions are complied with. Safety Alarms in this Manual ●...
Page 16
touched, could result in personal injury. NOTICE If not avoided, could result in personal injury or damage to the equipment. CAUTION: If not avoided, could result in personal injury or damage to the equipment. Safety Precautions ● Overview This section contains some general warnings and cautions on installation and application planning for the robotic arm.
Page 17
6. The operator must be trained to guarantee a correct operation procedure when using SDK(Python/ROS/C++) and graphical interface UFactory studio. 7. A complete safety assessment must be recorded each time the robotic arm is re-installed and debugged.
Page 18
9. The 850 joint module has brakes inside, which will remain manipulator’s pose when a power outage occurs. 10. When the robotic arm is in operation, make sure no people or other equipment are in the working area.
Page 19
7. Users need to check the collision protection and water-proof measures before any transportation. When the 850 cooperates with other machinery, a comprehensive safety assessment of the entire collaboration system should be performed. It is recommended that any equipment that may cause mechanical damage to 850 be placed outside the working range during application planning.
Page 20
Operator Safety In the operation of the robotic arm system, we must ensure the safety of the operators first, with the general precautions listed in the table below. Please take appropriate measures to ensure the safety of operators. 1. Each operator who uses the robotic arm system should read the product user manual carefully.
850 User Manual-Hardware Section 1. Hardware Installation Manual 1.1. The Hardware Composition of 850 1.1.1. Hardware Composition The composition of robotic arm hardware includes: 1.Robotic arm x 1...
Page 22
6.Ethernet cable x1 7.Ethernet adapter cable x1 The 850 robotic arm system consists of a base and rotary joints, and each joint represents a degree of freedom. From the bottom to the top, in order, Joint 1, Joint 2, Joint 3, etc. The last joint is known as the tool side and can be used to connect end-effector (e.
Page 23
Emergency Stop: press the emergency stop button to power off the 850, and the power indicator will go out. Power-on: when the button is rotated in the direction indicated by the arrow, the button is pulled up, the 850 power indicator lights up, and the arm is powered.
Page 24
After pressing the emergency stop button, the following operations should be performed to re-start the 850: 1. Power up the 850 (Turn the emergency stop button in the direction of the arrow) 2. Enable the 850 (enable the servo motor) UFactory studio:enable the robotic arm: click the button:...
Press the button to power off the 850; EMERGENCY STOP Rotate the button, the ROBOT power Emergency stop button indicator of the 850 lights up. Users can remove the dust filter, clean Vents Vents the dust from the vent, and then reinstall it.
Page 26
3. When connecting or disconnecting the arm cable, make sure that the external AC is disconnected. To avoid any electric shock hazard, do not connect or disconnect the robotic arm cable when the robotic arm is connecting with external AC. 1.2.2.
Page 27
(the end-effector not included in the working range). Working space of 850 (unit: mm) Note : The following working range diagrams are only for safety assessment.
Page 28
1.2.2.2. Robot Installation The robotic arm has four M8 bolts provided and can be mounted through four ∅8.5 holes in the base of the robotic arm. It is recommended to tighten these bolts with a torque of 20N·m.
Page 29
Robot Base Mounting (unit: mm) 1.2.2.3. Robotic Arm is Connected to the Control Box Plug the connector of the Robotic Arm Power Supply Cable and the Robotic Arm Signal Cable into the interface of the Robotic Arm. The connector is a foolproof design. Please do not unplug and plug it violently;...
Page 30
1.2.2.4. Control Box Networking Plug the Network Cable into the interface marked LAN on the Control Box, and plug the other end of the Network Cable into the computer. 1.2.2.5. End-effector Installation The End-effector flange has 6 M6 threaded holes and one Ф6 positioning hole, where the end-effector of two different sizes can be...
Page 31
mounted. If the effector does not have a positioning hole, the orientation of the end-effector must be documented in a file format, to avoid errors and unexpected results when re-installing the end-effector. The end-effector flange referenced ISO 9409-1-50-4-M6 standard. Mechanical dimensions of end-effector flange (unit: mm)
Page 32
Drawing of too I/O Six-Axis Force Torque Sensor Interface Six-Axis Force Torque Sensor, you can use this If you have purchased interface to connect to Moment. Customers who have not purchased it will not be able to use this interface temporarily. We will develop new accessories in the future and use this interface as a connection.
Page 33
The user Ethernet interface(RJ45) of the arm base is connected to the Ethernet interface(M8 4-pole) of the end flange through a physical internal 100M Ethernet cable, which further enhances the stability of the system. Standard CAT5 Ethernet cable, compatible with most third-party vision devices.
1. Make sure the tool is properly and safely bolted in place. 2. If the end-effector does not have a locating hole, the orientation of the end-effector must be archived as a file. 3. Make sure that the tool is safely constructed such that it cannot create a hazardous situation by dropping a part unexpectedly.
Page 35
Ensure the 850 will not hit any personnel or equipment within the working range. 1.3.2. Power On 1. Turn on the OFF/ON button and ensure the indicator lights are lit. 2. Press the power button, when the status indicator(CONTROLLER)...
Page 36
1.3.3. Shut Down the Robotic Arm System 1. Shutdown Sequence (1) Press the EMERGENCY STOP button to power off the robotic arm. (2) Ensure the power indicator light is off. 2. Shutdown the control box (1) Turn off the power supply of the control box. (The power switch takes about 5 seconds to turn off the power of the control box.
Unplugging the power cord directly from the wall outlet to shut down the system may result in damage to the file system of the control box, which may result in robotic arm malfunction. 2. Electrical Interface 2.1. AC Control Box 2.1.1.
Page 38
2.1.2. Power Connection There is a standard IEC plug at the end of the control box’s main cable. Connect a local dedicated main outlet or cable to the IEC plug. The control box is powered by 100V-240V AC (the input frequency is 47-63HZ) and its internal switching power supply converts 100V-240V AC into 12V, 48V DC, which supplies power to the load of the control box and the robotic arm.
Page 39
To power on the robotic arm, the control box must be connected to the power supply. In this process, the corresponding IEC C19 wire must be used. Connect to the standard IEC C20 plug of the Control Box to complete the process, see the figure below.
RS485-A Green Arm Shield RS485-B Green,White Arm RS485-B Blue,White Tool Shield RS485-A Blue Tool 2.2. Electrical Alarms and Cautions Always follow the warnings and cautions below when designing and installing a robotic arm application. These warnings and cautions are also subject to the implementation of maintenance work. 1.
IEC standard will cause abnormal behaviour of the robotic arm. Extremely high signal levels or excessive exposure can cause permanent damage to the robotic arm. UFACTORY (Shenzhen) Technology Co., Ltd. is not responsible for any loss caused by EMC problems.
Page 42
tool. Please refer to the figure below: There are 12 pins inside the cable with different colors, each color represents different functions, please refer to the following table: Pin sequence Color Signal Brown +24V(Power) Blue +24V(Power) White 0V (GND) Green 0V (GND) Pink User 485-A...
Page 43
Orange Analog input 0 (AI0) Light Green Analog input 1 (AI1) The electrical specifications are as follows: Parameter Min. Value Typical Value Max. Value Unit Supply Voltage in 24V Mode Supply Current * 1800 Note: * It is strongly recommended to use a protection diode for inductive loads. Make sure that the connecting tool and the gripper do not cause any danger when the power is cut, such as dropping of the work-piece from the tool.
Page 44
There is no current protection on the digital output of the tool, which can cause permanent damage if the specified value exceeded. 2.3.1.1. Tool Digital Output Usage The following example illustrates how to use the digital output. As the internal output is an open collector, the resistor should be connected to the power supply according to the load.
Page 45
specifications are as follows: Parameter Typical Unit Input Voltage -0.5 Logic Low Voltage Logic High Voltage Input Resistance Ω 2.3.2.1. Tool Digital Input Usage The following figure shows the connection with the simple switch. 2.3.3. Tool Analog Input The tool analog input is a non-differential input. The electrical specifications are as follows: Parameter Typical...
Page 46
on the range of the input current. 2.3.3.1. Non-differential Analog Input The following figures show how the analog sensor can be connected to a non-differential output. Voltage mode Current mode 2.3.3.2. Differential Analog Input The following figures show how the analog sensor is connected to the differential output.
Voltage Mode Current Mode 2.4. Control Box Electrical IO This chapter explains how to connect devices to the electrical I/O outside of the control box. The I/Os are extremely flexible and can be used in many different devices, including pneumatic relays, PLCs, and emergency stop buttons. The figure below shows the electrical interface layout inside the control box.
Page 48
Enable Robot Configurable Function CO0-CO7 DO0-DO7 General Output Motion Stopped Robot Moving Error Warning Collision Manual Mode Reduced Mode Offline Task Running Robot Enabled Emergency Stop is Pressed It is very important to install 850 according to the electrical specifications.
Page 49
All the I/O must comply with the specifications. The digital I/O can be powered by a internal 24V power supply or by an external power supply by configuring the power junction box. In the following figure, PWR is the internal 24V power output. The lower terminal (24V-IN) is the 24V input external power input for I/O.
Page 50
Terminal Parameter Min. Value Typical Value Max. Value Unit Digital Output [COx] Current* [COx] Voltage Goes [COx] Open Drain [COx] Function NPN(OC) Type Digital Input [EIx/SIx/CIx/RIx] Voltage [EIx/SIx/CIx/RIx] OFF Area ON Area(low level) [EIx/SIx/CIx/RIx] [EIx/SIx/CIx/RIx] Current(0-0.5) [EIx/SIx/CIx/RIx] Function Type Note: ** For resistive or inductive loads up to 1H. There is no current protection on the digital output of the Control Box.
Page 51
separate branches. A single I/O failure should not result in the loss of safety features. There are two fixed safety inputs: • The robotic arm emergency stop input is only used for the emergency stop of the device. • The protective stop input is used for all types of safety protection. The functional differences are as follows.
Page 52
2.4.2.2. Connect to the Emergency Stop Button In most applications, one or more additional emergency stop buttons are required. The figure below shows how to connect one or more emergency stop buttons. 2.4.2.3. Share Emergency Stop with other Machines When a robotic arm is used with other machines, it requires to set up a common emergency stop circuit in most of the time.
Page 53
2.4.2.4. Automatically Recoverable Protective Stop The door switch is an example of a basic protective stop device. When the door is open, the robotic arm stops. See the figure below. This configuration is only for applications where the operator is unable to close the door from behind.
Page 54
1. Configure "CI0" as the safeguard reset in UFactory studio. The specific steps are as follows: Enter "Settings" - "I/O" - "Input" - Configure CI0 as safeguard reset - "Save". 2. If 850 needs to resume motion, connect SI0 and SI1 to GND, and...
Page 55
850 by connecting CI0 to GND; if 850 needs to pause the motion, disconnect SI0 and SI1 from GND. Note: DI0-DI7 are not equipped with the following three functions: stop moving, safeguard reset, and reduced mode.
Page 56
Note: It is highly recommended to use a protection diode for inductive loads as shown below. 2.4.3.2. Configurable Input The digital input is implemented in the form of a weak pull-up resistor. This means that the reading of the floating input is always high. Users must follow the electrical specifications set in the 2.4.1 ‘universal specification’.
Page 57
2.4.3.3. Communicate with other Machines or PLCs If general GND (0V) is established and the machine uses open-drain output technology, digital I/O and other can be used device communication, see the figure below. 2.4.4. General Analog I/O This type of interface can be used to set or measure voltage (0-10V) going into or out of other devices.
Page 58
I/O is not isolated from the control box. • Use shielded cables or twisted pairs. Connect the shield to the “GND” terminal on the “Power” section. Terminal Parameter Min. Value Typical Value Max. Value Unit Analog Input under Voltage Mode [AIx - AG] Voltage [AIx - AG]...
sensor.(Connect to AI0 or AI1) Communication Interface 2.5. The Control Box provides Ethernet interface, as shown in the figure below. 2.6. Ethernet TCP/IP The control box provides a gigabit Ethernet interface.
Page 60
Ethernet connection steps: • The control box and the computer are connected via Ethernet. One end of the network cable is connected to the network interface of the control box, and the other end is connected to the computer or LAN network interface.
192.168.1.*, check if the network proxy is enabled, and check if the robotic arm’s IP address conflicts with that of other devices in the LAN. Please change the computer IP address to the same network segment and close the computer's network proxy. To test whether the computer can communicate with the robotic arm, open the command terminal and input ‘ping 192.168.1.* (the IP address of the robotic arm)’.
Page 62
The value range of the gripper opening and closing is: -10 to 850. The larger the value, the greater the stroke of the gripper, meaning the smaller the value, the smaller the stroke of the gripper. If the clamping is not tight, a negative value can be set until it is tightened.
Page 63
robotic arm mounting surface or other equipment; 2. Power off the robotic arm by pressing the emergency stop button on the control box; 3. Fix the gripper on the end of the robotic arm with 2 M6 bolts; 4. Connect the robotic arm and the gripper with the gripper connection cable;...
Page 64
The Flow of Gripper Movement 1. Enable the gripper. 2. Send out a position for clamping. 3. The current range of value: -10 ~ 850. Note: For detailed instructions on the gripper, please refer to the gripper user manual, download link:...
3.2. Vacuum Gripper The vacuum gripper can dynamically suck the smooth plane object with payload ≤5kg. The vacuum gripper is equipped with 5 suction cups, which can be partially selected for use according to the size of the object surface, and the unused suction cup needs to be sealed. Note: If the surface of the object is not smooth, there will be air leakage from the suction cup which makes the object fail to be sucked up firmly.
Page 66
1. Move the robotic arm to a safe position. Avoid collision with the robotic arm mounting surface or other equipment; 2. Power off the robotic arm by pressing the emergency stop button on the control box; 3. Fix the vacuum gripper on the end of the robotic arm with 2 M6 bolts; 4.
Page 67
Note: 1. Python-SDK and UFactory studio provide wrapped functions that can be called to turn on/off the vacuum gripper. 2. For detailed instructions on the 850 vacuum gripper, please refer to the 850 vacuum gripper user manual, download link: https://www.ufactory.cc/pages/download-850...
With this application, you can set parameters, move the robotic arm in live control, and create a motion trajectory by simply drag and drop the code blocks of Blockly. UFactory studio allows users to plan the motion trajectory for the robotic arm without programming skills.
1.1 Hardware Preparation Before using UFactory studio, you must ensure that the hardware is installed correctly and all the protective measures for the workplace environment have been implemented. 1. The robotic arm is fixed on the plane; protective measures are in...
2. Check if the connection between the control box and the robotic arm, power supply, and network cable is stable. 3. Check if the main power of the control box is on. If the ON/OFF light is on it means power is on. 4.
Page 71
Note: Recommended connection method. (2) The control box, PC and router are connected by Ethernet cable. (3) PC and router are connected by wireless network, and control box an d router are connected by Ethernet cable. Note: It is not recommended because of the delay and packet loss of wireless connection.
Page 72
(4) The control box, PC and network switch are connected by Ethernet ca ble.
Page 73
1.2.2 IP Configuration Before connecting the robotic arm with UFactory studio (communication with the robotic arm), make sure that the IP address of the computer and the IP address of the control box are on the same network segment. When the control box is shipped from the factory, the default IP address is 192.168.1.xxx (The factory IP address of the device has been marked...
Page 74
Step3: Open the “Properties” Step4: Open the “IPV4”...
Page 75
1.2.3 Connect to the Robotic Arm There are the following two ways to communicate with the robotic arm. 1. If you access UFactory studio software, you can communicate with the robotic arm through the following steps: (1) Download UFactory studio...
Page 76
(2) Install UFactory studio software (3) Open the UFactory studio software, and enter the IP address of the control box in the search box (the default IP address of the device has been marked on the side of the control box) 2.
1.2.4 Return to the Search Interface PC: Click 【Tool】 - 【Search】 to return to the search interface. 1.3 UFactory studio Introduction UFactory studio mainly consists of 3 main functional modules: Used to control the position of the robot arm in real time, Live Control: adjust the motion attitude of the robot arm, end tool, and track recording.
Page 78
effector by simply drag and drop the code blocks. It is used to set the parameters of the robot arm, to pass the Settings: settings, safety settings, system software upgrade, etc. 1.3.1 Toolbar Window: To adjust its size, you can make a selection in the 【Window】 drop-down menu or adjust the size by dragging the border of the window.
1.4 Robotic Arm Setting Click the 【Settings】button on the home page to enter the robotic arm setting interface. Set the desired parameters according to the actual situation. 1.4.1 Motion Settings 1.4.1 Parameters 1.4.1.1 Joint Motion Acceleration: The acceleration of joint motion. The larger the value, the less time it takes to reach the set speed.
Page 80
in Live-control. 1.4.1.2 Linear Motion Acceleration: The acceleration of linear motion. The larger the value, the less time it takes to reach the set speed. It is recommended to be set within 20 times the maximum speed value for a smooth trajectory.
Page 81
Steps for setting the initial position: 1. Click【Settings】button on the homepage. Enter 【Motion】, then click the 【Set】 button next to the Initial Position. 3. Set the initial position of the 850 in Live-control. 【Confirm】: Save the changes. 【Cancel】: Cancel the changes.
Page 82
1.4.2 TCP Settings Set TCP Payload and TCP Offset according to the actual situation. 【TCP Payload】 The load weight refers to the actual mass (end-effector + object) in Kg; ● X/Y/Z-axis represents the position of the centre of gravity of payload in mm, this position is expressed in default TCP coordinate located at flange center (Frame B in the above figure).
Page 83
while Roll, Pitch, and Yaw determine the orientation. When the specified value is zero, TCP coincides with the centre point of the tool output flange. TCP Payload On this page, the current payload of the robotic arm can be set and the additional TCP payload data can be recorded.
Page 84
【Select】: Select the payload data to be deleted in the next step. 【 】: Delete the selected payload data. Note: the current default payload data cannot be deleted. 【Save】: Save for the newly added payload record, setting the default payload, and deleting the payload record. 【Cancel】: Cancel saving the newly added payload record, setting the default payload, or deleting the payload record.
Page 85
Note: Once the name of the new payload has been determined, it cannot be changed. After completing the TCP load settings, click 【Next】 to start the TCP offset settings,When creating a new TCP offset, there are two ways to set the new TCP offset parameters, as shown in the figure below: 1) Manual Input When the TCP offset parameter of the end effector is known, you can...
Page 86
When the TCP offset parameter of the end effector is unknown, click the [Teach and Acquire] button to obtain the TCP offset parameters by teaching 5 points. 【Delete】: Delete the selected offset data. Note: the current default offset data cannot be deleted. 【Save】: Save for the newly added offset record, setting the default offset, and deleting the offset record.
Page 87
1.4.3 Coordinates In this interface, the user can set the coordinate offset to customize the user coordinate system. X, Y, Z are coordinate values that are offset relative to the base coordinate system. Roll, Pitch, Yaw represents the angular values of orientation relative to the base coordinate system. After this offset setting, user coordinate system becomes the world...
Page 88
origin instead of robot base. 【New】: Create a new user coordinate offset. When creating a new base coordinate offset, there are two ways to set the new base coordinate offset parameters, as shown in the figure below: 1) Manual Input When the base coordinate offset parameter is known, you can choose to manually input its base coordinate offset parameter.
Page 89
【Cancel】: Cancel the selection. 【Save】: Save the modified data. 【Discard】: Discard the modified data.
Page 90
Example: When expressed in coordinate system {A}: B is (207,0,112,180,0,0), D = 1000mm, if user want to set the world reference coordinate system to {C}, just express the position and orientation of user coordinate system {C} in coordinate system {A}. As figure shown, the offset of the base coordinate system should be (1000,0,0,0,0,180).
Page 91
direction of the robotic arm and the direction of gravity. If the mounting direction of the robotic arm is set incorrectly, the robotic arm will not be able to accurately recognize the direction of gravity, which will cause the robotic arm to frequently trigger a collision warning and stop motion, and will also result in uncontrolled motion of the robotic arm after entering manual mode.
Page 92
robotic arm is facing down. 【Customized】 Mount at other angles. For mounting at a certain angle. It is necessary ● to set the tilt angle and the rotation angle according to the actual situation. How to determine the tilt angle and rotation angle? The initial position of the robotic arm: On the horizontal plane, when the user is facing the robotic arm side, ●...
Page 93
direction of the robotic arm to be mounted should be used as the rotation angle. The method of determining the rotation angle ± direction: Hold it with your right hand and point your thumb in the direction of the robotic arm which is vertically mounted. The direction where your four fingers point is the positive direction and vice versa.
Page 94
1.4.2 Externals 1.4.2.1 controller I/O Settings The control box of the robotic arm is equipped with 32 digital input and output signals, which can be set in the Blockly project and SDK only when IO is set to General Input / Output, otherwise the custom setting will not take effect.
Page 95
1.4.4.2 Input The following functions (if configured), can be triggered by low-level input signals. 【General Input】The user can use the IO freely in Blockly or SDK program only when the controller input is set as a general input, otherwise it will cause a function conflict. For example, if CI 0 is configured as an offline task, CI 0 should not be used in any program.
Page 96
【Offline Task】 Offline Task can add multiple Blockly to be triggered through I/O. As shown in the figure above, CI0 is set as Offline Task and a Blockly project is added. Click 【Add】 to add a Blockly project, and click 【 】...
Page 97
1.4.4.2 Output The below functions can be configured for each output. 【General Output】The user can use the IO freely in Blockly or SDK program only when the controller output is set as general output, otherwise it will cause function conflict. For example, if CO 0 is configured as motion stopped, CO 0 should not be used in any program.
Page 98
Enter emergency stop via CI. Stop button of UFactory studio and Emergency stop code block of Blockly. Emergency stop API of SDK. 【Robot Moving】When the robotic arm is moving, the output is high. 【Error】When the robotic arm reports an error, the output is high.
Page 99
1.4.4.3 Input Monitor/Output Monitor In this interface, the IO input status and IO output status of the control box can be monitored, and the IO output status of the control box can be controlled by clicking the button.
Page 100
1.4.2.2 Torque Sensor This page allows you to do load recognition of the torque sensor and set the manual mode direction of the torque sensor. 1.4.2.3 Modbus RTU In the Modbus RTU interface, the user can send commands to control the robot gripper and get the position information of the gripper.
Page 101
1.Selects the robot arm Modbus or control box Modbus. 2.Sets the baud rate, the default baud rate is 2000000. 3.Enter commands in the "Commands" box, for example: 0x08,0x03,0x07,0x02,0x00,0x02, note that the program will do CRC checksum automatically. 4.Click Send and you can see the sent and received information in the debug box on the left.
Page 102
When this mode is turned on, the maximum linear speed, maximum ● joint speed, and joint range of the robotic arm in Cartesian space will be limited. 1.4.4 General 1.4.4.1 Assistive Features 【Orientation Control】 850 supports adjusting the rotation of the robot arm through the axis-...
Page 103
Rx/Ry/Rz; the right side is the R/P/Y control, and the button is displayed as R/P/Y. 【Quick Copy】 After turning on this button, the TCP coordinates and joint angle ● values of the 850 can be copied on the real-time control interface. 【Run Package Blockly Project】...
Page 104
1.4.4.2 Debugging Tool Note: This function should be completed under the guidance of technical support. (Please contact the technical support by the email: support@ufactory.cc) In this interface, you can get the joint current value and joint voltage value of the robotic arm.
Page 105
The range of the joint current value of the robotic arm is: [0, 35A] Note: When using the above functions, the joint firmware version≥ 2.7.0. Click【lock】 to unlock a single joint. The unlocked joint does not have any force to provide and thence external force support is needed. At this time, the joint can be dragged by hand to rotate.
Page 106
reported by the robotic arm. Attention should be paid to adjusting the joint into the range manually when it exceeds the range of the joint. 3. In the "simulated robotic arm mode", clicking the unlock joint button will also unlock the real joints of the robotic arm. When releasing the joint brakes, someone must support the robot's posture to prevent the robotic arm...
Page 107
1.4.4.3 Advanced Settings Clear the IO output when the robot is stopped After turning on 【Clear IO output when the robot is stopped】if the ● robotic arm receives a stop command, 【 Controller Digital Output 】 or 【 Tool Digital Output 】 will be set to the invalid state. Otherwise, the 【...
Page 108
Collision Detection Turn on collision detection ● Self-collision detection When the mode is turned on, it will prevent the 850 from causing self- ● collision. Configuration File Click the 【Export】button to export the parameters of the robotic arm ● as a configuration file.
Page 109
(1) When multiple robotic arms need to share a set of configuration parameters, click the 【Export】button to export the configuration file of a robotic arm that has been set. Then click the 【 Import 】 button to import the configuration file to other robotic arms. (2) When the control box fails and needs to be repaired, you can export and save the configuration file of the robotic arm to prevent the original data from being lost or changed during the repair process.
Page 110
Note: 1. The jerk affects the acceleration performance of the robotic arm. In general, we do not recommend modifying this parameter. 2. If the robotic arm is not enabled, the jerk cannot be modified. 3. If an error warning occurs on the robotic arm, the jerk cannot be modified.
Page 111
Display the IP address of the connected robotic arm, the firmware ● version of the arm, and the UFactory studio software version, the degree of freedom (number of axis) of the current robotic arm,and SN address of the robotic arm can be checked.
Page 112
"beep", it means that the IP address of the control box has been reset successfully. The reset IP is 192.168.1.111. 4. Please unplug the cable connecting RI0 and GND and wait for the control box to start up (60 seconds). 5. Enter 192.168.1.111 in the UFactory studio search box, connect the...
Page 113
6. If you need to modify the IP, just modify the IP in [Settings] → [System Settings] → [Network Settings]. (For example: the modified IP is 192.168.1.54) 7. Restart the control box, enter your modified IP in the UFactory studio...
Page 114
search box, and connect the robotic arm. Note: If you do not unplug the cable connecting RI0 and GND, the next time you restart the control box, no matter what IP address you modify, the IP address of the control box will be automatically changed to 192.168.1.111, so after modifying the IP, Be sure to unplug the cable connecting RI0 and GND.
Page 115
The control box can be shut down or restarted. Note that the shutdown / reboot button does not turn off the power supply and the main power supply to the robotic arm. 【Shutdown】 Click this button, the page will go back to the【Search the IP Address ●...
Page 116
In addition, make sure the control box can communicate with external internet. : Click to get the latest UFactory studio and 850 firmware version information for your controller. 【Install】:Click to go to the offline installation window for UFactory...
Page 117
1.4.5.3 Log The error log of the control box, servo error log and end effector error log can be checked. Click the 【Download】button to download the error log.
1.5 Live Control 1.5.1 Page Introduction o IP address Displays the IP address of the currently linked robotic arm controller. o Payload Displays the current default load parameters of the arm Robotic arm status o Normal: The robotic arm is not in motion, but is ready to go into motion.
Page 119
Real arm: means the arm is connected and the arm is currently a real arm. You can control the movement of the real robot arm through UFactory studio interface. The virtual robot arm will react to the position and attitude of the real robot arm in real time.
Page 120
【Initial point】 point press for step motion, long press for continuous motion. 1.5.2 Emergency Stop Click on the emergency stop button to immediately stop the current motion and clear all cached commands. Note: The “STOP” button in UFactory studio is different from the one on the control box.
Page 121
1. The “STOP” button in UFactory studio allows the robotic arm to stop the current motion and clear all cache commands immediately. It is a software stop, and the power is still on. The Emergency STOP button on the control box: Send out a stop command to cut off the power supply of the robotic arm, and thence the posture of the robotic arm will slightly brake and fall.
Page 122
trajectory planning, which needs to be solved by inverse kinematics. Therefore, there may be no solution, multiple solutions, and approximated solutions; and due to the nonlinear relationship between the joint space and Cartesian space, the joint motion may exceed its maximum speed and acceleration limits.
Page 123
the shortest way to reach target orientation. In particular, it is important to strictly control the magnitude of the deflection angle between the two points to control the direction of rotation, and if necessary, insert a third point between the two points. As shown in figure 6.4, if a deflection is needed from position point A to point B, the robotic arm moves in the direction of α...
Page 124
Cartesian position. 1.5.3.3 Speed Setting It is used to adjust the motion speed of the live control interface of 850. (Note that the maximum speed of the live control interface is not the actual maximum motion speed of the robotic arm. If you want the program to run at high speed, you can add a speed command in the Blockly motion program).
Page 125
Joint Operating Speed The range is 1°/s ~ 180°/s. When the robotic arm is in operation, the ● actual maximum speed will be influenced by the payload, speed, and the pose, and the maximum speed would not be an absolutely reachable value.
Page 126
1.5.3.4 Operation Mode 1.5.3.4.1 850 Operation Interface 【 】 It can switch the control functions between the base coordinate ● system and the tool coordinate system. 【Position/Attitude Real-time Display】 X / Y / Z represents the coordinates of the tool center point (TCP) ●...
Page 127
X/Y/Z controls the X/Y/Z-axis of the selected coordinate system ● respectively. Click for step motion and long press for continuous motion. 【Real-time Attitude Control】 Roll/Pitch/Yaw controls the Roll/Pitch/Yaw of the selected coordinate ● system respectively. Click for step motion and long press for continuous motion.
Page 128
You can copy the joint angle value of the robotic arm by clicking this button. The progress bar represents the range of joints, the text represents the current joint and its degree. Operation mode: Click 【+】 or【-】 for the step angles, users can set the step angle in 【Settings】...
Page 129
1.5.3.1 Manual Mode By turning on the Manual Mode, the joint can be driven freely by hand. Turn on the joint manual mode, you can manually drag the robot links ● to reach the target position, making it easier to record the robot's motion trajectory, thereby reducing the development workload.
Page 130
installation method of the robotic arm and the payload setting of the robotic arm are consistent with the actual situation, otherwise it will be dangerous. 2. The serial number of robotic arm and the control box need to be matched before Manual Mode can be turned on. The SN of the control box can be checked in 【Settings】-【My Device】- 【Device Info】.
Page 131
motion trajectory during recording, and the playback speed of the trajectory can be set (x1, x2, x4). A recorded trajectory can be imported into Blockly projects. 【New】Create a new recording file. 【 】Manual Mode will be turned on accordingly by clicking on the button, and the robotic arm can be dragged directly for trajectory recording.
Page 132
850, select the corresponding end effector. The end effectors currently supported by 850 are: 850 Gripper, 850 vacuum Gripper, 850 BIO Gripper, Robotiq-2F-85 Gripper, Robotiq-2F- 140 Gripper. Take the 850 Gripper as an example. 850 Gripper When installing other end effectors (not officially provided) at the...
Page 133
1. You can choose a 3D model (cylinder/cuboid) that can wrap the end effector and use it as the self-collision prevention model of the end effector. When no end effector is installed at the end of the robotic arm, select [No End Effector]...
1.6 Blockly Graphical Programming Blockly is a graphical programming tool that can be programmed to control the robotic arm by dragging and dropping code blocks without the need to write the code manually. 1.6.1 Interface Overview 【Project】 Click to expand to display all created items, the currently open item "xxx"...
Page 135
【Download】Click to download the selected Blockly file. 【Rename】Click to rename the selected Blockly file. 【Delete】Click to delete the selected Blockly file 【 】 Upload the Blockly file saved on the computer to the control box of the 850. 【 】 Run the Blockly program 【...
Page 136
Note: When the robotic arm is in the simulation mode, you can also run the Blockly motion program to observe the motion of the virtual robotic arm. 1.6.2 Blockly Workspace Drag the code block into the action panel, the code execution is top- down, users can drag and drop the code block with the blocks attached from behind together.
Page 137
1.6.2.1 The Right Click Mouse Event in the Workspace Right-click on the blank workspace of the non-code block, the function is mainly for all code blocks: 【Undo】: Undo the previous operation. 【Redo】: Restore the last undo operation. 【Collapse Blocks】: Collapse all code blocks. 【Expand Blocks】: Display all collapsed commands.
Page 138
1.6.2.2 The Right Click Mouse Event of the Code Block Right-click in the code block, the function of each module pop up: 【Duplicate】: Copy all code blocks of the current workspace, copy/cut shortcuts with the keyboard and paste them into other files. 【Add Comment】: Users can add a description to the code block, which is identified by the symbol .
Page 139
【Disable Block】: Stop the execution of the running command of the current code block. The opposite is 【Enable Block】. 【Delete 82 Blocks】: Delete the current code block selected by the mouse click. 【Help】: Jump to the Help Page of the corresponding code block. 1.6.2.3 Move/Wait/Edit For some common functions of the motion commands, click【move】...
Page 140
End-Effector: Contains common commands to control the end-effector, such as gripper, vacuum gripper. Logic: Contains commonly used logic commands. Loop: Contains common loop commands such as multiple loops, infinite loops, and breaking loops. Math: Contains commands for mathematical operations. Advanced: Includes location notes and message reminders. 1.6.4 Setting 【Set TCP speed()mm/s】...
Page 141
【Set joint acceleration()°/s²】 Set the acceleration of joint motion in °/s . The default speed and ● acceleration values in the code block are the speed and acceleration values set currently, which can be modified manually. 【Set tcp load()weight()XYZ】 Set the load of the current project, refer Settings-TCP Payload from the ●...
Page 142
1.6.5 Motion 【sleep()s】 After receiving this command, the robotic arm will stop moving for the ● set time, and then continue to execute the following commands. It is mainly used in motion programs that need to do the continuous motion. It is used to buffer more motion commands for successful continuous motion calculation.
Page 143
The robotic arm immediately stops moving and clears the command ● cache. 【Zero position】 The robotic arm returns to a posture where the joint value are 0. ● 【move joint J1() J2() J3 () J4() J5() J6() J7() Radius() Wait(true/false) ,[move] , [edit]】 Set each joint value for the joint movement, with the unit of degree.
Page 144
Indicates the degree of the circle. When it is set to 360, a whole circle ● can be completed, and it can be greater than or less than 360; (Note: To achieve smooth track motion, you need to set Wait = false). 【move joint [variable] J1() J2() J3 () J4() J5() J6() J7() Wait(true/false)】...
Page 145
1.6.6 GPIO(Control Box and End tool interface)...
Page 146
The IO interface is made up of a control box interface and an end tool interface, which can be used to acquire, set, and monitor IO interface operations. The control box has 8 digital input interfaces, 8 digital output interfaces, 2 analog input interfaces, and 2 analog output interfaces.
Page 147
Acquire the I/O interface data of the code block. ● 【set I/O 】 Set the I/O interface of the code block, click 【Set】 to run the ● command. 【set I/O when(X, Y, Z, tolerance)】 When the robotic arm reaches the specified position (the area of the ●...
Page 148
=, ≠, >, ≥, <, ≤. IO trigger logic of UFactory studio: 1. UFactory studio obtains the IO state every 100ms, and uses the IO state value obtained for the first time as the initial value. 2. Compare the IO state obtained the second time with the IO state obtained last time.
Page 150
【set 850 gripper Pos () Speed () Wait (true / false)[move][edit]】 Set the position and the opening and closing speed of the gripper. ● 【set bio gripper Speed () Wait (true / false)[move][edit]】 Set the opening and closing speed of the gripper.
Page 151
1, it indicates that the object is picked successfully; when the vacuum gripper state is 0, it indicates that the object fails to be picked. 【set 850 vacuum gripper (ON/OFF) object detection (true/false) [set]】 Set the vacuum gripper to be on and off. ●...
Page 152
1.6.8 Application 【Run Trajectory (path) Times [1] 】 Users can import the trajectory recording file and set the times of ● executions. 【Import other APP】 Users can import Blockly of other projects. ●...
Page 153
1.6.9 Logic 【wait ()】 Wait for the next command to be sent, with the unit of seconds. ● 【if (Condition 1) Run (Command 1)】 If Condition 1 is true, then Command 1 will be run. Otherwise, it will be ● skipped.
Page 154
1. Click the setting button on the command block , then the command block will pop up a selection box, as shown below: 2. At this point, drag the [else] code block to the bottom of the [if] code block, and combine the two code blocks, as shown below: 3.
Page 155
1.6.10 Loop 【forever】 The command contained in the loop will be executed in infinite loop. ● 【repeat() times do】 The command contained in the loop will be executed X times. ● 【repeat while/until do】 When the condition is not met, it jumps out of the loop. ●...
Page 156
1.6.11 Math You can use the above code block to do some complex operations such as addition, subtraction, multiplication, and division, exponential operations.
Page 157
1.6.12 Text 【remark】 Remark the code block, which serves as an indicator and can change ● the color. 【message type】 Types available are: (information/success/warning/error), duration ● indicates the time interval the message is displayed, the unit is in second; the message indicates the content of the prompt message. 【string printing[]】...
Page 158
Users can print the entered string below and set the font and the color. ● 【variable printing】 Users can print the added variable and set the font and the color. ● 【Date】 The date and time on which the command was run can be output. ●...
Page 159
commands by default (set the value of the variable, change the value of the variable by adding or subtracting, variable). 【Rename variable】 Rename the variable. ● 【Delete variable】 Delete the variable. ● 1.6.14 Function 【to (do something)】 Users can define a new function without a return value. ●...
Page 160
1.6.15 Set & Edit Motion Coordinates Long press 【Move】 button to move the robotic arm to the position of the current command. Click 【edit】to pop up the live control interface to re-edit the motion coordinates of the current command.
Page 161
Click 【Save】to save the changes and close the pop-up window. Click【Cancel】 to cancel the changes and close the pop-up window. Note: In the command, there are sequential points such as A / B / C / D. Etc. If the user clicks 【move】 to skip point B from point A to point C, a safety assessment must be carried out to avoid damage to peripheral facilities Due to the complexity of Cartesian commands, Cartesian spatial...
For details, please refer to "850 Kinematics-Linear Motion". 1.7 Python IDE 【 】Click to enter Python IDE ,Python IDE is a Python development integration environment that can directly use 850-Python-SDK API and check the Blockly projects converted into Python code.
Page 163
【 】 【New Folder】Click to create a new folder. 【New File】Click to create a new Python file. 【Import】Click to import local Python files. 【Download】Click to download the selected Python file. 【Rename】Click to rename the selected Python file. 【Delete】Click to delete the selected Python file 【...
The commands issued should not exceed 256 command caches. It is recommended to keep the number of cached/sent commands under 256 all the time. 2. 850 Motion Analysis In this section, we mainly use Python / Blockly examples to explain a few typical motions in the list below.
About Python-SDK: For all interfaces with is_radian, the default value of is_radian is the value at the time of instantiation. That is, the value of “ is_radian” set when 850API () is created. Here are three examples to illustrate: 1. arm = xArmAPI('192.168.1.226',) 2.
Page 166
is not continuous between each command. Blockly example: 【Set joint speed() °/s】: Set the speed of joint movement in °/s. 【Set joint acceleration() °/s²】: Set the acceleration of joint motion in °/s2. 【move joint J1() J2() J3 () J4() J5() J6() J7() ,Radius()】: Set each joint angle for the joint movement, the unit is °.
Page 167
Python example: arm.set_servo_angle(angle=[0.0, 7.0, -71.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) arm.set_servo_angle(angle=[0.0, 7.0, -51.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) arm.set_servo_angle(angle=[0.0, 7.0, -91.2, 0.0, 0.0, 0.0], speed=8, mvacc=1145, wait=True) The interface set_servo_angle is described in Table 2.1: Table 2.1 Description of set_servo_angle set_servo_angle description set joint angle for joint motion...
Page 168
joint speed (the default unit is ° / s): speed Unit: if is_radian = True, the unit is rad / s; if is_radian = False, the unit is ° / s; joint acceleration (default unit is ° / s mvacc Unit: if is_radian = True, the unit is rad / s ;...
Page 169
Blockly: The motion trajectory of the robotic arm in the above example is as follows: Key parameter description Radius = 60 Radius =60 in the "move joint" command refers to setting the radius of the transition arc R = 60mm, which is used to achieve a smooth transition of the arc in a joint motion.
Page 170
turning effect. Note: The radius of the arc is smaller than D and D (2) Radius = 0. There is no arc transition at the turn, it will be a sharp turn with no deceleration, as shown in the figure below. (3) Radius <0.
Page 171
command. Note: If you need to plan for speed continuous motion, make sure wait = false, to buffer the commands to be blended. 2.1.1. Linear Motion and Arc Linear Motion 2.1.1.1. Linear Motion Characteristics of Linear Motion The concept of linear motion ...
Page 172
space trajectory planning, which needs to be solved by inverse kinematics. Therefore, there may be no solution, multiple solutions, and approximated solutions; and due to the nonlinear relationship between the joint space and Cartesian space, the joint motion may exceed its maximum speed and acceleration limits.
Page 174
Note: When the 850 firmware version≥1.6.0, if you need to plan Lineb motion, you need to adjust the TCP speed below 200mm/s for debugging, otherwise there will be a high security risk.
Page 175
Key parameter description Radius = 5 Radius = 5 in the "move (arc) line" command refers to setting the radius of the transition arc between two straight lines R = 5mm, which is used to achieve a smooth transition of the arc in a straight motion. The parameters of Radius can be set as Radius>...
Page 176
with no deceleration, as shown in the figure below. Note: If the motion of the robotic arm is a reciprocating linear motion, you need to set radius=0. If the radius>0, the robotic arm may report a motion planning error. (6) Radius <0. There is no arc transition at the turn, this speed will not be continuous between this and next motion, as shown in the figure below, speed will decelerate to 0 at point B before moving to C.
Page 177
Python example: arm.reset(wait=True) arm.set_pause_time(0.5) while True: arm.set_position(x=400, y=-100, z=250, roll=180, pitch=0, yaw=0, radius=50,speed=200, wait=False) arm.set_position(x=400, y=100, z=250, roll=180, pitch=0, yaw=0, radius=50,speed=200, wait=False) arm.set_position(x=300, y=0, z=250, roll=-180, pitch=0, yaw=0, radius=50,speed=200, wait=False) set_position interface: refer to Table 2.2. The set_pause_time interface is described in Table 2.3: Table 2.3 set_pause_time description set_pause_time Description...
Page 178
Set the center angle: 1. If 0< center angle (°) <360 ° or center angle (°) > 360 °, the motion path of the robotic arm is a circular arc of the corresponding degree; center angle = 60°, the motion trajectory of the robotic arm is: 2.
Page 179
and position1 and positon2, “center angle” specifies how much of the circle to execute. Note: (1) The starting point, pose 1 and pose 2 determine the three reference points of a complete circle. If the motion path of the robotic arm is a circular arc, then pose 1 and pose 2 are not necessarily end points or passing points;...
Page 180
If the positions of point B and C are swapped, point B is (350, - 50,400,180,0,0), point C is (350,50,400,180,0,0), the robotic arm will draw a circle in a counterclockwise direction. The trajectory of the robotic arm is as follows: Python example: arm.set_servo_angle(angle=[0.0, -45.0, 0.0, 0.0, -45.0, 0.0], speed=20, mvacc=500, wait=True) arm.set_position(*[300.0, 0.0, 400.0, 0.0, -90.0, 180.0], speed=300, mvacc=2000, radius=-1.0, wait=True)
pose 2) pose1 Cartesian coordinates [x(mm), y(mm), z(mm), roll(rad or °), pitch(rad or °), yaw(rad or °)]; pose2 Cartesian coordinates [x(mm), y(mm), z(mm), roll(rad or °), pitch(rad or °), yaw(rad or °)]; percent Percentage of arc moved If is_radian = True, the unit of roll / pitch / yaw is rad; is_radian If is_radian = False, the unit of roll / pitch / yaw is °;...
Page 182
1st Joint speed too high. Figure 2.1 850 singularity 2.Characteristics The characteristic of the singularity is that the planning movement cannot be performed correctly. Coordinate-based planned movements cannot be explicitly translated into joint motions of each axis. When the robot performs motion planning (linear, circular, etc., excluding joint movements) near the singularity point,...
Page 183
Case 1: Singularity encountered during robot teaching a) Switch the robot coordinate system to a joint coordinate system, and pass the singularity point through joint motion. Case 2: Singularities encountered while the program is running a) When encountering a singularity point while running the program, you can modify the position and attitude of the robot and re-plan the path to the target point.
3. Typical Examples There are 10 examples built into Blockly in UFactory Studio, which you can refer to for programming. Here are some of the more representative examples.
3.1. The Use of 850 Vacuum Gripper The role of this program: execute this program to control the vacuum gripper to suck the target object at the specified position, and then place the target object at the target position. Explanation of main commands: 【object is (picked/release) 】...
Page 186
(released) the object, it will also jump out of the command and execute the next command. 【set 850 vacuum gripper (ON/OFF) object detection (true/false) [set]】: Set the vacuum gripper to be on and off. ●...
3.2. The Use of 850 Gripper The role of this program: execute this program to control the gripper to grip the target object at the specified position, and then place the target object at the target position.
3.3. The Use of the Digital IO The role of this program: If you need to use digital IO to control the motion of the robotic arm, you can trigger the digital IO to perform the corresponding motion.
4. Robotic Arm Motion Mode and State Analysis 4.1 Analysis of Robotic Arm Movement Mode 4 motion modes of the control box: (Python SDK: set_mode ()) ● Mode 0: Position control mode. The control box enters by default after startup. ●...
Page 190
In servoj mode, the maximum receiving frequency of the control box is 250 Hz (the maximum receiving frequency of the version before 1.4.0 is 100 Hz). If the frequency of sending commands exceeds 250Hz, the redundant commands will be lost. The 850-Python-SDK interface...
Page 191
In servoj mode, the maximum receiving frequency of the control box is 250 Hz (the maximum receiving frequency of the version before 1.4.0 is 100 Hz). If the frequency of sending commands exceeds 250 Hz, the redundant commands will be lost. The 850-Python-SDK interface...
Page 192
function we provide also reserves the speed, acceleration and time settings, but they will not work at present. The suggested way of use: If you want to plan your track, you can use this command to issue a smoothed track point with interpolation at a certain frequency (preferably 100 Hz or 200 Hz), similar to the position servo control command.
Page 193
complete the teaching function. If the drag teaching is completed, switch back to mode 0. Note for safe use: Before turning on the joint teaching mode, be sure to confirm that the installation direction of the robotic arm and the TCP load are set correctly, otherwise the arm may not be able to remain stationary due to inaccurate gravity compensation Click to see...
Page 194
Command sent by set_position() or set_position_aa() In this mode, every time a motion command is received, the current motion command will be interrupted, and then the motion command will be planned and executed from the current position, and the latter motion command can be interrupted Ongoing movement guide Note: When using Cartesian online planning mode, the ‘is_tool_coord’...
Page 195
risk assessment must be done and the operator should be cautious. 4.2 Analysis of the Motion Status of the Robotic Arm 3 states that the control box can set: (Python SDK: set_state ()) ● State 0: Start motion. Can be understood as ready for motion or stand-by. In this state, the robotic arm can normally respond to and execute motion commands.
Page 196
6 states that the control box can get: (Python SDK: get_state ()) ● State 1: In motion. The robotic arm is executing motion commands and is not stationary. ● State 2: Standby. The control box is already in motion ready state, but no motion commands are cached for execution.
Page 197
● State 6: Stop. Generally, use studio will generate state 6, and state 6 is also a kind of stop.
Error processing method: Re-power on, the steps are as follows: ● 1. Turn the emergency stop button on the control box 2. Enable the robotic arm UFactory studio enable method: Click the guide button of the error ● pop-up window. 850-Python-SDK enable method: Refer to Error Handling Mode.
Page 199
Please restart the 850 with the Emergency Stop Button on the Control Box. If multiple reboots do not work, please contact technical support. Abnormal Current Detection Please restart the 850 with the Emergency Stop Button on the 850 Control Box. Joint Overcurrent Please restart the 850 with the Emergency Stop Button on the 850 Control Box.
Page 200
Please contact technical support. Driver IC Hardware Error Please re-enable the robot. Driver IC Initialization Error Please restart the 850 with the Emergency Stop Button on the 850 Control Box. Encoder Configuration Error Please contact technical support. Large Motor Position Deviation...
Please reduce the acceleration value in the Motion Settings. Please check if the control box emergency stop switch is released. EEPROM Read and Write Error Please restart the 850 with the Emergency Stop Button on the 850 Control Box. Initialization of Motor Angle Error Please restart the 850 with the Emergency Stop Button on the 850 Control Box.
Page 202
Please go to the "Live Control" page and press the "Initial POSITION" button to let the robot back to the Initial position. Speed Exceeds Limit Please check if the 850 is at singularity point, or reduce the speed and acceleration values. Planning Error Please re-plan the path or reduce the speed.
Page 203
The track recording duration exceeds the maximum duration limit of 5 minutes. It is recommended to re-record. Safety Boundary Limit The 850 reaches the safety boundary. Please let the 850 work within the safety boundary. The number of delay commands exceeds the limit 1.
Page 204
Abnormal Joint Angle Please stop the 850 by pressing the Emergency Stop Button on the Control Box. Control Box Power Board Master and Slave IC Communication Error Please contact technical support. Six-axis Force Torque Sensor Error Please check the sensor error code, locate the problem, and power on again.
1. Re-powering the robotic arm via the emergency stop button on the control box. 2. Enable the robotic arm. a. UFactory studio enable method: Click the guide button of the error pop-up window or the ‘STOP’ red button in the upper right corner.
Page 206
UFACTORY team for support. Software Error Code Error Handling Gripper Current Detection Error Please restart the 850 with the Emergency Stop Button on the 850 Control Box. Gripper Current Overlimit Please click “OK” to re-enable the Gripper. Gripper Speed Overlimit Please click “OK”...
Please adjust the TCP position command. 850 is not ready. Please check whether the robot is enabled and the state is set correctly. 850 is disconnect or not connect. Please check the network. There are errors that have not been cleared.
Page 208
850-Python-SDK Error Handling: When designing the robotic arm motion path with the Python library, if the robotic arm error (see Appendix for Alarm information) occurs, then it needs to be cleared manually.
Appendix2-Technical Specifications 1.1 850 Common Specifications ±850 mm ±850 mm Cartesian Range -400 mm~1214 mm Roll/Yaw/Pitch ± 180 ° Maximum Joint Speed 180 °/s Reach 850 mm Repeatability ±0.02 mm Max Speed of End-effector 1 m/s *Ambient Temperature Range 0-50 °C*...
Page 210
2*AI(Analog In) 2*AO(Analog Out) Control Box I/O Interface 1*RS-485 Master 1*RS-485 Slave Weight 4.8 kg Dimension(L*W*H) 376mm*145mm*130mm 850 accessories parameters: Gripper Nominal Supply Voltage 24V DC Absolute Maximum Supply Voltage 28V DC Quiescent Power (Minimum Power 1.5 W Peak Current 1.5 A...
Digital IO State Indicator Power, Working State Feedback Air Pressure (Low or Normal) Notes: 1. The ambient temperature of 850 is 0-50 °C, please reduce the temperature if continuous high-speed operation is needed. 1.2 850 Specifications 1,4,6 ±360° -118°~120° Joint Range -225°~11°...
2. Guide to use the Vacuum Gripper 3. Guide to download the log file on the UFactory studio 4. Solve the problem that all joints of the 850 are at '0' in the gazebo 5. The Method of the IP Configuration 6.
Appendix4-The 850 Software/Firmware Update Method. Notes 1) It is recommended to update the 850 firmware and UFactory studio at the same time. 2) Please check the update notice carefully before each update. It is not recommended to update the robot arm that have been deployed to...
3) After each update, please download the latest 850 User Manual and 850 Developer Manual from the official website to learn the latest feature. If you use 850-Python-SDK (850-C++ SDK or 850 ROS) for development, please get the latest SDK code from GitHub.
2.Offline upgrade: when PC has no network connection ● Offline package download 850-Offline-Package Use UFactory Studio to do offline upgrade: ● Go to [My Device] - [Check Update], click "Install" to load the offline package downloaded in advance, reboot the system, it will take 2-3 minutes.
Page 216
power on the robotic arm for 6 hours every 3 months to charge the built- in battery of the robotic arm. When powering on the robotic arm, please release the emergency stop button on the control box, and the robotic arm does not need to be enabled.
You need to make an appointment with the local UPS and then send the product to us. (3) UFACTORY will check the product warranty status according to the after-sales policy. (4) Generally, the process takes around 1-2 weeks except for shipment.
When you need to send the product back to get repaired, please pack the product with the original box to protect the product during the transportation. 2. If you need to send the control box to get repaired, please export and save the configuration file of the robotic arm to prevent the original data from being lost or changed during the repair process Appendix7-Product Information...
Part 6-4: Generic standards - Emission standard for industrial environments These standards define requirements for the electrical and electromagnetic disturbances. Conforming to these standards ensures that the 850 robots perform well in industrial environments and that they do not disturb other equipment. EN 61000-6-4:2019...
This standard defines extended EMC immunity requirements for safety- related functions. Conforming to this standard ensures that the safety functions of 850 robots provide safety even if other equipment exceeds the EMC emission limits defined in the IEC 61000 standards.
1.4 Transport, Storage and Handling Move the robot to the zero position by UFactory studio, then put the 850 robot and Control Box in the original packaging. Transport the robot in the original packaging. Lift both tubes of the robot arm at the same time when moving it from the packaging to the installation place.
1.7 Special Consumables. Fuse specifications:15A 250V 5×20mm Time-Lag glass body cartridge fuse 1.8 Stop Categories A Stop Category 1 and a Stop Category 2 decelerates the robot with drive power on, which enables the robot to stop without deviating from its current path.
Joint 2 1.12 Joint 3 0.67 1.10 Maximum Speed Mode Typical Scenarios Maximum Speed Teaching mode Live Control Page of UFactory studio 250 mm/s Automatic mode Blockly/ IDE of UFactory studio 1000 mm/s 1.11 Specifications Robotic Arm Model XF8500 1,4,6 ±360°...
8*CI 8*DI 8*CO 8*DO 2*AI 2*AO 2*RS-485 Communication Protocol Private TCP Weight 4.8kg Operating Temperature 0-50ºC Humidity 25%-85% (non-condensing) Short Circuit Rating Input 1PHASE AC 100-240V 47~63HZ 1050Wmax Appendix8-DH Parameters of 850 Series ● Kinematic and Dynamic Parameters of UFACTORY 850 Annotation of coordinate representation:...
Page 225
This means the direction is pointing out of the viewing surface. White dot (○): This means the direction is pointing into the viewing surface. * Please note the provided Dynamic Parameters are just for reference. 1) UFACTORY 850 Modified D-H Parameters...
Need help?
Do you have a question about the 850 and is the answer not in the manual?
Questions and answers