磊's profile磊的空间 Ray's SpacePhotosBlogListsMore Tools Help

磊 王

No list items have been added yet.
No list items have been added yet.

磊的空间 Ray's Space

Photo 1 of 34
More albums (99)
June 17

Radio-frequency identification (RFID)

http://en.wikipedia.org/wiki/Radio-frequency_identification

Radio-frequency identification (RFID) is the use of an object (typically referred to as an RFID tag) applied to or incorporated into a product, animal, or person for the purpose of identification and tracking using radio waves. Some tags can be read from several meters away and beyond the line of sight of the reader.

Most RFID tags contain at least two parts. One is an integrated circuit for storing and processing information, modulating and demodulating a radio-frequency (RF) signal, and other specialized functions. The second is an antenna for receiving and transmitting the signal.

There are generally two types of RFID tags: active RFID tags, which contain a battery and can transmit signals autonomously, and passive RFID tags, which have no battery and require an external source to provoke signal transmission.

Today, RFID is used in enterprise supply chain management to improve the efficiency of inventory tracking and management.

 

 

June 15

Sample Flowcharts and Templates

Link : http://www.rff.com/flowchart_samples.htm

This page shows some sample flowcharts that were drawn with the RFFlow software. For general information about RFFlow, go to the RFFlow Home page.


These flowchart examples can be downloaded and edited. It is sometimes easier to modify an existing chart than to draw a new one. Each chart is then a template for your own custom chart.


If you haven't done so already, download the free trial version of RFFlow. Once it is installed, you can open the samples on this page directly in RFFlow by clicking the links to the .flo files. From there you can zoom in, edit, and print the sample chart.

See the tutorials:

Input Output

Click to enlarge image
Download flowchart_input_output.flo

Financial Crisis

Click to enlarge image
Download foreclosure.flo

Software Development

Click to enlarge image
Download software_development.flo

One Second LED

Click to enlarge image
Download flowchart_one_second_response.flo

Order Processing

Click to enlarge image

Download order_processing.flo

Accounts Receivable

Click to enlarge image

Download accounts_receivable.flo

Changing a Flat Tire

Click to enlarge image

Download flat_tire.flo

Basic Flowchart - House Painting

Click to enlarge image

Download basic_flowchart_house_painting.flo

Basic Flowchart - Increment 3 Vector

Click to enlarge image

Download basic_flowchart1.flo

Detailed Flowchart - Driving a Stick Shift

Click to enlarge image

Download stick_shift_flowchart.flo

Do You Have to File an Income Tax Return?

Click to enlarge image

Download file_income_tax_flowchart.flo

Deployment Flowchart

Click to enlarge image

Download deployment_flowchart.flo

Deployment Flowchart - New Product Development

Click to enlarge image

Download product_deployment_flowchart.flo

Opportunity Flowchart - Photolithography

Click to enlarge image

Download photoresist_opportunity_flowchart.flo

Opportunity Flowchart - Order Processing

Click to enlarge image

Download order_processing_opportunity_flowchart.flo

Software Flowchart

Click to enlarge image

Download software_flowchart.flo

Physical Flowchart

Click to enlarge image

Download physical_flow.flo

N Factorial
N!
Flowchart

Click to enlarge image

Download n_factorial_flowchart.flo

June 12

Robot calibration

http://en.wikipedia.org/wiki/Robot_calibration

Robot calibration is the process of determining the actual values of kinematic and dynamic parameters of an industrial robot (IR). Kinematic parameters describe the relative position and orientation of links and joints in the robot while the dynamic parameters describe arm and joint masses and internal friction.

A calibrated robot has a higher absolute positioning accuracy than an uncalibrated one, i.e., the real position of the robot end effector corresponds better to the position calculated from the mathematical model of the robot. Absolute positioning accuracy is particularly relevant in connection with robot exchangeability and off-line programming of precision applications. Besides the calibration of the robot, the calibration of its tools and the workpieces it works with (the so-called cell calibration) can minimize occurring inaccuracies and improve process security.

 

Accuracy criteria and error sources

The international standard ISO 9283 is setting different performance criteria for IR and suggesting test procedures in order to obtain appropriate parameter values. The most important criteria, and also the most commonly used, are accuracy of pose (AP) and repeatability of pose (RP). Repeatability is particularly important when the robot is moved towards the command positions manually („Teach-In“). If the robot program is generated by a 3D simulation („off-line programming“), absolute accuracy is vital, too. Both are generally influenced in a negative way by kinematic factors. Here especially the joint offsets and deviations in lengths and angles between the individual robot links take effect.
 

