Cost of Iphone Application Development by edy18233

VIEWS: 0 PAGES: 41

More Info
									                                              Project Report
                                                 Version 2.0




                                                     By

                                              Darshan Chipade
                                              Mohammed Gooni
                                                 Syed Zaidi
                                              Yogesh Banchhod




Instructor                                                     Mentors

Dr. Kwok Bun Yue                                               Dr. Michel Izygon
                                                               Peter Armstrong
                                                               Insia Iftiqhar
                                                               Claus Nilsson

                                             November 28, 2009
                                        Capstone Project – CSCI 6838
                                                   Team# 5
                                                   Fall 2009
                                       University of Houston Clear-Lake
                                              Houston TX, U.S.


University of Houston Clear Lake-Fall 09                                           i
Solar Power Plant iPhone Visualization


Executive Summary

Solar thermal power plant generates electricity from energy of the sun. The heat is generated

using sun tracking mirrors called heliostats. These heliostats reflect the sunrays onto a receiver

located at the top of a tower. The receiver consists of a fluid heated by the reflected sunrays

from the heliostat. This heat creates water vapor further sent to turbines to generate electricity.


The purpose of the project was to focus on the development of an iPhone/iPod Touch program,

visualizes the central heliostat along with surrounding eight heliostats at a user-specified

location, time and date. The user also provides information related to tower and heliostats. The

application renders the heliostat field and models the light emitted by the sun. The heliostats

reflect the lights onto the receiver. The interaction of heliostats with one another was modeled

to the extent that they can cast shadows and block the view of the receiver. The development

platform was Xcode and Unity 3D game engine. A Unity 3D game engine was used for

rendering the graphics of shading and blocking. The Unity game engine can improve 3D

imagination of designers and serve as a convenient and very intuitive tool for an interpretation

of measurements and experiments on solar concentrators. The heliostats can be visualized

from sun and tower positions. This application developed will be used for marketing the solar

power plant.




University of Houston Clear Lake-Fall 09                                                              ii
Solar Power Plant iPhone Visualization


Acknowledgement


With affection and deep appreciation, we acknowledge our indebtedness to our professor Dr.

Kwok Bun Yue, Chair, Division of Computing and Mathematics, for giving us an opportunity

to explore our skills and innovations beyond the prescribed syllabi of our coursework by

granting us the permission to work at Tietronix Inc. We further extend our gratitude to our

mentor Dr. Michel Izygon, CEO, Tietronix Inc., for providing us with an opportunity to work

on the latest iPhone technologies and all the required software and hardware. We are also

thankful to the team of mentors from Tietronix Inc., including Peter Armstrong, Insia

Iftiqhar, and Claus Nilsson for the guidance throughout the course of our project and

providing us with the required information and details which helped us in resolving the critical

issues.




University of Houston Clear Lake-Fall 09                                                           iii
Solar Power Plant iPhone Visualization


                                                                Table of Contents


Contents
  Executive Summary .................................................................................................................................... ii
  Acknowledgement ..................................................................................................................................... iii
  Table of Contents ....................................................................................................................................... iv
  List of Tables ...............................................................................................................................................v
  1.    Introduction ..........................................................................................................................................1
  2.    Project Requirements ............................................................................................................................3
  3.    Development and Work Environment ..................................................................................................4
  3.1          Assumption and Dependencies ..................................................................................................... 4
  4.    Project Methodologies ..........................................................................................................................5
  4.1. Phase 1: Analyze ..................................................................................................................................5
  4.2. Phase 2: Design ....................................................................................................................................7
  4.3. Phase 3: Development / Implementation ..............................................................................................8
  4.4. Phase 4: Deployment ............................................................................................................................8
  4.5. Phase5: Testing Validatin and Verification ..........................................................................................8
  Appendix A: Team Information ................................................................................................................... i
  Appendix B: Project Management .............................................................................................................. ii
  Appendix C: Major Task and Contributions .............................................................................................. iii
  Appendix D: Screen Shots ...........................................................................................................................v
  Appendix E: Acronyms and Abbreviations ............................................................................................. viii




University of Houston Clear Lake-Fall 09                                                                                                                            iv
Solar Power Plant iPhone Visualization


                                           List of Tables


Table 1: Game Engines Comparison                              5

Table 2: Team Contributions                                  iii




                                           List of Figures
Figure 1: Solar Power Plant                                   1

Figure 2: Heliostat View                                      1

Figure 3: Sun, Tower and Heliostats Position                  1

Figure 4: Unity 3D Game Engine                                4

Figure 5: MAC OS                                              4

Figure 6: iPhone/iPOD Device                                  4

Figure 7: Sun Vector Geometry                                 9

Figure 8: Sun Azimuth and Elevation                          10




University of Houston Clear Lake-Fall 09                      v
Solar Power Plant iPhone Visualization




University of Houston Clear Lake-Fall 09   vi
1. Introduction

Solar Thermal power plants are generating electricity from the energy of the sun. They use a

