home

This is a wiki dedicated to my robotic classes. During September, October and November we are going to have classes of robotics, which are connected to CAS and TOK classes. It is a course of 10 classes, which is made for our understandings of robots and machines.  Class 1  Instruction In our first lesson, our teacher has brought a construction set and we, in groups of 4 or 5, got to pick 5 lego joints. Our group consisted of Madi, Lyuba, Umberto, Daniel and me. We then had to combine, in groups, the lego joints into the weirdest machine that we could create. We had to make up a name and a function for the machine. This activity is based on the research of Bruno Munari, called ‘Useless Machines’ (‘Macchini Inutili’). The machine that I created with my group had a function of a catapult, and it was called The Mulin. Then, we had to pass our machine onto another group. We undid the machine that another group gave us, wrote the instruction on how to connect it back, and gave it a m=name and a function, because the other group was not allowed to tell it to us. We got a machine that we called ‘the Spinner’, because a part of the machine rotated freely, and the function was to pick up stuff, analogical to an excavator. The other name for the machine would be ‘the Football Footie’, and the function would be to play football. The third step consisted of passing the machine with the instructions onto a third group. That group tried to re-do the machine according to the instructions that we wrote. In our case, the instructions that we both made and received were not clear, and we did not succeed in doing the machine that the other group passed to us. Later, we discussed our machines: we got to tell the other group about the instructions that they made, and that group told us the name and the function of this machine that they made, and in the end we compared it to the name and function that the group who actually created the machine in the first place gave it. Reflection The machine that we created can be said to be an analogy of a simple molecule: when we observe the molecules, they seem to be made completely randomly, of random materials and atoms. We, likewise, took 5 random pieces and put them together. So how does the machine we made differ functionally from a molecule? A molecule builds up to make some substance, and in our case, we can also use our simple machines to build up a more complicated structure. In this class, we are examining how robots differ from living organisms. So could structures like the ones we made be combined to somehow make a cell? A cell cannot just be living. To live, it must follow the three characteristics: 1) Be able to take things in and out of itself  2) Be able to reproduce 3) Grow and develop  If we can combine a structure that can do all those things, then the construction/the robot will be officially alive. But how possible is it to achieve those things?1) Be able to take things in and out of itself Can a robot do that? Yes. There are already robots that are especially designed to take stuff in them and out (for example, a robot that bakes stuff, or produces something.) <span style="color: black; font-family: Arial,sans-serif;">2) Be able to reproduce  <span style="color: black; font-family: Arial,sans-serif;">This is more challenging. So far, there are no robots that had babies. However, if a robot can produce stuff, someday we might be able to make robots that create robots!   <span style="color: black; font-family: Arial,sans-serif;">   <span style="color: black; font-family: Arial,sans-serif;">3) Grow and develop <span style="color: black; font-family: Arial,sans-serif;">Can a robot make up more elementary pieces, or ‘particles’, and use them as cells that grow? Not as far as we can imagine. We don’t yet have a robot that can grow. Hence, so far we cannot have an alive robot. A robot can sense and react, but all those reactions have been programmed by people. Sensing is not feeling. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">Class 2 <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> During our 2nd lesson, the teacher divided us into 5 or 6 groups of 4-5 people. I was in a group with Ottavia, Madi and PIetro. Mr. Micheli brought some robots and he gave them out – one for each group. Our task was to analyze the robot and try our best in understanding how our robots work. We had to give our robots a name and find a function. We have been experimenting with our robots for about an hour. Note that a set of legs will only move if the sensor connected to them will see light. That means that if the robot is walking on a surface with no obstacles, and then a shadow falls on one of the sensors, then the legs on that side will stop moving, but the legs on the other side will continue moving. This will make the robot turn, and eventually it will turn completely towards the object which is casting the shadow. We named the robot ‘The Bug’ because it looks like one. There are many possible functions for the robot. If you put the camera on the front, you could send the robot in some unexplored area, as log as there is light. If the robot comes into a shade from an object with one sensor, it will turn towards this object, so the camera would turn with it. This will allow the explorers to examine the object. Another function could be a rover because of the way it moves. If you attach a mine-tracking device to the bottom of the robot, it could be used as a de-miner. Also, since the robot resembles a bug, the scientists would be able to camouflage it (as long as it is smaller) and put it into an environment of insects to track their behavior. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">The last part of the lesson consisted of making a flowchart on how our robots work. Here is the flowchart for The Bug: <span style="color: black; font-family: Arial,sans-serif;">Switch on  <span style="color: black; font-family: Arial,sans-serif;">The switch activates the battery <span style="color: black; font-family: Arial,sans-serif;">The battery powers the chips <span style="color: black; font-family: Arial,sans-serif;">The chips, in turn, power the sensor <span style="color: black; font-family: Arial,sans-serif;">The sensor sends back the information to the chips <span style="color: black; font-family: Arial,sans-serif;">The chips send the information to the corresponding set of batteries (right or left) <span style="color: black; font-family: Arial,sans-serif;">The batteries provide the energy to the legs so they move <span style="color: black; font-family: Arial,sans-serif;">Reflection <span style="color: black; font-family: Arial,sans-serif;">Here we see an example of a robot that can react to something it senses. The robot does not just react because it senses the light, but instead it has to undergo a series of signals. That means that, when the sensors see the light, the robot does not suddenly start moving its legs because it knows that it has to, but instead the sensors automatically send the information to the chips, which send it to the battery, which activates the legs. If you take on step out of the process, the robot would not function because the automatic chain of reactions would be broken. With live creatures it is different because live creatures do not have any system that makes them move anywhere. Of course, live creatures have many other system that makes them do certain things, for example, the nervous system that would signal if something has hit a nerve and the person/animal would jerk, or the instinct which people often do not even notice. But this case is different, because usually live creatures can choose where to go. Take two examples: <span style="color: black; font-family: Arial,sans-serif;">1) It is known that cockroaches prefer darkness to light. So when a cockroach has a choice of where to go – to a lighted place or to a dark one – it will go to the dark one. But that is a matter of preference. Sure, cockroaches don’t like light because of their instinct, but they have a choice.  <span style="color: black; font-family: Arial,sans-serif;">    <span style="color: black; font-family: Arial,sans-serif;">2) ‘The Bug’ senses shade and through a series of reactions turns towards it. It does not choose to, it just is physically not able to do otherwise. <span style="color: black; font-family: Arial,sans-serif;">Here we come upon a question of choice vs. signals. Will we one day have a robot that can choose what to do? There are already robots that can recognize their actions and react to what they need, for example, recognize the colors and pick which they are programmed to react to. However, they do not feel what is good or bad for them. They simple make their choices because they are programmed like that. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">Class 3 <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">At the beginning of the lesson, Mr. Micheli divided us in 4 or 5 groups. I was in a group with Lyuba, Madi, Alberto and Charlie. Then, the teacher handed out a photocopy of an article to each group: each group received an article about a recently evolved robot that, in some way resembles a human or a living creature. Each group got a different article. Our article was called ‘US Army Develops Robotic Suits’. It had to do with a root that was called ‘XOS’, or exoskeleton. We had to do a summary of the article, find pictures and videos of the robot, then discuss the pros and cons of the function of the robot, and then do a personal opinion on it. All work, except the personal opinion, was done in groups. Then, we had to put all the information together (we divided the work and did it on different computer, then shared it via e-mail), and post it on all our Wikispaces. Here is my article (the link to it is http://nadiarobotics.wikispaces.com/US+Army+Develops+Robotic+Suits ). <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">Class 4 <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> Instruction <span style="color: black; font-family: Arial,sans-serif;">Instruction <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> At the beginning of the fourth lesson, Mr. Micheli divided us into several groups different from those that were last time. I was in a group with Madi, Lyuba and Ottavia. He handed us a manual and a construction set with a number. Inside the set were many different LEGO pieces, batteries, a couple of sensors, a screen, and some wheels. Our job was to, following the manual, construct a robot. We first had to make the body, which consisted of many basic LEGO pieces, a screen with batteries, and 5 wheels that enable the robot to move. Then, we had to plug in many cables and connect different sensors to the robot. According to the manual, we had to connect one robot at a time, but we had many sensors plugged in at the same time. We constructed it taking turns: one person completes a step of the manual, and then passes it on to the next person. We did it in rounds. This system worked very well, and we had a very good teamwork. In the end, we resulted with a robot that had light, sound and touch sensors, a bumper, and basic commands. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">Reflection <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">The robot that we did was certainly a very developed robot. It had sensors, so, in other words, it could sense. But could it know? The robot could answer to commands, however, it did not know what it was doing. Those commands were programmed inside the robot, and the robot could not decide what it was doing. A person has these ways of knowing: <span style="color: black; font-family: Arial,sans-serif;">- Sensory perception <span style="color: black; font-family: Arial,sans-serif;">- Logic <span style="color: black; font-family: Arial,sans-serif;">- Emotion <span style="color: black; font-family: Arial,sans-serif;">- Language <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">The robot could obviously not understand language, but it could understand the orders. However, it did not know what it was doing: if it did, it would question itself ‘why?’, and do what it wanted to do despite the orders. <span style="color: black; font-family: Arial,sans-serif;"> The robot did not have any logic, again, for the reason that it would question itself. It does not have any emotions: the robot would not be hurt; it cannot understand what it is doing and hence have any reflections on it. <span style="color: black; font-family: Arial,sans-serif;"> As mentioned before, even though the robot has sensors, it does not understand what it senses. The commands are transmitted to the wheels, making them move, but if the robot actually understood what is happening, it would certainly understand how it worked itself, so it would give orders to itself. Moreover, the robot does not have instincts of survival, so it does not even have a natural goal. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">Class 5 <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">Instruction <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;"> Last lesson, the teacher made us create one robot in groups of four people. This lesson, we had to sit in the same groups, and we had to take 2 computers per group. Sara from 10th grade joined us in our group. Then, we had to divide: 2 or 3 people per computer, and 1 robot per 2 computers. I was with Madi, whilst Lyuba, Ottavia and Sara were together. Mr. Micheli showed us a program that is downloaded on every computer in the computer lab that is designed to make commands for the robot. Mr. Micheli showed us how to start a program, and we named our document with the name of Madi and me: Madi_Nadia1. Then Mr. Micheli told us the steps that we need to do to program the robot. He did not tell us how to do it, but instead he told us what we had to achieve. We had to explore the program on our own. Then, we had to connect the robot to the computer, download the commands into the robot and test it, and then show it to the teacher. Sometimes we had to wait for the robot or for the cable. Here are the steps that we managed to complete: <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">1)We had to make the robot move in a square. This was the most difficult step for us, because we did not know how the program functions very well. Also, one of our wheels was not straight, so the robot did not move the way it should have, based on the commands. These are the steps that Madi and I used for making the robot move in a square:  <span style="color: black; font-family: Arial,sans-serif;">   <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l0 level1 lfo1; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">1. <span style="color: black; font-family: Arial,sans-serif;">Move 2 cm forward  <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l0 level1 lfo1; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">2. <span style="color: black; font-family: Arial,sans-serif;">Rotate the wheel – 1 rotation <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l0 level1 lfo1; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">3. <span style="color: black; font-family: Arial,sans-serif;">Move 2 cm forward <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l0 level1 lfo1; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">4. <span style="color: black; font-family: Arial,sans-serif;">Rotate the wheel– 1 rotation <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l0 level1 lfo1; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">5. <span style="color: black; font-family: Arial,sans-serif;">Move 2 cm forward <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l0 level1 lfo1; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">6. <span style="color: black; font-family: Arial,sans-serif;">Rotate the wheel– 1.25 rotations <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l0 level1 lfo1; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">7. <span style="color: black; font-family: Arial,sans-serif;">Move 2 cm forward <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l0 level1 lfo1; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">8. <span style="color: black; font-family: Arial,sans-serif;">Rotate the wheel– 1.25 rotations <span style="color: black; font-family: Arial,sans-serif;">These were the steps that we had to take to make the robot move in a square. However, the teacher told us that there was an easier way to make the robot do the same thing. Our second step was to find the easy way. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">2) The easier way was to put 2 steps in a loop. The 2 steps were:  <span style="color: black; font-family: Arial,sans-serif;">   <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l1 level1 lfo2; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">1. <span style="color: black; font-family: Arial,sans-serif;">Move 2 cm forward  <span style="line-height: 14.25pt; margin-left: 0in; mso-list: l1 level1 lfo2; mso-outline-level: 2; tab-stops: list .5in; text-indent: -.25in;"><span style="color: black; font-family: Arial,sans-serif;">2. <span style="color: black; font-family: Arial,sans-serif;">Rotate the wheel - 1.2 rotations   <span style="color: black; font-family: Arial,sans-serif;">    <span style="color: black; font-family: Arial,sans-serif;">In theory, the rotation should have taken “1 rotation”. However, our wheel was mot straight, so after a lot of experimenting we found out that we should have used “1.2 rotations”. This task was easier than the previous one, but the wheel was a problem and it took us a lot of experimenting time. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">3)The 3rd task was to make the robot move 1m forward. To do this, we had to look at the wheel and find the information about it. It turned out that the wheel is 5.6 cm in diameter. Using the relationship between the diameter and the circumference, we found out that the circumference was about 17.593 cm. We divided 100cm by 17.593, and got the result of about 5.684. We programmed the robot so that it moves 5.684 rotations forward. The wheels did not move very well, so it was not exactly 1m, but we came close. The calculations did not take us a long time, and we did not have any difficulties in this step.  <span style="color: black; font-family: Arial,sans-serif;">    <span style="color: black; font-family: Arial,sans-serif;">4) The 4th task was using the ultrasonic sensor. We had to program it so that every time the ultrasonic sensor senses something, it has to stop. We had to search for the icon that is the command for the ultrasonic sensor for a long time. It took us a long time of testing to make it right, but in the end it went right. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">5)The next, final step was to make the robot turn 90° and continue going everytime it senses something. At first we did not understand the task. Then we came up with a solution: we made a loop around 4 steps:  <span style="color: black; font-family: Arial,sans-serif;">    <span style="color: black; font-family: Arial,sans-serif;">1. Move forward   <span style="color: black; font-family: Arial,sans-serif;">2. Sensor   <span style="color: black; font-family: Arial,sans-serif;">3. Stop moving   <span style="color: black; font-family: Arial,sans-serif;">4. Turn 1 rotation   <span style="color: black; font-family: Arial,sans-serif;">    <span style="color: black; font-family: Arial,sans-serif;">As a conclusion, I will add that it was very easy to work with Madi. It was easy to co-operate, and we could carry on as quick as we could, without wasting time. <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">Reflection <span style="color: black; font-family: Arial,sans-serif;"> <span style="color: black; font-family: Arial,sans-serif;">The robot that we built was quiet complex, yet it did not resemble a human too much. It does not have the same ways of knowledge as we do: it has sensors, so it can sense, but it cannot feel: it cannot reflect whether it enjoys what it senses. It does understand the language in which its commands are encrypted, but those are the only commands it understands. Anyhow, the robot does not exactly understand the commands, because it doesn’t have any opinions. The chips inside the robot direct the motion of the robot, however, the robot cannot reflect on the commands. It cannot decide what movements it will perform, unless I decide for it. For the same reasons, it does not have instincts. The robot does not have logic, too, except that it only follows logical commands. Judging on those factors, we can conclude that the robot is not and cannot be alive. More complex robots, such as the ones that we evaluated in lesson 3, can be evolved so that they could possibly be considered alive. To fulfill these criteria for the robot that we have built, the robot would have to be programmed to have some response on its actions.