Monday, January 27, 2020

Mobile Robotic Arm Motivation Computer Science Essay

Mobile Robotic Arm Motivation Computer Science Essay Robotics is technology that deals with the design, construction and operation of  robots  that are used in numerous applications is called robotics. It has become an unstoppable force in the development of modern machinery as they make life easier. It is an interesting topic to dwell in as it is the future of mankind. Although we know them as recent inventions, the idea of automated or controlled machines has fascinated humans. With this fascination it motivated me to work on this project, building and programming a mobile robotic arm. It is my hunger to learn and attain knowledge that drives me towards this field of study for my project. C:UsersDanDesktopImages21042010(002).jpg Figure 1.1.1 : Mobile Robotic Arm 1.2 Introduction to Robotics Robotics is an interesting topic of research. Basically it is an engineering field that is concerned with research and creation of robots for various applications. Robots are machines that consist of electronic and mechanical parts such as gears and cogs put together for performing tasks in place of humans. They can be programmed to perform a whole range of tasks with ease. They are most desired for certain functions because they never tire, they can endure harsh physical conditions that is possibly life threatening and they never get bored or distracted from repetitious work. The number of robots has begun to increase in numbers everywhere as they make human labour almost non-existent with their efficiency and throughput. They can work with the simplest of materials to the most dangerous such as radioactive materials. They can be found more commonly in industrial use from production lines of factories to harvesting of fruits in orchards. In domestic use, from vacuum cleaning to lawn mowing where these domestic tasks have become boring for a human to undertake and would rather leave it to robots. In the more modern military use, robots play an important role to reduce human casualties from dangerous jobs such as bomb defusal and not forgetting space exploration where it might not be possible for humans to explore and for collecting terrain sample from foreign planets. For exploring enemy territories unmanned aerial vehicles are used from which these pilotless drones can search terrains for hostiles and fire on targets. Robots are meant to complete tasks that it is programmed to do. Programs can always be altered to suit the task at hand. As robots become more advanced they gain more features such as sensors and artificial intelligence as they become more human like. Examples of sensors include motion sensors, temperature sensors, light and many more various types. For example, in pathfinder robots we usually find a motion sensor which aids a robot in avoiding obstacles. In other applications for example in a water tank when the water has reached a certain level the sensor enables the robot to stop the flow of water. It can be used in industrial applications such as gripping objects from conveyor belts or it can be used in a more advanced role such as bomb defusal, where it would be dangerous for a human to interact. With camera attachments, humans can control these machines from a safe distance while completing the task at hand in a safe and efficient manner. In the medical field where a more delicate touch is required, a robotic arm can perform tiny incisions for a less invasive method. With a robotic arm jobs can be done with ease and efficiency and thus eliminate human errors and the costs that come with those errors. http://www.engr.colostate.edu/~dga/mech324/handouts/linkage_stuff/Mars_rover.png Figure 1.2.1 : Mars Rover 1.3 Objectives The aim of this project is to build a robotic arm for the purpose of lifting and moving small objects. It is just like a human arm with joints to facilitate movement. The end attachment features a gripper which is able to grab and hold objects and also a probe light in order to work in low light scenarios. The arm is controlled via wired remote. It is rested on a mobile base which is fitted with 2 rear wheels and 2 robot castors at the front. This allows the robot to move to the desired location where the object is. The objectives of this project are: To understand and develop core knowledge in robotics. To apply the knowledge of robotics and design a prototype. To implement the designs and build an actual prototype. Figure 1.3.1 : Project Layout End Insert Instruction Codes into PIC Test Prototype Evaluate Coding in relation to hardware design Write Codes Discuss Movement Concept Propose Objectives1.4 Design Stage Figure 1.4.1 : Design Flow Chart This simple flowchart can explain the overall process involved in this project. After the objectives have been proposed the robot movement and motion concept is discussed and after that the codes are written. It is downloaded into the microcontroller for testing. If testing fails we return to the code stage and evaluate the coding. The process reaches the end after testing passes. Chapter 2: Robot Overview 2.1 Hardware Design This aim of this project is to design a mobile robotic arm. The arm part consists of two joints which enable 2 degree of movement and at the end of the top joint is a gripper which enables objects to be gripped by the attachment. The base has two wheels at the back and at the front two robot castors which has ball bearings underneath. This project involves two parts which is hardware and software. However both parts are intricately connected and it is hard to actually separate them completely. This report will focus more on the software aspect. There will be some minor hardware introduction as understanding of the hardware is required to work with the software. Here is the component list for the hardware: Component Amount Microcontroller PIC18F4520 1 Motor Driver SN754410 1 4.7k Ohm Resistor 1 1uF Capacitor 4 0.33uF Capacitor 1 0.1uF Capacitor 1 L7805 Voltage Regulator 1 20MHz Oscillator 1 9 Volt Battery 1 C40R Servo Motor 3 C55R Servo Motor 1 Servo Holder 4 Servo U Bracket 2 SPG10 Geared Motor 2 42mm Wheels 2 Robot Castors 2 Table 2.1.1 : Hardware Components To write the software one must be familiar with the hardware functionality, configuration and settings. The hardware of significant importance would be the microcontroller as the program is stored there. It sends the signal to the pins where other devices are connected. One of those devices is the servo motor. It is what controls the arm and base. Actual control of the servos is by buttons. Those buttons are connected to the microcontroller and is able to control the servo thru programming of the microcontroller. It is done by generating and manipulating PWM signals which will be discussed later. PROJECT BOARD 20.0 cm 24.0 cm 10.0 cm 25.6 cmTOP PROFILE.jpg Figure 2.1.1 : Robot Layout 2.2 Software Design After the purpose and specifications are determined it is time to plan and design the software. Most modern robots are controlled by sophisticated software. Creation and modification of the software is crucial to make machines work the way we want it to. There are many ways a machine can be programmed. The software is usually stored in the heart of the machine which is either a microprocessor or a microcontroller depending on what the machine does and how it works. That device is the brains of the robot as all the instructions are stored there. The software is the link for the user to the hardware as the program relays the instructions to the robot in machine code. The user writes the program in computer language which will then be converted into machine code by the compiler. There are many computer languages available to write programs such assembly, C, Pascal, BASIC and FORTH. For this project the microcontroller that is used is Microchips PIC18F4520. The language used to program the microcontroller is C. C is a simple and procedural language and it has influenced many later languages such Java. It is generally variable and function based. Values are stored in variables for easy access and it is structured by defining and calling functions to perform tasks. C allows precise control of the input and output. The input and output can be easily directed to the microcontroller terminals. The IDE (integrated development environment) that is used for this project is MPLAB which is a 32bit program used for the software development of this project along with the MPLAB C18 compiler add-on to allow the codes to be written in C . This is the screenshot of the development environment: C:UsersDanDesktopFYP ReportimagesUntitled.jpg Figure 2.2.1: MPLAB IDE The general idea of writing the program is to control the pins of the microcontroller. The robot arm mechanism and the base mechanism will be separated for easier explanation. The arm is made up of the 1st stage, 2nd stage, the left gripper and the right gripper. Control of the servos is by generating PWM signals which will be discussed in detail in chapter 4. By manipulation of these PWM signals we can control the servo movement to a certain angle with great precision. For the DC motors in the base, it is controlled via motor controller. By manipulating logic combinations we will be able to control the movement and direction of the base. Infinite loop to check for button press A button is pressed Necessary routine or function is called to move servo/ DC motor End Figure 2.2.2 : General Software Flowchart This is a general flowchart to represent the program flow. A while loop with an infinite condition is used to continuously check if a button has been pressed. If a button is pressed it will call the necessary function to run the specific device whether it is the servo or the DC motor. Chapter 3: Hardware Information 3.1 Microcontroller This project makes use of Microchip Technologys PIC18F4520 microcontroller. Lets discuss in detail what is a microcontroller and how it makes this project work. Notice that a microcontroller is chosen instead of a microprocessor for this project for a number of reasons. To make the choice, one must know the difference between a microcontroller and a microprocessor in terms of functionality and application. Both are typically a small computer in the form of an integrated circuit which contains things like registers, memory, I/O, interrupts and timers. They vary in terms of number of I/O, registers, clock speed and memory size. Microcontrollers are usually for cases that involve a lot of input output devices in contrast to a microprocessor which is usually used for heavy data applications. So that means microcontrollers dominate the robotics and automation industry. Lets examine closely what it looks like and the detailed features for this particular microcontroller, the PIC18F4520. Its versatility, robust nature and features contributed to the choosing of this IC. The detailed features along with its operation can be found in the datasheet for the microcontroller. C:UsersDanDesktopFYP ReportimagesPIC18F4520IP.jpg Figure 3.1.1 : PIC18F4250 Parameter Name   Value   Program Memory Type   Flash   Program Memory (KB)   32   CPU Speed (MIPS)   10   RAM Bytes   1,536   Data EEPROM (bytes)   256   Digital Communication Peripherals   1-A/E/USART, 1-MSSP(SPI/I2C)   Capture/Compare/PWM Peripherals   1 CCP, 1 ECCP   Timers   1 x 8-bit, 3 x 16-bit   ADC   13 ch, 10-bit   Comparators   2   Temperature Range (C)   -40 to 125   Operating Voltage Range (V)   2 to 5.5   Pin Count   40 Table 3.1.1 : PIC18F4250 Specifications Peripheral Highlights: à ¢Ã¢â€š ¬Ã‚ ¢ High-current sink/source 25 mA/25 mA à ¢Ã¢â€š ¬Ã‚ ¢ Three programmable external interrupts à ¢Ã¢â€š ¬Ã‚ ¢ Four input change interrupts à ¢Ã¢â€š ¬Ã‚ ¢ Up to 2 Capture/Compare/PWM (CCP) modules, one with Auto-Shutdown (28-pin devices) à ¢Ã¢â€š ¬Ã‚ ¢ Enhanced Capture/Compare/PWM (ECCP) module (40/44-pin devices only): One, two or four PWM outputs Selectable polarity Programmable dead time Auto-Shutdown and Auto-Restart à ¢Ã¢â€š ¬Ã‚ ¢ Master Synchronous Serial Port (MSSP) module supporting 3-wire SPIà ¢Ã¢â‚¬Å¾Ã‚ ¢ (all 4 modes) and I2Cà ¢Ã¢â‚¬Å¾Ã‚ ¢ Master and Slave Modes à ¢Ã¢â€š ¬Ã‚ ¢ Enhanced Addressable USART module: Supports RS-485, RS-232 and LIN 1.2 RS-232 operation using internal oscillator block (no external crystal required) Auto-Wake-up on Start bit Auto-Baud Detect à ¢Ã¢â€š ¬Ã‚ ¢ 10-bit, up to 13-channel Analog-to-Digital Converter module (A/D): Auto-acquisition capability Conversion available during Sleep à ¢Ã¢â€š ¬Ã‚ ¢ Dual analog comparators with input multiplexing) Power Managed Modes: à ¢Ã¢â€š ¬Ã‚ ¢ Run: CPU on, peripherals on à ¢Ã¢â€š ¬Ã‚ ¢ Idle: CPU off, peripherals on à ¢Ã¢â€š ¬Ã‚ ¢ Sleep: CPU off, peripherals off à ¢Ã¢â€š ¬Ã‚ ¢ Idle mode currents down to 5.8 ÃŽÂ ¼A typical à ¢Ã¢â€š ¬Ã‚ ¢ Sleep mode current down to 0.1 ÃŽÂ ¼A typical à ¢Ã¢â€š ¬Ã‚ ¢ Timer1 Oscillator: 1.8 ÃŽÂ ¼A, 32 kHz, 2V à ¢Ã¢â€š ¬Ã‚ ¢ Watchdog Timer: 2.1 ÃŽÂ ¼A à ¢Ã¢â€š ¬Ã‚ ¢ Two-Speed Oscillator Start-up Flexible Oscillator Structure: à ¢Ã¢â€š ¬Ã‚ ¢ Four Crystal modes, up to 40 MHz à ¢Ã¢â€š ¬Ã‚ ¢ 4X Phase Lock Loop (available for crystal and internal oscillators) à ¢Ã¢â€š ¬Ã‚ ¢ Two External RC modes, up to 4 MHz à ¢Ã¢â€š ¬Ã‚ ¢ Two External Clock modes, up to 40 MHz à ¢Ã¢â€š ¬Ã‚ ¢ Internal oscillator block: 8 user selectable frequencies, from 31 kHz to 8 MHz Provides a complete range of clock speeds from 31 kHz to 32 MHz when used with PLL User tuneable to compensate for frequency drift à ¢Ã¢â€š ¬Ã‚ ¢ Secondary oscillator using Timer1 @ 32 kHz à ¢Ã¢â€š ¬Ã‚ ¢ Fail-Safe Clock Monitor: Allows for safe shutdown if peripheral clock stops Special Microcontroller Features: à ¢Ã¢â€š ¬Ã‚ ¢ C compiler optimized architecture: Optional extended instruction set designed to optimize re-entrant code à ¢Ã¢â€š ¬Ã‚ ¢ 100,000 erase/write cycle Enhanced Flash program memory typical à ¢Ã¢â€š ¬Ã‚ ¢ 1,000,000 erase/write cycle Data EEPROM memory typical à ¢Ã¢â€š ¬Ã‚ ¢ Flash/Data EEPROM Retention: 100 years typical à ¢Ã¢â€š ¬Ã‚ ¢ Self-programmable under software control à ¢Ã¢â€š ¬Ã‚ ¢ Priority levels for interrupts à ¢Ã¢â€š ¬Ã‚ ¢ 8 x 8 Single-Cycle Hardware Multiplier à ¢Ã¢â€š ¬Ã‚ ¢ Extended Watchdog Timer (WDT): Programmable period from 4 ms to 131s à ¢Ã¢â€š ¬Ã‚ ¢ Single-supply 5V In-Circuit Serial Programmingà ¢Ã¢â‚¬Å¾Ã‚ ¢ (ICSPà ¢Ã¢â‚¬Å¾Ã‚ ¢) via two pins à ¢Ã¢â€š ¬Ã‚ ¢ In-Circuit Debug (ICD) via two pins à ¢Ã¢â€š ¬Ã‚ ¢ Wide operating voltage range: 2.0V to 5.5V à ¢Ã¢â€š ¬Ã‚ ¢ Programmable 16-level High/Low-Voltage Detection (HLVD) module: Supports interrupt on High/Low-Voltage Detection à ¢Ã¢â€š ¬Ã‚ ¢ Programmable Brown-out Reset (BOR With software enable option Here is a list of pins and how they are connected in the circuit. Pin Name Pin Number (PDIP) Functions MCLR 1 Reset RA1 3 Servo PWM Input RA2 4 Servo PWM Input RA3 5 Servo PWM Input RA4 6 Servo PWM Input VDD 11 +5V VSS 12 Grounded OSC1 13 Oscillator Crystal/External Clock Input OSC2 14 Oscillator Crystal/External Clock Input RC0 15 IN2 of Motor Driver RC1 16 IN1 of Motor Driver RC3 18 IN4 of Motor Driver RD0 19 IN3 of Motor Driver VSS 31 Grounded VDD 32 +5V RB0 33 Motor Push Button RB1 34 Motor Push Button RB2 35 Motor Push Button RB3 36 Motor Push Button RB4 37 Servo Arm Push Button RB5 38 Servo Arm Push Button RB6 39 Servo Arm Push Button RB7 40 Servo Arm Push Button Table 3.1.2 : Pin Connections C:UsersDanialDesktopFull Schem.JPG Figure 3.1.2 : Full Schematics 3.2 Motor Driver Figure 3.2.1 : SN754410 Motor Driver The SN754410NE is a quadruple half-H driver. The SN754410 can operate a pair of DC motors at the same time. It gives the robot bidirectional movements. It carries the peak output currents up to 1 ampere at a voltage range of 4.5 to 36V. The SN754410 has a minimum logic voltage of 4.5V and a maximum logic voltage of 5.5V. This driver is made to operate from a -400C to 850C. Drivers are enabled in pairs. Driver 1 and driver 2 are enabled by 1,2EN. Driver 3 and driver 4 are enabled by 3,4EN. When the input is low, the drivers are disabled and the outputs are off. If the input is high, the drivers are enabled and the outputs are on. Figure 3.2.2 : SN754410 Motor Driver Pinout Pin 1 (1,2EN) enables/ disables the motor Pin 2 (1A) is a logic pin for the motor Pin 3 (1Y) is for Motor A Pin 4, 5 are for grounding Pin 6 (2Y) is for Motor A Pin 7 (2A) connected to the motor Pin 8 (VCC2) connected to source for motor power Pin 9 (3,4EN) enables/ disables the motor Pin 10 (3A) connected to the motor Pin 11 (3Y) is for Motor B Pin 12, 13 are for grounding Pin 14 (4Y) is for Motor B Pin 15 (4A) connected to the motor INPUTS OUTPUT Y H = High Level L = Low Level X = Do Not Matter XX = OFF A EN H H H L H L X L XX Table 3.2.1 : SN754410 Function Table C:UsersDanialDesktopMotor.JPG Figure 3.2.3 : Motor Schematics 3.3 DC Motor This project will use the SPG10 Geared Motor that has 1.3 kg/cm torque. This motor is light enough to not weigh down the robot and only weighs 10 grams. It runs at 45 rpm. Figure 3.3.1 : SPG10 Motor C:UsersDanDesktopImages23042010(001).jpg Figure 3.3.2 : Motor Wheel 3.4 Servo Motor A servo is a mechanism used in robotic control systems. It is a mechanism that the user can set and forget. This is because of its ability to make corrections to return to its preset state if any changes occur. This is thanks to feedback operations. A servo is a casing that contains a DC motor, some gears with an output shaft, a variable resister that is connected to the output shaft, and a control board. The sensor mechanism allows the control circuit to monitor the current. The motor, through a series of gears, turns the output. The control circuit calculates the difference from the intended position from the current position the shaft is in. This makes the motor turn to its new position. If the control circuit senses that the position is accurate, it brings to a halt the motor. There are three connections to a servo; the power line, the ground line and finally the control signal. The servo needs to be told when to move and wont do so even if power is provided directly. The servo utilizes pulse width modulation (PWM) stream to indicate its position. Specification Servo Motor Model At 5 Volts Speed (s/60o) 0.19 Torque (Kg.cm) 6.00 Signal To Control Angle TTL PWM PWM At Min Angle (ms) 0.54 PWM At Max Angle (ms) 2.40 Operating Voltage (VDC) 4.8-6.0 Operating Frequency (Hz) 50.0 Moving Range(degree) 0-180 Wiring (Black/Brown Wire) Ground Wiring (Red Wire) 4.8-6.0 Volts Wiring (Orange/Other Wire) PWM Signal Table 3.4.1 : Servo Specifications C:UsersDanialDesktopUntitled.jpg Figure 3.4.1 : Servo Motor C:UsersDanialDesktopServo.JPG Figure 3.4.2 : Servo Schematic Chapter 4: Software Coding 4.1 PWM Generation PWM is simply the short form for pulse-width modulation. It is an efficient way to provide intermediate amounts of electrical power between fully on and fully off. This means PWM signals are digital, because at any instant given instant of time, the full DC supply is either fully on or fully off. PWM is employed in a wide variety of applications, ranging from measurement and communications to power control and conversion. Many microcontrollers include on-chip PWM controllers, like the one which is used this project, which makes this easy for controlling the servos for this project. One of the advantages of PWM is that the signal remains digital all the way from the processor to the controlled system and no digital-to-analog conversion is necessary. By keeping the signal digital, noise effects are minimized. Noise can only affect a digital signal if it is strong enough to change logic 1 to logic 0, or vice versa. PWM is the basis of controlling the servos in this project. Lets examine some basic theory. C:UsersDanDesktopFYP Reportimagespwm.gif Figure 4.1.1 : PWM Square Wave The diagram above shows a PWM signal that changes between 0 and 5 volts which is equivalent as digital logic 0 and 1. Notice that the waves are symmetrical. The uptime and downtime is 10ms when added together we get the period which is 20ms. Now that the basics are out of the way, lets look at how a normal servo signal input looks like. C:UsersDanDesktopFYP Reportimagespwm_servo.gif Figure 4.1.2 : PWM Wave Note that the servo runs at 50Hz frequency and therefore the period is 20ms. The uptime is what determines the angle of which the servo motor moves to. In simple words, we can tell the servo where to move with great precision. These are some examples for 180 ° servos. t = 0.9ms T = 20ms Angle = 0 ° t = 1.5ms T = 20ms Angle = 90 ° t = 2.1ms T = 20ms Angle = 180 ° The next step is to create these PWM signals using the PIC microcontroller. The PWMs is in this switch statement: switch(count){ //Choose which servo to modify case 1: PORTA = 0x02; // First Stage WriteTimer1( servo3 ); break; case 2: PORTA = 0x04; // Left Gripper WriteTimer1( servo1 ); break; case 3: PORTA = 0x08; //Right Gripper WriteTimer1( servo0 ); break; case 4: PORTA = 0x10; // Second Stage WriteTimer1( servo2 ); break; } Figure 4.1.3 : Switch Statement The operations for the timers are split in to 4 possible cases of how to generate PWM signal to the pins to power the servos. This is what the statement does:   Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  //INTERRUPT CONTROL #pragma code InterruptVectorHigh=0x08 void InterruptVectorHigh (void) { _asm  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  //assembly code starts goto InterruptHandlerHigh   Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  //interrupt control _endasm  Ã‚  Ã‚  //assembly code ends } #pragma code #pragma interrupt InterruptHandlerHigh   Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  Ã‚  //end interrupt controlCase 1 turns PortA1 On and resets the timer1.   Case 2 turns PortA1 Off, PortA2 on and resets the timer1. Case 3 turns PortA2 Off, PortA3 on and resets the timer1. Case 4 turns PortA3 Off, PortA4 on and resets the timer1. Figure 4.1.4 : Interrupt Handler The switch statement is nested in the interrupt handler function. The interrupt handler handles the timer operations. The interrupt control runs assembly code and then calls the go-to function which is InterruptHandlerHigh. The interrupt controller is set at high priority 0x08. Once the interrupt control is correctly implemented interrupts is sent to the interrupt handler where we can do whatever operation necessary depending on the type of interrupt.   4.2 Arm Control void move(int one,int two,int three,int four, int five) { if(one) servo0 = one; // Right Gripper if(two) servo1 = two; // Left Gripper if(three) servo2 = three; // Second Stage Link if(four) servo3 = four; // First Stage Link }A move function is declared to make things easier when linking with buttons. The arguments of the move function are the respective position the servo moves to when it is called upon. Figure 4.2.1 : Move Function After the move function is declared it can be called when the specific button is pressed. //Arm Control if(PORTBbits.RB7==1) move(0xF03B,0xF477,0,0,0); //GRIP! if(PORTBbits.RB6==1) move(0,0,(servo2-0x0250),(servo3+0x0100),0); //MOVE AWAY if(PORTBbits.RB5==1) move(0,0,(servo2+0x0250),(servo3-0x0100),0); //MOVE TOWARDS if(PORTBbits.RB4==1) move(0xFA77,0xEE07,0,0,0); //UNGRIP! Figure 4.2.2 : Arm Button Check There are 4 buttons that control the movement of the arm. PortB pin 0: Close the gripper PortB pin 1: Move arm away PortB pin 2: Move arm towards PortB pin 3: Open the gripper C:UsersVictorDesktopImagesClose Gripper.jpg Figure 4.2.3 : Close Gripper This picture depicts a closed gripper state that is triggered by the button. The following figure is how the robotic arm will look when it is triggered to open both grippers. C:UsersDanDesktop22042010(007).jpg Figure 4.2.3 : Open Gripper 4.3 Base Control The only thing that needs to be controlled in the base is the 2 DC geared motors. It is linked with the microcontroller through the H-bridge. The motors rotational direction is determined by a combinational logic code as seen in the data sheet of the motor driver. It is the same with the servo, when a button is pressed certain commands will be executed. //Base Control if(PORTBbits.RB3==1) { //Forward control PORTCbits.RC1=1; PORTCbits.RC0=0; PORTDbits.RD0=1; PORTCbits.RC3=0; } if(PORTBbits.RB2==1) { //Reverse control PORTCbits.RC1=0; PORTCbits.RC0=1; PORTDbits.RD0=0; PORTCbits.RC3=1; } Figure 4.3.1 : Base Button Check (Forward/Reverse) if(PORTBbits.RB1==1) { //Left control PORTCbits.RC1=0; PORTCbits.RC0=1; PORTDbits.RD0=1; PORTCbits.RC3=0; } if(PORTBbits.RB0) { //Right Control PORTCbits.RC1=1; PORTCbits.RC0=0; PORTDbits.RD0=0; PORTCbits.RC3=1; } Figure 4.3.2 : Base Button Check (Left/Right) There are 4 buttons that control the movement of the base. PortB pin 4: Forward PortB pin 5: Reverse PortB pin 6: Move right PortB pin 7: Move left 4.4 Simulation C:UsersDanDesktopUntitled.jpg Figure 4.4.1 : Watch Simulation The MPLAB software allows a minimal amount of simulation to show that the program is written correctly. Due to software limitation on the PIC18F4520 it is unable to correctly show port activities. However it does show variable activity like in the figure by using the watch feature in the MPLAB. This screenshot shows the stepping when reaching the OpenTimer1 function. A separate window opens to show the function and it will continue to step through the function until it is done. C:UsersDanDesktopUntitled1.jpg Figure 4.4.2 : Program Stepping The stepping continues while opening the necessary functions in a separate window and steps though it until it is done. It reaches the while loop and it keeps looping as it waits for a button to be pressed. Figure 4.4.3 shows the final stage of the program stepping. C:UsersDanDesktopUntitled3.jpg Figure 4.4.3 : Final Stepping Chapter 5: Conclusions and Recommendation 5.1 Summary This project has further expanded my interest and knowledge in the field of robotics. A project that is very hands on like this helps with the development of certain skills that would certainly help when I go on to become a professional engineer. The most important skill would be planning the stages of the project. To conclude, this project involved two phases which is the hardware design and software design. This report covered the software aspect in detail. In the early stages of this project different methods was planned for the outcome. At the start, the use of a PLC (programmable logic controller) was planned. However it proved to be infeasible in terms of cost and size. In the end it was decided that a PIC microcontroller was to be use as it is easier to implement with respect to the project and provides a great deal of functionality. The programming was made easier with the addition of the C compiler thus enabling the use of a higher level language which is C. With the use of a language of higher level it would be easier to implement features that were not possible using the PLC. 5.2 Recommendations In this project, certain improvements can be made in order to make things work more efficiently. For example, the quick movements seen in the arm is because of the incrementer seen in the codes and lack true control software. By revising the software and introducing more control oriented design it is possible to fine tune the speed. Instead of the 2 robot castors that make up the front motion it could be replaced with wheels and a servo in between them to make the movement and control similar to remote controlled cars. The wired controller could be replaced with a wireless RF controller to allow more freedom to the user. The body work could be improved by using sturdier and lightweight materials such as aluminium. Some sensors could be added to enhance the normal usage of the arm.

