首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 15 毫秒
1.
利用Visual C++6.0编程语言,以电火花线切割机床改造为目标,开发电火花线切割加工自动编程系统。该系统采用分布式控制技术,以PC机为主机,同时控制多台线切割机床,实现了图形化自动编程。经实验证明,操作简单方便、运行可靠。  相似文献   

2.
《Advanced Robotics》2013,27(4):435-458
In this paper, a PC-based off-line programming (OLP) method using the virtual reality modeling language is proposed. The developed OLP system consists of simulation programs, a block-arrangement algorithm, an optimal traveling-path generation algorithm, an automatic robot program generator and the TRIBON CAD interface. The strength of the developed PC-based OLP system lies in its flexibility in handling the changes in the robot's target objects. The operator can generate robot programs very easily and quickly. Possible applications of the developed OLP can be extended to port automation, container loading/unloading processes as well as painting and grinding processes in the shipbuilding industry.  相似文献   

3.
This paper describes a system that attempts to generate test data for programs written in ANSI Fortran. Given a path, the system symbolically executes the path and creates a set of constraints on the program's input variables. If the set of constraints is linear, linear programming techniques are employed to obtain a solution. A solution to the set of constraints is test data that will drive execution down the given path. If it can be determined that the set of constraints is inconsistent, then the given path is shown to be nonexecutable. To increase the chance of detecting some of the more common programming errors, artificial constraints are temporarily created that simulate error conditions and then an attempt is made to solve each augmented set of constraints. A symbolic representation of the program's output variables in terms of the program's input variables is also created. The symbolic representation is in a human readable form that facilitates error detection as well as being a possible aid in assertion generation and automatic program documentation.  相似文献   

4.
Industrial robots are widely used in various processes of surface manufacturing, such as spray painting, spray forming, rapid tooling, spray coating, and polishing. Robot programming for these applications is still time consuming and costly. Typical teaching methods are not cost effective and efficient. There are many off-line programming methods developed to reduce the robot programming effort. However, these methods suffer many practical issues, such as cable/hose tangling, robot configuration, collision, and reachability. To solve these problems, this paper discusses a new method to generate robot programs. Since industrial robots have been used in production for decades, there are many robot programs for different parts generated by the robot programmers. These robot programs, which contain not only the robot paths, but also the programmers' knowledge and process parameters, can be transformed to generate new robot programs for similar parts. In this paper, a transformative robot program generation method is developed based on the existing ones in the database. Experiments were performed to validate the developed methodology. The results are very promising in reducing the programming efforts in surface manufacturing.  相似文献   

5.
The programming of robots is slowly evolving from traditional teach pendant methods to graphical Off-Line Programming (OLP) methods. Graphical simulation tools, such as OLP, are very useful for developing and testing robot programs before they are run on real industrial equipment. OLP systems are also used to develop task level programs. Traditional OLP systems, however, suffer from the limitations of using only position control which does not account for inherent robot inaccuracies and dynamic environments. This paper describes our work on improving and supplementing traditional position control programming methods. A baseline OLP system was implemented at NIST's Automated Manufacturing Research Facility (AMRF). Experience gained in implementing this system showed that an effective OLP system must accurately simulate the real world and must support sensor programming to compensate for real-world changes that cannot be simulated. The developed OLP geometric world model is calibrated using robot mounted ultrasound ranging sensors. This measurement capability produces a baseline geometric model of relatively good static accuracy for off-line programming. The graphical environment must also provide representations of sensor features. For this specific application, force is simulated in order to include force based commands in our robot programs. These sensor based programs are able to run reliably and safely in an unpredictable industrial environment. The last portion of this paper extends OLP and describes the functionality of a complete system for programming complex robot tasks.  相似文献   

