YAMAHA ROBOT VISION PROGRAM

Create Date: 2024-8-30 12:03:23|Source: YAMAHA/YAMAHA

  [PGM]

  NAME=SHIFT

  PGN=1

=================== declares the array ============

  DIM PPS$(5)

  DIM PPX$(5)

  DIM PPY$(5)

  DIM PPR$(5)

  DIM PPX!(5)

  DIM PPY!(5)

  DIM PPR!(5)

  A%=1

  '=======================================

  *A:

  DO2()=0

  MOVE P,P0,Z=0.00

  WAIT ARM

  '======================================

MOVE P, P101, Z=0.00 '1 PHOTO POSITION

  WAIT ARM

  '======================================

  *PAIZHAO1:

  SEND "AA" TO GP1

  SEND GP1 TO DATA$

  PRINT "DATA$=",DATA$

  PPS$(1)=MID$(DATA$,1,2)

  IF PPS$(1)="OK" THEN

  GOTO *PAIZHAOOK1

  ENDIF

  IF PPS$(1)="NG" THEN

  DELAY 100

  GOTO *PAIZHAO1

  ENDIF

  '======================================

  *PAIZHAOOK1:

  PPX$(1)=MID$(DATA$,3,8)

  PPY$(1)=MID$(DATA$,11,8)

  PPR$(1)=MID$(DATA$,19,8)

  PPX!(1)=VAL(PPX$(1))

  PPY!(1)=VAL(PPX$(1))

  PPR!(1)=VAL(PPX$(1))

  LOC1(P11)=PPX!(1)

  LOC2(P11)=PPY!(1)

  LOC4(P11)=PPR!(1)

  LOC3(P11)=20.00

  '========================================

MOVE P, P102, Z=0.00 '2 PHOTO POSITION

  WAIT ARM

  '======================================

  *PAIZHAO2:

  SEND "AB" TO GP1

  SEND GP1 TO DATA$

  PPS$(2)=MID$(DATA$,1,2)

  PRINT "DATA$=",DATA$

  IF PPS$(2)="OK" THEN

  GOTO *PAIZHAOOK2

  ENDIF

  IF PPS$(2)="NG" THEN

  DELAY 100

  GOTO *PAIZHAO2

  ENDIF

  '=====================================

  *PAIZHAOOK2:

  PPX$(2)=MID$(DATA$,3,8)

  PPY$(2)=MID$(DATA$,11,8)

  PPR$(2)=MID$(DATA$,19,8)

  PPX!(2)=VAL(PPX$(2))

  PPY!(2)=VAL(PPX$(2))

  PPR!(2)=VAL(PPX$(2))

  LOC1(P12)=PPX!(2)

  LOC2(P12)=PPY!(2)

  LOC4(P12)=PPR!(2)

  LOC3(P12)=20.00

  '=========================================

============= offset formula calculates the offset S1 ============

  DLTX1=LOC1(P2)-LOC1(P1)

  DLTY1=LOC2(P2)-LOC2(P1)

  ANG1=ATN(DLTY1/DLTX1)

  DLTX11=LOC1(P12)-LOC1(P11)

  DLTY11=LOC2(P12)-LOC2(P11)

  ANG11=ATN(DLTY11/DLTX11)

  THETA=ANG11-ANG1

  LOC1(P1001)=LOC1(P1)*COS(THETA)-LOC2(P1)*SIN(THETA)

  LOC2(P1001)=LOC1(P1)*SIN(THETA)+LOC2(P1)*COS(THETA)

  DSTX1=LOC1(P11)-LOC1(P1001)

  DSTY1=LOC2(P11)-LOC2(P1001)

  LOC1(P1002)=LOC1(P2)*COS(THETA)-LOC2(P2)*SIN(THETA)

  LOC2(P1002)=LOC1(P2)*SIN(THETA)+LOC2(P2)*COS(THETA)

  DSTX2=LOC1(P12)-LOC1(P1002)

  DSTY2=LOC2(P12)-LOC2(P1002)

  DSTX=(DSTX1+DSTX2)/2

  DSTY=(DSTY1+DSTY2)/2

  LOC1(S1)=LOC1(S0)+DSTX

  LOC2(S1)=LOC2(S0)+DSTY

  LOC4(S1)=LOC4(S0)+RADDEG(THETA)

  LOC3(S1)=20.00

  '================================================

  '================================================

  *MAIN:

  FOR B%=1 TO 32

  C%=B%+499

  P[C%]=P0

  NEXT

  '======================================

  FOR B%=1 TO 32

  C%=B%+499

  P[C%]=PPNT(0,B%)

  NEXT

  '=======================================

