Wednesday, March 18, 2020

Design and Control of Motorized Foot-rest for Electric Powered Wheelchair

Design and Control of Motorized Foot-rest for Electric Powered Wheelchair Free Online Research Papers In this project, we aim to enhance some of the features of an Electric-Powered Wheelchair(EPW). With the aim of having simple accessories with user-friendly features, we decided to focus on the foot-rest of the EPW. Extensive literature search and brainstorm creative and new ideas were conducted. We finally decided to design a working prototype of foot-rest. To build the foot-rest to actual size is too difficult for us given the time frame and with our limited knowledge and experience with engineering design; hence we built a scaled-down model using materials from a modeling kit to demonstrate the basic functions of the foot-rest. We tested the performances of the foot-rest model for both the leg lifting function as well as for exercise mode by connecting it to the electrical power source. We also used two batteries of 3V in total as an alternative power source. The foot-rest is driven by Direct Current (DC) motors: two for the rotational motion and one for the linear motion. Using the experimental results, we have developed an idea about where to modify and improve the existing scaled-down model so as to obtain a more desirable full-fledge product to help more people. For future development of our project, we would like use a microcontroller to run the foot-rest in the exercise mode in a smoother and more convenient manner. Introduction Wheelchair foot-rest are known by many names including front rigging, foot rest, wheelchair leg supports, or just wheelchair legs to name a few. The existing foot-rests act as base of support to prevent sliding and improve positioning manually [1]. Usually, EPWs wheelchair users often have limited strength in their arms and torso, and thus most of the time they depend on the wheelchair in sedentary position. Hence, the users hardly move their legs or feet due to weakness in their lower part of their body and the foot-rest is fixed. In this case, it leads to some inconvenience, for example, there must be somebody helping to lift the users’ feet from the ground onto the pad of foot-rest. Moreover, if the users’ legs are too short and the pad is too far down from the seat, it would be uncomfortable to dangle his legs and feet in the air since the foot-rest is unmovable. Another problem found by EPW users is that, as a result of long-time staying still on the wheelchair, th e users lack chances to exercise; and thus it brings out the problem of poor blood circulation and physical inactivity [2]. All these difficulties need to be resolved and with this query in our mind, we found it necessary to make a change on the foot-rest. With considerations of the problems sated above, we decided to develop a simple model which can help people to lift up their feet from the ground without anybody’s assistance and adjust the length and angle of the foot-rest to provide a most comfortable position for the user to put their feet. The foot-rest can also help the users to exercise their legs in order to improve blood circulation in the legs. Material and Methods Design Before we sketched the draft of our design, we took pictures of the present foot-rest so as to have a general idea about the foot-rest. The original one is fixed in position, with fixed length and angle. Therefore, the pad is also unmovable, providing a fixed position for the users to put their feet on. With the purpose to create a mobile position, we designed two types of new foot-rest in total as following: ? The L shape one with two linear motor (Fig.1) ? The I shape design (Fig. 2) After careful considerations and discussions about the pros and cons of each design, we decided to centre on this I shape design. Basically, we have considered many factors when designing the foot-rest like weight of the foot-rest, number of motors used, construction of the design, amount of materials needed and cost, etc. Specifically, the first design including two motors to drive the whole construction is obviously more expensive. Moreover, it also adds weight to the wheelchair; thus it requires more electrical forces to lift the foot-rest up and down. Lastly, as the design involves construction of two motors and more circuit connections, the overall construction is deemed to be more complicated. Judging the designs in these aspects, we find out that the current design is more advantageous because of following reasons: ? The motors are placed at the top and it effectively minimizes the weight on the pad of foot-rest. Hence, it does not need much power to lift up the lower part of foot-rest, so we could we can choose small and low-powered motor which can reduce the cost. Benefiting from this, our design saves much power and is basically environmental friendly. ? For the present design, we use one rotational and one linear movement rather than two linear movements in the first design. It is done so to change the angle more directly and effectively. Moreover, this design makes it easier to control the speed and spare our need for complicated calculation work. Name Explanation controller Switch plate: the place the main controlling system/connection and the batteries are Switch arm and control stick: act as joysticks to control the rotational and linear movements by moving the control stick to the left, right, forwards and backwards. Rotational and linear motions This part includes the motors and gearbox which control the rotational and linear movements. Movable mast This part includes movable mast, and threaded shaft/lead-screw. When the motors start to work, the lead-screw rotates accordingly to produce the linear motion. Besides assembling all the parts together, we also add in a couple of resistors to reduce the voltage applied to the motor. It is necessary as if the voltage applied to the motor is too high, it would cause the speed of rotational motion to be very fast. If that is so, it is inconvenient and too fast for the user to adjust the position of the foot-rest. Therefore, in order to slow down the speed, we construct the motor equivalent circuit according to the theories we learnt before (i.e. the four basic equations pertaining to Direct Current motor) In the equations, Va is the overall voltage of the circuit and Ea is the electromagnetic motive force/ the voltage over the motor. The speed of the motor is proportional to the back e.m.f. induced by the motor. When the DC power source (Va) is reduced, the value of Ea would then slow down the motor’s speed. As a result of this, the speed of the rotational motion of the foot-rest would also be slowed down. Results After the whole construction is completed, we use two batteries of 3V in total as the power source and supply the foot-rest model with a current of 1.5A. Under these conditions, the foot-rest moves up and down with the linear motion at an average speed of 6 mm/s. It can extend to a maximum length of 30cm from the original/minimum length of 18cm. For the rotational motion, if only one foot-rest is working, it can reach a maximum angle of 90 degrees. If two of them are working together, the maximum angle they can reach is 60 degrees. This is because when two of them are working together, they will share the voltage and the voltage applied to each of them is smaller. Therefore, there will not be enough electrical forces to rotate one to 90 degrees. As abovementioned, our new design of foot-rest is capable of lifting the user’s feet from the ground. Firstly, we can apply the linear motion – the length is increased – until the pads touch the ground. Then when the user’s feet are dragged onto the pad and the user is sitting in the wheelchair, apply the linear motion again. Consequently, the user’s feet on the pad can be lifted up in the air, sparing the need of others helping to lift up the feet. Next, the user could adjust his sitting position in the seat to a most comfortable one and then adjust the position of the foot-rest accordingly. In order to achieve this, the user could simply control the joy sticks/control sticks in the switch plate to apply both the linear and the rotational motion. Both the vertical length and angle can be changed. For example, if the user had longer legs, he can increase both the length and the angle to stretch his legs and to seek a suitable position. If he is obst ructed by objects in front, he merely needs to decrease the angle and increase more in length (as shown in Fig.5 to Fig.7). Furthermore, our foot-rest can provide an exercise mode to help users exercise their legs. This can be done by applying the linear or rotational motions continuously; as in making the foot-rest moving up and down (Fig.8) or rotating the angle continuously (Fig.9). It is achieved by pushing the control sticks forward and backward alternatively to apply linear motion; it is similar with the rotational motion. In this sense, the users’ legs are moving all the time, just like walking. This encourages blood circulation and physical reaction, which is beneficial to the users’ health and recovery. In conclusion, our new design is very convenient and requires little strength from the user. Furthermore, as we have adjusted the speed to moderate, the user could adjust the length and angle bit by bit in a more accurate way. Discussions In overall, we feel that we have achieved our main objectives under our continuous and arduous efforts. Our model is completed in time and successfully demonstrates all of our suggested functions. As we connect our model to the power source, we manage to control the movement of the foot-rest using the controller. Any movement is seen immediately. However, there are still some areas that we can work on. Firstly, when there is any movement on the foot-rest (rotary or vertical motions), much noise is produced. Partially, it is due to the friction between gears and we need to apply oil on the gear constantly, which is very inconvenient. In addition, according to our estimation, the speed of linear motion is a bit slower and it may not lift up users’ legs. The major reason lies in the small power of the motor. Therefore, the model is merely for demonstrating the fundamental working principles of the new foot-rest. For the real one, we still need motor with larger power to load efficiently. Further development of project We plan to extend our project as we find out that it is very inconvenient for the users who are weak in strength to manually control the foot-rest for exercise mode. Therefore, we foresee the need to improve our model with more effectiveness to make it more realistic and feasible. We plan to add microcontroller into our design and thus it can automatically manipulate the foot-rest. When the user is stepping on the pad, the microcontroller can help to exercise his legs like riding the bicycle in a circular motion. In other words, it can adjust the length and angel continuously and simultaneously and thus a more convenient exercise mode is created to help the users to automatically exercise their legs and even lower body for physical recreation. Acknowledgement We would like to thank our mentors and teacher in charge for patient and continuous help and support. Reference: [1] Colin A McLaurin and Peter Axelson, 1990. Wheelchair standards: an overview Journal of Rehabilitation Research Development, vol. Suppl, pp. 100-109. [2] R.A. Cooper, K. L. Stewart, D. P. VanSickle, S. J. Albright, T. Heil, 1994. Manual wheelchair ISO-ANSI/RESNA fatigue testing experience in Proc. RESNA 94, Nashville, TN, pp. 324-326. Research Papers on Design and Control of Motorized Foot-rest for Electric Powered WheelchairThe Hockey GameBionic Assembly System: A New Concept of SelfQuebec and CanadaAnalysis of Ebay Expanding into AsiaRiordan Manufacturing Production PlanIncorporating Risk and Uncertainty Factor in CapitalWhere Wild and West MeetThe Project Managment Office SystemPETSTEL analysis of IndiaOpen Architechture a white paper

