|
|
|
|
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.
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:
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