Skip to content

Human-Robot Collaboration Function

Document Overview

This document provides a detailed usage guide for the Human-Robot Collaboration (HRC) function, helping users correctly configure and use dynamics parameters, collision detection, torque feedforward, and hand-guiding functions. This manual applies to the HRC function configuration of INEXBOT robot controllers, including robot identification, mechanical function settings, and hand-guiding operations.

Terminology

TermDefinition
Human-Robot Collaboration (HRC)Work where humans and automated machines share workspace and perform tasks simultaneously
Dynamics ParametersParameters describing robot kinematics and dynamics characteristics
Collision DetectionFunction for the robot to detect collisions and stop
Torque FeedforwardControl method that calculates torque in advance based on the dynamics model
Hand-GuidingMethod of teaching positions by manually dragging the robot

HRC Overview

Human-Robot Collaboration (HRC) refers to work where humans and automated machines share workspace and perform tasks simultaneously. Due to the robot's complex nonlinearity, time-varying uncertainty, and strong coupling (especially during high-speed motion), to enable the robot to move at desired speeds and accelerations, each joint servo motor must have sufficient force and torque to drive the robot's links and joints. Otherwise, links will affect positioning and trajectory tracking accuracy due to sluggish motion. Therefore, feedforward torque control based on the dynamics model must be established to calculate feedforward compensation torque in real time.


Robot Identification

Pre-Identification Preparation

Before using mechanical functions, dynamics parameters must first be set up so that the controller can build the robot's dynamics model. To set dynamics parameters, navigate to "Settings/Human-Robot Collaboration/Dynamics Parameters". Before entering the identification interface, carefully read the identification-related precautions. When the robot performs trajectory tests, the range and speed should be set from small to large, gradually determining a maximum trajectory range that will not contact the surrounding environment. Then set the trajectory speed to 100 and begin identification. During identification, do not operate the teach pendant except when necessary, and personnel should stay away from the robot. If you need to stop identification, click the stop button on the teach pendant, press the emergency stop button, or switch modes.

Dynamics Parameters Interface

Parameter Description

ParameterDescription
Trajectory RangeCalculates the robot's maximum and minimum motion range based on the trajectory range
Trajectory SpeedRobot speed during operation, independent of global speed
Current Trajectory Z Max / Z MinIndicates the range of the current trajectory Z
Identification ErrorAfter identification, six parameters appear representing the error of each axis (smaller values indicate less error, cannot be 0)

Identification Precautions

Important Notice

Warning Icon

  • Currently, this identification method only applies to six-axis robots with no load for identifying the robot body's dynamics parameters.
  • The dynamics parameters obtained from this identification method are independent of manually filled dynamics parameters.
  • Before executing identification, ensure the robot's motion range is clear and free of obstacles.
  • In identification trajectory parameters, trajectory range adjusts the size of the robot's identification trajectory range. 100 means 100% of the identification trajectory, 90 means 90%, and so on. Trajectory speed adjusts the speed when the robot executes the identification trajectory.
  • Identification trajectory parameter selection principle: maximize motion range and speed while ensuring safety.
  • The error values from identification correspond to the sensitivity values in the collision detection function.
  • Before identification, perform a trajectory test first. Start with low speed and small range. If the robot may collide with surroundings, reduce the trajectory range parameter. If there is still room, gradually increase the trajectory range parameter until determining a maximum trajectory range that will not cause collisions. Then set the trajectory speed to 100 and click the identification button to begin identification.
  • When testing trajectory safety, the robot will run two trajectory segments. Do not approach the robot before the test is complete, as it may start at any time.
  • Identification is performed three times, including running the trajectory, obtaining data, analyzing data, and calculating dynamics parameters. The error values are displayed on the interface after each completion. Do not perform any operations during identification to avoid affecting the identification process.

Identification Operation Steps

Step 1: Enter Identification Interface

