Academic Open Internet Journal
www.acadjournal.com
Volume 9, 2003

 

 

Design on manipulation robotic systems in
AutoCAD environment using program modules
 

Ivan Chavdarov, Ivan Stoyanov, Rumyana Krasteva, Ani Boneva

Central Laboratory of Mechatronics and Instrumentation - BAS
Acad. G. Bontchev Str. Bl.2, 1113 Sofia, BULGARIA
E-mail: ivan_stoyanov@dir.bg



    Summary:

    The paper presents possibility for program languages (for AutoCAD) application in design on manipulation systems (MS) for robots. There are presented approaches for creating drawing objects, obtaining the information from objects and drawings, interaction  with outsides files, etc. There are described a methods for structural synthesis on MS using Visual LISP applications. There are examples presented.

    Keywords: AutoCAD, VisualLISP, manipulation systems, robot, drawings


1. Introduction

    The using and applying the program languages in AutoCAD opens a wide range of possibilities for optimization on design and analysis on mechanisms. Using AutoCAD programs are developed many applications, which drawing and editing standard elements. Many analysis are doing – kinematic analysis, force analysis, heating analysis, etc. Except for using on standard modules in AutoCAD, it is possible to develop own individual applications for specific requirements. It is also possible to using all standard commands and their combination, a new commands creating and describing own ideas, using the graphic system.
    AutoCAD programs are created using different program languages, based on LISP, C++ and VBA. AutoLISP and Visual LISP for AutoCAD are based on Common LISP – one of the versions for artificial intelligence programming [5]. ADS (AutoCAD Development System) and Object ARX (AutoCAD Runtime Extension) are based on Visual C++. VBA for AutoCAD is based on Visual Basic.

2. Special feature for programming in AutoCAD environment

    Except typical functions, characteristic for each program languages (mathematical, logical, input/output and etc.), the languages working in AutoCAD environment are having specific functions, based on their applications [1]. In the paper this functions are divided in several basic category and examples from Visual LISP for AutoCAD are added. The others of described program languages have the same functions.

    Described functions make the relation between program and separated AutoCAD objects, cause it’s knowledge is very important. AutoCAD is working with a lot of menus and documents. Menus are Popup Menus and Toolbars – they start up deferent commands or outside programs. Each document consists of blocks, groups, layers, wire types, views, text styles, coordinate systems, dictionaries etc. They can be used in two spaces – model and paper. The elementary objects that build the model in these spaces are wires, arcs, circles, attributes, dimensions, etc. Each of objects has a lot of characteristics and some of them are covered. For example:  a circle has a radius, type of wires etc. One ellipse has the same parameters, but only one radius can’t define it. The programs are creating, editing and processing this objects and the goal is to present an optimal constructive variant.

3. Program modules for robotics applications

    It is developed a program “AnimateDWG” for generating structural drawings for manipulation systems. It is possible to change mechanism’s parameters, movement animation, drawing the path etc.
In the beginning is needed to choose structural scheme (fig.1).

Fig.1 Choice of  structural scheme

    It is provided possibility for choice between two five links mechanisms and one opened plain manipulation system with four degrees of freedom. It needed to input the mechanism’s geometric parameters. Fig.2 and fig.3 show the schemes on two of mechanisms and their corresponded geometric parameters.
    There are defined a drive link and joint limit for the link.

Fig.2 Structural scheme and geometric parameters on five-linked mechanism 1

Fig.3 Structural scheme and geometric parameters on five-linked mechanism 2,
used in manipulator “Feedmat”

a) Path generation for robotics manipulation systems

    In CAD environment is easy to build as a structural schemes, as a complete drawings on manipulation systems. Their corresponded paths are easy to create with the help of the program. The definition on the specific point coordinates is made by geometric method. With changing on the geometric parameters and the joint limit there are generate mechanisms with different paths.
 
 

Fig.4 Paths generated with help of mechanism from fig.2


Fig.5 Paths on mechanism from fig.3

    The program is drawing as mechanisms structural schemes, as a manipulator drawing, built from blocks (fig.6, fig.7). The blocks can define completed assembly and this is the way to obtain a complex notion of the manipulation system. The path, described from characteristic point of manipulator, is drawn with polyline. In the design process, the blocks can be changing and re-defining, so to perfect the mechanism and to escape the conflicts. There are generated different solutions, so to improve the manipulator’s construction.

Fig.6 Dialog box for choosing a manipulation system presentation

Fig.7 Manipulator “Feedmat”


b) Kinematic and force analysis of manipulation system

    When the force load and speed of manipulator are known, there are obtained the forces and speeds of the joint (or on the characteristic point of manipulator). It is possible to use geometric methods for determination. In a lot of realizations on opened–closed manipulation systems this method gives simple solutions. In [2] is made a kinematic and force analysis of mechanism from fig.3 with the help of LISP program. With geometric parameters changing it is searching for optimal solution, with path near to desired and optimal load of mechanism. The both of 5-linked mechanisms at defined combination of geometric parameters can generate near paths, but joint force load has a different character in equal conditions.
    Figure 7 shows a solution of “Feedmat” manipulator, based on structural scheme from fig.2. Each of the links defined as a separate block and can be changed in design process.