Sunday, March 1, 2020

Meaning and Uses of Decompilation

Meaning and Uses of Decompilation Simply speaking, decompilation is the inverse of compilation: translating an executable file into a higher level language. Suppose you lose your Delphi projects source and you only have the executable file: reverse engineering (decompilation) is useful if the original sources are not available. Hm, sources not available, does this mean that we can decompile other peoples Delphi projects? Well, yes and no... Is True Decompilation Possible? No, of course not. Fully automated decompilation is not possible - no decompiler could exactly reproduce the original source code. When a Delphi project is compiled and linked to produce a standalone executable file, most of the names used in the program are converted to addresses. This loss of names means that a decompiler would have to create unique names for all the constants, variables, functions, and procedures. Even if a certain degree of success is achieved, the generated source code lacks meaningful variable and function names.Obviously, source language syntax no longer exists in the executable. It would be very difficult for a decompiler to interpret the series of machine language instructions (ASM) that exist in an executable file and decide what the original source instruction was. Why and When to Use Decompilation Reverse engineering can be used for a several reasons, some of which are: Recovery of lost source codeMigration of applications to a new hardware platformDetermination of the existence of viruses or malicious code in the programError correction when the owner of the application is not available to make the correction.Recovery of someone elses source code (to determine an algorithm for example). Is This Legal? Reverse engineering is NOT cracking, although it is sometimes difficult to draw the fine line between those two. Computer programs are protected by copyright and trademark laws. Different countries have different exceptions to the copyright owners rights. The most common ones state that it is ok to decompile: for the purposes of interpretability where the interface specification has not been made available, for the purposes of error correction where the owner of the copyright is not available to make the correction, to determine parts of the program that are not protected by copyright. Of course you should be very careful / contact your lawyer if you are in doubt whether you are permitted to disassemble some programs exe file. Note: if you are looking for Delphi cracks, key generators or just serial numbers: you are on the wrong site. Please bear in mind that everything you find here is written/presented for exploration / educational purposes only. For the moment, Borland does not offer any product capable of decompiling an executable (.exe) file or the Delphi compiled unit (.dcu) back to the original source code (.pas). Delphi Compiled Unit (DCU) When a Delphi project is compiled or run a compiled unit (.pas) file is created. By default the compiled version of each unit is stored in a separate binary-format file with the same name as the unit file, but with the extension .DCU. For example unit1.dcu contains the code and data declared in the unit1.pas file. This means that if you have someones, for example, component compiled source all you have to do is to reverse it and get the code. Wrong. The DCU file format is undocumented (proprietary format) and may change from version to version. After the Compiler: Delphi Reverse Engineering If you would like to try to decompile a Delphi executable file, these are some of the things you should know: Delphi programs source files are usually stored in two file types: ASCII code files (.pas, .dpr), and resource files (.res, .rc, .dfm, .dcr). Dfm files contain the details (properties) of the objects contained in a form. When creating an exe, Delphi copies information in .dfm files into the finished .exe code file. Form files describe each component in your form, including the values of all persistent properties. Every time we change a forms position, a buttons caption or assign an event procedure to a component, Delphi writes those modifications in a DFM file (not the code of the event procedure - this is stored in the pas/dcu file). In order to get the dfm from the executable file we need to understand what type of resources are stored inside a Win32 executable. All programs compiled by Delphi have the following sections : CODE, DATA, BSS, .idata, tls, .rdata, .rsrc. The most important from decompiling point of view are the CODE and .rsrc sections. In the Adding functionality to a Delphi program article some interesting facts about Delphi executables format, class info and DFM resources are shown: how to reassign events to be handled by other event handlers defined in the same form. Even more: how to add your own event handler, adding the code to the executable, that will change the caption of a button. Among many types of resources that are stored in an exe file, the RT_RCDATA or the Application-defined resource (raw data) holds the information that were in the DFM file before the compilation. In order to extract the DFM data from an exe file we can call the EnumResourceNames API function... For more information on extracting DFM from an executable go see: Coding a Delphi DFM explorer article. The art of reverse engineering has traditionally been the land of technical wizards, familiar with assembly language and debuggers. Several Delphi decompilers have appeared that allow anybody, even with limited technical knowledge, to reverse engineer most Delphi executable files. If you are interested in reverse engineering Delphi programs I suggest you to take a look at the following few decompilers: IDR (Interactive Delphi Reconstructor) A decompiler of executable files (EXE) and dynamic libraries (DLL), written in Delphi and executed in Windows32 environment. Final project goal is development of the program capable to restore the most part of initial Delphi source codes from the compiled file but IDR, as well as others Delphi decompilers, cannot do it yet. Nevertheless, IDR is in a status considerably to facilitate such process. In comparison with other well known Delphi decompilers the result of IDR analysis has the greatest completeness and reliability. Revendepro Revendepro finds almost all structures (classes, types, procedures, etc) in the program, and generates the pascal representation, procedures will be written in assembler. Due to some limitation in assembler the generated output can not be recompiled. The source to this decompiler is freely available. Unfortunately this is the only one decompiler I was not able to use - it prompts with an exception when you try to decompile some Delphi executable file. EMS Source Rescuer EMS Source Rescuer is an easy-to-use wizard application which can help you to restore your lost source code. If you lose your Delphi or CBuilder project sources, but have an executable file, then this tool can rescue part of lost sources. Rescuer produces all project forms and data modules with all assigned properties and events. Produced event procedures dont have a body (it is not a decompiler), but have an address of code in executable file. In most cases Rescuer saves 50-90% of your time to project restoration. DeDe DeDe is a very fast program that can analyze executables compiled with Delphi. After decompilation DeDe gives you the following: All dfm files of the target. You will be able to open and edit them with Delphi.All published methods in well commented ASM code with references to strings, imported function calls, classes methods calls, components in the unit, Try-Except and Try-Finally blocks. By default DeDe retrieves only the published methods sources, but you may also process another procedure in a executable if you know the RVA offset using the Tools|Disassemble Proc menu.A lot of additional information.You can create a Delphi project folder with all dfm, pas, dpr files. Note: pas files contains the mentioned above well commented ASM code. They can not be recompiled!