Click [Settings - Human-Robot Collaboration - Dynamics Parameters] to enter the dynamics parameters interface. Read the instructions carefully. After reading the instructions completely, click "Read and Agree", then click "Start Identification".

Identification Interface

Step 2: Set Identification Parameters

Identification Parameter Settings

  1. After entering the identification operation interface, fill in the trajectory range and trajectory speed.
  2. Click "OK", check the current trajectory Z max and Z min values, confirm the range is reasonable and the trajectory is reachable, then proceed to the next step.
  3. Click "Test (Confirm Trajectory Safety)". A test prompt window will appear. After clicking "OK", if an error occurs (robot position is not at zero point), first move the robot to the zero point position, then click "Test (Confirm Trajectory Safety)" again.

Test Trajectory SafetyTest Trajectory Safety Prompt

Step 3: Trajectory Test

Trajectory Test Success

  1. After the trajectory test is complete, a test success prompt appears.
  2. If the trajectory range is small, increase the trajectory range. In principle, the larger the trajectory range, the higher the identification accuracy.

Step 4: Start Identification

After the trajectory test is complete, identification can begin. Maximize the trajectory range while ensuring safety. After adjusting the trajectory speed to 100, click "Start Identification".

Start Identification

Confirm trajectory safety again, personnel stay away from the robot, click OK.

Confirm Trajectory Safety

A popup indicates identification is in progress. Do not approach the robot until the identification completion prompt appears, as the robot may run the next trajectory segment at any time.

Identification in Progress

After the robot completes three identifications, the calculated torque error values for each axis will be filled in the table.


Mechanical Functions

Mechanical functions include collision detection and torque feedforward. Navigate to "Settings/Human-Robot Collaboration/Mechanical Functions" for configuration.

Mechanical Functions Interface

Collision Detection

ParameterDescription
Collision Detection SwitchWhen enabled, the robot detects collisions based on sensitivity. Usually need to find a value that does not trigger collision detection during robot operation, then normal use is possible
Collision Detection Threshold (Jog)After setting the collision detection threshold parameter, the robot will use this value when performing jog operations in teach mode
Collision Detection Threshold (Instruction)After setting the parameter, the robot will use this value when returning to position, homing, stepping, trial running in teach mode, and when running after switching to run mode
Instruction Position Response TimeThe robot body has already made contact during operation, but due to this time setting, the error report will be delayed by the set time. When the time expires, the error appears and the robot powers off
Error Allowance TimePID adjustment causes torque fluctuations, triggering false collision warnings. This function prevents this phenomenon. If the torque returns to normal range within the set time, the alarm will not appear

Torque Feedforward

The torque feedforward switch in HRC. Enabling it activates the torque feedforward function.

Torque Feedforward Settings

The torque transmitted from the robot controller to the motor is calculated through a specific computation, which is the robot's dynamics equation. The formula is based on Newton's laws. The dynamics equation takes the robot's posture as input, calculates the required torque, and then converts it to the corresponding motor through the Jacobian matrix.

Robot control is force-based control. Through integration of feedback force, current posture information and posture correction are obtained. Finally, the expected torque and position and speed corresponding to the corrected posture are sent to the motor driver. Through continuous iteration, the robot completes the specified actions.

In simple terms, it tells the servo in advance what torque should be used during motion, facilitating servo motion adjustment and reducing robot vibration during motion.


Hand-Guiding

Hand-Guiding Mode

External Trigger Signal: Triggers the selected IO port to enter hand-guiding mode. For example, if the signal trigger is 0, the selected IO port transitions from high level 1 to low level 0, triggering the hand-guiding signal. After IO trigger, buttons become inactive.

External Trigger Signal

Hand-Guiding Method: Torque, 3D Mouse

3D Mouse Usage

This function can be used normally without identification

3D Mouse Accessories: TTL to RS232 adapter, 5V power supply, 3D mouse body, cable storage box, 3D mouse mounting plate

3D Mouse Accessories

