1 / 53

More LEGO

More LEGO Mark Green School of Creative Media Introduction Now that we know the basics its time to look at putting some robots (or toys) together Look at how we can put theory into practice A few examples to get you thinking about things that you could build New Tippy

oshin
Download Presentation

More LEGO

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. More LEGO Mark Green School of Creative Media

  2. Introduction • Now that we know the basics its time to look at putting some robots (or toys) together • Look at how we can put theory into practice • A few examples to get you thinking about things that you could build

  3. New Tippy • Our tippy robot didn’t work very well • By braking after each collision it responded better, but it still kept bumping into things • It would be better if the robot turned before it can into things • This means we have to know when something is in front of us

  4. Light Sensor • We can use the light sensor for this • The light sensor measures the amount of light that it receives • When we are close to an object, light will reflect off of it from the LED • Remember the light sensor has a red LED, this serves as a light source • Lets see how this works

  5. Light Sensor • The light sensor measures the amount of light it receives • With nothing in front of the robot, this is just the room’s light level • Assume that the room is relatively dark, so this light level will be fairly low • When we get close to an object, the LED will reflect off it giving a higher light reading

  6. Light Sensor • To see how this works I put together a simple program that reads the light sensor and displays the value on the RCX display • Start with a light sensor, set its range to 0 to 100, the full range of the light sensor • Use a display value block to show the value of the light source on the RCX display

  7. Light Sensor Program

  8. Light Sensor • With this program running I walked around the room and noted the light values • Most of the time the light was in the low 30s or less • When I got close to an object it was in the high 30s or even the 40s • By looking at the light sensor value we can see if we are close to an object

  9. New Tippy • This suggests a new Tippy robot • I remove the touch sensor, since we don’t need it now • I added a plate to the top of the RCX extending out the front • The light sensor is attached to this plate, so it is in front of the rest of the robot

  10. New Tippy

  11. New Tippy • The light source tells us when we need to avoid a collision • When the value is greater than 35 there is likely to be a collision • In response we could do the same thing as in the previous program • Back up, turn a bit, and then go forward again, this will work

  12. New Tippy • With the light sensor we can do a lot better • The light sensor value tells us if there is an obstacle in front of us • We can turn until there are no obstacles • We can turn until the light sensor has a normal value • In our case we turn until the light sensor is 33 or less

  13. New Program

  14. New Program • When the light value is greater than 35: • The robot stops • It moves backwards for 0.5 seconds • It turns until the light value is less than 33 • A repeat block is used to turn until the light value is less than 33 • We could also use a wait-for block to do the same thing

  15. Results • This robot produces more interesting motion: • It stops and turns before it runs into things • It turns until it will avoid obstacles, it doesn’t go smashing into another object because it didn’t turn enough • This makes the robot look more intelligent, and it doesn’t come apart from crashing into things!

  16. Mobile Platform • The next example is motivated by several things: • A one motor motion platform, can use the second motor for other actions • A platform for a small mobile camera, a wireless security camera ($250 at a stall in Temple Street), runs on a 9 volt battery • Produce a simple platform of the camera

  17. Mobile Platform • Aim is to have robot wander through room collecting video • The video will then be used as a video texture in our VR system • A way of importing the real world into a VR piece • Would like to have the camera rotate as the robot moves

  18. Mobile Platform • Need to be able to go forward and turn with a single motor • Know that we need a differential to do this, but haven’t really tried it yet • Start investigating some designs that will do this for us • Start by fitting a motor and differential onto a simple 4 wheel frame

  19. First Try • First try is long and thin • The motor and differential are at the back of the robot • The RCX and light sensor are at the front of the robot • Does a good job of going forward, but doesn’t turn (more on this later)

  20. First Try • Aim of the first try is to get the differential right, then worry about turning and other things • Need a crown gear on the motor to change direction of rotation, motor is aligned along the long axis of the robot • But, cannot connect the crown gear directly to the differential, motor is too close

  21. First Try • Need to put another gear in between to get enough room for the differential to turn • Also need to ensure that all the gear line up correctly • If everything isn’t aligned correctly and solid the differential won’t work, the wheels won’t spin • I had several versions of this mistake

  22. First Try

  23. First Try

  24. First Try

  25. First Try • After several attempts the first version was produced • Need to be careful to have all the gears and differential solidly in place, no movement • Positioning the ratchet was a bit difficult since the differential was right at the back for the robot

  26. First Try • Used the Tippy2 software to test this robot • Without the ratchet the robot goes forwards and backwards quite well • Need to have a smooth surface • With ratchet the robot can’t turn! • The one rear wheel stops spinning, but the other one just spins in place • What went wrong??

  27. First Try • All our previous robots had two wheels and this turning approach worked okay • The new robot has four wheels • The two front wheels prevent the robot from turning • We can’t do this with a four wheeled robot, we need another design • Don’t want to use two wheels if we can avoid it

  28. Second Try • There needs to be some way of turning the robot • Remove the two front wheels, they prevent the turning • Replace them with a caster wheel, a wheel that can rotate about the vertical axis • Now the front of the robot can spin, so it can make a turn

  29. Second Try • The caster wheel makes the front of the robot quite high • Replace the two small back wheels with the largest wheels • This raises the back end so the robot is almost level • Also gain some room to reinforce the motor on the bottom

  30. Second Try

  31. Second Try

  32. Second Try

  33. Software • Time to modify the software • Since the wheels are bigger, this robot goes faster than the previous one • Set the power level to 6, so it goes a bit slower in the forward direction • In reverse the power level is set to 8, this helps it turn the caster wheel

  34. Software • The light sensor is a bit simpler since there is only one motor to control • It now plays a tune while it is trying to turn, this is a helpful debugging aid, know when the robot has got itself stuck • Software is still fairly simple

  35. Software

  36. Results • Still doesn’t quite work the way I want it to • It now turns quite well, even when it is moving forward • The caster wheel tends to turn when moving forward, giving some interesting behaviors • Still have trouble turning when backing up • If caster wheel is pointing straight forward it is hard to turn

  37. Results • But, the backward turn works at least part of the time, and the robot doesn’t get stuck as often • New problem, the robot tends to tip over • The front wheel doesn’t give it enough stability, so it sometimes turns over when it hits an obstacle • This is not particularly good

  38. Possible Solution • Instead of using wheels we could use tracks • This will provide more stability, don’t need to worry about the robot tipping over • Not sure if the differential is strong enough to drive the tracks, may not work • We have something that sort of work, maybe look at this approach later

  39. Camera Brick • We want to attach the camera to the robot, how are we going to do this? • We want the camera to be a LEGO block, but it really isn’t • Would like to fit it onto a model like any other LEGO brick • Need a mechanical interface between the camera and LEGO

  40. Camera Brick • There are several ways that we could approach this problem: • Tape the camera to a LEGO brick, this would work, but its not too stable • Drill a hole through a LEGO brick and attach the camera to it, this destroys a brick if it doesn’t work • Make a frame for the camera out of LEGO blocks, camera may not be the right size for this

  41. Camera

  42. Receiver

  43. Camera Brick • The bracket on the bottom of the camera has three holes • These holes line up with the holes in beam • One of these holes is large enough for an axle, so the first solution was to put an axle through the hole and beam and fasten it • This sort of worked, but the camera could still move around a lot

  44. Camera Brick • After some experimentation, the best solution was found to be a twist-tie threaded through the other two holes • These holes are quite small, so this is one of the few things I could find that would go through them • Doesn’t look pretty, but we know have a camera attached to a LEGO beam

  45. Camera Brick • One problem left, the beam is facing sideways so it can’t be attached to other bricks • This doesn’t help us, we need to attach the camera to our robot • This can be solved using a 2x2-2x2 angle bracket (there are two in the Mindstorms kit)

  46. Camera Brick • The bracket is attached to the beam, and then a standard 2x2 brick is attached to it • This provides a little stand for the camera and it can now be attached to the top of the RCX • We now have our robot mounted camera, but does it actually work??

  47. Camera Brick - Front

  48. Camera Brick - Back

  49. RoboCam

  50. RoboCam

More Related