Robotics > Unitree Robotics integration
Universal Robots integration
Universal Robots pioneered collaborative robotics with 75,000+ cobots deployed globally. While PolyScope X provides intuitive programming and URCaps enable hardware integration, the platform lacks dynamic SOP management and knowledge sharing essential for scaled enterprise deployments.
Hardware platforms:
- UR3e: 3kg payload for precision assembly
- UR5e: 5kg payload for light assembly and pick-and-place
- UR10e: 12.5kg payload for palletizing and machine tending
- UR16e: 16kg payload for heavy material handling
- UR20: 20kg payload with 1750mm reach for large parts
- UR30: 30kg payload for heavy industrial applications
Software ecosystem:
- PolyScope X: Next-generation robot operating system with modular architecture
- PolyScope 5: Legacy OS for existing deployments
- URCaps: Plugin ecosystem with 300+ certified applications
- UR+: Marketplace for compatible hardware and software
- URSim: Offline simulation and programming environment
- DECODE: Third-party no-code programming alternative
Programming capabilities:
- Visual programming with drag-and-drop nodes
- URScript for advanced control
- Teach pendant for manual programming
- Modules and functions for code reuse
- Smart Skills for complex movements
- World-centric coordinate frames
Current state: UR cobots execute pre-programmed routines stored locally:
- Programs are static files on the controller
- No ability to query external procedures
- Changes require manual reprogramming
- Each robot maintains isolated program library
Example problem: A UR10e performing quality inspection encounters a new product variant. The robot has no program for this variant and stops production. An engineer must create a new program, test it in URSim, and deploy to the robot - taking 2-4 hours of downtime.
How Tallyfy solves this: The UR10e queries Tallyfy for the inspection procedure for the new variant. It receives force thresholds, measurement points, and pass/fail criteria. Production continues immediately without reprogramming.
Current state: Each cobot operates with its own programs:
- Optimizations remain local to individual robots
- No systematic capture of best practices
- Programs don’t evolve based on experience
- Knowledge lost when operators leave
Example problem: A UR5e in an electronics assembly line discovers that a slight wrist rotation improves connector insertion success rate by 15%. This improvement stays locked in that single robot’s program. Other UR5e robots continue with lower success rates.
How Tallyfy solves this: When the UR5e identifies the optimization, it updates the assembly SOP in Tallyfy with the new wrist angle and success rate data. All UR5e robots across all production lines immediately benefit from this improvement.
Current state: PolyScope logs robot movements but not procedural compliance:
- No record of which SOP version was followed
- Limited context for operator interventions
- Difficult to prove adherence to quality standards
- Manual documentation for audits
Example problem: A medical device manufacturer uses UR16e robots for sterile packaging. FDA auditors require proof that validated procedures were followed for each batch. PolyScope shows robot logs but can’t demonstrate SOP compliance.
How Tallyfy solves this: UR16e robots launch FDA-validated packaging processes in Tallyfy, documenting each step with force readings, seal temperatures, and vision inspection results. Complete audit trails prove compliance with 21 CFR Part 11 requirements.
Despite the marketing about “easy programming,” here’s what actually happens:
-
Programs are static .urp files stored on the controller:
# This is what a UR program actually looks likedef pick_and_place():movej([1.5, -1.2, 1.0, -0.5, 1.5, 0], a=1.2, v=0.25) # Hardcoded joint positionsset_digital_out(0, True) # Activate grippersleep(0.5) # Hope part is grippedmovej([0.5, -0.8, 0.5, -0.2, 1.0, 0], a=1.2, v=0.25) # More hardcoded positions# New part variant? Manually edit all positionsFrom Universal Robots documentation (RoboDK UR Documentation ↗):
- “Save the generated URP file(s) to a USB memory disk and connect to the robot teach pendant”
- “URP files are saved in binary format by PolyScope” - not editable without teach pendant
- Each robot stores programs locally with no central management
- File naming conventions serve as primitive version control
-
The “intuitive” programming is still rigid:
- Teach pendant lets you create programs visually
- But output is still static URScript
- Programs can’t adapt to variations
- IF statements are hardcoded logic, not intelligence
- Robot has zero understanding of what it’s doing
-
No improvement or learning mechanism:
- Cobot discovers optimal force for insertion? Stays on that one robot
- Process improvement? Manually update every robot’s program
- No feedback from production to programming
- Each robot’s experience is isolated
Scenario: UR10e assembling products with new component variant
What marketing says: “Flexible automation” and “Easy reprogramming”
What actually happens:
- Robot reaches pick position for new component
- Component is 2mm different height (not in program)
- Robot either:
- Crashes into component (emergency stop)
- Grips air (drops part later)
- Uses wrong force (damages component)
- Production stops while engineer:
- Edits program on teach pendant
- Tests new positions (30-60 minutes)
- Saves as “program_v2_new_component.urp”
- Manually copies to other robots via USB
- Realizes 3 robots still running old version next week
What you can see:
- Robot is running “program_42.urp”
- Current line number: 47
- I/O status: Output 2 is HIGH
What you actually need for operations:
- “Robot completing step 3 of 8 in assembly process”
- “Quality check passed for batch #1234”
- “Cycle time trending 5% above target”
- “SOP version 2.3 being followed”
Actual UR log data:
2024-03-15 09:15:23 - movej complete2024-03-15 09:15:24 - digital_out_0 = TRUE2024-03-15 09:15:25 - wait 0.5
What compliance auditors need:
2024-03-15 09:15:23 - Positioned for component pickup (ISO-9001-5.2.1)2024-03-15 09:15:24 - Gripper activated at 45N force (spec: 40-50N)2024-03-15 09:15:25 - Grip validation per QA-PROC-7.2
URCaps promise: “Extend robot capabilities!”
URCaps reality:
- Plugins for specific hardware (grippers, cameras)
- Still generate static URScript
- No dynamic procedure management
- No cross-robot communication
- Each URCap is another thing to maintain on each robot
10 UR robots: Weekly USB stick tours to update programs 50 UR robots: Full-time job managing program versions 100+ UR robots: Complete chaos
Real customer quote: “We have 47 URs and honestly don’t know which version of which program is on which robot anymore.”
Critical limitations from UR forums and documentation:
- Program size limitations ↗: “The robot is unable to cope with programs much larger than 5000 lines”
- Programs that work in URSim may fail on physical robots with “ValueStack Full Capacity” errors
- Memory constraints ↗: Limited controller memory affects complex applications
- No built-in fleet management or central program repository in PolyScope
What to notice:
- Tallyfy URCap integrates seamlessly with PolyScope
- Gateway translates between URScript and REST API
- All actions tracked for quality compliance
Tallyfy URCap for PolyScope X:
// URCap frontend (TypeScript/Angular)export class TallyfyNode extends URCapProgramNode { async onExecute(robot: RobotAPI) { // Query Tallyfy for procedure const procedure = await this.tallyfy.getProcedure( this.partType.value );
// Launch process for tracking const process = await this.tallyfy.launchProcess( procedure.id, { robot_id: robot.serialNumber } );
// Execute each step with tracking for (const step of procedure.steps) { // Convert to URScript const script = this.convertToURScript(step); await robot.execute(script);
// Report completion with data await this.tallyfy.completeTask(process.id, step.id, { force_data: robot.getForceData(), joint_positions: robot.getJointPositions(), cycle_time: robot.getCycleTime(), quality_check: this.performQualityCheck() }); } }}
Tallyfy Gateway service:
# Gateway for real-time procedure updatesimport urxfrom tallyfy import TallyfyClient
class TallyfyGateway: def __init__(self, robot_ip, tallyfy_key): self.robot = urx.Robot(robot_ip) self.tallyfy = TallyfyClient(tallyfy_key)
def dynamic_procedure_execution(self, part_type): # Get latest procedure from Tallyfy procedure = self.tallyfy.get_procedure( f"assembly_{part_type}" )
# Convert to robot movements for step in procedure.steps: if step.type == "move": self.robot.movel(step.position, step.speed) elif step.type == "grip": self.robot.set_digital_out(2, step.force) elif step.type == "inspect": result = self.vision_inspect(step.criteria) self.tallyfy.record_inspection(result)
Without Tallyfy:
- 200+ programs per robot for different models
- 3-day lead time for new variant programming
- No cross-line optimization sharing
- Manual quality documentation
With Tallyfy:
- Dynamic procedures for unlimited variants
- Instant adaptation to new models
- Fleet-wide performance optimization
- Automatic quality records
Without Tallyfy:
- Static programs for each PCB type
- High scrap rate from outdated parameters
- Isolated production cells
- Limited traceability
With Tallyfy:
- Real-time parameter updates
- Continuous process improvement
- Cross-cell knowledge sharing
- Component-level traceability
Without Tallyfy:
- Rigid validated procedures
- Manual batch records
- Slow response to deviations
- Time-consuming audits
With Tallyfy:
- Version-controlled SOPs
- Electronic batch records
- Guided deviation handling
- Instant audit reports
PolyScope X provides:
- Robot motion control
- Safety system management
- I/O handling
- Force/torque control
- Vision integration
- URCap plugin architecture
Tallyfy adds:
- Dynamic procedure management
- Cross-robot knowledge base
- Compliance documentation
- Continuous improvement
- Human-robot workflows
- Exception handling
The integration creates a complete production system:
- PolyScope handles the “how to move”
- Tallyfy provides the “what to do and why”
- Together they enable adaptive, compliant automation
- Develop Tallyfy URCap for PolyScope X
- Create URScript translation layer
- Test with common robot tasks
- Validate on UR simulator
- Install on 5-10 production robots
- Convert key procedures to Tallyfy
- Train operators on new capabilities
- Measure productivity improvements
- Implement cross-robot learning
- Add predictive maintenance
- Enable quality system integration
- Deploy compliance reporting
- Roll out to all facilities
- Establish procedure library
- Implement fleet analytics
- Optimize based on data
- 70% reduction in programming time: Reuse procedures across robots
- 45% decrease in changeover time: Dynamic procedure switching
- 25% improvement in quality: Consistent, optimized procedures
- 90% faster audit preparation: Automatic compliance documentation
- Unlimited flexibility: Handle any product variant without programming
- Continuous improvement: Every robot contributes to optimization
- Regulatory compliance: Complete traceability and version control
- Knowledge retention: Procedures persist beyond personnel changes
- Assessment: Evaluate current programs and procedures
- Standardization: Create procedure library in Tallyfy
- URCap installation: Deploy Tallyfy URCap to robots
- Pilot program: Start with single production cell
- Training: Educate operators and programmers
- Expansion: Scale based on pilot results
- Universal Robots with PolyScope 5.11+ or PolyScope X
- Network connectivity (Ethernet preferred)
- Tallyfy organization with API access
- URCap installation permissions
- Optional: URSim for offline testing
Tallyfy URCap is pursuing UR+ certification to ensure:
- Compatibility with all UR robot models
- Integration with PolyScope safety systems
- Support through UR distributor network
- Listing in UR+ marketplace
- Universal Robots technical validation
- Tallyfy URCap installation guide
- URScript integration examples
- Procedure template library
- PolyScope X development kit
- Direct support for enterprise customers
- UR community forum integration
Robotics > KUKA Robotics integration
Robotics > Boston Dynamics integration
- 2025 Tallyfy, Inc.
- Privacy Policy
- Terms of Use
- Report Issue
- Trademarks