Wiring Definition

4-pin connector J1: 3DX-Sensor Module Serial has a 4-pin male connector with 1.0mm pitch. Cable connector: JSTSHR-04V-S-B with crimp contact SSH-003T-P0.2. Module connector: JSTBM04B-SRSS-TB.

Pin #ConnectorFunction Color
1VCC +3.3V to +5.0VRed
2TxD (Output)Green
3RxD (Input)Orange
4GNDBlack

Cable: Connection to the console can be achieved through a 4-pin female connector with 2.54mm pitch.

Pin #ConnectorFunction Color
1VCC +3.3V to +5.0VRed
2GNDBlack
3TxD (Output)Green
4RxD (Input)Orange

3D Mouse Installation Components: 3D mouse body, 3D mouse cable box, mounting plate

3D Mouse Installation Components

Installation Instructions: The 3D mouse cable box is used for storing part of the 3D mouse connecting cables. The mounting plate is used to install the 3D mouse on the robot end-effector. After assembling the 3D mouse components, it can be installed on the robot end-effector. The 3D mouse can also be used without being installed on the robot end-effector, but the directional sense when dragging is not as intuitive as when installed on the end-effector.

Power Supply: External 5V power supply.

Wiring Setup: Insert the mouse conversion cable into the controller's Com1 serial port. The Com1 serial port needs to support RS232 communication for direct use.

Usage Instructions and Precautions

3D Mouse Port Number: Corresponds to the COM port on the controller. Enter the number to select the corresponding COM port. The controller configuration default port number is 1. For example, with the Huahan controller, 232 uses COM2, so the controller's corresponding node needs to be changed before use.

3D Mouse Port Settings

3D Mouse Parameter Settings

3D Mouse Parameter Settings

Note: If the 3D mouse is installed on the robot body, confirm robot operation safety before use.

Parameter Description:

  1. Mark Zero Point: Must switch to hand-guiding mode before marking the 3D mouse zero position. "Unmarked" means the zero point has not been marked. "Marked" indicates it has been marked. Usage: Click Modify, then click Mark Zero Point to complete marking. No need to move the mouse.

  2. 3D Mouse Positive Direction: Divided into Mark X, Y, Z positive directions. "Unmarked" means the direction has not been marked. "Marked" indicates it has been marked. If communication fails after pressing, it will display communication failure. In this case, the direction follows the last marked direction. Usage: Click Modify, click the mark direction button, then press the corresponding direction on the mouse. A prompt indicating successful direction marking means the direction marking is complete.

  3. Posture Control: Select the posture controlled by mouse rotation. Can choose to control posture A, B, C. Usage: Click Modify, click the corresponding posture button to complete selection.

  4. 3D Mouse Sensitivity: Controls the sensitivity of the 3D mouse in corresponding directions and postures. Usage: Click Modify, enter a value. Value range is 0-300. Higher numbers mean higher sensitivity.

  5. First Use 3D Mouse Button Sequence: Click Modify → Mark Zero Point → Mark XYZ Direction → Set Sensitivity Value → Save

  6. 3D Mouse Robot Control Method: Complete zero point setting and direction marking → Enable servo through teach pendant → Press the corresponding direction on the 3D mouse to control the robot in that direction → The 3D mouse supports robot motion in various coordinate systems, but direction correspondence only applies to Cartesian coordinates. In other coordinate systems, joints are controlled independently, which differs from Cartesian coordinate motion.

Torque

Torque Parameter Settings

Torque Parameter Settings

Hand-Guiding Mode has three types:

ModeDescription
Free DragCan drag all six axes
Position DragCan only drag the first three axes
Posture DragCan only drag the last three axes

Parameter Description:

ParameterDescription
Cartesian Space Linear Speed LimitCurrently inactive
Joint Space Speed LimitMaximum speed during dragging. Exceeding the limit will cause power-off and stop
Joint Friction Compensation Correction FactorRange 0-5. Closer to 5 means more flexible joints. Recommend starting testing from 0