6.
Task-oriented programming of large redundant robot motion   总被引:9,自引:0,他引:9  
Large robots are a new domain of advanced robotics. Examples of their application fields are tasks like operations on large free-form surfaces, especially aircraft cleaning and removing paint from hulls. They are equipped with a programmable robot control comparable to a control system used for industrial robots. However, conventional teach-in methods are not able to manage the complexity of programming large redundant robot operation on free-form geometries. The Fraunhofer IPA has developed an innovative off-line programming system that allows the creation of robot motion programs which satisfy time and energy optimization criteria. This system helps to avoid collisions within the workspace and to fulfill conditions that arise from the robot kinematics and dynamics. This advanced programming system has been successfully used to generate motion programs for the world's largest mobile robot, the aircraft cleaning manipulator SKYWASH. In this context offline programs for eleven different types of aircraft have been developed.  相似文献   

7.
M. Roper  P. Smith 《Software》1987,17(2):135-157
A new structural testing method (STM) is presented for use with JSP (Jackson structured programming) designed programs. The method involves the creation of a path expression from the program structure and subsequent expansion of the expression into a set of paths using an algebra described in the paper. The treatment of each JSP construct is dealt with in detail. A worked example demonstrates the use of the method to generate test cases. The method is compared in terms of coverage to other well-known structural testing methods. The advantages and disadvantages of the method are discussed and further work currently being undertaken by the authors is outlined.  相似文献   

8.
Incremental sheet forming is an emerging process to manufacture sheet metal parts that is well adapted for small batch production or prototypes. The adjustment time is short, as it is sufficient to modify the tool motions to optimize the manufacturing process. Tool path generation therefore becomes a key topic linked to incremental sheet forming, and process characteristics ask for dedicated tool paths. Hence, this paper first discusses the impact of tool path types and other programming parameters on process implementation through an experimental campaign performed on a parallel kinematics machine tool. Then, a new approach to generate and control Intelligent CAM programmed tool paths is proposed. The major purpose of this innovative concept is to use process constraints for programming and controlling the tool path, which are adapted during the running of the CNC program according to real-time process data evaluation. Validation studies and an industrial implementation are finally presented to assess the efficiency of the proposed approach.  相似文献   

9.
Recent progress on programming methods for industrial robots   总被引:4,自引:0,他引:4  
Although an automated flexible production cell is an intriguing prospect for small to median enterprises (SMEs) in current global market conditions, the complexity of programming remains one of the major hurdles preventing automation using industrial robots for SMEs. This paper provides a comprehensive review of the recent research progresses on the programming methods for industrial robots, including online programming, offline programming (OLP), and programming using Augmented Reality (AR). With the development of more powerful 3D CAD/PLM software, computer vision, sensor technology, etc. new programming methods suitable for SMEs are expected to grow in years to come.  相似文献   

10.
Fuzzing is widely used to detect software vulnerabilities. Blackbox fuzzing does not require program source code. It mutates well-formed inputs to produce new ones. However, these new inputs usually do not exercise deep program semantics since the possibility that they can satisfy the conditions of a deep program state is low. As a result, blackbox fuzzing is often limited to identify vulnerabilities in input validation components of a program. Domain knowledge such as input specifications can be used to mitigate these limitations. However, it is often expensive to obtain such knowledge in practice. Whitebox fuzzing employs heavy analysis techniques, i.e., dynamic symbolic execution, to systematically generate test inputs and explore as many paths as possible. It is powerful to explore new program branches so as to identify more vulnerabilities. However, it has fundamental challenges such as unsolvable constraints and is difficult to scale to large programs due to path explosion. This paper proposes a novel fuzzing approach that aims to produce test inputs to explore deep program semantics effectively and efficiently. The fuzzing process comprises two stages. At the first stage, a traditional blackbox fuzzing approach is applied for test data generation. This process is guided by a novel test case similarity metric. At the second stage, a subset of the test inputs generated at the first stage is selected based on the test case similarity metric. Then, combination testing is applied on these selected test inputs to further generate new inputs. As a result, less redundant test inputs, i.e., inputs that just explore shallow program paths, are created at the first stage, and more distinct test inputs, i.e., inputs that explore deep program paths, are produced at the second stage. A prototype tool SimFuzz is developed and evaluated on real programs, and the experimental results are promising.  相似文献   

11.
当前漏洞检测技术可以实现对小规模程序的快速检测,但对大型或路径条件复杂的程序进行检测时其效率低下.为实现复杂路径条件下的漏洞快速检测,文中提出了一种复杂路径条件下的漏洞检测技术SymFuzz.SymFuzz将导向式模糊测试技术与选择符号执行技术相结合,通过导向式模糊测试技术对程序路径进行过滤,利用选择符号执行技术对可能...  相似文献   