MOVE P, P103, Z=0.00 '3 PHOTO POSITION

  WAIT ARM

  '=======================================

  *PAIZHAO3:

  SEND "AC" TO GP1

  SEND GP1 TO DATA$

  PPS$(3)=MID$(DATA$,1,2)

  PRINT "DATA$=",DATA$

  IF PPS$(3)="OK" THEN

  GOTO *PAIZHAOOK3

  ENDIF

  IF PPS$(3)="NG" THEN

  DELAY 100

  GOTO *PAIZHAO3

  ENDIF

  '=======================================

  *PAIZHAOOK3:

  PPX$(3)=MID$(DATA$,3,8)

  PPY$(3)=MID$(DATA$,11,8)

  PPR$(3)=MID$(DATA$,19,8)

  PPX!(3)=VAL(PPX$(3))

  PPY!(3)=VAL(PPX$(3))

  PPR!(3)=VAL(PPX$(3))

  LOC1(P13)=PPX!(3)

  LOC2(P13)=PPY!(3)

  LOC4(P13)=PPR!(3)

  LOC3(P13)=20.00

  SHIFT S0

MOVE P, P13, Z=0.00 'Walk to the suction position

  WAIT ARM

DO(23) = 1' suction

  DELAY 100

  '=========================================

MOVE P, P104, Z=0.00 '4 PHOTO POSITION, CORRECTED

  WAIT ARM

  '=======================================

  *PAIZHAO4:

  SEND "AD" TO GP1

  SEND GP1 TO DATA$

  PPS$(4)=MID$(DATA$,1,2)

  PRINT "DATA$=",DATA$

  IF PPS$(4)="OK" THEN

  GOTO *PAIZHAOOK4

  ENDIF

  IF PPS$(4)="NG" THEN

  DELAY 100

  GOTO *PAIZHAO4

  ENDIF

  '=====================================

*PAIZHAOOK4: 'Take a picture with a second correction, fix the camera.'

  PPX$(4)=MID$(DATA$,3,8)

  PPY$(4)=MID$(DATA$,11,8)

  PPR$(4)=MID$(DATA$,19,8)

  PPX!(4)=VAL(PPX$(4))

  PPY!(4)=VAL(PPX$(4))

  PPR!(4)=VAL(PPX$(4))

  LOC1(P14)=PPX!(4)

  LOC2(P14)=PPY!(4)

  LOC4(P14)=PPR!(4)

  LOC3(P14)=20.00

  SHIFT S0

MOVE P, P14, Z=0.00 'CORRECTION ANGLE

  WAIT ARM

  '=====================================

  SHIFT S1

  MOVE P,P[A%+499],Z=0.00

  WAIT ARM

  DO(23)=0

  '====================================

  SHIFT S0

MOVE P, P105, Z=0.00 '5 PHOTO POSITION

  WAIT ARM

  '===================================

  *PAIZHAOOK5:

  SEND "AE" TO GP1

  SEND GP1 TO DATA$

  PPS$(5)=MID$(DATA$,1,2)

  PRINT "DATA$=",DATA$

  IF PPS$(5)="OK" THEN

  GOTO *PAIZHAOOK5

  ENDIF

  IF PPS$(5)="NG" THEN

  DELAY 100

  GOTO *PAIZHAO6

  ENDIF

  '==================================

  *PAIZHAO6:

  PPX$(5)=MID$(DATA$,3,8)

  PPY$(5)=MID$(DATA$,11,8)

  PPR$(5)=MID$(DATA$,19,8)

  PPX!(5)=VAL(PPX$(5))

  PPY!(5)=VAL(PPX$(5))

  PPR!(5)=VAL(PPX$(5))

  LOC1(P15)=PPX!(5)

  LOC2(P15)=PPY!(5)

  LOC4(P15)=PPR!(5)

  LOC3(P15)=20.00

  SHIFT S0

MOVE P, P15, Z=0.00 ' to the suction position

  WAIT ARM

DO(23) = 1' suction

  DELAY 100

  '======================================