Sunday, January 19, 2020

Issues in special education Essay

Legal disputes between parents and school officials can be very costly. The cost is not just in dollars. It also involves costs in terms of the diversion of resources, the toll on school personnel, and, most importantly, the breakdown in the relationship between the parents and the school. The best way to deal with a legal dispute is to prevent it from occurring in the first place. In 1975 Congress passed landmark legislation designed to provide the nation’s students with disabilities with unprecedented access to educational services. Originally known as the Education for All Handicapped Children Act (1975), that legislation is now known by its new title, the Individuals with Disabilities Education Act (1997). The statute, as amended, calls for school districts to provide students with disabilities with an appropriate education in the least restrictive environment. The law also provides students with disabilities and their parents with due process rights, including the right to contest school district decisions regarding the provision of a free appropriate public education. Consequently, since the enactment of the law in 1975, literally thousands of lawsuits have been filed challenging school district decisions. The IDEA is not the only law governing special education in the schools. In addition, section 504 of the Rehabilitation Act and the ADA provide students with disabilities with additional protections. Section 504 prohibits discrimination against individuals with disabilities by recipients of federal funds. The ADA expands section 504’s discrimination prohibition to the private sector, but includes provisions applicable to public entities. In addition, all states currently have laws governing the provision of special education. Procedural issues Evaluation and Classification The IDEA requires states, and consequently school districts, to establish procedures to assure that all students with disabilities are properly identified and evaluated (IDEA, Â § 1412, a, 2, 1997). Those procedures, along with the test instruments chosen, may not be culturally or racially biased. In fact, students whose language or mode of communication is not English, must be evaluated in their native language or usual mode of communication (IDEA, Â § 1414, b, 3, 1997). The IDEA stipulates that all assessments are to be administered by trained personnel in conformance with the instructions provided by the test producer (IDEA, Â § 1414, b, 2, 1997). If a student is found to be eligible for special education, the school district is required to develop an individualized education program (IEP) for that child, but the IEP can be invalidated if it is based on a flawed evaluation of the child (Bonadonna v. Cooperman, 1985). The student is entitled to an independent evaluation if the parents disagree with the school district’s evaluation. However, the school district is required to pay for the independent evaluation only if the parents can show that the district’s evaluation was not appropriate. If the parents do obtain an independent evaluation, the school district must consider the results of that evaluation (Assistance to the States, Â § 300. 503, 1999). However, that does not mean that the school district must adopt the recommendations of the independent evaluator (G. D. v. Westmoreland School District, 1991). Rights of Parents and Guardians Parents are given considerable due process rights on behalf of their children in the special education process. The intent of the IDEAis for them to become partners with school district personnel in the development of IEPs. The school district must provide the parents with proper notice before it proposes to take any action regarding the child’s identification or placement (IDEA, Â § 1415, b, 3, 1997). The parents must be invited to participate in all meetings in which the student’s evaluation or placement will be considered (Assistance to the States, Â § 300.345, 1999). If the parents disagree with any decisions made by school district personnel, they may seek resolution either through voluntary mediation or an administrative due process hearing. If the parents disagree with the final result of the administrative hearing process, they may appeal to the federal or state courts (IDEA, Â § 1415, 1997). Failure to provide parents with the rights outlined in the IDEA can invalidate an otherwise appropriate IEP (Osborne, 1996). Change in Placement Procedures Once a child has been placed in special education, that placement may not be arbitrarily changed. Again, before any change in placement may occur, the parents must be given proper notification. The child’s placement also may not be changed while any administrative due process or judicial proceedings are pending absent parental consent or a court order (IDEA, Â § 1415, j, 1997). The actual determination of what constitutes a change in placement can be tricky. For example, if a special education classroom was physically moved from one school to another as part of a school district reorganization, that would not be considered a change in placement as long as the student’s IEP could be fully implemented in the new location. By the same token, the usual movement of a student from one level to another (i. e. , elementary to middle school) is not a change in placement if the student’s IEP can be fully implemented after the change (Osborne, 1996). However, any move that would affect the IEP or its implementation would be considered a change in placement. Obviously, changing a child from a resource room situation to a substantially separate class for students with behavioral disorders would be a change in placement. The elimination of a component of the student’s educational program would also constitute a change in placement (Abney v. District of Columbia, 1988). Minor changes are allowable, however. The key to determining whether or not the change is acceptable is how the modification will affect the student’s learning (DeLeon v. Susquehanna Community School District, 1984).