field of a few thousand mirrors to reflect the sun rays onto a receiver located at the top of a

tower. In the receiver a fluid is being heated by the concentrated sunlight and then water vapor

generated is sent to a regular turbine. These power plants were studied extensively in the 70‟s

and 80‟s. There is a strong renewed interest in the technology, and for the past few years a

number of new projects were started that need

updated software tools for their design and

operation.

The Solar Power Plants based on solar thermal

energy in the Mojave Desert, USA and Spain
                                                        Figure 1: Solar Power Plant
Field view is as shown in Figure 1.



                                           Figure 2.shows the heliostat view of the Solar Power

                                           Plant project.



Figure 2: Heliostat View




Figure 3.shows the relation between sun, Tower,

and     Heliostat position
                                                        Figure 3: Sun, Tower and Heliostats Position




University of Houston Clear Lake-Fall 09                                                               1
Solar Power Plant iPhone Visualization

The purpose of the project was the development of a suite of software that can support the

solar plant designers as well as the plant operators. This project focused on the development of

an iPhone (and/or iPod Touch) computer software program which visualizes the heliostats and

central tower of a simplified solar power plant at a user-specified location, time and date.


The scope of the project was to visualize a cell consisting of a central heliostat and eight

neighboring heliostat at a time. The part of the project was to position the sun and heliostat as

per the calculation given in paper [1] using user input. Also, display the shadowing and

blocking among the heliostats.


This project is beneficial from marketing point of view, to demonstrate the working of the

Solar Power Plant at a user-specified location, time and date.


The subsequent sections discuss about the project requirement, research work, unity iPhone

details, project methodology, details related to implementation of sun, tower, heliostats and

blocking/shading.




University of Houston Clear Lake-Fall 09                                                            2
Solar Power Plant iPhone Visualization


2. Project Requirements
    Major project requirements are as follows:

     User Input screen

        User should be able to enter the inputs such as date, time, heliostat measurement, tower

        measurement, field layout, tower placement.

     Grid Layout screen

        In grid field layout, the user interface shall display a simple 2D grid of the given

        dimensions. The user shall be able to touch a cell in the grid to indicate which cell is to

        be graphically displayed in 3D. When the user has selected the desired cell to be

        rendered, the user shall touch a button to indicate that the application will begin the

        rendering process. The orientation of each heliostat shall be computed based upon the

        relative position of the sun, tower and the heliostats location in the field.

     Computation of Sun position, Heliostat position and blocking/shading.

     Cell View screen

        -Graphically render the field in 3D on the iPhone (and/or iPod Touch)

        -Graphically render the reflections (shiny texture) on the mirrored surface of

        neighboring heliostats.

        -The user shall be able to navigate through cells using navigation arrows.

        -The application shall display the Sun position information on the screen.


     Different Views

        User should able to view cell view in different cameras such as Sun view, Tower view

        and Heliostat view etc.




University of Houston Clear Lake-Fall 09                                                              3
Solar Power Plant iPhone Visualization


3. Development and Work Environment
       Unity iPhone 3D Game Engine:

                                  Unity is an integrated authoring tool for creating 3D video

                                  games or other interactive content such as architectural

                                  visualizations or real-time 3D animations.


Figure 4: Unity 3D Game Engine
                                  The editor runs on Windows and Mac OS X and can produce

                                  games for Windows, Mac, or iPhone platforms.


MAC OS

MAC OS is required for the iPhone development purpose.

It support the unity iPhone software application, which is useful

to develop the unity iPhone application.


                                                                           Figure 5: MAC OS



                                  iPhone/ iPOD Device

                                  The unity iPhone application needs to deploy on the iPhone /

                                  iPOD device was the major requirement of the project,




    Figure 6: iPhone/iPOD
    Device



       3.1 Assumption and Dependencies


Date Time not considering the weather condition on that time.




University of Houston Clear Lake-Fall 09                                                         4
Solar Power Plant iPhone Visualization


4. Project Methodologies
   4.1. Phase 1: Analyze

    Research Work
Our team performed the research on different game engines such as SIO2, Unity iPhone,

OOLONG and Torque. The research mainly focused on cost of the software and development

time.

                         Table 1: Game Engines Comparison

Properties            SIO2                 Unity iPhone       OOLONG       Torque

Cost                  Free                 iPhone             Free         $150
                                           publication cost

User Friendly         No                   Yes                No           No

Other Tools           Blender required     No                 No           No

Compatibility         Win/MAC              Win/MAC            Win/Mac      Win/Mac

Shadowing             Yes                  Yes                Yes          No

iPhone simulator      Yes                  No                 No           Yes

Documentation         Limited              Good               Limited      Limited



     Approaches/ Proposed Solution


         Complete Unity project (selected approach)

In this approach, GUI was created using unity iPhone API. It allows using the external API‟s.

This was a good approach as it allows navigating through GUI and rendering modules. No

Work around is required for the same. This approach does not allow using some of the XCode

related features. Only Unity application needs to be run which eventually results in better

performance.



