Friday, December 6, 2019

Implementation of a Robot Controller

Question: Describe about Implementation of a Robot Controller? Answer: Introduction From last two decades, technology has tremendously changed in the field automation technology; robotics system is one of them. Robotics system is a special kind of branch of electrical engineering, mechanical engineering, electronics and communication engineering and computer science which deals with the several kinds of applications of the robot such as implementation of the robot, operational design of the robot, construction, automatic control mechanism with the help of their feedback system, sensing mechanism, mapping of the robot and various kinds of information processing system (Berry, 2012). The robotics system controls the mechanism with the help of automotive machine. The automated machine controller can have several kinds of natures of the human behavior such as ability for sensing, ability for moving and ability for thinking. Several kinds of applications of robotics are crane, defusing bomb in bomb squad and for exploring ship wrecks. This report mainly focuses on the mo bile robotics with different types of behavioral control architecture such as avoidance of the obstacle, wandering and mapping of the road directions. This report also highlights a brief background of the literature review, architectural design of the overall system, behavioral design of the system, various experimental designs of the robotics system and results and findings of the experiments. Coding Coding for Obstacle avoidance: Coding for obstacle on left side # turn right # else if approaching an obstacle on the right side # turn left # else go forward from pyro.brain import Brain class Avoid(Brain): def step(self): safeDistance = 0.1 # in Robot Units #if approaching an obstacle on the left side, turn right if min(self.get('robot/range/front-left/value')) safeDistance: self.robot.move(0,-0.3) #else if approaching an obstacle on the right side, turn left 9 elif min(self.get('robot/range/front-right/value')) safeDistance: 10 self.robot.move(0,0.3) 11 #else go forward 12 else: 13 robot.move(0.5, 0) 14 def INIT(engine): 15 return Avoid('Avoid', engine) Coding for wandering of the robot from pyro.brain import Brain from random import random class Wander(Brain): def step(self): safeDistance = 0.85 # in Robot Units l = min(self.get('robot/range/front-left/value')) r = min(self.get('robot/range/front-right/value')) f = min(self.get('robot/range/front/value')) if (f safeDistance): if (random() 0.5): self.robot.move(0, - random()) else: self.robot.move(0, random()) elif (l safeDistance): self.robot.move(0,-random()) elif (r safeDistance): self.robot.move(0, random()) else: # nothing blocked, go straight self.robot.move(0.2, 0) Coding for mapping of the robot ArTcpConnection con; ArRobot robot; con.setPort (); if (!con.openSimple()) { printf("Open failed."); Aria::shutdown(); return 1; } robot.setDeviceConnection(con); if (!robot.blockingConnect ()) { printf("Could not connect to robot... Exiting."); Aria::shutdown(); return 1; } The coding for obstacle avoidance program depicts the avoidance of the obstacle with the help of pyro framework to control over the different types of robot platform. This kind of controller program is the example of direct control program. Direct control method is most useful method for introducing the robotics subjects. In this kind of controller system simply used in robotics system which provides sensor values and control system for directly output of the motor. The top five line of the coding for obstacle avoidance showcases the basic pseudo code for avoiding the various kinds of obstacles by the robot (Smith, 2001). The implementation of the pseudo code is used with the help of different kinds of abstractions from libraries. The coding which is used for avoiding the obstacle for a robot creates a class called Avoid which can be inherited from the class called Brain. Each pyro brain has some steps methods which are used to execute the control cycle within 10 times in a second. This showcases that the robot continuously avoiding the obstacle. The robot can avoid the obstacle with in safe distance which is 0.1 m for here. The right and left from sensor helps to robot to move in the right or left direction. The line number 6 and 6 depicts the front sensor with left and right direction. The line number 14 and 15 depicts the automatic initialization of the robot. The coding for wandering of the robot depicts the variety of the platforms of the robot. The wander program helps to move the robot without bumping the objects. The pseudo code depicts the sensors of the variety ranges. The pseudo code for wandering also helps to understand the different kinds of the sensors. Here three sonar sensors are used; the khepera cannot be measured by using the single infrared sensor (Frazzoli, 2013). The coding for mapping of the robot depicts the ARIA program for connecting the TCP/IP port. ArtRobot::setDeviceConnection is the connection with TCP/IP port with the number 8101 with the local host. Literature review In this part of the report several kinds of past researchers reviews on the robotics will be evaluated. The literature review should brief, summarized form with the help of a proper format. Different past researchers have researched on this topic their various findings and results can help to carry out the overall report of the robotics. Several kinds of methods are used to detect obstacle with the help of various automated devices. Different types of obstacle detection methods are shadow detection, edge detection, image segmentation and the corner detection. According to Singh, (1996) the good obstacle detection may have several kinds of features which are summarized below; The obstacle detection device should have some specific range for detection of the obstacle. The device should have ability to detect the correct obstacle among various obstacles. The device should the power of indentifying the correct obstacle ignoring all the features of the grounds. The device should be able to detect the obstacle within a specific distance. The detection of the obstacle can be occurred into following two steps such as; the first step is the detection of the edge for processing of the low level images which is used to set the image processing of the higher level. The higher level processing of the image is used to detect the edge of the device which helps to segmentation of the objects. The edge detector is such kind of mathematical operator which can responds to the changes of the spatial and discontinuous grey level pixels which can be helpful for setting the pixels for the continuous variation. The edge can be indicated by the abrupt changes of the spatial of the images. The abrupt changes can be categorized into several kinds. Edge diving areas may have several kinds of rapid variations. Detection of the edge always should be based on the requirements of the output and the information of the edge is shared between the variations. The edge information can be used to determine the different closed areas between the dif ferent objects. Various types of the edge detector can work under different conditions. Singh, (1996) also summarized that different kind of algorithms are used for various edge detection operation. Boolean function based detection of the edge can produce several kinds of thickness of the edges on its output thus it can create a problem for finding fine image. According to Marr-Hildreth, (1998) it can be stated that there is no differences between the strong edges and weak edges detection of the robotics devices as it consist of one operator of the threshold edges. The edge detector of the canny cannot perform well under circumstances of high quality of the images. The quality of the images of the edges is fully dependent on the algorithm of the edges, properties of the surfaces and conditions of then lighting, different densities of the edges and noise (Frazzoli, 2013). The algorithm with the help of several kinds of approximating threshold can be used to overcome the different types of limitation of the edge detection. Intensity variation plays an effective role at the time of image processing of the edge detection. The derivation of the intensity of the edge detection shows the relationship between the existence if the edges and the variation of the intensity of the edges. The above diagram showcases the intensity of the derivatives of an edge. Several kinds of edge detection methods are summarized below; By using gradient operator method Sobel, Prewitt and Roberts methods are used to derivative of the calculation of the map for calculating the gradient changes of the edge (Marques, 2008). The common gradients methods for operating of the edge detection methods are shown below; By using optimum operator Marr-Hildreth Edge detector uses the Gaussian method with the help of invariant Laplace transformation r2f = / which is used to determine the gradient changes of the within the edge of the threshold. This formula shows the accurate results of the edge detection with the help of the algorithm. Canny model edge detection used as the problem detection of the signal processing with the help of signal to noise ratio, various kinds of the signal responses criteria and the accuracy of the location edge criteria. According to Nadernejad and Hassanpour, (1998) it can be found that there are several kinds of differences between the edge detections of the Marr-Hildreth edge detector, detector of the canny edge and several kinds of Boolean function based edge detection. Architecture design In this part of report several kinds of architectural mobile robotics design will be evaluated with the help of various software and hardware functionalities of the design. Several kinds of software functions for implementation of the mobile robotics system are summarized below; The interpretation software implementation helps to detect the several kinds of inputs provided by the sensor of the edge detector (Frazzoli, 2013). To control over the motion of the wheels and other kinds of the movable parts. To plan for the future path of the robotics architecture. Several kinds of complications may arise during the design stage of the mobile robotics system which are described below; Path can be blocked by the various kind of obstacle. Imperfect input of the sensor can block the system. Power supply should be taken into consideration during the stages of the design. Mechanical limitations may damage the system. According to the requirements of the report the behavioral architectural design of the mobile robotics consists of three methods such as the avoidance of the obstacle, wandering and mapping for the edge detection of the object. The evaluation criteria of the designs are; The device should be able to detect the obstacle. The devices should be able to mapping with the help of detection of the edge. The device should be accurate and reactive behaviors. The robot should be able to allow for different kinds of uncertainty. The device should be flexible and real time. The architectural design can be classified into three types of solutions such as control loop design, layered architecture of the robotics system, and invocation of the implicit with the help of TCA and the architecture design of the blackboard (Berry, 2012). First step is the design of the control system which is depicted below; The control system of consists of four parts such as controller, actuator, sensors and the environment. The active component of the robot should coordinate with the several kinds of activities with the help of actuator and the sensor. The environment of the design should be taken into consideration which can detect the several kinds of problems which may cause the fault of the power supply and unsafely performance of the robot. The major components for designing of the control system are motors, supervisors and the sensors. The control system device should be flexible so that it can operate in any environment. Layered architecture consists of several kinds of components such as robot control, control, navigation, supervisor, modeling on real world, interpretation of the sensor and global planning. This stage is used to design the communication between the several kinds of hierarchy. Various interlayer used to support the reconfiguration of the system. TCA is the task control architecture which combined all types of tasks provided by the implicit invocation (Marques, 2008). The several tasks communicated between them. Roles of the task are described below; Handling of the exception. To monitor the different messages. To handle the wire tappers. The last step of the architecture design is the architecture of the blackboard which are depicted below in the figure; Experimental design In this part of the report several kinds of experimental design process will be described which can be helpful for further design of the mobile robotics (Akella, 2008). The lunar obstacle can be classified into two types such as rocks and holes. To detect the two types of obstacle the intensity map are used for detecting the two types of images such as the lowest point of the intensity and the highest point of the intensity. Comparing several kinds of edge detection it can be concluded that the canny edge detector provides the best results among them. Sensitivity and accuracy can be detected by using the canny edge detection. The limitation of the canny edge detection is the shadow. By using the additive removal model the shadow during the detection can be removed. Shadow coefficient also can be used to eliminate the low points of the image (Frazzoli, 2013). The step by step image process flow algorithm is described below; Results Detection of the shadow and removal Blajovici, Kiss, Bonus, Varga showcase the direct and ambient light for detecting the shadows. Shadow is the part of the image, according the model of the shadow it can be defined as; Ii = (tI cos I Ld+ Le) Ri , where Ii is the pixel of the images, Ld is the direct light, Le is the light of the environment, Ri is the surface reflectance, I is the angle of the direct light and tI is the factor of the attenuation. The shadow coefficient can be denoted by ki = (tI cos I) The ratio between the environment light and direct light can be denoted by r= Ld /Le Conclusion Robotics system is a special kind of branch of electrical engineering, mechanical engineering, electronics and communication engineering and computer science which deals with the control, implementation and automatic system (Zhang, 2010). The entire can be classified into several kinds of segmentation such as introduction part, coding part, literature review of the overall robotics system, experimental design part and the results of the design of the robotics. In the part of the introduction a brief description of the robotics has been described, in literature review part several kinds of researchers review have been showcased regarding the robotics system, in the architecture part three steps of solutions have been evaluated with the help of different facts and figures, the result part showcases the results of the overall design and the experimental design part showcases the design steps of the edge detection of the robotics system. References Agarwal, P., Kavraki, L. and Mason, M. (1998).Robotics. Wellesley, Mass.: A K Peters. Akella, S. (2008).Algorithmic foundation of robotics VII. Dordrecht: Springer. Albus, J. (1994).Brains, behavior, and robotics. Peterborough, N.H.: BYTE Books. Arkin, R. (1998).Behavior-based robotics. Cambridge, Mass.: MIT Press. Azad, A. (2012).Adaptive mobile robotics. Singapore: World Scientific. Berry, C. (2012).Mobile robotics for multidisciplinary study. [San Rafael, Calif.]: Morgan Claypool Publishers. Brady, M. (1989).Robotics science. Cambridge, Mass.: MIT Press. BraÃÅ'ˆunl, T. (2008).Embedded robotics. Berlin: Springer. Buzug, T. and Lueth, T. (2004).Perspective in image-guided surgery. Singapore: World Scientific Pub. Dudek, G. and Jenkin, M. (2000).Computational principles of mobile robotics. New York: Cambridge University Press. Frazzoli, E. (2013).Algorithmic foundations of robotics X. Berlin: Springer. Ghosh, B., Xi, N. and Tarn, T. (1999).Control in robotics and automation. San Diego: Academic Press. Glaser, A. (2009).Industrial robotics. New York: Industrial Press. Gray, J. and Caldwell, D. (1996).Advanced robotics intelligent machines. London: Institution of Electrical Engineers. Kelly, A. (n.d.).Mobile robotics. Laumond, J. and Overmars, M. (1997).Algorithms for robotic motion and manipulation. Wellesley, Mass.: A K Peters. Marques, L. (2008).Advances in mobile robotics. Singapore: World Scientific Pub. Co. Meng, Y. and Jin, Y. (2011).Bio-inspired self-organizing robotic systems. Berlin: Springer. Nehmzow, U. (2000).Mobile robotics. London: Springer. Smith, P. (2001).Active sensors for local planning in mobile robotics. River Edge, NJ: World Scientific. Tosun, O. (2010).Mobile robotics. Singapore: World Scientific Pub. Co. Wang, F. and Gao, Y. (2003).Advanced studies of flexible robotic manipulators. Singapore: World Scientific. Wise, E. (1999).Applied robotics. Indianapolis, IN: Prompt Publications. Zhang, D. (2013).Advanced mechatronics and MEMS devices. New York, NY: Springer. Zhang, P. (2010).Advanced industrial control technology. Amsterdam: William Andrew/Elsevier.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.