Measurement systems

There exist different possibilities for pose measurement with industrial robots, e.g. touching reference parts, using supersonic distance sensors, laser interferometry, theodolites, calipers or laser triangulation. Furthermore there are camera systems which can be attached in the robot’s cell or at the IR mounting plate and acquire the pose of a reference object. Measurement and calibration systems are made by such companies as Dynalog, FARO Technologies, Leica, Metris, Metronor, Wiest, Teconsult and Automated Precision,Inc..

 
 
April 21

Autonomous Assembly Robots Project

http://manufacturing.georgiainnovation.org/highlights/details/83

 

Title: Interaction and Learning for Autonomous Assembly Robots

Proposal being submitted by: Andrea L. Thomaz and Henrik Christensen School of Interactive Computing, Georgia Institute of Technology 85 5th Street NW, TSRB Atlanta, GA 30308

Date of submission of Proposal: September 9, 2008 Proposed duration of project: 24 months

Body of Proposal

1. Title: Interaction and Learning for Autonomous Assembly Robots

2. Proposal being submitted by: Andrea L. Thomaz and Henrik Christensen School of Interactive Computing, Georgia Institute of Technology

3. Abstract

The purpose of this project is to investigate the potential for feasible human cooperation with autonomous assembly robots that can perform useful, real work for assembly tasks. Human interaction, robot learning capability, flexible perception and cognitive behavior are to be integrated in a system that can be demonstrated in the role of “Co-Worker” for assembly tasks.

4. Introduction

A new next generation of assembly robot(s) is anticipated that significantly reduce the reliance on fixturing, mechanical structure and conventional sense-plan-act programming. This capability enables assembly automation with a set of little or no more infrastructure requirements than would a completely manual process. These new assembly robots would exploit the existence of a flexible robot perception system as an integral component of a three part strategy that includes highly flexible robots/dexterous end effectors and integration/harmony with people also performing related tasks in the assembly process. The cognitive component of the perception system would facilitate the “assignment” of the automation to a set of assembly tasks and/or assistance to others performing a task not yet appropriate for automation. This capability will also enable the rapid “teaching” and “reassignment” of the robot(s) to other tasks as required by production mix and business needs.

One of the objectives of this project is to leverage the existing work in the Socially Intelligent Machines research lab at Georgia Tech that can be applied toward human-robot interaction and collaboration at semantic level. Dr. Thomaz’s research on Socially Guided Machine Learning (previously with the MIT Leonardo robot, and now with the GT Simon robot), it’s behavioral architecture and related development are all regarded as an excellent starting point for this work. We anticipate that a new generation of highly capable assembly robot mechanical designs will evolve in the future. Given this capability, the feasibility of their use for autonomous assembly hinges on the availability of new solutions for behavior, learning and interaction.

5. Work plan / Tasks

One of the objectives of this project is to leverage the considerable existing work in the Socially Intelligent Machines research lab at Georgia Tech that can be applied toward human-robot interaction and collaboration at a semantic level. The existing visual and behavioral architecture are regarded as an excellent starting point for this activity.

This project seeks to adapt the current work and extend it into the direction of manufacturing relevant assembly tasks in a learning and interactive “Co-Worker” environment.

A capability demonstration is envisioned for showcasing the “co-worker” concept and challenging researchers in taking the existing state of development to the next level.

Some aspects of the capability demonstration will be reverse engineered from the existing physical performance capabilities of the robots at Georgia Tech that will be used for this research. We plan to use two platforms for this research. One is a mobile manipulator (segway RMP + Kuka lightweight arm + Schunk hand). The other is an upper-torso humanoid robot (two arms, two hands, socially expressive head).

Speed, payload, force levels, grasp and perception performance would all be considered in engineering the assembly tasks and components within a 3σ capability range. The “parts”, “tools” and tasks all should be recognizable as useful in an automotive context, but could be adapted for use by each robot platform. The domain of door-assembly has been chosen has the initial domain for task analysis and development of basic competencies. An array of tasks will be used to build a non trivial set of assembly sequences anywhere within the work envelope of the robot system.

The demonstration would include interaction and teaching multiple sequences of operations and having the system re-execute the tasks with variability in initial conditions, part/task locations, and interaction. The following is a set of ideas and potential requirements to be considered in the formulation of a formal project proposal:

