Английская Википедия:A Manufacturing Language

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description


Шаблон:Infobox programming language

A Manufacturing Language (AML) is a robot programming language created by IBM in the 1970s and 80s, for its RS 1 robot and other robots in its Robot Manufacturing System product line.[1][2] The systems were used in factory automation by customers such as Plessey and Northern Telecom.[3] They are no longer listed as available from IBM, but robots and parts can occasionally be found in used condition on auction sites, and are refurbished by hobbyists.[4]

AML/2, AML/E, AML/V, and AML/X are versions and derivatives of AML.[5]

AML programs can call subroutines written in AML, C, or FORTRAN. Programs are coded off-line, and can be tested with an off-line simulator. Prior to execution on the robot, they are uploaded to RAM residing in the robot's control unit.[6]

Файл:Burgemeester Van Thijn opent computerexpositite EXHIBIT voor jongeren burgemees, Bestanddeelnr 933-2886.jpg
Two IBM 7535 SCARA industrial robots bracketing the Mayor of Amsterdam, Burgemeester Ed van Thijn, at a 1985 computer exhibition in the Netherlands

Source Code Example

The following example shows code for a peg-in-hole program.[7]

PICKUP: SUBR (PART__DATA, TRIES);
   MOVE(GRIPPER, DIAMETER(PART__DATA)+0.2);
   MOVE(<1,2,3>, XYZ__POSITION(PART__DATA)+<0,0,1>);
   TRY__PICKUP(PART__DATA, TRIES);
   END;

TRY__PICKUP: SUBR(PART__DATA, TRIES);
   IF TRIES LT 1 THEN RETURN('NO PART');
   DMOVE(3,-1.0);
   IF GRASP(DIAMETER(PART__DATA)) = 'NO PART'
      THEN TRY__PICKUP(PART__DATA, TRIES - 1);
   END;

GRASP: SUBR(DIAMETER, F);
   FMONS: NEW APPLY($ MONITOR, PINCH__FORCE(F));
   MOVE(GRIPPER, 0, FMONS);
   RETURN( IF QPOSITION(GRIPPER) LE DIAMETER/2
              THEN 'NO PART'
              ELSE 'PART' );
   END;

INSERT: SUBR(PART__DATA, HOLE);
   FMONS: NEW APPLY($ MONITOR, TIP__FORCE(LANDING__FORCE));
   MOVE(<1,2,3>, HOLE+<O,O,.25>);
   DMOVE(3, -1.0, FMONS);
   IF QMONITOR(FMONS) = 1
      THEN RETURN('NO HOLE');
   MOVE(3, HOLE(3) + PART__LENGTH(PART__DATA));
   END;

PART__IN__HOLE: SUBR(PART__DATA, HOLE);
   (PICKUP PART__DATA 2.);
   (INSERT PART__DATA HOLE);
   END;

External links

References

Шаблон:Reflist

Шаблон:IBM Шаблон:Programming languages

  1. IBM. "IBM robotics: tools for advanced manufacturing", IBM Archives, London, 27 October 2005. Retrieved on 11 June 2019.
  2. IBM Watson Research Center. "Artificial Intelligence (subdiscipline)", section IBM RS 1 Robotic system (1980s), updated on 9 November 2017. Retrieved on 11 June 2019.
  3. Richard C. Dorf, Shimon Y. Nof, editors. "International Encyclopedia of Robotics: Applications and Automation", Vol. 1., John Wiley & Sons, New York, 1988, pp. 216, 219.
  4. sliptonic. "IBM 7575 Scara robot working at last", YouTube, 9 April 2018. Retrieved on 11 June 2019.
  5. R.H. Taylor, P.D. Summers, J.M. Meyer. "AML: A Manufacturing Language", The International Journal of Robotics Research, 1(3), 19–41, 1 September 1982. Retrieved on 11 June 2019.
  6. Korein, J. U., Maier, G. E., et al. "A configurable system for automation programming and control", in IEEE Conf. on Robotics and Automation, San Francisco, April, 1986. pp. 1871-1877.
  7. Lozano-Pérez, Tomás. "Robot Programming", Massachusetts Institute of Technology A.I. Laboratory (for the Advanced Research Projects Agency, Office of Naval Research), A.I. Memo No. 698, December, 1982, p. 33.