Saturday, January 11, 2020

History of Health Insurance Portability and Accountability Act (HIPAA) Essay

In 1996, Health Insurance Portability and Accountability Act (HIPAA) was enacted to improve availability and continuity of health insurance coverage, combat fraud and abuse in health care delivery, provide access to long term care services and simplify administration of health insurance by standardizing information exchange between healthcare organizations. This act primarily protects the privacy and security of an individual’s health information in response to the rapid grown of health insurance and information systems (Questions and Answers on HIPAA). Transmission standards and code sets were included in HIPAA to standardize health-related information and to facilitate faster electronic data interchange (EDI) which allows exchange of information from computer to computer. The transactions and code set standards apply to patient-identifiable health information transmitted electronically. Without the need for human involvement or intervention to complete the process, the practitioner will be able to cut costs by eliminating third party clearing houses, administrators or billing services (Kibbe, 2001, p. 8). With the standardized information exchange, availability of patient information electronically can be obtained with ease. To protect the security and confidentiality of this information, Privacy Rule was issued to implement the requirement of HIPAA. The major goal of the privacy rule is to assure that an individual’s health information is protected from unauthorized access and disclosure while still allowing the exchange of information through EDI to facilitate payments and to provide high quality health care. Individually identifiable health information, called Protected Health Information (PHI) is any data that contains the individual’s past, present or future physical or mental health, provision of health care to the individual, and the payment of such in the past, present or future. It is the Office for Civil Rights’ (OCR) responsibility to ensure that the Privacy Rule is enforced and implemented with respect to voluntary compliance activities and civil money penalties (Office of Civil Rights, 2003). There are some instances, however, when disclosure of PHI is needed or permitted. Covered entities (health care providers, clearing houses, etc. ) may disclose protected health information to the public health authorities when public health and safety are at risk. This happens when an individual contracted a communicable disease that raises public concern. If an employee developed a work-related illness or injury and the employer requests for the employee’s PHI in compliance with the Occupational Safety and Health Administration (OSHA) and other similar state law, the covered entities may release information about the individual. Likewise, information for treatment procedures requiring historical information and provided for by several health care services is granted to the health service providers, including consultations and referrals between providers regarding a patient. Protected Health Information of abused, neglected or domestic violence victims may also be disclosed to appropriate government authorities (such as reporting suspected domestic abuse to social welfare agencies) as long as the individual gives consent to disclosure, or the disclosure is authorized by law (Office of Civil Rights, 2003). The passage and implementation of HIPAA definitely improved the conditions of health care services. Uniform transmission and code sets standards paved the way for more efficient processing system, standardizing the way physicians, health insurance and health care providers handle and exchange information. With increased efficiency, costs are decreased. As Kibbe (2001) puts it in his article, â€Å"If there’s a silver lining to the HIPAA regulations, it’s here. These standards can save your practice time and money. † Although accessibility of information is one benefit of HIPAA, Privacy Rule protects the individuals from unauthorized disclosure of their Protected Health Information ensuring confidentiality and security of data exchanged in the process.

