Mindstorms RoboCup Player Carl Beattie BSc Computer Science Session (e.g., 2006/2007)
|
|
- Elisabeth Lindsey
- 5 years ago
- Views:
Transcription
1 Mindstorms RoboCup Player Carl Beattie BSc Computer Science Session (e.g., 2006/2007) The candidate confirms that the work submitted is their own and the appropriate credit has been given where reference has been made to the work of others. I understand that failure to attribute material which is obtained from another source may be considered as plagiarism. (Signature of student)
2 Summary This report documents the design, construction and implementation of a robot that can play a simple version of the RoboCup soccer game, that is a version of football that is specifically designed for robots to compete in. The official version of the tournament uses much more highly engineered solutions to the problem. There is however a Lego Mindstorms league that uses the simple light sensors to navigate. In order to provide more of a challenge this project was undertaken with the aims of using an intelligent vision system rather than the simple light sensors. The developed system evolved from my initial designs as their advantages and limitations became apparent; a clear example was the initial idea to use a top down camera system that could observe the whole playing field. This proved to be unfeasible due to the height required to view the whole area and the lack of detail at a sufficiently high vantage. The finished robot has a point of view vision system provided by a webcam and a pair of arms similar to mandibles on the front used for capturing the ball. The image processing for the vision system is carried out by a laptop that communicates with the robot using the infra red USB tower that is part of the Mindstorms kit. i
3 Acknowledgements I would like to thank fully: Tony Cohn- For his support and ideas during the project. Marc De Kamps- For the feedback on my mid-project report. Drew - For providing excellent grammatical support. Clare - Intensive proof reading skills. Bagnall et al- For developing such useful tools. Leigh- For putting up with all my late nights. ii
4 Contents 1 Introduction Aim Objectives Minimum Requirements Detect the ball s location in the environment The robot should be able to move to a desired location The robot should be able to direct the ball along a desired heading Deliverables RoboCup Relevence Project Components Hardware The Lego Mindstorms Kit The RCX Brick The Sensors The Motors Locomotion Acquiring the Ball Vision System Motion Detection Object Detection using Shapes Pixel Values iii
5 2.3.5 Holding the Ball Software LeJOS BrickOS NQC LegoLog Navigation Final Solution System Evaluation Testing Test Methods Test Results Evaluation Comparing system to initial objectives Problems faced along the way Overall Possible Extenstions Full Wireless Functionality Self Localisation Adding more Players Other Uses Conclusion 25 Bibliography 27 iv
6 Chapter 1 Introduction 1.1 The aims of the project The aim of the project is to use the Lego Mindstorms platform as a base for the construction of a robot that would, using some programmed intelligence, play a rudimentary version of football. This includes the design and construction of the robot, and the software that will govern its actions. 1.2 The objectives of the project The project has a few objectives, ranging from personal to deliverable goals: To teach me the basics of producing a fully functional product from design to implementation, including testing and evaluation. This is also an exercise in timekeeping and project management. Though not a software development project in the traditional sense, there is a software product and a development process that needs to be followed. To actually produce the finished robot is the main objective of the project, however I would also 1
7 like to see that the robot is capable, having enough intelligence to behave as desired. I feel that the results of this project could be something I will really be proud of. My overally objective is to develop upon skills I have obtained throughout my degree and can take forward into my professional life 1.3 The Minimum Requirements The base requirements of the project are threefold and are described in the following section Detect the ball s location in the environment This is both the most vital and the most complicated requirement to achieve; for this to be implemented the robot must first be able to sense the ball. For that it needs sensors and the ability to interpretate the input from them to make an intelligent decision as to where the ball is located. Secondly the ball will not always be in view of the sensors (unless a 360 degree field of view is implemented) and so the robot must be able to move in order to scan its location The robot should be able to move to a desired location This is a much simpler requirement which involves two parts; the knowledge of which direction to move in and the means to get there. After fulfilling the above requirement this section is mostly covered. The next idea is to simply be able to move forward so it can intercept the ball, here it will make the decision of locomotion The robot should be able to direct the ball along a desired heading This can be carried out in two different ways; one way would be to hold on to the ball and then move the robot to the desired location. Another is to hold the ball and turn to the correct heading then somehow kick the ball along that path. 2
8 1.4 The Deliverables There are three deliverables associated with the project. Most important of these is the project report. This is the main method for evaluating the success of the project as a whole and this will require a significant portion of time to be devoted to it. The robot should be able to carry out the demands of the project, e.g. it should be physically capable of moving, sensing the ball in some way, and knowing when it is in possession of the ball. The final deliverable is the code which is to be executed on the robot. This should simply be able to do the objectives outlined in the minimum requirements. 1.5 Just what is RoboCup? RoboCup is an international project with the goal of improving the fields of AI and robotics. It hopes to do this by providing both an incentive and common ground for developers and researchers to develop new and better robots. The idea is that the competition will drive people to come up with new solutions to old problems in the hopes of beating the other team. To this end the RoboCup Federation chose a game of football as the testing ground. The foundation have ambitious goals, the main one being By the year 2050, develop a team of fully autonomous humanoid robots that can win against the human world soccer champion team. [3] The RoboCup competition has expanded since then and now covers some other competitions as well, these include RoboCup Rescue and RoboCup Junior. RoboCup Rescue is a competition that aims to challenge the best rescue drones for the emergency services in hazardous environments. RoboCup Junior is an introductory level of the RoboCup league and is open to children to help them interested in robotics and programming. The junior version of the RoboCup league uses Lego Mindstorms rather than the complex and expensive robots, to provide tools which are not intimidating to the children who take part. 3
9 The football is heavily simplified with robots either undertaking 1v1 or 2v2 games.robots take part on a pitch that has been shaded to allow the light sensors to provide the means of navigation on the pitch. An infra red emitting ball is used to allow the robots to avoid using complex visual recognition systems. 1.6 Relevence to a Computer Science degree While studying for my computer science degree I have found myself covering a very wide range of subject areas. These included database design, algorithms, maths, theory of computation, interface design, as well as a large section of artificial intelligence. The artificial intelligence (AI) modules have covered a wide range of the subject including computer vision and biologically inspired AI alongside the traditional AI. This project incorporates many of these areas, notably the artificial intelligence, software development and the problem solving of the computational theory and algorithms work I have done. The construction of the robot had questionable relevance, however it does provide an integral part of the solution to the problem. It also provided an important incite to all aspects of the robotics and artificial intelligence sectors. and the impact of one on the other, problems that can arise and their solutions. 4
10 Chapter 2 Project Components 2.1 Hardware The project mainly uses the Lego Mindstorms kit but also contains some other notable items. The main image processing is provided by my laptop which is a Toshiba Tecra A4. The processed images are taken from a Logitech QuickCam 3000 Pro which is attached to the robot and passes the information to the laptop via a USB cable. Finally we have the ball which is the same as the balls used in the real RoboCup soccer league[12]. This ball contains IR emitting diodes which are detectable from the light sensor that is available in the Mindstorms kit and webcams. 2.2 The Lego Mindstorms Kit The Lego Mindstorms kit is a platform developed for both hobbyists and for education. This is apparent with Lego s support for open source firmware and development tools [9] It is mainly marketed towards school children with the default development package being a drag and drop system for commands that while being surprisingly powerful would lack the capability of the various third party offerings. The set contains around 700 pieces the heart of it being the RCX brick, which is the processing unit for 5
11 the system. Along with that there are 2 motors, 2 touch sensors, a light sensor and an IR communication tower for loading programmes onto the RCX brick. The rest of the Lego is used as a frame work for the other components and as such are mostly pieces from Lego Technique[8]. The main advantages of using the Mindstorms kit is the low cost and ease with which functional robots and vehicles can be built. The robot can be taken apart and rebuilt any number of ways using the same parts, this reduces the need for custom engineered parts allowing me to concentrate on the computing side of the project without getting bogged down in the engineering The RCX Brick The powerhouse for the Mindstorms system is the Robotic Command explorer, or the RCX often simply referred to as the Brick. Containing 32Kb of external RAM, 16Kb of space for the firmware and running at 16MHz,[10] the brick is not the most powerful of computing devices. It is however sufficient, for most of the demands placed upon it for this level of AI applications. The brick has 3 input ports used for taking input from the sensors and 3 output ports used for the control of the motors. These ports can also be overloaded with two inputs plugged into a single port, and threshold appropriately. For example, if you had a sensor that returned only 0% or 100%, and a light sensor that returns values from 0 to 100, it is unlikely that the light sensor would receive nothing or be fully saturated and so you threshold out the 100 and the 0 response from one sensor and the rest is the light sensor. It isn t perfect but it can be done. There is an IR receiver which is used as the communication point, this is how the programmes are loaded onto the brick and can also be used as a receiver in a remote control application that takes instructions from a computer. This means I was able to use a computer to perform all the image processing that would be required to find the ball in a scene using the webcam, and transmit the instructions via the IR link to the brick. Using the system in this way allows the processing power of the brick to be used for simpler task, such as reacting to the touch sensor to close the gripping arms without relying on the slow IR link to react to simple stimulus. 6
12 Lastly there is an LCD screen that can display text and can be used to display the running status of the program. The firmware that runs the code is contained on the brick and can easily be flashed and replaced with third party firmware that can execute code written in other languages such as C, Java or Prolog The Sensors There are four sensors provided by the Mindstorms system. There are rotational sensors that are able to detect the amount one of the axles have been turned, which is useful for guaging the distance a robot has travelled using a dead reckoning system. It detects rotation on 16th s of a rotation, allowing for a reasonable amount of accuracy. Touch Sensors can be used to detect collisions or impacts, and have a boolean output registering either 0% or 100% voltage based on a threshold. There is a Light Sensor that returns the brightness of the area directly ahead of it. Returning a value between 0% and 100% and is able to detect the infra red light emitted from the RoboCup soccer ball. The interesting thing is that it is entirely possible to produce your own sensors which can be passive or powered and can be used to do new things like detect heat, magnetic sources or many other stimuli[13] [7] The Motors The Motors are the main output from the system. They provide all the functionality that is required for this project. The main problem with the motors is that (probably due to age and use) there are mechanical differences between the motors that results in different levels of torque. This makes dead reckoning hard to manage without using the rotational sensors to confirm the exact movements made. Consequently, going forward in a straight line becomes a much more computationally intensive process. 7
13 2.2.4 Locomotion There are a number of different methods to move the robot, the biggest decision is to either choose wheels or tracks. Tracks have inherent advantages such as a zero turning circle and the ability to traverse uneven terrain. While the zero turning circle would be extremely useful for this project, the extra traction could have been a problem since the robot was going to be quite heavy. This is because it had to carry the webcam and the RCX brick (including it s 6 batteries). The tracks also have a limited set of configurations, there is a limit on the length of the tracks and also the design of the chassis. There are multiple sets of wheels provided by the set, from large spoked wheels to small dense ones. The large wheels prove to be ideal; since the robot would have always been acting on a flat surface, there was very little need for large amounts of torque and at least a fair amount of speed is a requirement of playing football. Next came the issue of the wheel placement, a full steering system would be inappropriate as the robot needed to be agile. Using a steering system similar to a car would have resulted in an extended turning circle as well as the need for a separate motor to turn the wheels. This would not have contributed to the overall power output, since the vehicle was going to be heavy this would have been a problem. There is a simple solution to this problem which uses one motor to drive the robot, which either powers one or both of the wheels. If one is used then the robot moves in a circle around the stationary wheel. If both wheels are powered then the robot will move forward. This however is very limited and the robot would have quite a large turning circle as well as a low power output using only one motor. A better system is to have two wheels on a central (split) axle that controls both the steering and the motion. Using the wheels in this way you can have a zero turning circle, that is basically the space required to turn around. This can be achieved by turning the wheels in opposite directions so that the robot turns on the spot which is useful for scanning the environment and avoiding complicated navigational issues in the coding. 8
14 There is a mechanical system known as a dual differential that could have been useful here. A dual differential is a system of cogs and axles that allow one motor to power two wheels in the same direction. Figure 2.1: The Dual Differential Gear System [19] A second motor is attached and when powered will turn the wheels in opposite directions. The combination of the two will allow you to vary the speed of each of the wheels which allows you to ignore differences in the speeds and torque of the motors. [5] The disadvantages of this system are that there is only one motor to power forward motion and there is a significant amount of stress and friction on the axles due to the overall weight of the robot. Despite the usefulness of the dual differential system, it had to be abandoned as the motors were simply not powerful enough. Instead a less complicated option was used with one motor driving each wheel.(see fig 5.2) 2.3 Acquiring the Ball There are two issues to consider within this section of the project. Firstly, the robot needs to be able to find the ball and get close to it. Then the robot must be able to guide the ball, that is it must be able to turn while staying in contact with the ball and be in a position to move to a new location without the ball rolling off. 9
15 2.3.1 Vision System It was clear that the robot would need some method of seeing the ball. In the official league the robots use the light sensors provided by the Mindstorms kit to locate the ball, which contains IR diodes the light sensors are capable of detecting. However, this would result in a very simple robotic system. Having studied both computer vision and image processing I wanted to build something that was a bit more interesting, therefore I took the same idea and added to it. Instead of a system that used a simple set of statements e.g. If (light){ goforward(); } else{ turnright(); } I would introduce some real image processing to the project. For this I would use a webcam that could take images and then decide if the ball was there or not. After consulting notes for both the computer vision and image processing modules[20][16] I developed some rough ideas of how to proceed. Initially, I had proposed that the system would use a top down camera that would be able to observe the entire playing field and then software which could locate the player in relation to the ball and the goal. The Robot would have two markers on its top that would allow the system to calculate the location and the orientation of the robot. Using this information the system would work out which way the robot would have to go. Following this it would pass on the details and instructions via the IR link to the robot, then the robot would carry them out. It became apparent quickly that this idea was flawed. Using the standard dimensions of the RoboCup soccer field 1220 x 1830[12] the camera would have to be situated at such a height that not only made it difficult to develop (only being able to test it in specific locations) but it also meant that it was almost 10
16 impossible to make out any of the lights on the ball and the reference colours on the robot. Using this system with more than one robot would have been easier requiring only one camera, the code running on the individual robots would have to do much more however, since the robot would have to both locate itself and its orientation to the ball. Which the RCX brick was capable of doing the maths there were some small performance issues when transmitting the data from the camera to the RCX via the IR link due to the low baud rate of the connection. Instead I decided to mount the camera on the top of the robot giving the webcam a point of view orientation, which I was much more interested in working with anyway. The robot would essentially look for the ball and then the goal Motion Detection I looked into many different ways of using the webcam to recognise the ball in an image, one of the first ideas to be dismissed was the idea of motion detection. There are many reasons why motion detection is unsuitable, the first, and most obvious is that the ball may not be in motion, and that if the robot is moving then the whole image changes making any motion detection algorithm almost useless Object Detection using Shapes A system that used image processing to find shapes seemed to be a more viable option. The idea was to use image processing to find circles, with the ball hopefully being the most obvious circle in the field of vision. I had explored for a while, researching information from the from a computer vision module. I produced a few test programmes in Matlab that would use Hough transform[6] to find the best example of a circle in images with the ball in. While this worked to a reasonable degree, there were problems. The system was not 100% reliable and a separate system would be needed to then find the goal once the ball had been acquired. While working on the birds eye view camera processing I came across the Lejos vision libraries. The Lejos vision system contained functions that supported detection of motion, light and colour. Usefully it also contained the ability to send commands to the RCX as well as displaying the output of the camera to the PC. After getting to grips with this system I decided to use the colour detection functions to locate 11
17 the ball Pixel Values The RoboCup ball emits quite a bright white light, therefore it should be possible to use the pixel value detection functions in the josx.vision libraries. Value analysis in image processing works by breaking down each pixel into its constituent RGB values. To find a particular colour or brightness in the image you perform the same process on that colour and then move pixel by pixel through the image looking for values that are the same. It is possible to apply a threshold to these values that allow colours that are not an exact match to be accepted by the system. The LeJOS vision system allows the image to be split into sections and then each section can be evaluated, returning the average RGB values in that area. From this you can employ your own checking routine to make the comparison Holding the Ball When I initially built the robot I had constructed simple arms that were fixed in the hope that the ball would be held in place by them as the robot rotated but it quickly became clear that I would need something a bit more sophisticated. When the robot rotated, the arms would knock the ball off at a tangent to the circular motion. Even when I had built the arms in a way that would better encircle the ball it was still a problem. Worse still was the issue of colliding with the ball, as soon as the robot made contact with the ball, it would be knocked. A solution was devised fairly quickly. Motorised arms would be used to replace the ineffective fixed arms. A motor was attached to a gearing system that allowed the arms to close around the ball holding it in place while the robot rotated and moved around. A touch sensor was placed on the front of the robot, positioned so that when the robot collides with the ball the motor engages trapping the ball in position. Using this method rather than using the vision 12
18 system, allowed the robot to react faster to the sensor input. This meant that the robot didn t rely on the vision system realising the ball was close enough and then waiting for the instructions to be broadcast over the IR link, which take significantly longer. This is comparable to the human central nervous system that is able to react faster to certain stimuli by bypassing the brain for certain uncontrolled reactions, usually as a reaction to danger or pain. 2.4 Software Thanks to the Lego corporations support for education the software of on the RCX is open source and can be replaced by third party firmware allowing people to develop other platforms to control Mindstorms robots. The default software that comes with the mindstorms kits is called ROBOLAB, it is based on a drag and drop system targeted to school aged children and it is capable of quickly producing simple functions. While this can be used to do a lot with the Mindstorms kits it does not contain all the functionality that I would require. There are four other languages that are appropriate for this project which I will discuss below. [17] LeJOS LeJOS is an implementation using Java. There are many libraries available for LeJOS including a very useful library called josx.vision that is now even supplied with the LeJOS source code and examples. This library contains useful functions that make remote control and vision processing possible. [15] LeJOS and most of the languages available for the RCX brick come with their own firmware that is a replacement for the standard Lego firmware. The new firmware that comes with LeJOS increases the functionality of the RCX brick, making it possible to use floating point numbers and arrays. It was this extended functionality that enticed me to use LeJOS when looking at available languages. My prior experience in the Java programming language was also a factor in choosing this over other options such as NQC. 13
19 Later in the project I also found a LeJOS plugin for the eclipse development tool, this was found at Eclipse is a very powerful application that aims to increase programming productivity, the location of this tool made a great difference when compiling and running code during the development BrickOS BrickOS was formally LegOS this is a C/C++ system using the gcc and g++ compilers. This however is not as complete as LeJOS it lacks as much support for video feeds and remote control. This would not be my ideal choice of development environment since my knowledge of C is not as good as that of Java. [2] NQC NQC is a C based language that has been developed for the Mindstorms system. This might have been an option but after some investigation appears to be a little too simplistic, as its inability to deal with floating point numbers arrays and a limit of 32 variables in a program. This is because it uses the built in firmware of the RCX brick, however it would make it possible to use vision command, the Lego webcam software and remote control software that is available [18] LegoLog Legolog is a Prolog based system which is a high level programming language that was designed for cognitive systems. I am wary of using this system due to the lack of support, both online and within the department so further investigation seemed inappropriate. [14] 14
20 2.5 Navigation There is area that is important in all robotics projects and that is the issue of navigation. There are several different methods that can be considered when starting any project, these are categorised as dead reckoning, which is useful in a deterministic and discreet world. An appropriate method in these circumstances would be to subdivide the playing area into a virtual grid, assigning each grid reference a property e.g. ball, player, goal. To navigate in this world you would need to use trigonometry, the power output and the running time of each engine in order to determine which section of the pitch the robot is actually in. This method is unsuitable since the world is actually stochastic and continuous, just because the robot has made contact with the ball it does not follow that the robot has possession with 100% certainty. There is instead the chance that the ball bounced off one of the arms, or simply rolled away. I took an almost opposite approach. By constantly reacting to its surroundings and never relying on a remembered image of the world the robot is able to adapt to changes in the environment almost instantly. Since the robot has only two major goals; to find the ball and to take or propel the ball into the goal, the need for navigation around the becomes minimal. The robot only has to find one static reference within the world and that is the goal. I had thought about two ways of fulfilling this task; the use of the grey scale mat and the vision system. The gradient of the mat can be used to determine the direction of the goal. By using one of the light sensors pointed at the floor, the robot, having acquired the ball should move in a direction turning until a constant value is returned. At this point the robot would be travelling parallel to the goal. The robot could then determine the direction to the goal by turning 90 degrees and moving forward to monitor the change in value then propel the ball forward. This however is not perfect, resulting in a lot of unnecessary motion and wasted time. Wouldn t it be better if the robot just turned on the spot to face the gold and started towards it? To this end I decided to use a colour marker as the robots reference point, this proved to have a few benefits. Firstly, I did not have to worry about having the vinyl mat at my testing locations and secondly the robot became more robust, being able to operate in new environments without significant downtime. 15
21 2.6 Final Solution The image analysis is mostly taken care of by the josx.vision package. This is made available in the LeJOS package from the website and covered all the things that I needed it to do. The way I used the vision system was to split the screen into three vertical sections. If the ball was to be detected on the right hand side of the screen then a command to turn right was issued to the robot. In the same way; if the ball was found in the left hand side of the screen then the robot was ordered to turn left. Had the robot not received any of these commands then it would continue to rotate on the spot until the vision system provided other instructions. In actuality the screen is split into 16 sections in a grid with average RGB values calculated for each of them. There was an upper limit to the number of sections it could be split into due to the processing requirements, any more than the 16 would result in there being a noticeable lag in the system, coupled with the lag of the IR communication this was unacceptable. The large sections that were generated by this meant that the lights from the ball were lost - the ball appeared black lowering the average brightness of the region, counteracting the small contribution provided by a bright light over a small number of pixels. To counteract this effect, the portion of the image that was analysed was reduced to the bottom half since that was where the ball always appeared due to the positioning of the camera. This allowed the light to take up a higher proportion of the pixels in a given area, which proved effective in increasing the accuracy. While this is going on the vision system is also looking for the goal. The way the system works is this; if the goal is detected then the system will pass a command to the robot, however the robot will only obey this command if the ball is in its possession. The robot uses the input from the touch sensor to decide if it has the ball or not. 16
22 Figure 2.2: The grid overlay on the vision system The final robot (See fig 5.4) consisted of a direct drive system with one motor per wheel, this provided the extra power to move the heavy robot. The RCX brick was attached to the frame of the robot with the IR reciever pointed straight up, allowing the laptop to stay in constant contact by mounting the USB tower near the cealing. A third motor was attached to the gearing system that allowed the robots arms to move to close on the ball. (See fig 5.1) Difficulties associated with mounting the gear set vertically meant that there was a discrepency in the gearing ratios of the two arms though this did not effect the arms ability in any noticable way. The camera was held in place on top of the robot with some creativly placed Legobricks. There was also a mounting station build for the IR tower as holding it in place soon became tiring.(see fig 5.3) 17
23 Chapter 3 System Evaluation 3.1 Testing Initial testing was performed as development continued. I was using a variation of the Dynamic Systems Development Model (DSDM) which is a form of rapid actions development process, it is a cyclic methodology that employs prototyping and periodic development cycles going through the stages of development, evaluation and improvement Test Methods The first stages of the testing came after the initial build - could the robot move. This was tested on the two different drive chains I had used. This was a simple pass fail kind of test, either it moved properly or it didn t. The test of the initial arms are not really documented. The actual test carried out was a simple one, the ball was placed in proximity to the robot, within the two arms and then the robot was rotated on the spot to see if the ball would stay near the robot. It didn t. 18
24 The new arms could be properly tested. Firstly the ball was placed directly in front of the robot which was told to move forward. A direct test of the touch sensor if was completed. If the positions of the arms and the touch sensor are correct then the arms should fire every time, holding the ball in place. The next test was a test of the vision system and of tracking the ball. In this test the robot had been programmed not to move to the ball, this meant that if the robot was to behave correctly then it would rotate until it spotted the ball, and from then on (provided the ball didn t move too quickly) it should pan to always face the ball. For this test the lighting levels were varied. They were all carried out at the same time in the interest of consistency. The light levels were denoted by having; the light on and the blinds open, the blinds closed with the lights on and then with both the lights out and the blinds shut. For the robot to pass it must track the ball for 360 degrees at a distance of 50cm from the ball. The final test was the whole system working together. Again this was carried out in three levels of brightness. The results of this and the other tests follow Test Results Drive Chain: Drive Chain Dual Differential Direct Drive Did it work? No yes Summary and observations: The Dual Differential system was unable to put forth enough power using the one motor to move the robot forward this is probably due to the weight of the RCX, the 6 batteries, the webcam and the gearing mechanism for the arms. Capturing the ball: 19
25 Run Was the ball captured? 1 Yes 2 Yes 3 Yes 4 No 5 Yes 6 Yes Summary and observations: 5 out of the 6 attempts were successful. The time that the arms did not close about the ball the ball had hit the side of the arms and had bounced away. This displays an 80% success rate. Even with such a small test set I believed it to be sufficient to be considered complete. Tracking the Ball: Lighting Bright Half Light Dark Pass or Fail? Fail Fail Pass Summary and observations: When testing in the full sunlight the surrounding surface and objects would drown out the ball due to the effects described in chapter 2.6. The robot would only track the ball successfully in the dark where the lights were distinct enough to be seen. Tests in a game situation: Lighting Run 1 Run 2 Run 3 Bright Fail Fail Fail Half Light Fail Fail Fail Dark Pass Pass Pass Summary and observations: When preforming the final test the robot was able to complete the task successfully. The system was able to complete all the tasks under optimum conditions. Though, again in brighter conditions the robot 20
26 was unable to distinguish the ball from the background. 3.2 Evaluation Comparing system to initial objectives It is clear to see from the results that the system is capable of fulfilling the minimum requirements set out at the beginning of the report. However the system does more this. Instead of using the default sensors to locate the ball, a computer vision solution was developed that provided more functionality and even opened the door to further uses of both the software system and the robot itself. It is also obviously clear that light effects the system drastically, I suspect that the ball used is actually much less vivid than intended, either that or the camera is unable to pick out the IR light as well as others. The system could be altered very simply in order to react instead to a coloured ball which would effectively invert the effects of lighting to the system. The effectiveness of this would be maximised by using contrasting colours for the border of the pitch and the ball Problems faced along the way It was clear from very early on in the development cycle that some of the conceptual ideas for the system were not going to work. These included the idea of using the birds eye view for the camera and having the fixed arms to control the ball. The biggest problem to arise was an administrative problem mid way through the second semester as the work was really getting going on the software it became apparent that the laptop used for the development was not in the best condition. It was then that a room with a computer was requested to continue the development. However, due to problems with the support staff system, none of their s were getting through and a small issue halted development. This resulted in the truncation of the allotted development time. 21
27 3.2.3 Overall The Schedule devised at the start of the project was heavily weighted towards the second semester (as documented in the mid project report) this schedule, though necessary due to the distribution of credits, meant that any problems that arose would have less time to be solved. The problems were overcome and the both the minimum requirments and my personal goals were achieved and so the results of the project in its entirety have been very pleasing. 22
28 Chapter 4 Possible Extenstions 4.1 Full Wireless Functionality The addition of a wireless camera would have given the robot more freedom, however, this equipment was not available. For the total removal of the laptop as an external processor, some technical limitations would need to be addressed; there would have to be a new communication port available on the RCX since the brick connections would probably be inappropriate, there would probably have to be an improvement to the overall processing and memory capacity available in order to carry out even the most basic of image processing tasks at the rate that would be necessary. 4.2 Self Localisation Adding a method of self localisation would allow the robot to perform more complex navigation within the environment this would most likely come about by using some visual queues on the actual playing field. There is the traditional RoboCup method of using the brightness of the mat as the reference. There is another way though, using an edge detection algorithm that looks for changes in the image as the marker of an edge could in theory be limited to looking for only a very slow change over the whole 23
29 image. This could be used along with converting the 2D points on the image to 3D points in the world to find the relative angle of the gradient to the point of view. This system would require significant development time. 4.3 Adding more Players This extensions would require more than just the construction of more robots. Extra functionality would need to be added to abilities to locate all the other players navigate around each other. This would call for the addition of extra collision detectors to warn of player/player collisions. Extra routines would be necessary to try and go around players, this could be achieved by using the vision system to judge whether the opposing player was between it and the goal/ball and then taking appropriate steps to fix it. The amount the opposition overlapped the goal could be used as a indication of how far the player would have to move in order to circumnavigate them. 4.4 Other Uses The produced software and robot provide a basis for solutions to other more significant problems and could be adapted in a number of ways. For example, the robot could have its arms replaced with whiskers that use the touch sensors to navigate through corridor type environments and could be be used in a RoboCup rescue competition. The vision system could be adapted to be used in more advanced robotic systems, that would allow the image processing to be integrated with the robot, moving away from the Mindstorms platform. 24
30 Chapter 5 Conclusion The aim of the project was to produce a Lego Mindstorms robot that could play a simplified version of the RoboCup soccer game. In order to carry this out the problem was divided into several sub-problems: make the robot move locate the ball on the field move to the ball hold the ball turn with the ball move to the goal with the ball direct the ball into the goal The minimum requirements of the problem encompassed the key areas of this; being able to move to the ball implies being able to move. I believe that the project has been a success, problems that occurred due to hardware issues with my laptop and the communication software with the support staff were 25
31 eventually overcome and the software was developed. Though the robot was designed with the RoboCup soccer in mind I actually think, with some small modifications, it could be used for a wide range of tasks. If you were to switch the arms for collision detectors it could quite easily be a RoboCup Rescue bot. The changes to the software would be minimal, with the addition of a right hand wall following function running instead of the default ball search. Most of the previous projects in this area seem to have limited themselves to the Mindstorms Kit, last year was an exception however. There were two projects of interest Mark Jagan [11] and David Ashmore [1]. Jagen s system was fairly simple using motion detection while not really identifying the object. Having looked back over Ashmore s work, it seems that we had both followed similar paths when considering the options available. After taking a look at the inner workings of the solution he had produced, there are a few areas that were improved upon, such as the way the image was analysed. In the project after observing the position of the camera it was apparent that the top half of the image wasn t used and so I stopped analysing it, reducing the system load. Using the RoboCup ball clear lighting level limitations must be set on the system. The use of the IR emitting ball is clearly aimed at the light sensors provided by the Mindstorms kit. For a system that is based on image analysis an emitter in the visible light spectrum would have been more appropriate, or just a coloured ball. The function used could easily be adapted by changing which values are measured. Doing this would vastly improve the performance of the robot in almost all lighting conditions. Overall I believe the project to have been success. The Lego Mindstorms kit is a an excellent introduction into the world of both robotics as well as key AI concepts and ideas. 26
32 Bibliography [1] David Ashmore. Creating A Robotic Footballer. University of Leeds, [2] BrickOS. Brickos homepage. April [3] The RoboCup Federation. Official robocup site. April [4] Giulio Ferrari, Andy Gombos, Soren Hilmer, Jurgen Stuber, Mick Porter, Jamie Waldinger, and Dario Laverde. Programming Lego Mindstorms with Java. Syngress, [5] Mario Ferrari, Giulio Ferrari, and Raplh Hempel. Building Robots With Lego Mindstorms: The Ultimate Tool for Mindstorms Mainiacs. Syngress, Chapter 2: Playing with Gears. [6] David A. Forsyth and Jean Ponce. Computer Vision: A Modern Approach. Prentice Hall, [7] M Gasperi. Michael gasperi s lego mindstorms nxt/rcx sensor input page. April [8] The Lego Group. Lego.com lego mindstorms. April [9] The Lego Group. Lego.com mindstorms overview. April [10] Hobbytron.com. Lego mindstorms robotic invention system April [11] Mark Jagen. Motion Sensitive Security Camera Robot. University of Leeds, [12] Johannes Klotz, Brian Thomas, Leonard Vong, and Eduardo Pinto. Robocup soccer rules. April
33 [13] J. Knudsen. The Unofficial Guide to LEGO MINDSTORMS Robots. O Reilly, Chapter 11: Make Your Own Sensors. [14] Legolog. Legolog homepage. April [15] LeJOS. Lejos homepage. April [16] Derek Magee. Ai31: Computer vision. March [17] Martha. N. ROBOLAB - Getting Started, Teachers Guide for ROBOLAB software. LEGO DACTA, [18] NQC. not quite c homepage. April [19] Hacienda Robotics Program. Compact dual differential. April [20] John Stell. Ai21: Speech, audio and image processing. March [21] Wikimedia. Main page - wikipedia, the free encyclopedia. April
34 Appendix A I found this project to be extremely enjoyable, taking two things that I enjoy - building things and computing - and combining them with robotics, a field that has always interested me. During this year I have learnt much about the processes involved in undertaking a project such as this, such as the developmental issues and the administrative complications that can come about when working on a full project. There are also the rewards associated with building something that interests other people, and the continual development of ideas into something deeper and more complex. I also feel that I have learnt a lot about computing and AI in general. Much of this came from reading books such as the Mindstorms programming with Java book [4] and wikipedia [21] which has become an incredible place to find appropriate books and sources of information. If I could have changed anything about the way this project had gone, I would have ensured a stable system to work on earlier. Due to communication issues and the software used by the local support team there were some problems; these pushed the software development back and it has impacted the time available for completing the project as a whole. One of the first things you should do is make sure that everything is ready to work on, even if you do not plan on attempting the practical side for weeks. Overall though I have to say that I am generally pleased with how it all went. 29
35 Appendix B Figure 5.1: The gearing system for the arms Figure 5.2: The drive system used 30
36 Figure 5.3: The Docked USB tower Figure 5.4: The final incarnation of the robot 31
A Lego-Based Soccer-Playing Robot Competition For Teaching Design
Session 2620 A Lego-Based Soccer-Playing Robot Competition For Teaching Design Ronald A. Lessard Norwich University Abstract Course Objectives in the ME382 Instrumentation Laboratory at Norwich University
More informationChapter 1. Robots and Programs
Chapter 1 Robots and Programs 1 2 Chapter 1 Robots and Programs Introduction Without a program, a robot is just an assembly of electronic and mechanical components. This book shows you how to give it a
More informationMindstorms NXT. mindstorms.lego.com
Mindstorms NXT mindstorms.lego.com A3B99RO Robots: course organization At the beginning of the semester the students are divided into small teams (2 to 3 students). Each team uses the basic set of the
More informationLearning serious knowledge while "playing"with robots
6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Learning serious knowledge while "playing"with robots Zoltán Istenes Department of Software Technology and Methodology,
More informationYour EdVenture into Robotics 10 Lesson plans
Your EdVenture into Robotics 10 Lesson plans Activity sheets and Worksheets Find Edison Robot @ Search: Edison Robot Call 800.962.4463 or email custserv@ Lesson 1 Worksheet 1.1 Meet Edison Edison is a
More informationLego Mindstorms Robotic Football John Russell Dowson Computer Science 2002/2003
Lego Mindstorms Robotic Football John Russell Dowson Computer Science 2002/2003 The candidate confirms that the work submitted is their own and the appropriate credit has been given where reference has
More informationClosed-Loop Transportation Simulation. Outlines
Closed-Loop Transportation Simulation Deyang Zhao Mentor: Unnati Ojha PI: Dr. Mo-Yuen Chow Aug. 4, 2010 Outlines 1 Project Backgrounds 2 Objectives 3 Hardware & Software 4 5 Conclusions 1 Project Background
More informationThe Robot Olympics: A competition for Tribot s and their humans
The Robot Olympics: A Competition for Tribot s and their humans 1 The Robot Olympics: A competition for Tribot s and their humans Xinjian Mo Faculty of Computer Science Dalhousie University, Canada xmo@cs.dal.ca
More informationLab book. Exploring Robotics (CORC3303)
Lab book Exploring Robotics (CORC3303) Dept of Computer and Information Science Brooklyn College of the City University of New York updated: Fall 2011 / Professor Elizabeth Sklar UNIT A Lab, part 1 : Robot
More informationToeing the Line Experiments with Line-following Algorithms
Toeing the Line Experiments with Line-following Algorithms Grade 9 Contents Abstract... 2 Introduction... 2 Purpose... 2 Hypothesis... 3 Materials... 3 Setup... 4 Programming the robot:...4 Building the
More informationDeep Green. System for real-time tracking and playing the board game Reversi. Final Project Submitted by: Nadav Erell
Deep Green System for real-time tracking and playing the board game Reversi Final Project Submitted by: Nadav Erell Introduction to Computational and Biological Vision Department of Computer Science, Ben-Gurion
More informationIntroduction.
Teaching Deliberative Navigation Using the LEGO RCX and Standard LEGO Components Gary R. Mayer *, Jerry B. Weinberg, Xudong Yu Department of Computer Science, School of Engineering Southern Illinois University
More informationProperties of two light sensors
Properties of two light sensors Timo Paukku Dinnesen (timo@daimi.au.dk) University of Aarhus Aabogade 34 8200 Aarhus N, Denmark January 10, 2006 1 Introduction Many projects using the LEGO Mindstorms RCX
More informationParts of a Lego RCX Robot
Parts of a Lego RCX Robot RCX / Brain A B C The red button turns the RCX on and off. The green button starts and stops programs. The grey button switches between 5 programs, indicated as 1-5 on right side
More informationFU-Fighters. The Soccer Robots of Freie Universität Berlin. Why RoboCup? What is RoboCup?
The Soccer Robots of Freie Universität Berlin We have been building autonomous mobile robots since 1998. Our team, composed of students and researchers from the Mathematics and Computer Science Department,
More informationGenetic Robots Play Football. William Jeggo BSc Computing
Genetic Robots Play Football William Jeggo BSc Computing 2003-2004 The candidate confirms that the work submitted is their own and the appropriate credit has been given where reference has been made to
More informationSummary. Lego Mindstorms Robotic Football
Summary This report aims to document the design, creation and testing of a motorised intelligent football player. The idea was inspired not only by the RoboCup tournament, but also previous projects which
More informationAgent-based/Robotics Programming Lab II
cis3.5, spring 2009, lab IV.3 / prof sklar. Agent-based/Robotics Programming Lab II For this lab, you will need a LEGO robot kit, a USB communications tower and a LEGO light sensor. 1 start up RoboLab
More informationDeriving Consistency from LEGOs
Deriving Consistency from LEGOs What we have learned in 6 years of FLL and 7 years of Lego Robotics by Austin and Travis Schuh 1 2006 Austin and Travis Schuh, all rights reserved Objectives Basic Building
More informationThe use of programmable robots in the education of programming
Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 29 36. The use of programmable robots in the education of programming Zoltán Istenes
More informationWhere C= circumference, π = 3.14, and D = diameter EV3 Distance. Developed by Joanna M. Skluzacek Wisconsin 4-H 2016 Page 1
Instructor Guide Title: Distance the robot will travel based on wheel size Introduction Calculating the distance the robot will travel for each of the duration variables (rotations, degrees, seconds) can
More informationRobot Olympics: Programming Robots to Perform Tasks in the Real World
Robot Olympics: Programming Robots to Perform Tasks in the Real World Coranne Lipford Faculty of Computer Science Dalhousie University, Canada lipford@cs.dal.ca Raymond Walsh Faculty of Computer Science
More informationThe light sensor, rotation sensor, and motors may all be monitored using the view function on the RCX.
Review the following material on sensors. Discuss how you might use each of these sensors. When you have completed reading through this material, build a robot of your choosing that has 2 motors (connected
More informationThe project. General challenges and problems. Our subjects. The attachment and locomotion system
The project The Ceilbot project is a study and research project organized at the Helsinki University of Technology. The aim of the project is to design and prototype a multifunctional robot which takes
More informationHierarchical Controller for Robotic Soccer
Hierarchical Controller for Robotic Soccer Byron Knoll Cognitive Systems 402 April 13, 2008 ABSTRACT RoboCup is an initiative aimed at advancing Artificial Intelligence (AI) and robotics research. This
More informationAN HYBRID LOCOMOTION SERVICE ROBOT FOR INDOOR SCENARIOS 1
AN HYBRID LOCOMOTION SERVICE ROBOT FOR INDOOR SCENARIOS 1 Jorge Paiva Luís Tavares João Silva Sequeira Institute for Systems and Robotics Institute for Systems and Robotics Instituto Superior Técnico,
More informationHere Comes the Sun. The Challenge
Here Comes the Sun This activity requires ROBOLAB 2.0 or higher, the Infrared Transmitter and cable #9713, RCX #9709, elab sets #9680 and #9681. The Challenge Invent a car that finds the optimal light
More information2015 Maryland State 4-H LEGO Robotic Challenge
Trash Talk Utilizing Trash to Power the World 2015 Maryland State 4-H LEGO Robotic Challenge Through Trash Talk, 4-H members involved in robotics will create LEGO robots that complete tasks related to
More informationTeam KMUTT: Team Description Paper
Team KMUTT: Team Description Paper Thavida Maneewarn, Xye, Pasan Kulvanit, Sathit Wanitchaikit, Panuvat Sinsaranon, Kawroong Saktaweekulkit, Nattapong Kaewlek Djitt Laowattana King Mongkut s University
More informationRobocup Electrical Team 2006 Description Paper
Robocup Electrical Team 2006 Description Paper Name: Strive2006 (Shanghai University, P.R.China) Address: Box.3#,No.149,Yanchang load,shanghai, 200072 Email: wanmic@163.com Homepage: robot.ccshu.org Abstract:
More informationChapter 14. using data wires
Chapter 14. using data wires In this fifth part of the book, you ll learn how to use data wires (this chapter), Data Operations blocks (Chapter 15), and variables (Chapter 16) to create more advanced programs
More informationStudent Guide Speed challenge and robotics challenge mat
Student Guide Speed challenge and robotics challenge mat Speed Challenge It s The Speed Challenge! We are really excited about this! It is all about speed. Get your LEGO MINDSTORMS Education EV3 moving
More informationE90 Project Proposal. 6 December 2006 Paul Azunre Thomas Murray David Wright
E90 Project Proposal 6 December 2006 Paul Azunre Thomas Murray David Wright Table of Contents Abstract 3 Introduction..4 Technical Discussion...4 Tracking Input..4 Haptic Feedack.6 Project Implementation....7
More informationRoborodentia Robot: Tektronix. Sean Yap Advisor: John Seng California Polytechnic State University, San Luis Obispo June 8th, 2016
Roborodentia Robot: Tektronix Sean Yap Advisor: John Seng California Polytechnic State University, San Luis Obispo June 8th, 2016 Table of Contents Introduction... 2 Problem Statement... 2 Software...
More informationLEGO Mindstorms Class: Lesson 1
LEGO Mindstorms Class: Lesson 1 Some Important LEGO Mindstorm Parts Brick Ultrasonic Sensor Light Sensor Touch Sensor Color Sensor Motor Gears Axle Straight Beam Angled Beam Cable 1 The NXT-G Programming
More informationDesign. BE 1200 Winter 2012 Quiz 6/7 Line Following Program Garan Marlatt
Design My initial concept was to start with the Linebot configuration but with two light sensors positioned in front, on either side of the line, monitoring reflected light levels. A third light sensor,
More informationDesign & Development of a Robotic System Using LEGO Mindstorm
Design & Development of a Robotic System Using LEGO Mindstorm Nurulfajar bin Abd Manap 1, Sani Irwan Md Salim 1 Nor Zaidi bin Haron 1 Faculty of Electronic and Computer Engineering (KUTKM) ABSTRACT This
More informationProf. Emil M. Petriu 17 January 2005 CEG 4392 Computer Systems Design Project (Winter 2005)
Project title: Optical Path Tracking Mobile Robot with Object Picking Project number: 1 A mobile robot controlled by the Altera UP -2 board and/or the HC12 microprocessor will have to pick up and drop
More informationunderstanding sensors
The LEGO MINDSTORMS EV3 set includes three types of sensors: Touch, Color, and Infrared. You can use these sensors to make your robot respond to its environment. For example, you can program your robot
More informationRobotics 2a. What Have We Got to Work With?
Robotics 2a Introduction to the Lego Mindstorm EV3 What we re going to do in the session. Introduce you to the Lego Mindstorm Kits The Design Process Design Our Robot s Chassis What Have We Got to Work
More informationSummer on Campus - Learning Robotics with fun
Summer on Campus - Learning Robotics with fun A. Fernando Ribeiro & Gil Lopes Univ. of Minho, Dep. Industrial Electronics, Campus de Azurém, 4800-058 Guimarães, Portugal fernando@dei.uminho.pt & gil@dei.uminho.pt
More informationKMUTT Kickers: Team Description Paper
KMUTT Kickers: Team Description Paper Thavida Maneewarn, Xye, Korawit Kawinkhrue, Amnart Butsongka, Nattapong Kaewlek King Mongkut s University of Technology Thonburi, Institute of Field Robotics (FIBO)
More informationLEGO MINDSTORMS CHEERLEADING ROBOTS
LEGO MINDSTORMS CHEERLEADING ROBOTS Naohiro Matsunami\ Kumiko Tanaka-Ishii 2, Ian Frank 3, and Hitoshi Matsubara3 1 Chiba University, Japan 2 Tokyo University, Japan 3 Future University-Hakodate, Japan
More informationACTIVE LEARNING USING MECHATRONICS IN A FRESHMAN INFORMATION TECHNOLOGY COURSE
ACTIVE LEARNING USING MECHATRONICS IN A FRESHMAN INFORMATION TECHNOLOGY COURSE Doug Wolfe 1, Karl Gossett 2, Peter D. Hanlon 3, and Curtis A. Carver Jr. 4 Session S1D Abstract This paper details efforts
More informationVisual Perception Based Behaviors for a Small Autonomous Mobile Robot
Visual Perception Based Behaviors for a Small Autonomous Mobile Robot Scott Jantz and Keith L Doty Machine Intelligence Laboratory Mekatronix, Inc. Department of Electrical and Computer Engineering Gainesville,
More informationApplying Automated Optical Inspection Ben Dawson, DALSA Coreco Inc., ipd Group (987)
Applying Automated Optical Inspection Ben Dawson, DALSA Coreco Inc., ipd Group bdawson@goipd.com (987) 670-2050 Introduction Automated Optical Inspection (AOI) uses lighting, cameras, and vision computers
More informationCOLLECT AND SORT FRUIT
World Robot Olympiad 2018 WeDo Regular Category (Age up to 10 years) Game Description, Rules and Scoring FOOD MATTERS COLLECT AND SORT FRUIT Version: January 15 th Table of Contents 1. Game Description...
More informationBalancing Bi-pod Robot
Balancing Bi-pod Robot Dritan Zhuja Computer Science Department Graceland University Lamoni, Iowa 50140 zhuja@graceland.edu Abstract This paper is the reflection on two years of research and development
More informationCOSC343: Artificial Intelligence
COSC343: Artificial Intelligence Lecture 2: Starting from scratch: robotics and embodied AI Alistair Knott Dept. of Computer Science, University of Otago Alistair Knott (Otago) COSC343 Lecture 2 1 / 29
More informationChapter 9: Experiments in a Physical Environment
Chapter 9: Experiments in a Physical Environment The new agent architecture, INDABA, was proposed in chapter 5. INDABA was partially implemented for the purpose of the simulations and experiments described
More informationAn Introduction to Programming using the NXT Robot:
An Introduction to Programming using the NXT Robot: exploring the LEGO MINDSTORMS Common palette. Student Workbook for independent learners and small groups The following tasks have been completed by:
More informationTeam Project: A Surveillant Robot System
Team Project: A Surveillant Robot System SW & HW Test Plan Little Red Team Chankyu Park (Michel) Seonah Lee (Sarah) Qingyuan Shi (Lisa) Chengzhou Li JunMei Li Kai Lin Software Lists SW Lists for Surveillant
More informationNebraska 4-H Robotics and GPS/GIS and SPIRIT Robotics Projects
Name: Club or School: Robots Knowledge Survey (Pre) Multiple Choice: For each of the following questions, circle the letter of the answer that best answers the question. 1. A robot must be in order to
More informationContent. 3 Preface 4 Who We Are 6 The RoboCup Initiative 7 Our Robots 8 Hardware 10 Software 12 Public Appearances 14 Achievements 15 Interested?
Content 3 Preface 4 Who We Are 6 The RoboCup Initiative 7 Our Robots 8 Hardware 10 Software 12 Public Appearances 14 Achievements 15 Interested? 2 Preface Dear reader, Robots are in everyone's minds nowadays.
More informationSumo-bot Competition Rules
Sumo-bot Competition Rules Location: Guadalupe County Agricultural Extension Office, 210 Live Oak, Seguin, TX 78155 Date and Time: December 2, 2017 from 9-2 PM doors open at 9AM Check in and Inspections:
More informationInspiring Creative Fun Ysbrydoledig Creadigol Hwyl. LEGO Bowling Workbook
Inspiring Creative Fun Ysbrydoledig Creadigol Hwyl LEGO Bowling Workbook Robots are devices, sometimes they run basic instructions via electric circuitry or on most occasions they can be programmable.
More informationRudimentary Swarm Robotics
Rudimentary Swarm Robotics Josiah Hamid Khani, Thomas Keller, Matthew Sims, & Isaac Swift Episcopal School of Dallas, josiahhk@gmail Project Description Rudimentary Swarm Robotics The concept of swarm
More informationChassis & Attachments 101. Part 1: Chassis Overview
Chassis & Attachments 101 Part 1: Chassis Overview 2017 1 Introductions Rest rooms location. Food and Drink. Cell phones. Today presentation available at: http://www.roboplex.org/fll 2 What can be used
More informationInteractive 1 Player Checkers. Harrison Okun December 9, 2015
Interactive 1 Player Checkers Harrison Okun December 9, 2015 1 Introduction The goal of our project was to allow a human player to move physical checkers pieces on a board, and play against a computer's
More informationFLL Coaches Clinic Chassis and Attachments. Patrick R. Michaud
FLL Coaches Clinic Chassis and Attachments Patrick R. Michaud pmichaud@pobox.com Erik Jonsson School of Engineering and Computer Science University of Texas at Dallas September 23, 2017 Presentation Outline
More informationOverview. The Game Idea
Page 1 of 19 Overview Even though GameMaker:Studio is easy to use, getting the hang of it can be a bit difficult at first, especially if you have had no prior experience of programming. This tutorial is
More informationEv3 Robotics Programming 101
Ev3 Robotics Programming 101 1. EV3 main components and use 2. Programming environment overview 3. Connecting your Robot wirelessly via bluetooth 4. Starting and understanding the EV3 programming environment
More informationROBOTICS ENG YOUSEF A. SHATNAWI INTRODUCTION
ROBOTICS INTRODUCTION THIS COURSE IS TWO PARTS Mobile Robotics. Locomotion (analogous to manipulation) (Legged and wheeled robots). Navigation and obstacle avoidance algorithms. Robot Vision Sensors and
More informationUNIT1. Keywords page 13-14
UNIT1 Keywords page 13-14 What is a Robot? A robot is a machine that can do the work of a human. Robots can be automatic, or they can be computer-controlled. Robots are a part of everyday life. Most robots
More informationMULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT
MULTI-LAYERED HYBRID ARCHITECTURE TO SOLVE COMPLEX TASKS OF AN AUTONOMOUS MOBILE ROBOT F. TIECHE, C. FACCHINETTI and H. HUGLI Institute of Microtechnology, University of Neuchâtel, Rue de Tivoli 28, CH-2003
More informationFormation and Cooperation for SWARMed Intelligent Robots
Formation and Cooperation for SWARMed Intelligent Robots Wei Cao 1 Yanqing Gao 2 Jason Robert Mace 3 (West Virginia University 1 University of Arizona 2 Energy Corp. of America 3 ) Abstract This article
More informationLearning and Using Models of Kicking Motions for Legged Robots
Learning and Using Models of Kicking Motions for Legged Robots Sonia Chernova and Manuela Veloso Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213 {soniac, mmv}@cs.cmu.edu Abstract
More informationHow Representation of Game Information Affects Player Performance
How Representation of Game Information Affects Player Performance Matthew Paul Bryan June 2018 Senior Project Computer Science Department California Polytechnic State University Table of Contents Abstract
More information* Intelli Robotic Wheel Chair for Specialty Operations & Physically Challenged
ADVANCED ROBOTICS SOLUTIONS * Intelli Mobile Robot for Multi Specialty Operations * Advanced Robotic Pick and Place Arm and Hand System * Automatic Color Sensing Robot using PC * AI Based Image Capturing
More informationSpring 2005 Group 6 Final Report EZ Park
18-551 Spring 2005 Group 6 Final Report EZ Park Paul Li cpli@andrew.cmu.edu Ivan Ng civan@andrew.cmu.edu Victoria Chen vchen@andrew.cmu.edu -1- Table of Content INTRODUCTION... 3 PROBLEM... 3 SOLUTION...
More informationNCCT IEEE PROJECTS ADVANCED ROBOTICS SOLUTIONS. Latest Projects, in various Domains. Promise for the Best Projects
NCCT Promise for the Best Projects IEEE PROJECTS in various Domains Latest Projects, 2009-2010 ADVANCED ROBOTICS SOLUTIONS EMBEDDED SYSTEM PROJECTS Microcontrollers VLSI DSP Matlab Robotics ADVANCED ROBOTICS
More informationVishnu Nath. Usage of computer vision and humanoid robotics to create autonomous robots. (Ximea Currera RL04C Camera Kit)
Vishnu Nath Usage of computer vision and humanoid robotics to create autonomous robots (Ximea Currera RL04C Camera Kit) Acknowledgements Firstly, I would like to thank Ivan Klimkovic of Ximea Corporation,
More informationIntelligent Tactical Robotics
Intelligent Tactical Robotics Samana Jafri 1,Abbas Zair Naqvi 2, Manish Singh 3, Akhilesh Thorat 4 1 Dept. Of Electronics and telecommunication, M.H. Saboo Siddik College Of Engineering, Mumbai University
More informationUNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR
UNIVERSIDAD CARLOS III DE MADRID ESCUELA POLITÉCNICA SUPERIOR TRABAJO DE FIN DE GRADO GRADO EN INGENIERÍA DE SISTEMAS DE COMUNICACIONES CONTROL CENTRALIZADO DE FLOTAS DE ROBOTS CENTRALIZED CONTROL FOR
More informationCSC C85 Embedded Systems Project # 1 Robot Localization
1 The goal of this project is to apply the ideas we have discussed in lecture to a real-world robot localization task. You will be working with Lego NXT robots, and you will have to find ways to work around
More information2.4 Sensorized robots
66 Chap. 2 Robotics as learning object 2.4 Sensorized robots 2.4.1 Introduction The main objectives (competences or skills to be acquired) behind the problems presented in this section are: - The students
More informationLevels of Description: A Role for Robots in Cognitive Science Education
Levels of Description: A Role for Robots in Cognitive Science Education Terry Stewart 1 and Robert West 2 1 Department of Cognitive Science 2 Department of Psychology Carleton University In this paper,
More informationChassis & Attachments 101. Chassis Overview
Chassis & Attachments 101 Chassis Overview 2016 1 Introductions Rest rooms location. Food and Drink: Complementary bottled water. Snacks available for purchase from UME FTC teams. Cell phones. Today presentation
More informationCOMP219: Artificial Intelligence. Lecture 2: AI Problems and Applications
COMP219: Artificial Intelligence Lecture 2: AI Problems and Applications 1 Introduction Last time General module information Characterisation of AI and what it is about Today Overview of some common AI
More informationImplement a Robot for the Trinity College Fire Fighting Robot Competition.
Alan Kilian Fall 2011 Implement a Robot for the Trinity College Fire Fighting Robot Competition. Page 1 Introduction: The successful completion of an individualized degree in Mechatronics requires an understanding
More informationRobotic Systems Challenge 2013
Robotic Systems Challenge 2013 An engineering challenge for students in grades 6 12 April 27, 2013 Charles Commons Conference Center JHU Homewood Campus Sponsored by: Johns Hopkins University Laboratory
More informationEDUCATIONAL ROBOTICS' INTRODUCTORY COURSE
AESTIT EDUCATIONAL ROBOTICS' INTRODUCTORY COURSE Manuel Filipe P. C. M. Costa University of Minho Robotics in the classroom Robotics competitions The vast majority of students learn in a concrete manner
More informationHOLY ANGEL UNIVERSITY COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY ROBOT MODELING AND PROGRAMMING COURSE SYLLABUS
HOLY ANGEL UNIVERSITY COLLEGE OF INFORMATION AND COMMUNICATIONS TECHNOLOGY ROBOT MODELING AND PROGRAMMING COURSE SYLLABUS Code : 6ROBOTMOD Prerequisite : 6ARTINTEL Credit : 3 s (3 hours LAB) Year Level:
More informationBaset Adult-Size 2016 Team Description Paper
Baset Adult-Size 2016 Team Description Paper Mojtaba Hosseini, Vahid Mohammadi, Farhad Jafari 2, Dr. Esfandiar Bamdad 1 1 Humanoid Robotic Laboratory, Robotic Center, Baset Pazhuh Tehran company. No383,
More informationAn External Command Reading White line Follower Robot
EE-712 Embedded System Design: Course Project Report An External Command Reading White line Follower Robot 09405009 Mayank Mishra (mayank@cse.iitb.ac.in) 09307903 Badri Narayan Patro (badripatro@ee.iitb.ac.in)
More informationA Rubik s Cube Solving Robot Using Basic Lego Mindstorms NXT kit
A Rubik s Cube Solving Robot Using Basic Lego Mindstorms NXT kit Khushboo Tomar Department of Electronics and Communication Engineering, Amity University, Sector-125, Noida 201313 (U.P.) India tomar2khushboo@gmail.com
More information6.081, Fall Semester, 2006 Assignment for Week 6 1
6.081, Fall Semester, 2006 Assignment for Week 6 1 MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science 6.099 Introduction to EECS I Fall Semester, 2006 Assignment
More informationPre-Activity Quiz. 2 feet forward in a straight line? 1. What is a design challenge? 2. How do you program a robot to move
Maze Challenge Pre-Activity Quiz 1. What is a design challenge? 2. How do you program a robot to move 2 feet forward in a straight line? 2 Pre-Activity Quiz Answers 1. What is a design challenge? A design
More informationIntuitive Vision Robot Kit For Efficient Education
Intuitive Vision Robot Kit For Efficient Education OH SangHun a, CHO SungKu b, YU BaekWoon c, Ji Hyun Park d Yonsei University a & Kwangwoon University b Sanghun_oh@yonsei.ac.kr, pot1213@naver.com, bwrew2@gmail.com,
More informationCORC 3303 Exploring Robotics. Why Teams?
Exploring Robotics Lecture F Robot Teams Topics: 1) Teamwork and Its Challenges 2) Coordination, Communication and Control 3) RoboCup Why Teams? It takes two (or more) Such as cooperative transportation:
More informationT.C. MARMARA UNIVERSITY FACULTY of ENGINEERING COMPUTER ENGINEERING DEPARTMENT
T.C. MARMARA UNIVERSITY FACULTY of ENGINEERING COMPUTER ENGINEERING DEPARTMENT CSE497 Engineering Project Project Specification Document INTELLIGENT WALL CONSTRUCTION BY MEANS OF A ROBOTIC ARM Group Members
More informationFLL Robot Design Workshop
FLL Robot Design Workshop Tool Design and Mechanism Prepared by Dr. C. H. (Tony) Lin Principal Engineer Tire and Vehicle Mechanics Goodyear Tire & Rubber Company tony_lin@goodyear.com Description Mechanism
More informationLearning and Using Models of Kicking Motions for Legged Robots
Learning and Using Models of Kicking Motions for Legged Robots Sonia Chernova and Manuela Veloso Computer Science Department Carnegie Mellon University Pittsburgh, PA 15213 {soniac, mmv}@cs.cmu.edu Abstract
More informationI.1 Smart Machines. Unit Overview:
I Smart Machines I.1 Smart Machines Unit Overview: This unit introduces students to Sensors and Programming with VEX IQ. VEX IQ Sensors allow for autonomous and hybrid control of VEX IQ robots and other
More informationThe Nomenclature and Geometry of LEGO
The Nomenclature and Geometry of LEGO AN OVERVIEW OF LEGO EV3 MINDSTORMS ELEMENTS AND HOW THEY WORK TOGETHER UPDATED 9/27/2015 Required Stuff Please do not wander the building. Rest Rooms Location. Food
More informationA New Simulator for Botball Robots
A New Simulator for Botball Robots Stephen Carlson Montgomery Blair High School (Lockheed Martin Exploring Post 10-0162) 1 Introduction A New Simulator for Botball Robots Simulation is important when designing
More informationRobotics using Lego Mindstorms EV3 (Intermediate)
Robotics using Lego Mindstorms EV3 (Intermediate) Facebook.com/roboticsgateway @roboticsgateway Robotics using EV3 Are we ready to go Roboticists? Does each group have at least one laptop? Do you have
More informationUnleash your creativity.
XV XV Unleash your creativity. 10.1" High-resolution IPS LCD touch screen Advanced intelligent camera eye system Super-large embroidery area (9½ x 14", 240 x 360mm) 11¼" (285mm) long arm Zündt design Beautiful
More informationHi everyone. educational environment based on team work that nurtures creativity and innovation preparing them for a world of increasing
Hi everyone I would like to introduce myself and the Robotics program to all new and existing families. I teach Robotics to all of your children for an hour every fortnight. Robotics is a relatively new
More informationCEEN Bot Lab Design A SENIOR THESIS PROPOSAL
CEEN Bot Lab Design by Deborah Duran (EENG) Kenneth Townsend (EENG) A SENIOR THESIS PROPOSAL Presented to the Faculty of The Computer and Electronics Engineering Department In Partial Fulfillment of Requirements
More information