Switching Hand-Guiding Mode Methods

Method 1: Using Teach Pendant Shortcut Keys: Use teach pendant - Monitor - Shortcut Keys - Teaching Method button to switch.

Method 2: Using Teach Pendant Drag Key: Use the teach pendant drag key to switch.

Method 3: Using External Signal: Switch through the external signal (DIN input signal) set in Settings - Human-Robot Collaboration - Hand-Guiding interface.

External Signal Switching

Note: Before switching to hand-guiding mode, robot identification must be successful. After entering hand-guiding mode, power on to drag the robot.

Trajectory Management

Dragged trajectories are saved to this interface.

Trajectory Management Interface

FunctionDescription
PlaybackPlay back the dragged trajectory
DeleteDelete the dragged trajectory. Deleted trajectories cannot be recovered, please operate with caution

External Buttons

External Buttons Interface

Function Control: Parameter activation method is 0 and 1.

  1. Trigger Method is Long Press: Activates after IO is triggered for 3-10s. When 0 is effective, IO state is 1-0-1; when 1 is effective, IO state is 0-1-0.

  2. Trigger Method is Short Press: Activates within 0-3s of IO trigger. When 0 is effective, IO state is 1-0-1; when 1 is effective, IO state is 0-1-0.

  3. Trigger Method is Set: The IO signal for set method is continuously triggered. For normal use, select functionally opposite situations where enable 1 is effective and disable 0 is effective, bound to the same port, with method selected as Set. For example: Enable trigger port 1-1, parameter 1 effective; disable trigger port 1-1, parameter 0 effective. When port 1-1 is 1, enable; when port 1-1 is 0, disable.

Precautions: When selecting Set and the selected functions are opposite, the first parameter must be 1 and the second parameter must be 0. For example: Enable and disable functions are opposite. When set, the enable parameter must be 1, disable must be 0. If enable parameter is 0 and disable is 1, the function will not work.

Function Example:

FunctionExample Description
Hand-Guiding ModeExample: IO port 1-1, trigger 1-1 signal, teach mode switches to hand-guiding mode

Note: Robot must be successfully identified before switching to hand-guiding mode for dragging operations

Error Code Description