University of Houston Clear Lake-Fall 09                                                        5
Solar Power Plant iPhone Visualization


                XCode – Unity Combination

        In this approach, GUI is created using XCode and rendering using Unity iPhone. This

approach was very complicated; it required a lot of work around using flags to navigate

through GUI and rendering modules. This approach allows using all the XCode features.

However, XCode and Unity both application need to run all the time. XCode and Unity does

not work vice-versa.




University of Houston Clear Lake-Fall 09                                                      6
  Solar Power Plant iPhone Visualization



         4.2. Phase 2: Design

           4.2.1. GUI framework

         This was one of the critical tasks in iPhone application development. iPhone devices are

smaller in size which makes it very tedious to design the GUI design suitable to touch panel. The

application was based on many user inputs. So to make user friendly GUI design, separate GUI

forms were created for different types of inputs such as Date, Time input, Heliostat input, Tower

input, Field layout input and Summary etc. The main window combined all the user input

windows. Summary form displayed all user inputs and also allowed the user to modify the given

input.



           4.2.2. Store/Retrieve information framework

         User preference setting stored in players setting in the file. „StoreData‟ class was created

to handle the Store/Retrieve user settings. Only one instance of „Store Data‟ object created

throughout the application using Singleton design pattern. When user submits the information,

all the user input related information will be stored in the file. „Load Button‟ provided to the user

in order to load the previously entered data by the user.



           4.2.3. Current Date and Time population

Current Date and Time was automatically populated into the date and time field respectively.




  University of Houston Clear Lake-Fall 09                                                              7
Solar Power Plant iPhone Visualization


        4.2.4. Validation framework:

Each user input is validating as per the requirement. Once user submits the form, validation

process executes and it will pop up the error message window which will eventually display all

the error messages in the particular form.



      4.3. Phase 3: Development / Implementation


        The development of the Phase 3 began with the calculation of sun, heliostat. In this

phase we calculated the shading and blocking of the heliostat as well. Our aim was to verify

the sample values provided in paper [1] with the calculation part completed by our team in this

phase. Section 4.3.1, 4.3.2 and 4.3.3 gives the brief overview of the sun, heliostat, shading and

blocking respectively. Section 4.3.4 and 4.3.5 gives the detailed description about the

implementation of Solar thermal power plant using the Unity game engine.



         4.3.1. Sun Calculation


        According to [1], the implementation of sun calculation finds the position of the sun in

the true equator and equinox of date frame of reference. The position is found within an

accuracy of 0.01 degrees (36 arc seconds) in celestial longitude. Since the sun‟s minimum

angular size is about 0.525 degrees, this method is accurate to within 1.9% of the mean solar

diameter.




University of Houston Clear Lake-Fall 09                                                            8
Solar Power Plant iPhone Visualization




                                           Figure 7: Sun Vector Geometry

The above diagram is the geometry included to calculate the sun vector at a particular date and

time. Using date, time, north latitude, east longitude and elevation we calculated the following

vectors

             
             S           =        Geocentric Sun Position Vector

             
             R           =        Station Position Vector

             
                        =        Sun‟s slant range vector

             
             S           =        Topodetic Sun position vector


            E            =        Sun‟s Elevation


            Az           =        Sun‟s Azimuth




University of Houston Clear Lake-Fall 09                                                           9
Solar Power Plant iPhone Visualization




                                      Figure 8: Sun Azimuth and Elevation

Figure 8.shows the Sun azimuth and elevation in the topodetic east-north-up field coordinate


        4.3.2. Heliostats

        According to [1] a method for systematically determining how heliostats interact with

and affect the performance of a physically adjacent neighbor in the simple case of a grid layout

with a cylindrical receiver. A field of heliostats is approximated by a grid of n rows and m

columns. The grid is said to be composed of cells. Each cell is square, with its length provided

by the user. One of the cells contains a tower. The tower‟s location is specified by its row and

column numbers respectively, and the center of that cell forms the origin of the field (Figure

8). The center heliostat is called the representative heliostat. The field coordinates of the

representative heliostat in each cell are derived from the cell size and location in the grid. The

coordinates of the vertices of the heliostat is to represent the shape of the reflective surface to

an adequate fidelity. In the case of a rectangular heliostat, four vertices are sufficient.




University of Houston Clear Lake-Fall 09                                                          10
Solar Power Plant iPhone Visualization




                                    Figure 9. Cell Representation


Figure 9.shows the cell representation of heliostats. The red node represents the center

heliostat and neighboring heliostats are represented by blue nodes. This cell happens to be

directly to north of the tower.


        4.3.3. Shading and Blocking

        Shading

Shading is the degree to which neighbors cast their

shadows onto the representative heliostat. Shading

will be viewable from the sun view. Figure shows

two     heliostats,      neighboring       heliostat   and

representative heliostat. When sun rays are passed on

the neighbor heliostat it creates shading on the representative heliostat which is visible in the

figure. The projection of the neighboring heliostat onto plane of representative heliostat shows