MOVE P, P104, Z=0.00 '4 Position for taking pictures, correcting, fixing the camera

  WAIT ARM

  '=======================================

  *PAIZHAO4:

  SEND "AD" TO GP1

  SEND GP1 TO DATA$

  PPS$(4)=MID$(DATA$,1,2)

  PRINT "DATA$=",DATA$

  IF PPS$(4)="OK" THEN

  GOTO *PAIZHAOOK4

  ENDIF

  IF PPS$(4)="NG" THEN

  DELAY 100

  GOTO *PAIZHAO4

  ENDIF

  '=====================================

*PAIZHAOOK4: 'Take a picture of the second correction

  PPX$(4)=MID$(DATA$,3,8)

  PPY$(4)=MID$(DATA$,11,8)

  PPR$(4)=MID$(DATA$,19,8)

  PPX!(4)=VAL(PPX$(4))

  PPY!(4)=VAL(PPX$(4))

  PPR!(4)=VAL(PPX$(4))

  LOC1(P14)=PPX!(4)

  LOC2(P14)=PPY!(4)

  LOC4(P14)=PPR!(4)

  LOC3(P14)=20.00

  SHIFT S0

MOVE P, P14, Z=0.00 'CORRECTION ANGLE

  WAIT ARM

  A%=A%+1

  SHIFT S1

  MOVE P,P[A%+499],Z=0.00

  WAIT ARM

  DO(23)=0

  A%=A%+1

  IF A%=33 THEN

  A%=1

  GOTO *A

  ENDIF

  GOTO *MAIN

  [GEP]

  GP1

  MODE=1

  IPADRS=192.168.0.5

  PORT=5

  EOL=0

  TYPE=0

  [END]

                   YAMAHA ROBOT VISION PROGRAM

More on that
The difference between an industrial robot and a robotic arm The difference between an industrial robot and a robotic arm

A robotic arm is a mechanical structure made up of multiple joints connected together, similar to a human arm. It generally has rotatable or elastic joints that allow it to perform accurate positioning and manipulation in space. A robotic arm is generally composed of a motor, a sensor, a control system and a fulfillment. ...

Three core components of industrial robots Three core components of industrial robots

It can replace humans to do some deep and repetitive operations, achieve accurate transmission of motion and instructions, and closely cooperate with each part to complete complex operations, so how do these flexible 5-axis and 6-axis robots accurately and sensitively complete these instructions? ...

Collaborative robot disadvantage application scenario - Yamaha Collaborative robot disadvantage application scenario - Yamaha

The bulging of cobots can help people enjoy a better quality of life and reduce work time. For employers, cobots can take on the most dangerous missions to reduce the risk of injury and labor costs. The flaw of cobots is that they can't take on all the ...

Yamaha-Industrial robots, PLCs, and automation Yamaha-Industrial robots, PLCs, and automation

What is the connection between industrial robots, PLC and automation? Before understanding the connection between the three, let's get to know each other. 1. Industrial robots Industrial robot is a kind of multi-joint manipulator or multi-free ...

The role of the robot's body and arms The role of the robot's body and arms

What is the role of the fuselage and the arm? What should I keep in mind when designing? The fuselage is a component that supports the arm, which generally realizes lifting, reversing and pitching and other movements, and the fuselage design should have sufficient rigidity and stability; The movement should be flexible, and the length of the guide sleeve for the lifting movement should not be too short.

How Yamaha robots are ahead of failures How Yamaha robots are ahead of failures

Don't be nervous about the problem of the robot during the work process, if the fault is not caused by the controller, then the cause of the problem must be the damage to the machine parts. In order to deal with the problem as soon as possible and easily, the hair ...

Yamaha robot repair method Yamaha robot repair method

Yamaha robot repair method First, see which axis is causing the problem. If it is difficult to detect the fault, check whether there are any of the following possible machine abnormalities. Is there a part announcing noise? Are there parts overheating? . Are there any loose parts ...

Industrial Robot Joint Reducer Role – Yamaha Industrial Robot Joint Reducer Role – Yamaha

The role of the key reducer of industrial robots The operation of industrial robots is mainly controlled by three parts: servo motor, reducer and manipulator, among which the reducer is used to accurately control the movement of the robot joints and transmit greater torque. At present, the common reducer is mainly divided into two ...

Industrial Robot Transmission Mechanism - Yamaha Robot Industrial Robot Transmission Mechanism - Yamaha Robot

The common transmission mechanism forms of industrial robots can be divided into two types: linear transmission and rotary transmission mechanism, in which the linear transmission mechanism can convert the rotary motion into linear motion through transmission elements such as rack and pinion, lead screw nut, etc., or it can be driven by a linear drive motor, or directly by the gas ...