Alarm NumberOutput TypeDetailsAlarm CauseSolution
20481ErrorRobot position is not at zero pointRobot current position is not at zero pointReturn robot to zero
20483ErrorIdentification function only supports six-axis general robotsRobot type is not six-axis general robotChange to six-axis serial multi-joint or six-axis collaborative for identification
20507ErrorNot identified, cannot enable dynamics functionRobot not identifiedIdentify robot
20509ErrorDynamics identification does not support dual-robotCurrently in dual-robot modeDisable dual-robot mode before identification
20511ErrorCannot identify in hand-guiding modeCannot identify in hand-guiding modeSwitch to jog state for identification
20512ErrorDynamics identification only supports Robot 1Can only identify in Robot 1 interfaceIdentify in Robot 1
20515ErrorError in identification process, identification stoppedError occurred during identificationCheck corresponding error, return to zero point and re-identify
20518ErrorIdentification trajectory speed must be 100Speed should be adjusted to 100 during identificationChange trajectory speed to 100
20519ErrorTrajectory safety check not completedTrajectory safety test not performedAdjust trajectory range and speed, then perform trajectory safety test
Alarm NumberOutput TypeDetailsAlarm CauseSolution
20482WarningJoint %i collision detectedThreshold during robot operation exceeds the set collision detection thresholdIncrease collision detection threshold or disable collision detection
Alarm NumberOutput TypeDetailsAlarm CauseSolution
20486Error3D mouse communication errorAfter importing identification parameters, drag method selected as 3D mouse, but 3D mouse not actually connectedCheck wiring and corresponding configuration according to manual, connect 3D mouse
20487Error3D mouse communication error, direction marking failed3D mouse not communicatingCheck wiring and port number are correct
20488Operation3D mouse direction marking successful3D mouse direction marking successful3D mouse direction marking successful
20489Warning3D mouse interface changed, calibration cancelledExited 3D mouse settings interface to another interface during 3D mouse direction markingDo not exit this interface during calibration process. Switch pages after calibration is complete
20490Operation3D mouse zero point setting successful3D mouse zero point setting successful3D mouse zero point setting successful
20491Error3D mouse zero point setting failed1. 3D mouse communication abnormal, not connected; 2. 3D mouse moved during zero point marking1. Check 3D mouse wiring and port number to ensure successful connection; 2. No need to move mouse during zero point marking
Alarm NumberOutput TypeDetailsAlarm CauseSolution
20492WarningNo drag method selectedNo drag method selected in hand-guiding interfaceEnter hand-guiding interface and select corresponding drag method
20493ErrorTorque drag function only applies to UR modelTorque drag function only applies to UR modelTorque drag function only applies to UR model
20494ErrorTorque drag does not currently support this servo typeCurrent servo not adapted1. Replace with an adapted servo for identification; 2. Add current servo type to configuration before identification
20498OperationDrag IO triggered, entering hand-guiding modeEntering hand-guiding mode after triggering corresponding signalEnter hand-guiding mode after triggering corresponding IO signal
20499ErrorServo error, exiting hand-guiding modeOP out-of-state situation occurred in hand-guiding modeCheck Ethernet cables to confirm all servo Ethernet cables are properly connected and OP is in state
20500ErrorTorque feedforward and drag cannot be enabled simultaneouslyUsing torque feedforward and drag functions simultaneouslyUse only torque feedforward or drag
20501ErrorDrag trajectory %s does not existClicked save trajectory without starting trajectory collectionFirst start trajectory collection, enter trajectory name, then save
20502OperationDrag trajectory saved successfullyTrajectory saved after collectionTrajectory saved after collection
20503OperationDelete drag trajectory %s successfulTrajectory deletion effectiveTrajectory deletion effective
20504ErrorDrag speed exceeds limit, changed to jog modeDrag speed exceeds limit value in hand-guiding modeReduce drag speed or increase limit value
20505WarningCannot execute motion operation in hand-guiding modeCurrently in hand-guiding mode, enabling jog robotChange hand-guiding mode to jog mode, enable jog axis or drag robot in hand-guiding mode without jogging
20506ErrorTrajectory recording requires servo enabled stateRobot servo not enabled during trajectory recordingEnable servo before trajectory recording
20508ErrorTrajectory %s already exists, cannot save same name trajectoryTrajectory name not changed after collection, causing duplicate name with previously saved trajectoryChange trajectory name after collection before saving
20510ErrorCannot set drag method in hand-guiding modeAttempted to switch drag method in hand-guiding modeSwitch robot to jog mode before switching drag method
20513ErrorNot identified, cannot enter torque dragRobot not identifiedEnter HRC interface for dynamics identification
20514ErrorCannot playback during trajectory recordingClicked playback while recording trajectory is not finishedCan only playback trajectory after recording is complete
20516ErrorThis function only supports one robotSwitched to hand-guiding mode in non-Robot 1 stateSwitch to hand-guiding mode in Robot 1 interface
20517ErrorCannot switch hand-guiding mode during motionAttempted to switch hand-guiding mode while jogging robot axis in jog modeDo not switch modes while jogging robot in jog mode. Wait for motion to complete before switching
Alarm NumberOutput TypeDetailsAlarm CauseSolution
20484ErrorCollaborative robot config: delay parameter must be greater than 0Collaborative robot config: delay parameter is 0Change config parameter to greater than 0
20485ErrorCollaborative robot config: encoder 2 resolution parameter errorEncoder 2 resolution parameter abnormalAdjust encoder 2 resolution parameter range
20495Erroreni not configured torque actual value 0X6077eni file missing 0x6077Export eni file and add 0x6077
20496Erroreni not configured torque target value 0X6071eni missing 0X6071 configurationExport eni file, add 0X6071 configuration, re-import
20497Erroreni not configured torque compensation value 0X60B2eni file missing 0x60B2Export eni file and add 0x60B2