the intersection where shading is taking place.

University of Houston Clear Lake-Fall 09                                                        11
Solar Power Plant iPhone Visualization




        Blocking

                                                      Blocking is the degree to which light is

                                                      being reflected from each representative

                                                      heliostat and is intercepted, or blocked, by

                                                      its neighbors. Blocking will be viewable

                                                      from the tower view. In the figure there

                                                      are two heliostats shown, neighboring

                                                      heliostat and the representative heliostat.

                                                      The neighboring heliostat intersect some

                                                      part of the representative heliostat which

is shown as a projection onto plane of representative heliostat, so when the sunlight is passed

on the representative heliostat it will not be reflected completely to the tower.

Unity-PRO version has a built in functionality for blocking and shading, but, Unity-iPhone

does not support blocking and shading. The technique used to show blocking and shading is

discussed in detail in the Implementation section.

         4.3.4. Implementation

          Visualization Screen

        Visualization screen renders the Solar Thermal power plant on the iPhone/iPod touch.

The development platform is Unity 3D game engine which renders the graphics for Solar

Thermal Power plant. The Unity game engine enhances 3D imagination of the designers.

Unity is a multiplatform 3D game engine targeted largely for indie developers and casual

games, although the scope appears to be expanding. Platforms include Mac (widget, browser

and standalone), Windows (browser and standalone), iPhone and Wii. The initial development

University of Houston Clear Lake-Fall 09                                                         12
Solar Power Plant iPhone Visualization

phase began with the implementation of the sample 3D models like cube, sphere and cone etc.

Unity game engine comes with a built in function to create these 3D models. The screen

basically in our project visualizes the plane, heliostat, sun, tower, buttons and compass etc.

The detailed description including implementation, positioning, and textures of the 3D models

rendered in our project is mentioned below.


          Assumption


          The entire development was done the Unity game engine. Unity game engine comes

with certain inbuilt features.        Whenever a new project is built in Unity the following

assumptions are made


    i.    A scene view is created which portray the vision in three dimensions.


   ii. A Project view is created with the new project. All the 3D objects created are directly

           added in the project view.


   iii. A 3D object added to the scene always comes with an Inspector window. This window

           allows user to change the position, rotation and scale of the 3D model directly.


   iv. In order to run the project Unity provides with the play button or play ctrl+p.


    v. Unity comes with the iPhone view (Tall view and Horizontal view).


         A. Plane


          a. Creation


   The plane in Unity game engine actually imitates the ground in Solar Thermal Power plant.

The plane was created using the Unity game engine built in function. To create a plane we had

University of Houston Clear Lake-Fall 09                                                      13
Solar Power Plant iPhone Visualization

to follow the path GameObject=> Create other => Plane in Unity 3D game engine. A three

dimensional plane with basic texture appeared in a 3D view.


          b. Positioning and Scaling


        The positioning and scaling of the plane was done using the Transform window which

appeared once the plane was created. The position of the plane was set to origin (0, 0, 0). The

scale was initially set to default and later was adjusted based on the positioning of the other 3D

models.


          c. Textures


      The plane once created comes with a default grey colored texture. The final texture

implemented in the Visualization screen was Good Dirt ground. The Good Dirt ground is

simply a .psd image created in Adobe Photoshop. To change the default texture to a Good dirt

ground we had to add image to the material section in the Inspector window. This plane

imitates a ground like appearance giving the feel of presence of actual field in the Solar

Thermal Power plant.




      B. Center Heliostat


      The Visualization screen comprises of a central Heliostat surrounded by the eight other

Heliostats. Initially we created a center Heliostat and just duplicated the other Heliostats using

the Unity game engine command „ctrl+d‟.



University of Houston Clear Lake-Fall 09                                                         14
Solar Power Plant iPhone Visualization


       a. Creation


       The Heliostats implemented in the Visualization screen is in a rectangular form. The

heliostat which appears in the Visualization screen is the flattened cube created in the Unity

game engine. To create a heliostat we had to follow the path GameObject=> Create other =>

Cube in Unity Game engine. A three dimensional cube appeared in the 3D view.


       b. Positioning and Scaling


       The positioning and scaling of the cube was done using the Transform window which

appeared once the cube was created. The position of the cube was set to origin (0, 0, 0)

initially. The scale was initially set to default value which is minimum (1, 1, 1). As the

development further progressed the z-axis was set to minimum value i.e. 0.5 units. With this

change in dimension the cube appeared to be like Heliostat. The width and height of the

heliostat is user defined and changes accordingly. Every time the position and the width of the

Heliostat changes they will always face toward the Tower.


       c. Texture


      The cube once created comes with a default grey colored texture called as diffuse-

default. The final texture implemented in the Visualization screen was Heliostattexture. The

Heliostattexture is simply a .psd image created in Adobe Photoshop. To change the default

texture to a Heliostattexture we had to add image to the material section in the Inspector

window. This flattened cube imitates a heliostat giving the feel of presence of Heliostat in the

