lego theory and practice
Skip this Video
Download Presentation
LEGO Theory and Practice

Loading in 2 Seconds...

play fullscreen
1 / 62

LEGO Theory and Practice - PowerPoint PPT Presentation

  • Uploaded on

LEGO Theory and Practice. Mark Green School of Creative Media. Introduction. Can do a wide range of things with LEGO adding motors, sensors and computers gives us even more possibilities the question is what do we do with this? Its fun to play with LEGO, but where do we want to take it?

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'LEGO Theory and Practice' - marva

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
lego theory and practice

LEGO Theory and Practice

Mark Green

School of Creative Media

  • Can do a wide range of things with LEGO
  • adding motors, sensors and computers gives us even more possibilities
  • the question is what do we do with this?
  • Its fun to play with LEGO, but where do we want to take it?
  • In addition, how do we build fun things?
expressive robots
Expressive Robots
  • One thing is building robots that can express themselves
  • not just a mechanical thing, but something we can relate to, something with emotions
  • a good example of this is Feelix, a LEGO robot the expresses feelings:

  • Feelix has been used to study how people recognize emotions
  • could not recognize as easily as with real humans, but fairly close most of the time
  • Feelix could react to people through its touch sensors (on feet)
  • emotion based on frequency and strength of touch
  • Personal Electronic Teller of Stories
  • Robots built from LEGO, designed by a team of adults and children
  • Develop a robot that shows emotions and feelings, can be used to assist with telling stories
  • Robot acts out part of the story, controlled by computer to give expressions at appropriate times
  • LEGO used as the robot skeleton and to provide the motion
  • Skeleton is covered with cloth and other soft things to make a huggable toy
  • Velcro and glue used to attach “skin” to the robot
  • Quick way to produce responsive toy without getting into a lot of engineering
  • Shows how LEGO can be used to prototype intelligent toys
  • Building out of raw components, plastic and metal, can be difficult and requires special tools and skills
  • LEGO can be used by most people, doesn’t require anything special
  • Won’t be the best looking, but quick and easy
building with lego
Building with LEGO
  • Two general approaches:
    • Start by deciding what you are going to build, figure out how to build it
    • Start by putting things together and see what you end up with
  • Most LEGO projects are a combination of these approaches
  • Rarely know exactly how to build something before you start
building with lego1
Building with LEGO
  • Good LEGO builders claim that you need three skills:
    • Mechanics
    • Electronics
    • Software
  • Also need some patience and willingness to try different things
  • It won’t work right the first few (many) times you try to build it
  • Need to know how to put the blocks together to get the structure you need
  • Needs to be strong, so it doesn’t fall apart when it moves
  • Need to understand how to make LEGO move, how to use wheels, gears and axles
  • Most of this is gained through experience with making things
  • Understand how sensors work, how they can be used to control the robot
  • Understand how motors can be used to move the robot
  • How to connect the motors and sensors to the LEGO blocks, make the best of the limited resources
  • Use one motor to produce several motions
  • Write the programs that make the robot work
  • Read the sensor values, produce the signals required for the motors
  • Plan how long each motor should run, how it should respond to sensors
  • Produce the robots behavior, how it will respond to its environment
  • Look at a very simple robot, example of how we build and program them
  • Based on Tippy from Brian Bagnall’s book “Core LEGO Mindstorms Programming”
  • Like all good robot projects, this one didn’t go as planned!
  • Tried to follow instructions from book, but the robot wouldn’t fit together
  • Tippy is about as simple as it gets
  • Two wheeled direct drive robot, there are skid plates at the front and back to keep the robot from tipping over
  • There is a touch sensor at the front to detect collisions
  • It can only detect collisions at the front, but the robot does go backwards!
  • The touch sensor is quite small, need something bigger to detect collision
  • The bumper mechanism at the front does this, based on a hinged lift arm
  • A wide axle is attached to the lift arm, to increase the range of the sensor
  • When something hits the axle the lift arm hits the touch sensor, signaling the collision
  • Two motors are attached to the plate at the bottom, this is not a good design!
  • Weight of the robot is on the wheels, wheels connected to motors, motors connected to top of plate
  • Too easy for motors to come off of the plate
  • Would be better to attach the motors to the bottom of the plate
  • Problem: when I tried to attach the understructure of the robot to the RCX I found it was too wide!
  • Our RCX is narrower, by one row then the one used in the book
  • Had to design a platform on the bottom of the RCX to mount the structure on
  • Result: robot is lopsided
  • LEGO rarely goes together the way you want it to, must be prepared to improvise
  • This is the creative part of the project, figuring out how to make the whole thing fit together
  • Be prepared to rethink your design and build interfaces between the different components of the design
  • We need to make the robot do something
  • It needs some software for this
  • What will we make the robot do??
    • Its default action is to move forward, both of its motors should spin in the forward direction
    • When it hits something it should back up and turn so it no longer hits something
  • Going forward is easy, but how do we turn?
  • Neither wheel turns, there doesn’t appear to be a way to turn the robot
  • But the two wheels are independent, each have a separate motor
  • We can make the robot turn by spinning one wheel forward and the other wheel backwards
  • Only do this for a short period of time
  • Software consists of two parts
  • First part just drives the robot forward
  • Turns on the two motors and sets both of them to forward
  • Second part only runs when there is a collision
  • It backs up the robot and turns it, then starts it moving forward again
  • The left side turns on the two motors and sets their direction to forward
  • The right side is connected to the touch sensor
  • It changes the motor direction and waits for 0.5 second
  • Set direction so one motor is forward and the other reverse
  • Again wait for 0.5 second
  • Then set both motors to forward
  • We don’t measure how far the robot moves or turns, we just wait for 0.5 seconds
  • Good enough most of the time, but could still get in trouble
  • We have a robot that basically works
  • Can be put together in about 20 minutes, most of the effort is finding the right parts
  • But, neither the software or structure is very robust
  • It can easily fall apart and it can easily get stuck trying to recover from collisions
  • Due to the modification I made I didn’t have enough parts to finish the robot
  • Original design had a plate above the lift arm, but I ran out of plates
  • Without the plate the arm bounces and causes the robot to turn too much
  • I later made a plate out of two smaller plates, and it now works better