Other Errors

Alarm NumberOutput TypeDetailsAlarm CauseSolution
20520ErrorAdaptive acceleration function only supports SCARA modelCurrent model does not support adaptive acceleration/decelerationSwitch to SCARA model to use adaptive acceleration/deceleration function


AI Retrieval Q&A Pairs

Q: What is the purpose of robot identification?

A: Robot identification is used to set dynamics parameters so that the controller can build the robot's dynamics model, providing the foundation for collision detection, torque feedforward, and hand-guiding functions.

Q: What preparation is needed before robot identification?

A: Navigate to "Settings/Human-Robot Collaboration/Dynamics Parameters". Ensure the robot's motion range is clear and free of obstacles. First perform a trajectory test to confirm safety before starting identification.

Q: How to enter hand-guiding mode?

A: There are three methods: 1. Use teach pendant - Monitor - Shortcut Keys - Teaching Method button to switch; 2. Use the teach pendant drag key to switch; 3. Switch through the set external signal (DIN input signal). Note: Robot identification must be successful before switching.

Q: What types of hand-guiding modes are there?

A: Hand-guiding mode has three types: Free Drag (can drag all six axes), Position Drag (can only drag the first three axes), Posture Drag (can only drag the last three axes).

Q: What preparation is needed before using the 3D mouse?

A: First use steps: Click Modify → Mark Zero Point → Mark XYZ Direction → Set Sensitivity Value (0-300) → Save. The 3D mouse can be used without robot identification.

Q: What to do if the 3D mouse cannot connect?

A: Check if wiring is correct, COM port settings are correct, and power supply is normal. The controller default port number is 1. Ensure Com1 serial port supports RS232 communication.

Q: How to adjust collision detection threshold?

A: Collision detection threshold needs to be adjusted based on actual conditions: jog mode threshold can be set lower (more sensitive), instruction mode threshold can be set higher (more stable).

Q: What to do about false collision detection triggers?

A: Possible causes include threshold set too low, robot load changes, PID adjustment causing torque fluctuations, etc. Can reduce false triggers by adjusting the error allowance time parameter.

Q: What is the function of torque feedforward?

A: Torque feedforward calculates and informs the servo of the required torque in advance before servo motion, helping the servo adjust motion and reducing robot vibration during movement.

Q: Can torque feedforward and drag functions be enabled simultaneously?

A: No, torque feedforward and drag functions cannot be enabled simultaneously. Only one of the two functions can be used at a time.

Q: How to determine if robot identification was successful?

A: After identification is complete, the interface displays error values for all six axes with no error messages, indicating successful identification. Smaller error values are better, but cannot be 0.

Q: What to do if the robot suddenly stops in hand-guiding mode?

A: Check whether collision detection was triggered, whether speed limit was reached, whether there is external signal interference, or whether servo connection is normal.

Q: Which robots is the HRC function applicable to?

A: Mainly applicable to six-axis robots. Dynamics identification only supports six-axis general robots. Torque drag function only applies to UR model.

Q: How to improve hand-guiding precision?

A: Ensure robot identification is successful with small error values, adjust appropriate joint space speed limits, and select the appropriate hand-guiding mode.

Q: What is the difference between 3D mouse and torque drag?

A: The 3D mouse can be used without robot identification and is intuitive to operate. Torque drag requires successful identification before use and is suitable for precise teaching operations.

Q: How to manage drag trajectories?

A: Dragged trajectories are saved to the trajectory management interface, supporting playback and delete functions. Trajectory collection must be performed before saving trajectories.