12.
Programming faults are defined in the framework of the program verification schema (proof outline). Component S in program P is faulty if P cannot be proved correct with the current implementation of S but it can be proved using the implementation specification for S. A programming error is a state that violates that specification. Conditions for error propagation and masking are expressed in terms of the relationships between the implementation and design specification of S, which defines the role of S in the overall design of P. Errors propagate due to the dependencies between program entities. It is shown that “classical” static dependencies, developed for the purpose of code optimization, are inadequate for the analysis of error propagation since they do not capture events that occur on individual paths through the program. A novel path analysis method is proposed to identify variables potentially corrupted on a same path due the existence of the fault. The method is based upon error propagation axioms. The axioms are used to define path relations for structured programming constructs. The relations provide a conservative structural approximation to the semantical theory of error creation and propagation and are shown useful in testing, debugging and static analysis.  相似文献   

13.
Property‐based testing has gained popularity in recent years in many areas of software development. The specification of assertions/properties helps to understand the semantics of pieces of code, and in modern programming environments, it can serve to test the program behavior. In this paper an XQuery property‐based testing tool is presented, which enables to automatically test XQuery programs. The tool is able to systematically generate XML instances (i.e., test cases) from a given XML schema, and to filter XML instances with input properties specified by the programmer. Additionally, the tool automatically checks output (respectively, input‐output) properties in each output instance (respectively, each pair of input‐output instances). The tool is able to report whether the XQuery program passes the test, that is, if all the test cases satisfy the (input‐)output property, as well as the number of test cases used for testing. In addition, if the XQuery program fails the test, the tool shows counterexamples found in the test cases. Properties are specified with XQuery Boolean functions, and the testing tool has been implemented in XQuery. Additionally, an XQuery path validation tool is presented. This tool is able to detect wrong paths in XQuery expressions. The path validation tool takes as input an XML schema, and it reports those paths on the XQuery program that do not match the XML schema. The path validation tool is a complement to the testing tool rejecting XQuery programs that do not conform to the XML schema. The path validation tool has been also implemented in XQuery. Finally, a web tool has been developed enabling to test and validate XQuery programs.  相似文献   

14.
Concurrent programming is more difficult to use and understand than sequential programming. In order to simplify this type of programming a number of approaches have been developed such as visual programming. Visual Occam (VISO) is a visual programming language for concurrent programming. It has a graphical syntax based on the language Occam and its semantics is represented both in petri net and process calculus. This paper presents a modular visual approach to write concurrent programs using the VISO language. Concurrent programs in VISO are specified graphically at different levels of abstraction. This paper describes this modular visual approach by constructing two examples in VISO. The first example is a simple concurrent program and it is mainly used to show the details of constructing a concurrent program in VISO. The second example is a larger concurrent program with more levels of abstraction. Copyright © 2000 John Wiley & Sons, Ltd.  相似文献   

15.
We introduce a novel algorithm for decoding turbo-like codes based on linear programming. We prove that for the case of repeat-accumulate codes, under the binary symmetric channel with a certain constant threshold bound on the noise, the error probability of our algorithm is bounded by an inverse polynomial in the code length.Our linear program (LP) minimizes the distance between the received bits and binary variables representing the code bits. Our LP is based on a representation of the code where codewords are paths through a graph. Consequently, the LP bears a strong resemblance to the min-cost flow LP. The error bounds are based on an analysis of the probability, over the random noise of the channel, that the optimum solution to the LP is the path corresponding to the original transmitted codeword.  相似文献   

16.
Liu  Bin-Bin  Dong  Wei  Liu  Jia-Xin  Zhang  Ya-Ting  Wang  Dai-Yan 《计算机科学技术学报》2020,35(6):1234-1257