lego theory
LEGO Theory
  • If we are going to build things with LEGO we need to understand how it works
  • Start by looking at the various LEGO parts and then move on to some of the standard structures
  • Look at some of the standard design and solutions
  • Get you started on your own designs
lego theory1
LEGO Theory
  • The main structural units are bricks, plates and beams
  • The size of a LEGO piece is measured in studs, the little round things on the top
  • Bricks are usually one or two studs wide and from one to eight studs long
  • Bricks are used to build up structure, they have no other purpose
lego theory2
LEGO Theory
  • Plates are thin bricks, 1/3 the thickness of a brick
  • Plates can be used to build structure, but they are usually used to connect other units or add strength to a structure
  • Beams are one stud wide, even number of studs long, with holes running through them
lego theory3
LEGO Theory
  • If a beam is ‘n’ studs long, it has ‘n-1’ holes
  • Axles and pins can be placed in the holes, so beams are often an important part of a robot’s chassis
  • Since beams are thin they often need to be reinforced or the structure becomes too weak
lego theory4
LEGO Theory
  • Pins are short and round and fit into the holes in beams
  • Two types of pins
    • Free turning pins, can rotate inside the hole
    • Friction pins, don’t rotate
  • Pins can be used to attach parts, or to attach wheels and gears to the robot’s chassis
lego theory5
LEGO Theory
  • Wheels, axles and gears are used for movement
  • A wide range of wheels, the larger the wheel the faster the robot will move
  • Axles are measured in studs, even though they have no studs
  • Gear are used to change the speed of motion, or change its direction
lego theory6
LEGO Theory
  • There are a number of other parts used for special purposes and decorations
  • Lift arms are beams that don’t have studs
  • They can be connected to other parts using pins and axles
  • Pulleys can be used to transmit force, but are not as reliable as axles and gears
  • Mindstorms comes with two motors, and the RCX can only handle three
  • We can only have a limited number of independent motions, one per motor
  • In addition, motors rotate, what if we want a linear motion, or one with a limited rotation angle?
  • Also we cannot control the speed of the motor
  • The LEGO motor consists of a motor, plus a gear chain
  • There is no way to control the speed of this motor, we can only control the strength
  • That is, we can increase the amount of force the motor produces, carry heavier loads, but cannot change speed
  • This introduces the need for a number of structures to produce different types of motion:
    • Straight linear motion
    • Repeated linear motion
    • Restricted rotations
    • Faster or slower speed
    • Axis or rotation
  • The structures that produce these motions contain combinations of gears and axles
  • Gears can be used to change speed and axis of rotation
  • The size of a gear is measure by the number of teeth it has
  • The standard gear sizes are 8, 12, 16, 24 and 40 teeth
  • The standard gears mesh together, tooth for tooth
  • This can be used to control speed of rotation using different gear sizes
  • Consider a 8 tooth and 24 tooth gear connected together, both with their own axles
  • Start by turning the axle on the 8 tooth gear
  • Every complete rotation of the axle will move 8 teeth on the larger gear
  • This gear has 24 teeth, so we need 3 rotations of the smaller gear for one rotation of the larger gear
  • Similarly, one rotation of the larger gear will produce 3 rotations of the smaller one
  • Thus we can go faster or slower
  • Note: if we speed up there is less force, if we slow down there is more force
  • Need to consider what you are trying to move
  • What happens if we want to change the axis of rotation? The motor is facing one way, but we want the rotation in a different direction
  • Two ways of doing this
  • One way is to use a worm gear and the other is to use a crown gear
  • A crown gear meshes with a regular gear at a 90 degree angle
  • When the crown gear is turned the regular gear with turn, but the axis of rotation has been shifted by 90 degrees
  • There are several ways of doing linear or straight line motion
  • One is to use a crankshaft mechanism
  • There are only enough parts to make one crankshaft
  • It converts a rotational motion into a linear one by pushing and pulling an axle as it rotates
  • The other way of doing this is to use a gear rack, a plate with gear teeth on the top
  • Gear racks are attached to plates or beams and then meshed with a gear
  • When the gear rotates the gear rack with move forwards or backwards
  • Maximum distance depends upon length of gear rack
  • Our Tippy robot used two motors so it could both move and turn
  • To turn the robot we turned the wheels in opposite directions
  • We only have 2 motors, so using both for moving the robot means we can have no other motion
  • We need to be able to turn and move using only one motor
  • Moving with one motor isn’t hard, connect both wheels to the same axle
  • Turning is the hard part, how can we make the two wheels move differently with just one motor?
  • The solution is to use something called a differential
  • Allows the two wheels to operate independently
  • The differential itself rotates, a gear meshing with one of its outside gears provides the motion
  • The gear structure inside the differential provides the interesting part
  • The differential will normally turn both axles, and the wheels attach to it
  • This provides the forward motion for the robot
  • But the two axles are independent, if one axle stops rotating the other will keep going
  • This can provide our turning mechanism
  • If when we reverse direction only one wheel keeps turning the robot will turn
  • The differential can handle this, but how do we stop one of the wheels from turning?
  • The solution is to use a ratchet
  • A ratchet is based on a gear and a block that lets the wheel turn in one direction but not in the other
  • We can add a ratchet to one side of our differential
  • When moving forward both wheels will turn, with moving backwards the ratchet will stop one of the wheels