Solar Thermal Power plant. The Heliostats are engraved with well defined border which is

helpful to distinguish between the Heliostats while considering the blocking and shading part.



University of Houston Clear Lake-Fall 09                                                         15
Solar Power Plant iPhone Visualization


      C. Sun


       a. Creation


       The sun implemented in the Visualization screen replicates the sun in our day to day

life. The sun created is nothing but the Point Light which is an inbuilt feature of Unity game

engine. To create a Point light i.e. we had to follow the path GameObject=> Create other =>

Point light in Unity Game engine. A three dimensional sun appeared in the 3D view.


       b. Positioning and Scaling


       The positioning and scaling of the sun was done using the Transform window. The

position of the sun was fixed to (10, 18, 9) initially. The initial position was fixed in such a

way that the light source could easily reach on to Heliostat and plane. The scale of the sun is

set to default value which is minimum (1, 1, 1). Our aim was to dynamically change the sun

position as per the date and time entered by the user in the User Input screen. As are team

progressed with the calculation part we had to change the fixed sun position to dynamic

position. The calculation of sun position was done using Unity game engine Java Script which

is different from a regular Java Script. Unity game engine provides with excellent feature to

add the scripts directly to the 3D object for the dynamic movement.




       c. Flare


       The Sun created in Unity game engine does not give the exact appearance of the sun. In

order to create a similar look and feel we implemented a sun flare texture. This texture was

created in Adobe Photoshop as a .psd image. The Inspector window created with the sun

University of Houston Clear Lake-Fall 09                                                       16
Solar Power Plant iPhone Visualization

provides with the feature to attach the sun flare directly. The sun flare which is noting but the

point light gives the exact replica of the sun in three dimensional view.


       Range and Intensity


      The Range characterizes the area covered by the sun in 3d view of the Unity game

engine. As the range of the sun increases the area covered also increases vice-versa. The Sun

range was fixed to 60 in the Visualization screen. The sun range feature can be changed

directly from the Inspector window. Intensity of the sun is the state or quality of being intense;

extreme degree. Intensity in Unity game engine is similar to brightness control. The Intensity

of the sun ranges from 1 to 9(minimum to maximum). The Intensity was fixed to 8 by our

team. With this range and intensity fixed the rending of the sun appears exact in the

Visualization screen.


      D. Tower


         a. Creation


   The Tower in Unity game engine is the receiver in Solar Thermal Power plant. The Tower

was created placing two cylinders with different diameter and height on each other. The

cylinder with smaller height is placed on top of the other cylinder. To create a Tower we had

to follow the path GameObject=> Create other => Cylinder in Unity 3D game engine. A

three dimensional tower with basic texture appeared in a 3D view. In order to fix the two

cylinders together Unity game engine provides parent-child feature. The cylinder with smaller

height forms the child of the parent cylinder with greater height.


       b. Scaling and Positioning


University of Houston Clear Lake-Fall 09                                                         17
Solar Power Plant iPhone Visualization

   Once the Tower was created the positioning was very important factor. As a team we

decided to place the Tower at the origin (0, 0, 0) so that all the Heliostats always faced the

Tower. The scaling of the Tower includes the diameter and height of the two cylinders. In

order to model the two cylinders as Tower our team decided to fix the diameter, height and

also include the parent-child feature of the Unity game engine. The cylinder with greater

diameter and smaller height will form the child and the cylinder with smaller diameter and

greater height will form the parent. The height of the Tower was adjusted in such a way that

the reflected the sun rays easily reach the receiver located on top of the Tower


       c. Texture


The texture of the Tower was fixed to default-diffuse.


       E. Cameras


    Unity game engine comes with default camera whenever a new project is created. The

main purpose of camera is to view the different objects like cube, cylinder and sphere in 3D

view. Unity comes with excellent feature to add multiple cameras in particular scene. In order

to make the Visualization screen more lively and less imaginative we added multiple cameras

in the screen like Tower view, sun view and mirror view etc.




       a. Creation


    Unity comes with the default camera called as Main Camera. This main camera can be

used for viewing the different 3D objects. In order to create different views like Tower view,

sun view and mirror view etc. our team decided to use multiple cameras in a scene. In order to

University of Houston Clear Lake-Fall 09                                                     18
Solar Power Plant iPhone Visualization

create these cameras we had to follow the path GameObject=> Create other => Camera in

Unity 3D game engine. Using the same path we created multiple cameras for the Tower view,

sun view and mirror view etc. The cameras created were renamed directly in the project

window as Tower view, sun view and mirror view camera respectively.


       b. Positioning


    The main camera created is randomly placed in the scene. The position of the main camera

can be changed directly from the Inspector window created with the main camera. In our

visualization screen we are not using Main camera for viewing any of the 3D objects. We have

used the specially created cameras for the three different views. Initially when the Tower view,

sun view and mirror view cameras were created they were positioned randomly. The

positioning of the different cameras and their viewing angle are described in detail below.


      F. Camera Views


       a. Tower view


    Tower view camera was created to view the Heliostats aligned in a particular position on