Program synthesis is an exciting topic that desires to generate programs satisfying user intent automatically. But in most cases, only small programs for simple or domain-specific tasks can be synthesized. The major obstacle of synthesis lies in the huge search space. A common practice in addressing this problem is using a domain-specific language, while many approaches still wish to synthesize programs in general programming languages. With the rapid growth of reusable libraries, component-based synthesis provides a promising way, such as synthesizing Java programs which are only composed of APIs (application programming interfaces). However, the efficiency of searching for proper solutions for complex tasks is still a challenge. Given an unfamiliar programming task, programmers would search for API usage knowledge from various coding resources to reduce the search space. Considering this, we propose a novel approach named ProSy to synthesize API-based programs in Java. The key novelty is to retrieve related knowledge from Javadoc and Stack Overflow and then construct a probabilistic reachability graph. It assigns higher probabilities to APIs that are more likely to be used in implementing the given task. In the synthesis process, the program sketch with a higher probability will be considered first; thus, the number of explored reachable paths would be decreased. Some extension and optimization strategies are further studied in the paper. We implement our approach and conduct several experiments on it. We compare ProSy with SyPet and other state-of-the-art API-based synthesis approaches. The experimental results show that ProSy reduces the synthesis time of SyPet by up to 80%.

  相似文献   

17.
Symbolic PathFinder (SPF) is a software analysis tool that combines symbolic execution with model checking for automated test case generation and error detection in Java bytecode programs. In SPF, programs are executed on symbolic inputs representing multiple concrete inputs and the values of program variables are represented by expressions over those symbolic inputs. Constraints over these expressions are generated from the analysis of different paths through the program. The constraints are solved with off-the-shelf solvers to determine path feasibility and to generate test inputs. Model checking is used to explore different symbolic program executions, to systematically handle aliasing in the input data structures, and to analyze the multithreading present in the code. SPF incorporates techniques for handling input data structures, strings, and native calls to external libraries, as well as for solving complex mathematical constraints. We describe the tool and its application at NASA, in academia, and in industry.  相似文献   

18.
Reproducing the execution of a concurrent program is important in debugging and testing. It requires that, regardless of the actual order in which processes may execute, the reproduced execution is identical, with respect to the order in which certain activities occur, to a previously recorded execution. This paper presents a solution to the reproducibility problem for programs written in the SR concurrent programming language. Our solution transforms an arbitrary SR program into one for recording an event sequence and one for replaying from an event sequence. SR provides a rich collection of synchronization mechanisms, including rendezvous, asynchronous message passing, remote procedure call, and dynamic process creation. SR language features allow: flexible invocation servicing (e.g. use of invocation parameters in selecting an invocation to service in message passing or rendezvous); dynamically created processes and resource (module) instances; dynamic communication paths between processes; and dynamic distribution of programs across multiple machines. Because of these features, adaptations of previous solutions to the reproducibility problem for other languages and notations do not work for SR. Our solution handles all the above features. It results in a naturally distributed control algorithm for programs that are distributed. This paper also describes the implementations of our transformation tools. Copyright © 1999 John Wiley & Sons, Ltd.  相似文献   

19.
Revit平台中创建扶壁模型包含绘制扶壁轮廓和路径、放样、阵列复制、计算旋转角度并逐一偏转等操作,步骤繁杂且耗时;若是采用以往开发的插件创建扶壁式挡土墙模型则导线的类型和挡土墙的方向受到限制.为了满足多样化的扶壁放置需求,简化扶壁放置操作步骤,可利用Revit开放的二次开发接口API和C#语言技术,基于Visual S...  相似文献   

20.
This paper advocates a configuration approach to parallel programming for distributed memory multicomputers, in particular, arrays of transputers. The configuration approach prescribes the rigorous separation of the logical structure of a program from its component parts. In the context of parallel programs, components are processes which communicate by exchanging messages. The configuration defines the instances of these processes which exist in the program and the paths by which they are interconnected.

The approach is demonstrated by a toolset (Tonic) which embodies the configuration paradigm. A separate configuration language is used to describe both the logical structure of the parallel program and the physical structure of the target multicomputer. Different logical to physical mappings can be obtained by applying different physical configurations to the same logical configuration. The toolset has been developed from the Conic system for distributed programming. The use of the toolset is illustrated through its application to the development of a parallel program to compute Mandelbrot sets.  相似文献   


设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号