Thursday, January 2, 2020

Introduction to System Analysis and Design Fundamentals Essay

I will say that the first qualification that a systems analyst should have is at least a Bachelor Degree in Computer Science, however this may vary from organization to organization. For example, depending on the position it might only require a degree or experience or it could require a combination of both. Systems analysts should be able to multitask. It is also really important that a system analyst possess strong interpersonal and technical skills. As a System Analyst you will need the interpersonal skills to communicate accurately when conducting a presentation in front of a group. On the other hand, the technical skills give you confidence in a presentation. According to the National Career Service you need a BTEC HNC/HND or a degree†¦show more content†¦I believe it is more important to keep up to date with the evolution of the software since they are the one that provide the solutions of the original problem. Therefore, a good Systems Analyst must be familiarized wit h programing language to understand current program, and be able to take the proper corrective action to develop or design a system that will correct the present system. Knowing basic business will help a Systems Analyst to understand what is more cost effective for an organization and develop a system that will meet the organizational goals and needs, as well as staying within the budget. By identifying these concepts a System Analyst can provide a cost-benefit system that will satisfy customer’s expectations, organizational goals and user needs while staying within the budget. In today’s commerce and e-commerce everything is about business, and the companies that step up are one that takes their business to fulfill customer’s needs. A project manager should pick his team member for their skills and abilities as they apply to his particular project, but always mixing each team member skills and abilities to represent all the skills needed to complete the project (Cooper). The team member’s skills and abilities can vary based on the project goals and target. The important is to make sure to have a skill for each task, and I can achieve this by mixing all skills andShow MoreRelatedManaging Information Security Risks: The Octave Approach1635 Words   |  6 PagesThey noted that risk analysis and the concentration on threats, vulnerability and assets are the most effective means of protecting all IT resources. Biskup, J. Bonatti, P. A. Lying Versus Refusal for Known Potential Secrets. Data and Knowledge Engineering 38 (2001): 199-222. In this paper, Biskup and Bonatti discusses security policies as well as the corresponding mechanisms of enforcement. Biskup, J.; Flegel, U.; Karabulut, Y. Secure Mediations: Requirements and Design, 127-140. DatabaseRead MoreGraduate Attribute Plan For Graduate With A Bachelor Of Engineer1139 Words   |  5 PagesGraduate Attribute Plan Introduction Being able to graduate with a Bachelor of Engineer (Honours), majoring in Electrical and Electronic Engineering, will allow me to work in a range of sectors with high-level technology. Skills that I will develop in the course of my degree such as having a high level of technical knowledge and IT skills as well as having strong analysis and practical problem-solving abilities to improve designs. These are core skills that are valued in my future career as an ElectricalRead MoreWhat Are Essential Attributes Of Good Software?1417 Words   |  6 Pagesit is dependable in all conditions an situations.it is a result of number of sub attribute namely secure ,safe ,reliability through assured Performance ,verification and validation it should not cause any case of physical or economic damage to the system. Maintainability: all changes desired by user can be carried out in short time .changes could adapt new technology or expand its scope Efficiency software should use resources in effective manner. Resources are memory, processor and storage. ItRead MoreUsing Data Collection And Data Analysis1427 Words   |  6 PagesResearch Design This study utilized a survey design that involved qualitative methods of data collection and data analysis. The study will utilize online sources that have already been published that include peer-reviewed papers, journals, books and reliable internet sources of the distinctive companies. The internet was searched for important information relating to management in the three major identified organizational designs. Different databases such as Google Scholar, EBSCO, Business SourceRead MoreManagement and National Service Training1620 Words   |  7 Pages   | Math 111 | Basic math algebra | 3 |    |    | Com 111 | Basic computer (i.t) | 3 |    |    | Soc. Sc 111 | General psychology | 3 |    |    | Cs 111 s1 | Logic formulation and introduction to programming | 3 |    |    | Cs 111 s1 | Fundamental of typing and word processing | 1 |    |    | P.e 111 | Introduction to physical activities | 2 |    |    | Nstp 111 | National service training program i | 3 |    |    |    | Semester 2 |    |    |    | Eng 122 | Effective speech | 3 |    |    | Fil 122Read MoreThe Current Situation And Future Requirements Of Data Storage For Higher Education1442 Words   |  6 Pages(1) Design In order to understand the current situation and future requirements of data storage for higher education in China, questionnaires and interviews about current systems and platforms are necessary. Questionnaires are one of quantitative methods to investigate some basic questions which may not accurately. Interviews one on one through face-to-face, telephone or Skype is one of qualitative methods to develop a deep understanding which may not academic. However, data from existing literatureRead MoreProject : Telephone Billing System1166 Words   |  5 Pagesand Address of Accredited Centre: Amity Institute Of Information Technology Sector-126, Noida 1. Name of student : Shubham Aggarwal 2. Address of student : D-148,First floor,Sector-55,Noida 3. Title of Project : TELEPHONE BILLING SYSTEM 4. Name of guide : Dr. Dolly Sharma Signature of student Signature of guide TO, ___________ ___________ Noida Respected Mam, I am submittingRead MoreA Study On Korean University Curriculum1724 Words   |  7 Pagesalso researched in order to find out whether their engineering programs have any cooperation courses for BIM education. In engineering program, BIM is able to apply on administration of construction process, integrated design delivery project, construction management, structural analysis, and costing construction, and it has many other related subjects which is able to applied indirectly. However, only 2 universities have BIM course, and 1 university is planning to apply into the engineering programRead MoreBITS F111 2011 12645 Words   |  3 Pagesthermodynamic   properties;   applications   to   closed   and  open  systems;  entropy  and  entropy  generation;  availability.      Scope  and  Objective   Thermodynamics   deals   with   energy,   matter,   and   the   laws   governing   their   interactions.   It   is   essential   to   learn   its   usefulness   in   the   design   of   processes,   devices,   and   systems   involving   effective   utilization   of   energy   and   matter.   The   course   emphasizes   on   the   fundamentals   and   concepts   of   the   laws   of   thermodynamics   as   applied  Read MoreThe Effect Of Outrigger Truss On Composite High Rise Buildings By Simplified Method1192 Words   |  5 PagesEngineering, Yangon Technological University, Yangon, Republic of the Union of Myanmar eekmayday83@gmail.com Abstract—The design of tall and slender structures is controlled by three governing factors, strength (material capacity), stiffness (drift) and serviceability (motion perception and accelerations), produced by the action of lateral loading, such as wind and earthquake. Outrigger systems are generally very effective in fulfilling the serviceability requirements of tall buildings. This research conducted