plane from the top of the Tower. The alignment of this camera was tricky as the position of

the Heliostats changed according to the user inputs. So, it was important that the Tower view

camera always showed the Heliostats positioned on the plane. Our team decided to place the

Tower view camera on top of the Tower in such a way that Heliostats are always visible

irrespective of the change in the positions of Heliostats. We used the parent-child for the

dynamic movement of the camera. The Tower view camera was made child of the Tower. We

also created a lookAtMirror.js Java script in Unity game engine. This script was attached



University of Houston Clear Lake-Fall 09                                                       19
Solar Power Plant iPhone Visualization

directly to the Tower view camera. The purpose of this script was to dynamically align the

camera in such a way that it always showed the Heliostats positioned.


       b. Sun view


    Sun view camera was created to view the Heliostats aligned in a particular position on

plane from the top of the sun. The alignment of this camera was critical as the position of the

sun and Heliostats changes according to the user inputs. So, it was important that the Sun view

camera always showed the Heliostats positioned on the plane. Our team decided to place the

sun view camera on top of the sun in such a way that Heliostats are always visible irrespective

of the change in the positions of sun and Heliostats. We used the parent-child for the dynamic

movement of the camera. The Sun view camera was made child of the Sun. We used the

lookAtMirror.js Java script in Unity game engine. This script was attached directly to the sun

view camera. The purpose of this script was to dynamically align the camera in such a way

that it always showed the Heliostats positioned.


       c. Mirror view


    Mirror view camera was created to view the Tower aligned in a fixed position on plane

from the central Heliostat. The alignment of this camera was different as compared to other

cameras as the position of the Tower was always fixed and Heliostats position always

changed. Our team decided to place the Mirror view camera in front of the central Heliostat in

such a way that Tower is always visible irrespective of the change in the positions Heliostats.

We used the parent-child for the dynamic movement of the camera. The Mirror view camera is

made child of the central Heliostat. We used the lookAtCylinder.js Java script in Unity game

engine. This script was attached directly to the Mirror view camera. The purpose of this script


University of Houston Clear Lake-Fall 09                                                      20
Solar Power Plant iPhone Visualization

was to dynamically align the camera in such a way that it always showed the Tower

positioned.


       d. Left side view


    Left side camera was created to view the Heliostats aligned in a particular position on

plane from the left side of the plane. This was an additional camera created by our team by

putting some extra efforts. The alignment of this camera did not depended on any 3D objects

in field. Our team made sure that Left side view camera always showed the Heliostats

positioned on the plane. We decided to place the Left side view camera to the left of the plane

in such a way that Heliostats are always visible irrespective of the change in the positions of

Heliostats. We used the lookAtMirror.js Java script in Unity game engine. This script was

attached directly to the Left side view camera. The purpose of this script was to dynamically

align the camera in such a way that it always showed the Heliostats positioned.


       G. Buttons


    The Visualization screen consists of Views, Edit configuration and Grid layout buttons.

The Views buttons was created for user to visualize the different views like Tower view, sun

view, mirror view and left side view. By clicking on these views user could visualize the

different viewing angles. The Edit configuration and Grid layout buttons were created for the

user to go back to the User input screen and change the inputs as per his requirements. The

detailed description of the creation of buttons is mentioned below.


       a. Views button




University of Houston Clear Lake-Fall 09                                                      21
Solar Power Plant iPhone Visualization

    The Views button was created at the top left corner of the Visualization screen. Our team

created a C sharp code called MainGUI.cs in Unity game engine. The script created was

directly attached to the Main camera. This View button is subdivided into multiple cameras

like Tower view, sun view, mirror view and left side view. User can click can on any of the

view and visualize the Solar thermal power in different angles.


       b. Edit configuration


    Edit configuration button was created on the top right side of the Visualization screen. The

main function of this button was to go back to the User input screen. With this button user

could edit their inputs at any time while running the application.


       c. Grid layout


   Grid layout button was created on right side just below the Edit configuration on the

Visualization screen. By clicking on this button user will taken back to the Grid layout scene.

User can select the different cell and can effectively see the change in the Visualization screen.


       H. Creating Shading Using Clone objects

    Shading was simulated on a heliostat by creating the clone of the heliostat. A clone of a

heliostat was created as the simulation of the heliostat starts; each heliostat will have its

respective shading heliostat. The shading heliostat will have different texture than the regular

heliostat so as to clearly view the effect of shading on the heliostat.

    Coordinates and positioning of the heliostat was given to their respective shading heliostat.

The heliostat was divided into four parts (top-left, top-right, bottom-left, bottom-right) and the

shading on each part was simulated using built-in function Instantiate (newObject,



University of Houston Clear Lake-Fall 09                                                             22
Solar Power Plant iPhone Visualization

Vector3(x,y,z) transform.rotation) by passing the x,y and z coordinates which are calculated

using following formulas:

Top-Left:

        X= cpx+0.07

        Y= cpy – [(hscale_y-axis – sscale_y-axis)/2]

        Z= cpz – [(hscale_z-axis – sscale_z-axis)/2]

Top-Right:

        X= cpx+0.07

        Y= cpy – [(hscale_y-axis – sscale_y-axis)/2]

        Z= cpz + [(hscale_z-axis – sscale_z-axis)/2]

Bottom-Left:

        X= cpx+0.07

        Y= cpy + [(hscale_y-axis – sscale_y-axis)/2]

        Z= cpz – [(hscale_z-axis – sscale_z-axis)/2]

Bottom-Right:

        X= cpx+0.07

        Y= cpy + [(hscale_y-axis – sscale_y-axis)/2]

        Z= cpz + [(hscale_z-axis – sscale_z-axis)/2]




       4.4. Phase 4: Deployment/ Integration




University of Houston Clear Lake-Fall 09                                                   23
Solar Power Plant iPhone Visualization

         This was a very important phase in the iPhone software development application. To

deploy unity iPhone application on iPhone/iPOD device following steps needs to follow:

         a. Purchase and use certified apple License

         a. Install the Apple certificate on the development machine.



       4.5.    Phase 5: Testing, Validation and Verification

       In order to improve the software quality, testing was performed in two different phases

as discussed below:

Unity Testing: Performed the testing for each module development.

Integration Testing: Integrated all the modules and deployed on the iPOD touch device. The

testing was done thoroughly and successfully.

Validation: Validated all the user inputs.

Verification: Verified the application software with the requirement document. Also, verified

the calculation with the paper [1] and the test cases provided by Tietronix Inc.

5. Lesson Learned

    Professional Touch

    Solar thermal power plant application on iPod/iPhone touch was a great experience in our

Master‟s. degree curricula. It provided us with an opportunity to interact with the professional

people. It gave us a valuable experience to work in a professional environment.

    Research Work

    From research point of view, this project provided more opportunity to research different

application software, development environment.

    New Dimension and View



University of Houston Clear Lake-Fall 09                                                       24
Solar Power Plant iPhone Visualization

    This project gave us a new view to look at the software application; it included the new

dimension in our career. The Visualization / Game view is the most beneficial for us which we

learned from this project.



6. Conclusion and Future Work

    Solar Power Plant iPhone Visualization is the software application to develop the

visualization of field of Solar Power Plant. This application renders and displays a cell

containing central heliostat and eight neighboring heliostats as per user input on iPhone/iPOD

device. The application provides the different views of the cell view such as Sun view, Tower

View, and Heliostat view etc. The project over all was a great learning experience for our

team. As a team we could explore ourselves to the latest technologies available in the software

industry.

    This was completely a new development on the iPhone./iPOD touch device. So as the

capstone project time limits, we restricted our software development to basic software

application for iPhone/iPOD device.

    In future this software application might be needed to more handy and user-friendly.

Future version should able to render multiple cells simultaneously. It is nice to see the

complete day‟s visualization instead of particular time and date restriction. Using different

game engine improvements can be made in the Visualization screen.

7. References:

    [1] “An Algorithm for the Shading and Blocking Computations of a Field of Heliostats

    Arranged in a Grid Layout”, Peter Armstrong,Tietronix Software, Inc;September 3 2009.

    [2] Unity Web Forum http://forum.unity3d.com/



University of Houston Clear Lake-Fall 09                                                      25
Solar Power Plant iPhone Visualization

    [3] The Solar Project http://en.wikipedia.org/wiki/The_Solar_Project

    [4] iPhone Publication http://unity3d.com/unity/features/iphone-publishing




University of Houston Clear Lake-Fall 09                                         26
Solar Power Plant iPhone Visualization


Appendix A: Team Information
                                           Team #5
              Title: Simplified Solar Power Plant Visualization for the iPhone
                          Team URL: http://dcm.uhcl.edu/capf09g5/
                        http://groups.google.com/group/iphone-team-5/



                                    Name: Yogesh Banchhod (Team Leader)
                                    Email: ypbanchhod@gmail.com
                                    Phone No: 832-247-9551
                                    Major: Computer Science
                                    Role: Programmer/Research


Name: Darshan Chipade
Email: dchipade@gmail.com
Phone No: 832-350-0417
Major: Computer Information System
Role: Programmer/Researcher/
        Webmaster



                                  Name: Syed Zaidi
                                  Email: syedhmz@gmail.com
                                  Phone No: 251-455-2639
                                  Major: Computer Science
                                  Role: Programmer/ Documentation


Name: Mohammed Gooni
Email: mohammedgooni@gmail.com
Phone: 832-316-9449
Major: Computer Science
Role: Programmer/Researcher /Testing



University of Houston Clear Lake-Fall 09                                         i
Solar Power Plant iPhone Visualization


Appendix B: Project Management




University of Houston Clear Lake-Fall 09   ii
Solar Power Plant iPhone Visualization


Appendix C: Major Task and Contributions


                                      Task and Contributions

                                           Table 2: Team Contributions