The optimal solution can be finding after generation of set of solutions. This process is realizing from the user or in the program by specified criteria and algorithm (as in [3]).

c) Inverse kinematic (robotics) task solution

    In opened manipulation systems the analytic inverse task solution is not easy. Usually it has more than one solution and hasn’t summarized formulas for computing. For each concrete case it is finding by unique and difficult way.
    Using the CAD environment can be finding geometric solution with high precision. In the cases with more solutions it is need to developing a program for solution determination. Using the described program module it is solving inverse task for position for two-dimensional redundant manipulation system with four-rotation degree in limited workspace with hole. This algorithm can be used for finding solutions in case for n–rotation plane degree of freedom [4].

Fig.8 Redundant manipulation system

    The algorithm is checking for collision with obstacle. It is need to set the geometric manipulator’s parameters and obstacles. (fig.8). It is searching for inverse task solution for points of the workspace BxH.
In the first it is checking if the operated point appears in manipulator’s workspace, after this the different configurations are testing by checking a joint limit and collision with obstacle.
    It is searching for solutions with in advance defined step and it determinate the result’s precision. As results the program returns if the set point is attainable and the service index in known link’s length. After analysis on set of solutions it is searching for optimal combinations of link's length l1, l2, l3 with maximal service index.
An area of optimal solutions and areas of link’s length values in which manipulation system not reaches all points of a workspace (non-processed points).  Ka4 – is integral service index for link l4 (from fig.8) and ka3 is integral service index for link l3.  The maximal values of integral indexes on service angles - ka3 and ka4 - are proposed as criteria for finding an optimal solution for link’s length [4].

d) Extracting an information from drawing and working with symbolic tables

    The program “Triangle sign” extracts the information for chosen line and draws a scaled sign for line inclination. For information extracting from the line is used command “entget”. After choosing an inclined line it is drawing a real display image with dashed line and it follows the mouse moving. This effect is realized using function “grread”. The place of sign defined by the user (using mouse or keyboard). If it is necessity, the program can draw dimensions (fig.9).

Fig.9 triangle sign placing

    The settings for sign and text fonts for it are set from dialog box “Setting for triangle” – fig.10. The information for actions is stored in separated text file. If in the drawing presents a text with needed properties, it can be pointed using “Select text” and the program will be processing with pointed properties.

Fig.10 Dialog box “Settings for triangle”

    The program is working only with lines and the algorithm checking if a line selected (or other object) and if a line inclined. There are doing checks in symbolic tables for layers and text styles. In case when the program started from drawing, where some of settings can’t executes, the message is appearing. This problem can be or missed layer, or missed text style in the current drawing.

e) Processing with selected sets

    The following program code requires from the user to select objects (by pointing, by window etc.). Extracting the information for this objects and filters the objects (remain only circles). From circles extracted the information for their radius and center.
 

    (initget 3)
(setq ss (ssget '((0 . "CIRCLE"))))
    (setq sl (sslength ss) i 0)
(repeat sl
(setq sl1 (ssname ss i)
  i (+ i 1))
    (setq llist (entget sl1)
 rad (cdr (assoc 40 llist))
   pc (cdr (assoc 10 llist)))
    (axis1 rad pc del) ; Draw axis lines, longer with del (mm).
    )


    Using the cycle “repeat” the program is processing all selected circles and drawing axis lines.

Fig.11 Processing with selected sets – drawing axis lines

4. Conclusion

    The programs in AutoCAD environment allow creating applications with different operations:

    Creating a program module in AutoCAD environment is powerful in design on manipulation systems. It is generating a lot of ideas and design solutions and they analysis later. The created program modules are helping in researching on specific manipulations systems. The program modules are user friendly.
Manipulator “Feedmat” from fig.7 is applied in casting industry and realized from “Spesima GMBH”.

References:

[1]. Grigorov B., AutoLISP programming in AutoCAD environment., Informa, Sofia, 1995.
[2]. Pavlov V., Chavdarov I., An approach in synthesis of handling mechanisms for target robots, Conference “Robotics and Mechatronics 2000”, j. Scientific reports (in Bulgaria), No. 4, pp. 1.1 – 1.7, ISSN 1310-3946, CLMI- BAS, Sofia, 2000.
[3]. Chavdarov I., Vitkov V., Automated design for bush conical connecting gear, Conference “Robotics and Mechatronics 2002”, j. Scientific reports (in Bulgaria), No. 6, pp. 1.24 – 1.29, ISSN 1310-3946, CLMI- BAS, Sofia, 2002.
[4]. Chavdarov I., Stoyanov I., Geometrical Synthesis of Manipulating System Served Limited Workspace with Hole, Conference  “Robotics and Mechatronics 2000”, j. Scientific reports (in Bulgaria), No. 4, pp. 1.8 – 1.14, ISSN 1310-3946, CLMI- BAS, Sofia, 2000.
[5]. Omura G., The ABC’s of AutoLISP, SYBEX, 2001.
 
 


  Technical College - Bourgas,
All rights reserved, © March, 2000