• Non-trivial assembly: 5-10 parts, presented different locations/orientations or by hand, combined by insertion, snap fit, twist-lock, slots, Velcro, other forms of fasteners and using 3 different tools to set the orientation of part features or set fasteners with a total of at least 50 different combinations of possible outcomes (not counting all of these occurring at various positions). Parts could be a combination of prismatic, planar, rigid or flexible/compressible. An important aspect of the co-worker robot is that some assembly tasks may not be able to be done completely autonomously, it may be the case that for some tasks there are actions the robot can do, and other actions that it relies on the human partner to do.

• Behavior and learned task build: Teaching or learning a task should build a dynamic list of interpreted commands and behaviors that could represent the tasks. This list (or other structure) could possibly be edited by the teacher or used to reverse the task sequence and indicate future intention. Another possible use of this behavior structure is export for use by another robot that is working similar tasks. It’s envisioned that there should be a smooth transition from task element to element and the system should reason through unexpected contacts and retry operations.

• Interaction: The learning process will be situated within a social interaction with a human partner. Thus the system should be able to recognize and respond to human gestures, behavior, spoken commands and other cues related to the teaching/learning interaction. Teleoperation and/or physical lead-through are possibilities for teaching or “coaching” the system into performing the tasks. Interaction could be human to robot, hand to hand, robot to robot, and robot to supporting automation. A dynamic, icon based display or other creative audio-visual-haptic method (ranging from mild to wild) could be used to indicate the current state of learning and intention to proceed with future states or tasks. Various types of help could be requested to facilitate learning or executing the tasks. One goal would be to include task familiarization and optimization such that the system improves its performance with experience in a way that is understandable and trusted by the human partner. In the execution phase of a learned task, and important part of the interaction will be the negotiation of roles. For example, in cases where the robot does part of the task and then needs the human’s assistance to finish the task.

• Sensing and Perception: Should be flexible enough to accommodate point of assy. and tool use with relative positioning for parts and tools in the grasp, location of intersection points for insertion and tool tip guidance. Force and tactile data and responses should be integrated into the various behaviors.

• Safety: The system should exhibit behavior and situational awareness of human intention for safe movement response and task execution.

• Architecture: It is anticipated that the enhancements to the existing algorithms and behavior subsystems could extend beyond the demonstration work and into future work with next generation robot hardware.

April 18

两种求和加法sum,add

第一种加法sum:

sum([], 0) :- !.                                  %终止条件
sum([X|Xs], S+X) :- sum(Xs, S).      %递归项:如果Xs的和是S,那么X和Xs的和是X+S。

此法的缺点是占用内存过大,因为要缓存X+S的中间结果,直至到终止条件满足。

第二种加法add:

add([], A, A).                                          %终止时把第二个argument的值赋给第三个argument。     
add([X|Xs], A, S) :- add(Xs, X+A, S).    %取出表头,不断累加。

此法必须在输入时注明起始条件。

Let us see how the computer calculates this second version of list addition.
1. add([3,4, 5.6, 2.3], 0.0, S)
matches add([X|Xs], A, S) :- add(Xs, X+A, S)
yielding add([5.6, 2.3], 0+3.4, S)
2. add([5.6, 2.3], 0.0+3.4, S)
matches add([X|Xs], A, S) :- add(Xs, X+A, S)
yielding add([2.3], 0+3.4+5.6, S)
3. add([2.3], 0.0+3.4+5.6, S)
matches add([X|Xs], A, S) :- add(Xs, X+A, S)
yielding add([ ], 0+3.4+5.6+2.3, S)
that matches add([], A, A) yielding S = 11:3.

#######################################################################

You could use add/3 to calculate the average value of a list of numbers.


len([], 0) :- !.
len([_X|Xs], 1.0+S) :- len(Xs, S).


add([], A, A) :- !.
add([X|Xs], A, S) :- add(Xs, X+A, S).


sum(Xs, S) :- add(Xs, 0.0, S).


avg(Xs, A/L) :- sum(Xs, A), len(Xs, L).

########################################################################

Using two accumulators, you can calculate the length and the sum of the list simultaneously.

%File: main.pro
implement main
      open core, console

class predicates
      avg:(real*, real, real, real) procedure (i, i, i, o).

clauses
      classInfo("avg", "1.0").
      avg([], S, L, S/L).
      avg([X|Xs], S, L, A) :-
            avg( Xs,
                  X+S, % add X to the sum acc
                  L+1.0, % increments the length acc
                  A).

      run():- console::init(), List= read(),
              avg(List, 0, 0, A), write(A), nl.

end implement main

goal
mainExe::run(main::run).

The above listing shows a program to calculate the average value of a list of real numbers. One makes use of two accumulators: one for the sum, and the other for the number of elements.

 

Windows Media Player