Precautions for Palletizing Robot Repair – Yamaha Precautions for Palletizing Robot Repair – Yamaha

The palletizing robot is a device that actively stacks the bags, cartons or other packaging materials conveyed by the conveyor according to the working method required by the customer's process, and conveys the stacked materials. Palletizing robots have a proper and wide range of applications in the palletizing industry, which greatly saves labor, ...

Yamaha robots ride track bikes to compete with world champions Yamaha robots ride track bikes to compete with world champions

In 2017, the rider robot MOTOBOT developed by Yamaha Corporation raced on the track with Italy racer Valentino Rossi, world champion of the MotoGP World Championship nicknamed Peter Pan. FINALLY MOTOBOT ...

Robot cable selection points to pay attention to - Yamaha Robot cable selection points to pay attention to - Yamaha

Many people's concept of robot cables still exists in the assembly of robots, but the reality is not so. Robot cables can be used not only for robots, but also for automation equipment, production lines, cranes, excavators and medium-flexible underwater research projects. Robot cables can be used in ...

Yamaha - Robot fault judgment tips Yamaha - Robot fault judgment tips

At present, industrial robots have been widely used in automobile and auto parts manufacturing, mechanical processing, electronic and electrical occupations, rubber and plastics industry, food industry, wood and furniture manufacturing industry. In industrial production, welding robots, installation robots, spraying machines ...

Yamaha robot boosts speed method Yamaha robot boosts speed method

Check if the robot's engine is worn, and the air filter is faulty. 1. The normal wear and tear of the engine during the use of Yamaha robots will cause the power to drop and not increase the speed, so the engine needs to be maintained frequently. 2. Yamaha Robot's air filter ...

Yamaha Robotics SGF8 all-in-one drive-control module Yamaha Robotics SGF8 all-in-one drive-control module

The SGF8 integrated drive and control module integrates the embedded module of the guide rail, servo motor and drive controller on the basis of the advantages of the embedded module of the guide rail. Small size, high integration, and simple wiring simplify the customer's electrical design and adapt to the customer's more space needs. ...

Yamaha Trackway Robot Autopilot System Application Yamaha Trackway Robot Autopilot System Application

Is it really valuable for Yamaha Trackrobots, autonomous driving systems to be applied to motorcycles? Back at the 2015 Tokyo Motor Show, Yamaha unveiled a track robot called Motobot, which resembles a rider ...

The weakness of industrial robots – Yamaha robots The weakness of industrial robots – Yamaha robots

1. The operation is slightly inferior to people Because of the complexity of managing the structure of robots, employees who use industrial robots require professional training. If not done correctly, even a simple operation can lead to serious safety incidents. On the other hand, it's easier to do some of the curiosity processes manually ...

Introduction to the Classification of Industrial Robots – Yamaha Introduction to the Classification of Industrial Robots – Yamaha

Industrial robots are multi-joint manipulators or multi-degree-of-freedom machines and equipment for the industrial category, which can actively perform work and complete various functions by relying on their own power and control capabilities. It can accept human command, or it can operate according to pre-programmed programs, and modern industrial robots can also ...

Considerations for Industrial Robot Development – Yamaha Robotics Considerations for Industrial Robot Development – Yamaha Robotics

Industrial robots are the products of the organic combination of machinery and computer programs, which can not only save labor, but also have the advantages of sensitivity and precision, fast and efficient, and stable system. There are always some aspects that need to be paid attention to when developing high-performance industrial robots.

Key points for industrial robot application maintenance - Yamaha Key points for industrial robot application maintenance - Yamaha

Before operating the industrial robot, we must pay attention to check whether there is water and oil entering the electrical control box, if the electrical appliance is wet, do not turn it on, and check whether the power supply voltage is compliant, and whether the front and rear safety door switches are normal. Verify that the direction of rotation of the motor is consistent. Then turn on the power; ...

CATEGORIES BYPASS
Customer Service Center

Online Consultation:QQ


ContactContact

Contact: Manager Huang

Contact QQ: 3271883383

Contact number: 13522565663


Scan the code to add WeChat (please save the picture first on the mobile phone)

working hoursworking hours

Weekdays: 9:00-17:00

Holidays: Only emergencies are handled

Contact us

Contact us

Contact number QQ consultation
QQ consultation

3271883383

Company address
Back to top