Sr                                                     Yogesh Mohammed   Darshan    Syed
                           Tasks
No                                                     (in %)   (in %)    (in %)   (in %)

 1                   Project Selection                   25         25     25       25

                     Project Analysis
 2                                                       25         25     25       25
                     (Brainstorming)

 3                    Research Work                      25         25     25       25


 4           Website Creation, Maintenance               10         20     60       10

       Preparing Instructor and Mentor Meetings
 5                                                       40         20     20       20

             Sun Calculation SCRIPT-I
            Heliostat Position SCRIPT-II
 6                                                       20         40     20       20
            Blocking Script SCRIPT-III
            Sheading Script SCRIPT-IV
        Widget Alignment to iPhone resolution
 7               Widget Validation                       40         40     10       10

       Store and retrieve input information using
 8                                                       40         40     10       10
                           file
                      Tower Display
 9                                                       10         35     35       20

      Implementation Sun View, Heliostat View
10                                                       10         30     50       10
            Using Script-I and Script-II
         Perform blocking and sheading using
11             Script-III and Script-IV                  20         20     30       30

       Create Sun View, Tower View, Heliostat
12                                                       10         30     50       10
                        view

13    Deployment on iPhone/ iPod Touch Device            10         40     25      25


University of Houston Clear Lake-Fall 09                                                 iii
Solar Power Plant iPhone Visualization


                  Documentation :
14     SRS, Abstract, Functional Specification,   30   25   25   20
             Presentation, Final Report

15                        Testing                 25   25   25   25


16                      Integration               25   25   25   25




University of Houston Clear Lake-Fall 09                              iv
Solar Power Plant iPhone Visualization


Appendix D: Screen Shots




                                           Figure 10: Input Screen




University of Houston Clear Lake-Fall 09                             v
Solar Power Plant iPhone Visualization




                                           Figure 11: Grid Layout Screen




University of Houston Clear Lake-Fall 09                                   vi
Solar Power Plant iPhone Visualization




                                           Figure 12: Cell View




University of Houston Clear Lake-Fall 09                          vii
Solar Power Plant iPhone Visualization


Appendix E: Acronyms and Abbreviations

Heliostats
Design. The heliostat used in Solar One is shown in Figure 10.1. The reflecting element of a
heliostat is typically a thin, back (second) surface, low-iron glass mirror. This heliostat is
composed of several mirror module panels rather than a single large mirror. The thin glass
mirrors are supported by a substrate backing to form a slightly concave mirror surface.
Individual panels on the heliostat are also canted toward a point on the receiver. The heliostat
focal length is approximately equal to the distance from the receiver to the farthest heliostat.
Subsequent “tuning” of the closer mirrors is possible.

Receiver-Tower
The receiver, placed at the top of a tower, is located at a point where reflected energy from the
heliostats can be intercepted most efficiently. The receiver absorbs the energy being reflected
from the heliostat field and transfers it into a heat .transfer fluid. There are two basic types of
receivers: external and cavity.

Tower Design. The height of the tower is limited by its cost. The weight and windage area of
the receiver are the two most important factors in the design of the tower. Seismic
considerations are also important in some locations. The weight and size of a receiver are
affected by the fluid choice as discussed previously. Typical weights for a 380 MW (1.3 × 109
Btu/h) receiver range from 250,000 kg (550,000 lb) for an external receiver using liquid sodium
to 2,500,000 kg (5,500,000 lb) for a cavity air receiver. These would be placed at the top of a
140 to 170 m (460 to 560 ft) tower if a surrounding heliostat field is used.

Field Layout
Decisions regarding the best position for locating heliostats relative to the receiver and how high
to place the receiver above the field constitute a multifaceted problem, in which costs and
heliostat “loss” mechanisms are the variables. We first discuss some of these loss mechanisms
and then how they interact in shaping an optimum heliostat field.

Shadowing and Blocking. In previous chapters we discussed the problem of one collector casting
a shadow on an adjacent collector, thereby reducing the energy output of the shaded collector.
For central receiver systems, there are two such interaction processes that reduce the amount of
energy reaching the receiver. These are shadowing and blocking by adjacent heliostats.

Shadowing occurs at low sun angles when a heliostat casts its shadow on a heliostat located
behind it. Therefore, not all the incident solar flux is reaching the reflector. Blocking occurs
when a heliostat in front of another heliostat blocks the reflected flux on its way to the receiver.
Blocking can be observed in a heliostat field by noting reflected light on the backs of heliostats.


University of Houston Clear Lake-Fall 09                                                         viii
Solar Power Plant iPhone Visualization

Blocking and shadowing represent the next most important loss factor in central receiver system
performance. Although at noon, when the sun‟s altitude is a maximum, there is usually no
blocking or shadowing for a well designed field, significant blocking and shadowing does take
place in the mornings and afternoons, especially in the winter, when the sun is low in the sky.
Because of this, the annual average blocking and shadowing losses are also significant.




University of Houston Clear Lake-Fall 09                                                     ix

								
To top