Robotics with Elixir
|
|
- Erick Crawford
- 5 years ago
- Views:
Transcription
1 Meetup organized by Jean-François Cloutier Held at Big Room Studios, Portland, ME, USA Robotics with Elixir Part 1 Ghost in the Machine September 15, 2015
2 Lego Mindstorms The Greatest Toy Ever! And it got a whole lot better EV3 brick 1998 RCX 2006 NXT EV3 Faster CPU, more memory Linux! Bootable microsd card USB port Daisy chain up to 4 bricks Plug WiFi dongle
3 The programmable brick 4 sensor input ports 4 motor output ports Sensors and actuators 2 large motors 1 medium motor 1 color sensor 1 IR proximity sensor (with remote control) 1 touch sensor The goodies
4 And a whole bunch of Connectors Wheels, cogs, threads Etc. The goodies
5 Programming the EV3 The EV3 set comes with a customized version of LabView Visual programming? Snazzy! If you don't mind coding everything as one big sense and respond loop
6 OK it's not that bad but... We can do better. Blerch!
7 ev3dev.org to the rescue An updated LEGO Linux kernel (Debian) Bootable from a microsd card Can run most Debian packages apt-get install EV3 software rebuilt from the ground up Motor and sensor drivers use sysfs Exposed as character files Sensing = reading files Controlling = writing to files EV3 is now exposed to any and all programming languages running under Linux We can code the EV3 with Elixir!
8 Elixir and EV3 sitting in a tree Elixir/OTP = Functional Programming (FP) + Actor Model FP inputs function output No mutating state and no side-effects => simplicity and predictability OTP's Actor Model Linked processes communicating via self-contained messages Quarantined failures recovered through supervisor trees FP and (supervised) Actors are ideal for programming robots Or at least that's our working hypothesis
9 It's been done! Torben Hoffmann, CTO of Erlang Solutions, did it first So we'll do things a bit differently
10 But first, ev3dev and sysfs We'll be working with the tacho-motor and lego-sensor classes
11 sysfs: tacho-motor
12 tacho-motor commands Run commands Stop modes run-forever coast run-to-abs-pos brake run-to-rel-pos hold run-direct stop reset See doc at
13 tacho-motor specs, controls and state Specs (ro) driver_name count_per_rot commands stop_commands port_name Controls (rw) State (ro) duty_cycle_sp duty_cycle polarity position position_sp speed_sp speed speed_regulation state time_sp running ramping, stop_command holding, ramp_up_sp stalled ramp_down_sp command See doc at
14 Interacting with tacho-motors Large motor ssh cd /sys/class/tacho motor cd motor0 cat driver_name echo 50 > duty_cycle_sp echo run-forever > command echo stop > command Medium motor
15 sysfs: lego-sensor
16 Specs (ro) driver_name port_name modes num_values units lego-sensor specs, controls and values Controls (rw) mode See doc at State (ro) value<n>
17 Touch sensor Interacting with sensors Infrared sensor and remote control cd /sys/class/lego sensor cd sensor1 cat driver_name cat value0 cat modes echo IR SEEK > mode cat value0 cat value1 Color sensor
18 And Elixir in all this? Part 1 (this meetup) - Wrap ev3dev with immutable data and functions Hide the state mutations performed by sysfs (files act as global variables) Expose motors and sensors as static data Use functions to consume and produce (immutable) motors and sensors Part 2 (next meetup) - Use OTP to implement concurrent sense and control for autonomous robots Allocate a process to each sensor and motor to avoid race conditions, prevent damaging command sequences, detect state changes and emits events A central controller listens to events and drives a state machine that sends commands to motors Part 3 (and beyond) - Go nuts Complex event processing ( I am lost, I am stuck etc.)? Use a society of mind model (à la Pixar's Inside Out) instead of a central controller?
19 Modeling motors and sensors We can model the changing state of motors and sensors As mutable global variables is one way to model it (the non-fp way) Or as functions consuming and producing immutable data Device Get connected devices Alter controls Device Execute command (the FP way) Device Device Get state Device Device
20 Source code
21 Device data structure Devices - motors and sensors are represented as Elixir structs (think of them as records)
22 Device generation Functions that get the connected devices
23 Device initialization Function that gets device props from sysfs files (here, for motors)
24 Device control specs Function that gets the current motors specs
25 Controlling a device Functions that change control specs always return a new device
26 Getting device state Functions that access the device or sysfs read-only files containing device state
27 Getting device state
28 Synchronizing devices and sysfs Updating sysfs files to reflect current device specs
29 Interfacing with sysfs Reading from and writing to sysfs device files
30 Let's play with motors! iex> alias EV3.Tachomotor, as: TM... iex> [motor _] = TM.motors # Detect motors and hold on to the first one [%EV3.Device{class: :tacho_motor, path: "/sys/class/tacho motor/motor0", port: "outa", props: %{commands: ["run forever", "run to abs pos", "run to rel pos", "run timed", "run direct", "stop", "reset"], controls: %{duty_cycle: 0, polarity: :normal, position: 0, ramp_down: 0, ramp_up: 0, speed: 0, speed_mode: nil, speed_regulation: :off, time: 0}, count_per_rot: 360, stop_commands: ["coast", "brake", "hold"]}, type: :large}, %EV3.Device{class: :tacho_motor, path: "/sys/class/tacho motor/motor1", port: "outb", props: %{commands: ["run forever", "run to abs pos", "run to rel pos", "run timed", "run direct", "stop", "reset"], controls: %{duty_cycle: 0, polarity: :normal, position: 0, ramp_down: 0, ramp_up: 0, speed: 0, speed_mode: nil, speed_regulation: :off, time: 0}, count_per_rot: 360, stop_commands: ["coast", "brake", "hold"]}, type: :medium}]
31 Let's play with motors! iex> motor = TM.set_speed(motor, :rps, 1) # Set motor speed to 1 rotation per second... iex> TM.run motor # Stop the motor quickly... iex> motor = TM.reset # Reset the motor to its initial state... iex> motor = motor > TM.set_duty_cycle(50) > TM.reverse_polarity # 50% power and in reverse... iex> motor = TM.run_for(motor, 10000) # run for 10 secs... iex> IO.puts TM.current_speed(motor, :dps) # Print the current speed in degrees per sec 360 iex> TM.stalled? motor # Is the motor stalled? false
32 Let's play with sensors! iex> alias EV3.LegoSensor, as: LS... iex> sensors = LS.sensors # Detect all connected sensors [%EV3.Device{class: :sensor, path: "/sys/class/lego sensor/sensor0", port: "in3", props: %{mode: "TOUCH"}, type: :touch}, %EV3.Device{class: :sensor, path: "/sys/class/lego sensor/sensor1", port: "in1", props: %{mode: "IR REMOTE"}, type: :infrared}, %EV3.Device{class: :sensor, path: "/sys/class/lego sensor/sensor2", port: "in2", props: %{mode: "COL COLOR"}, type: :color}] iex> ir = sensors > Enum.find((LS.infrared? 1)) # Get an infrared sensor %EV3.Device{class: :sensor, path: "/sys/class/lego sensor/sensor1", port: "in1", props: %{mode: "IR REMOTE"}, type: :infrared} iex> color_sensor = sensors > Enum.find((LS.color? 1)) # Get a color sensor... iex> touch = sensors > Enum.find((LS.touch? 1)) # Get a touch sensor...
33 The infrared sensor iex> alias EV3.InfraredSensor, as: IR... iex> IR.proximity(ir) # Get proximity of obstacle as percent of range 62 iex> IR.seek_distance(ir, 1) # Get distance (as % of range) of beacon on channel 1 15 iex> IR.seek_heading(ir, 1) # Get heading of beacon on channel 1 (far left is 25) 12 iex> IR.remote_buttons(ir, 1) # What buttons were pushed on remote set to channel 1? %{blue: :down, red: :up}
34 The color sensor iex> alias EV3.ColorSensor, as: CS iex> color_sensor = CS.set_reflect_mode(color_sensor) reflected light detection mode # Set to %EV3.Device{class: :sensor, path: "/sys/class/lego sensor/sensor2", port: "in2", props: %{mode: "COL REFLECT"}, type: :color} iex> CS.reflected_light(color_sensor) # How much light is reflected from the sensor (in % of maximum)? 16 iex> CS.ambient_light(color_sensor) # How much ambient light is detected (in % of maximum)? 3 iex> :blue CS.color(color_sensor) # What color is detected?
35 The touch sensor iex> alias EV3.TouchSensor, as: TS... iex> TS.pressed? touch false iex> TS.released? touch true
36 I have a blog
37 Thank you! Next meetup Robotics with Elixir, part 2 Soul of a New Machine Programming autonomous robots with Elixir/OTP Processes, events, finite state machines, oh my!
ev3dev-lang Documentation
ev3dev-lang Documentation Release 1.0.0 The ev3dev team January 17, 2016 Contents 1 ev3dev Language Wrapper Specification 3 1.1 Classes.................................................. 4 1.2 Special
More informationev3dev-lang Documentation
ev3dev-lang Documentation Release 1.2.0 The ev3dev team Sep 20, 2017 Contents 1 ev3dev Language Wrapper Specification 3 1.1 Classes.................................................. 4 1.1.1 Device (abstract)........................................
More informationschool robotics On the path to success with Brault & Bouthillier Education
On the path to success with school robotics Robotics has been used in schools as a teaching tool for several years now. And right from the start, has always believed this innovative project could motivate,
More informationIntroduction to Robotics using Lego Mindstorms EV3
Introduction to Robotics using Lego Mindstorms EV3 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 informationControlling LEGO R EV3 robots with Prolog
Controlling LEGO R EV3 robots with Prolog Sibylle Schwarz, Mario Wenzel Hochschule für Technik, Wirtschaft und Kultur Leipzig Fakultät für Informatik, Mathematik und Naturwissenschaften {sibylle.schwarz,mario.wenzel}@htwk-leipzig.de
More informationProject from Real-Time Systems Lego Mindstorms EV3
Project from Real-Time Systems March 13, 2017 Lego Mindstorms manufactured by LEGO, http://mindstorms.lego.com extension of LEGO Technic line history: RCX, 1998 NXT, 2006; NXT 2.0, 2009 EV3, 2013 why LEGO?
More informationLEGO Mindstorm EV3 Robots
LEGO Mindstorm EV3 Robots Jian-Jia Chen Informatik 12 TU Dortmund Germany LEGO Mindstorm EV3 Robot - 2 - LEGO Mindstorm EV3 Components - 3 - LEGO Mindstorm EV3 Components motor 4 input ports (1, 2, 3,
More informationpython-ev3dev Documentation
python-ev3dev Documentation Release 1.0.0.post32 Ralph Hempel et al Oct 08, 2017 Contents 1 Getting Started 3 2 Usage Examples 5 2.1 Required: Import the library.......................................
More informationTutorial: Making Legobot Move Steering Command Brighton H.S Engineering By: Matthew Jourden
Tutorial: Making Legobot Move Steering Command Brighton H.S Engineering By: Matthew Jourden 1. Build Bas Robot. See Build Manual in the Lego Core Set Kit for details or Build Instructions Base Robot File
More informationcontents in detail introduction...xxi 1 LEGO and robots: a great combination the EV3 programming environment... 5
contents in detail introduction...xxi who this book is for...xxi prerequisites...xxi what to expect from this book...xxi how best to use this book...xxiii 1 LEGO and robots: a great combination... 1 LEGO
More informationRCX Tutorial. Commands Sensor Watchers Stack Controllers My Commands
RCX Tutorial Commands Sensor Watchers Stack Controllers My Commands The following is a list of commands available to you for programming the robot (See advanced below) On Turns motors (connected to ports
More informationCOPYRIGHTED MATERIAL. Introducing LEGO CHAPTER. Did you get a box that looks like the one shown in Figure 1-1?
CHAPTER 1 Introducing LEGO MINDSTORMS EV3 Did you get a box that looks like the one shown in Figure 1-1? COPYRIGHTED MATERIAL Figure 1-1: The LEGO MINDSTORMS EV3 set, item number 31313 1 2 Exploring LEGO
More informationpython-ev3dev Documentation
python-ev3dev Documentation Release 1.0.0.post51 Ralph Hempel et al Jan 12, 2018 Contents 1 Getting Started 3 2 Usage Examples 5 2.1 Required: Import the library.......................................
More informationBranching Error (a.k.a. the VM Program Instruction Break Error) By Sanjay and Arvind Seshan DEBUGGING LESSON
Branching Error (a.k.a. the VM Program Instruction Break Error) By Sanjay and Arvind Seshan DEBUGGING LESSON HISTORY We first encountered the VM Program Instruction Break error on our brick during the
More informationPart A: Monitoring the Rotational Sensors of the Motor
LEGO MINDSTORMS NXT Lab 1 This lab session is an introduction to the use of motors and rotational sensors for the Lego Mindstorm NXT. The first few parts of this exercise will introduce the use of the
More informationEV3Dev Lessons. Introduction to EV3Dev: Setup with Python
EV3Dev Lessons Introduction to EV3Dev: Setup with Python Objectives Learn how to install ev3dev on an EV3 Setup Visual Studio Code IDE Prerequisites: none Copyright EV3Lessons 2018 (Last Update: Aug. 9,
More informationIntroduction to Lab 2
Introduction to Lab 2 Programming LEGO Mindstorms NXT using Ada Jakaria Abdullah 12 September 2016 Jakaria Abdullah Lab 2: LEGO 12 September 2016 1 / 25 Lab 2: Programming LEGO Mindstorms using Ada Lab
More informationIntroduction to Lab 2
Introduction to Lab 2 Programming LEGO Mindstorms NXT using Ada Jakaria Abdullah 19 September 2017 Jakaria Abdullah Lab 2: LEGO 19 September 2017 1 / 24 Lab 2: Programming LEGO NXTs using Ada Lab goals:
More information2Control NXT FAQ For the latest version of this document please go to > support
2Control NXT FAQ For the latest version of this document please go to www.2simple.com > support Common Questions Q: Can I connect 2Control to the NXT brick without using a USB cable? A: No, 2Control requires
More information16-311: Getting Started with ROBOTC and the. LEGO Mindstorms NXT. Aurora Qian, Billy Zhu
16-311: Getting Started with ROBOTC and the LEGO Mindstorms NXT Aurora Qian, Billy Zhu May, 2016 Table of Contents 1. Download and Install 2. License Activation 3. Wireless Connection 4. Running Programs
More informationWhat is EV3DEV? Send commands to the EV3 Upload programs and run them on the EV3
PYTHON ON EV3DEV What is EV3DEV? A Linux-based operating system that runs on the Lego EV3 Runs from a microsd card Can run programs written in Python, Javascript, Java, Go, C++, C, and many others After
More informationPart A: Monitoring the Touch Sensor and Ultrasonic Sensor
LEGO MINDSTORMS NXT Lab 2 This lab introduces the touch sensor and ultrasonic sensor which are part of the Lego Mindstorms NXT kit. The ultrasonic sensor will be inspected to gain an understanding of its
More informationEV3 Programming Workshop for FLL Coaches
EV3 Programming Workshop for FLL Coaches Tony Ayad 2017 Outline This workshop is intended for FLL coaches who are interested in learning about Mindstorms EV3 programming language. Programming EV3 Controller
More informationRobolab. Table of Contents. St. Mary s School, Panama. Robotics. Ch. 5: Robolab, by: Ernesto E. Angulo J.
Robolab 5 Table of Contents Objectives...2 Starting the program...2 Programming...3 Downloading...8 Tools...9 Icons...9 Loops and jumps...11 Multiple tasks...12 Timers...12 Variables...14 Sensors...15
More informationEVShield Interface Specifications
EVShield Advanced Development Guide v1.0 EVShield Interface Specifications Power Specs: EVShield can be powered from external power supply. Max Power Rating: 10.5 Volts DC Minimum 6.6 Volts DC needed to
More informationOrganized by Jean-François Cloutier Held at Big Room Studios, Portland, ME. Holy Elixir, Batman! Meetup June 16, 2015
Organized by Jean-François Cloutier Held at Big Room Studios, Portland, ME Holy Elixir, Batman! Meetup June 16, 2015 A Sampling of Elixir's Superhero Powers Second Order Functions Pipes Pattern Matching
More informationHow to Use EV3Lessons
How to Use EV3Lessons By Sanjay and Arvind Seshan BEGINNER PROGRAMMING LESSON SITE OVERVIEW EV3Lessons.com provides the building blocks for successfully learning to program the LEGO MINDSTORMS EV3 We also
More informationEEL 5666C FALL Robot Name: DogBot. Author: Valerie Serluco. Date: December 08, Instructor(s): Dr. Arroyo. Dr. Schwartz. TA(s): Andrew Gray
EEL 5666C FALL 2015 Robot Name: DogBot Author: Valerie Serluco Date: December 08, 2015 Instructor(s): Dr. Arroyo Dr. Schwartz TA(s): Andrew Gray Jacob Easterling INTRODUCTION ABSTRACT One of the fun things
More informationAutonomous Parking. LEGOeducation.com/MINDSTORMS. Duration Minutes. Learning Objectives Students will: Di culty Beginner
Autonomous Parking Design cars that can park themselves safely without driver intervention. Learning Objectives Students will: Understand that algorithms are capable of carrying out a series of instructions
More informationLEGO mindstorm robots
LEGO mindstorm robots Peter Marwedel Informatik 12 TU Dortmund Germany Lego Mindstorm components motor 3 output ports (A, B, C) 1 USB port for software upload 4 input ports (1, 2, 3, 4) for connecting
More informationAddendum to Mr. Robot
Addendum to Mr. Robot Addendum to Mr. Robot build instructions on how to attach the new LEGO EV3 programmable brick to Mr. Robot. The LEGO NXT Brick has been replaced by the EV3 Brick. Mr. Robot now ships
More informationAuthor: Paul Zenden. Hot-or-Not Elixir with José Valim
Author: Paul Zenden Hot-or-Not Elixir with José Valim > > elixir with {:ok, : José Valim }
More informationRobotics Study Material School Level 1 Semester 2
Robotics Study Material School Level 1 Semester 2 Contents UNIT-3... 4 NXT-PROGRAMMING... 4 CHAPTER-1... 5 NXT- PROGRAMMING... 5 CHAPTER-2... 6 NXT-BRICK PROGRAMMING... 6 A. Multiple choice questions:...
More informationThis page outlines some of the alternate pieces that can be used for building.
Artbotics Exploring Mechanisms with Lego Mindstorms EV3 This packet contains information on each mechanism you will be using, including a to-scale image of all of the pieces needed to build each one and
More informationRobotics II. Module 5: Creating Custom Made Blocks (My Blocks)
Robotics II Module 5: Creating Custom Made Blocks (My Blocks) PREPARED BY Academic Services Unit December 2011 Applied Technology High Schools, 2011 Module 5: Creating Custom Made Blocks (My Blocks) Module
More informationPrototype Prolog API for Mindstorms NXT
Prototype Prolog API for Mindstorms NXT Grzegorz J. Nalepa 1 Institute of Automatics, AGH University of Science and Technology, Al. Mickiewicza 30, 30-059 Kraków, Poland gjn@agh.edu.pl Abstract. The paper
More informationWIZ-PRO2 CURRICULUM HIGHLIGHTS
WIZ-PRO2 CURRICULUM HIGHLIGHTS STEM Learning and Advanced Robotics (ages 9-11) Develop more advanced programming skills, create programs using lines of code in Scratch, use more powerful robotics components
More informationComputer science Science Technology Engineering Math. LEGOeducation.com/MINDSTORMS
User Guide πr Computer science Science Technology Engineering Math LEGOeducation.com/MINDSTORMS Table of Contents Introduction + Welcome... 3 EV3 Technology + overview.... 4 + EV3 Brick.... 5 Overview...
More informationSome call it a robot. EV3 Programming APP Available March Locally operated globally connected. Freecall:
Some call it a robot We call it a MOTIVATOR EV3 Programming APP Available March 2015 Computer science Science Technology Engineering Maths Locally operated globally connected Freecall: 1800 684 068 www.mooreed.com.au
More informationTETRIX DC Motor Expansion Controller Technical Guide
TETRIX DC Motor Expansion Controller Technical Guide 44559 Content advising by Paul Uttley. SolidWorks Composer and KeyShot renderings by Tim Lankford, Brian Eckelberry, and Jason Redd. Desktop publishing
More informationTETRIX PRIZM Robotics Controller Quick-Start Guide and Specifications
TETRIX PRIZM Robotics Controller Quick-Start Guide and Specifications 43167 Content advising by Paul Uttley. SolidWorks Composer renderings by Tim Lankford and Brian Eckelberry. Desktop publishing by Todd
More informationTABLE OF CONTENTS. LEGO.com/mindstorms. Introduction + Welcome... 3
User Guide TABLE OF CONTENTS Introduction + Welcome... 3 Technology + Overview... 4 + Brick... 5 Overview... 5 Installing Batteries... 8 Turning On the Brick... 9 + Motors... 10 Large Motor... 10 Medium
More informationpython-ev3dev Documentation
python-ev3dev Documentation Release 1.1.1 Ralph Hempel et al Jan 08, 2018 Contents 1 Getting Started 3 2 Usage Examples 5 2.1 Required: Import the library....................................... 5 2.2
More informationLME Software Block Quick Reference 1. Common Palette
LME Software Block Quick Reference Common Palette Move Block Use this block to set your robot to go forwards or backwards in a straight line or to turn by following a curve. Define how far your robot will
More informationlab A.3: introduction to RoboLab vocabulary materials cc30.03 Brooklyn College, CUNY c 2006 Name: RoboLab communication tower canvas icon
cc30.03 Brooklyn College, CUNY c 2006 lab A.3: introduction to RoboLab Name: vocabulary RoboLab communication tower canvas icon drag-and-drop function palette tools palette program algorithm syntax error
More informationROBOLAB Tutorial MAE 1170, Fall 2009
ROBOLAB Tutorial MAE 1170, Fall 2009 (I) Starting Out We will be using ROBOLAB 2.5, a GUI-based programming system, to program robots built using the Lego Mindstorms Kit. The brain of the robot is a microprocessor
More informationGeneral Description. The TETRIX MAX DC Motor Expansion Controller features the following:
General Description The TETRIX MAX DC Motor Expansion Controller is a DC motor expansion peripheral designed to allow the addition of multiple DC motors to the PRIZM Robotics Controller. The device provides
More informationRobotics II. Module 2: Application of Data Programming Blocks
Robotics II Module 2: Application of Data Programming Blocks PREPARED BY Academic Services Unit December 2011 Applied Technology High Schools, 2011 Module 2: Application of Data Programming Blocks Module
More informationRobotics II. Module 4: Bluetooth Communication
Robotics II PREPARED BY Academic Services Unit December 2011 Applied Technology High Schools, 2011 Module Objectives Upon successful completion of this module, students should be able to: Set up a Bluetooth
More informationIn groups take a Mindstorms kit and decide on what sort of chassis will work best.
Robotics 2b Lego Mindstorm EV3 Body Building What we re going to do in the session. Build our robot s chassis Test it with some basic programming blocks Modify the chassis if necessary Designing a Chassis
More informationBEGINNER PROGRAMMING LESSON
Introduction to the NXT Brick and Software By Sanjay and Arvind Seshan BEGINNER PROGRAMMING LESSON LESSON OBJECTIVES 1. Learn how the NXT brick operates 2. Learn about the main components of the EV3 software
More informationRobotC Basics. FTC Team 2843 SSI Robotics October 6, 2012 Capitol College FTC Workshop
RobotC Basics FTC Team 2843 SSI Robotics October 6, 2012 Capitol College FTC Workshop Agenda The Brick Sample Setup Template Multi Click Program Cancel Configuration (Pragmas) Joystick Data (get data)
More informationWhat is NXTCam5. What you will need before using NXTCam5. NXTCam5 User Guide
NXTCam5 User Guide What is NXTCam5 NXTCam5 is a real-time image processing engine. Think of it as a vision sub-system with on-board processor and a protocol interface that is accessible through a standard
More informationTETRIX PRIZM Robotics Controller Quick-Start Guide and Specifications
TETRIX PRIZM Robotics Controller Quick-Start Guide and Specifications 43167 Content advising by Paul Uttley. SolidWorks Composer renderings by Tim Lankford and Brian Eckelberry. Desktop publishing by Todd
More informationUnit 03 Tutorial 3: Sensors: Touch Sensor Brighton H.S Engineering By: Matthew Jourden
Unit 03 Tutorial 3: Sensors: Touch Sensor Brighton H.S Engineering By: Matthew Jourden Robots have a variety of sensors that help the machine sense the world around it. We will be looking at four different
More informationwhat is an algorithm? analysis of algorithms classic algorithm example: search
event-driven programming algorithms event-driven programming conditional execution robots and agents resources: cc3.12/cis1.0 computing: nature, power and limits robotics applications fall 2007 lecture
More informationRobotics II. Module 1: Introduction to Data & Advanced Programming Blocks
Robotics II Module 1: Introduction to Data & Advanced Programming Blocks PREPARED BY Academic Services Unit December 2011 Applied Technology High Schools, 2011 Module 1: Introduction to Data & Advanced
More informationLego MINDSTORMS NXT Problem Solving with Robots [PRSOCO601]
Lego MINDSTORMS NXT Problem Solving with Robots [PRSOCO601] Thomas Devine http://noucamp thomas.devine@lyit.ie January 29, 2008 1 Contents 1 A Brief History of MINDSTORMS 4 2 Discovering the MINDSTORMS
More informationindex Symbols < (Compare block in Less Than mode), 98 (Compare block in Less Than or Equal To mode), degree coupled gears, 115,
index Symbols + (addition, using the Math block in Add mode), 92 / (division, using the Math block in Divide mode), 92 93 * (multiplication, using the Math block in Multiply mode), 92 (subtraction, using
More informationDigital Devices in the Digital Technologies curriculum (F-10) Steve Allen VCAA Digital Coding Specialist Teacher
Digital Devices in the Digital Technologies curriculum (F-10) Steve Allen VCAA Digital Coding Specialist Teacher A digital system that students can program: create an algorithm accept user input store
More informationHands-on Lab: LabVIEW Angle Sensor
Hands-on Lab: LabVIEW Angle Sensor Third party vendors like Hi Technic, offer a range of sensors. One example is the angle sensor, and LabVIEW LEGO Mindstorms has a control block for it. This lab will
More informationTech Tips. BeeBots. WeDo
Tech Tips Teachers, especially classroom teachers who are implementing a robotics unit in their classroom, may not have much troubleshooting experience and may not have ready access to tech support. As
More informationProject Proposal. Mark John Swaine. Supervisor: Dr. Karen Bradshaw. Department of Computer Science, Rhodes University
Project Proposal Mark John Swaine Supervisor: Dr. Karen Bradshaw Department of Computer Science, Rhodes University 2 March 2009 1. Principle Investigator Mark John Swaine 4 Huntley House, 28 Hill Street
More informationPowered by LEGO MINDSTORMS Education
With the greatest challenge you ll have is getting your students to leave the classroom! So ignite student s engagement and energize learning through real-life problem solving with LEGO MINDSTORMS Education
More informationRobotics with Lego EV3 + MS Makecode. Andrea Sterbini
Robotics with Lego Andrea Sterbini sterbini@di.uniroma1.it Microsoft Makecode.com Many development systems supported (embedded/robotics/game) micro:bit Adafruit Minecraft Lego EV3 Cue Arcade Chibi chip
More informationCS283: Robotics Fall 2016: Software
CS283: Robotics Fall 2016: Software Sören Schwertfeger / 师泽仁 ShanghaiTech University Mobile Robotics ShanghaiTech University - SIST - 18.09.2016 2 Review Definition Robot: A machine capable of performing
More informationStyx-on-a-Brick. Chris Locke Vita Nuova June 2000
Background Styx-on-a-Brick Chris Locke chris@vitanuova.com Vita Nuova June 2000 The aim of the Vita-Nuova styx-on-a-brick project was to demonstrate the simplicity of the Styx protocol and the ease with
More informationWhat Is a Program? Pre-Quiz
What Is a Program? What Is a Program? Pre-Quiz 1. What is a program? 2. What is an algorithm? Give an example. 2 What Is a Program? Pre-Quiz Answers 1. What is a program? A program is a sequence of instructions
More informationEmbedded Elixir. Elixir Taiwan Meetup July 25, 2016 Jake Morrison
Embedded Elixir Elixir Taiwan Meetup July 25, 2016 Jake Morrison What is Embedded Programming? Systems that interact with the physical world Resource constrained systems Machines controlled
More informationUS Version USER GUIDE COMPUTER SCIENCE SCIENCE TECHNOLOGY ENGINEERING MATH. LEGOeducation.com/MINDSTORMS
US Version 1.3.2 USER GUIDE πr COMPUTER SCIENCE SCIENCE TECHNOLOGY ENGINEERING MATH LEGOeducation.com/MINDSTORMS TABLE OF CONTENTS INTRODUCTION + Welcome... 3 + How to Use This Guide... 4 + Help... 5 EV3
More informationPROGRAMMING ROBOTS AN ABSTRACT VIEW
ROBOTICS AND AUTONOMOUS SYSTEMS Simon Parsons Department of Computer Science University of Liverpool LECTURE 3 comp329-2013-parsons-lect03 2/50 Today Before the labs start on Monday, we will look a bit
More informationThe Lego Mindstorms Ev3 Discovery Book Full Color A Beginners Guide To Building And Programming Robots
The Lego Mindstorms Ev3 Discovery Book Full Color A Beginners Guide To Building And Programming Robots We have made it easy for you to find a PDF Ebooks without any digging. And by having access to our
More informationInstruction Manual for BE-SP3 Circuit. 10/21/07
Page 1 of 54 Instruction Manual for BE-SP3 Circuit. 10/21/07 Page 1 Index: Page 2 BE-SP3 Circuit Specifications. Page 3-4 Intro to the BE-SP3. Page 5 Basics of serial to parallel. Page 6-7 ASCII Code.
More informationDon t Bump into Me! Pre-Quiz
Don t Bump into Me! Don t Bump into Me! Pre-Quiz 1. How do bats sense distance? 2. Describe how bats sense distance in a stimulus-sensor-coordinator-effectorresponse framework. 2. Provide an example stimulus-sensorcoordinator-effector-response
More informationFinal Report. [Establish User Requirements] User must be able to press the run button on the robot, as well as use the NQC software.
Team 3 David Letteer Greg Broadwell Kathryn della Porta BE 1200 Basic Engineering Final Report Final Report [Clarify Objectives] Design, build, and program a robot that will acknowledge the presence of
More informationIntroduction: What is NXT-G?
NXTG Page 1 Introduction: What is NXTG? Saturday, August 22, 2009 11:59 PM Welcome to the wonderful world of graphical programming for Lego Robotic Systems! Before you are introduced to any actual code,
More informationThe Lego Mindstorms Ev3 Discovery Book Full Color A Beginners Guide To Building And Programming Robots
The Lego Mindstorms Ev3 Discovery Book Full Color A Beginners Guide To Building And Programming Robots THE LEGO MINDSTORMS EV3 DISCOVERY BOOK FULL COLOR A BEGINNERS GUIDE TO BUILDING AND PROGRAMMING ROBOTS
More informationDebugging Applications in Pervasive Computing
Debugging Applications in Pervasive Computing Larry May 1, 2006 SMA 5508; MIT 6.883 1 Outline Video of Speech Controlled Animation Survey of approaches to debugging Turning bugs into features Speech recognition
More informationLoops and Switches Pre-Quiz
Loops and Switches Loops and Switches Pre-Quiz 1. What kind of blocks are these? 2. Name two kinds of controls that can be specified to determine how long a loop repeats. 3. Give an example of a program
More informationChapter 19 Assembly Modeling with the TETRIX by Pitsco Building System Autodesk Inventor
Tools for Design Using AutoCAD and Autodesk Inventor 19-1 Chapter 19 Assembly Modeling with the TETRIX by Pitsco Building System Autodesk Inventor Create and Use Subassemblies in Assemblies Creating an
More informationToday. Robotics and Autonomous Systems. The scenario (again) Basic control loop
Today Robotics and Autonomous Systems Lecture 3 Programming robots Richard Williams Department of Computer Science University of Liverpool Before the labs start on Monday, we will look a bit at programming
More informationProgramming Low-Cost Hardware Using Simulink Brian McKay MathWorks Technical Marketing
Programming Low-Cost Hardware Using Simulink Brian McKay MathWorks Technical Marketing 2014 The MathWorks, Inc. Simulink Support for Low-Cost Hardware What does that mean? Simulink supports a selection
More informationSection 3 Board Experiments
Section 3 Board Experiments Section Overview These experiments are intended to show some of the application possibilities of the Mechatronics board. The application examples are broken into groups based
More informationThread Synchronization: Too Much Milk
Thread Synchronization: Too Much Milk 1 Implementing Critical Sections in Software Hard The following example will demonstrate the difficulty of providing mutual exclusion with memory reads and writes
More informationHands-on Lab. Lego Programming BricxCC Basics
Hands-on Lab Lego Programming BricxCC Basics This lab reviews the installation of BricxCC and introduces a C-like programming environment (called NXC) for the Lego NXT system. Specific concepts include:
More informationHookingupacomputertothe3-wireSimplicity bus.
Simplicity Hookingupacomputertothe3-wireSimplicity bus. Purpose OneofthemajoradvantagesoftheSimplicity control is its ability to be connected to a computer. The computer can be used to modify the control
More informationLab 2 Programming LEGO Mindstorms NXT. Jakaria Abdullah 19 September 2018
Lab 2 Programming LEGO Mindstorms NXT Jakaria Abdullah 19 September 2018 Lab Overview Lab goals Real-time programming on an embedded device Problem solving using real-time tasks Schedule Slot 1: 20.9.18
More informationWhat is NXTCam. NXTCam Feature List. What you will need before using NXTCam. NXTCam v2 User Guide
NXTCam v2 User Guide What is NXTCam NXTCam is a real-time image processing engine. Think of it as a vision sub-system with on-board processor and a protocol interface that is accessible through a standard
More informationThe Actor Model, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 18 10/23/2014
The Actor Model, Part Two CSCI 5828: Foundations of Software Engineering Lecture 18 10/23/2014 1 Goals Cover the material presented in Chapter 5, of our concurrency textbook In particular, the material
More informationpython-ev3dev Documentation
python-ev3dev Documentation Release 0.7.0.post23 Ralph Hempel et al October 25, 2016 Contents 1 Getting Started 3 2 Usage Examples 5 2.1 Required: Import the library.......................................
More informationRobot Design Hardware
NanoGiants Academy e.v. Robot Design Hardware 2017 NanoGiants Academy e.v. 1 This Presentation is one of four about FLL Robot Design Hardware Navigation Software Strategy http://nano-giants.net/robot-design
More informationRobotics 2c. The Programming Interface
Robotics 2c What we re going to do in this session. Introduce you to the Lego Mindstorm Programming Interface. The Programming Interface The Lego Mindstorm EV3 kit uses a proprietary interface with its
More informationRobot Practical Course
64-272 Robot Practical Course http://tams-www.informatik.uni-hamburg.de/ lectures/2013ss/praktikum/robot_practical_course/ Manfred Grove, Ben Adler University of Hamburg Faculty of Mathematics, Informatics
More informationIntroduction to Lab 2
Introduction to Lab 2 Programming in RTOS on LEGO Mindstorms Jakaria Abdullah 9 September 2015 Jakaria Abdullah Lab 2: LEGO 9 September 2015 1 / 21 Lab 2: Programming in RTOS using LEGO Mindstorms Lab
More informationThis is an inspection failure, not meeting the requirement of >10k Ohm between either PD battery post and chassis.
Troubleshooting This is a document put together by CSA Laura Rhodes that contains a lot of information about troubleshooting steps for a lot of common control system problems encountered at events. No
More informationINTRODUCTION TO ARTIFICIAL INTELLIGENCE
DATA15001 INTRODUCTION TO ARTIFICIAL INTELLIGENCE THE FINAL EPISODE (11): ROBOTICS TODAY S MENU 1. "GRAND CHALLENGE" 2. LEGO MIND- STORMS 3. ROBO WORKSHOPS ROBOTICS AS A "GRAND CHALLENGE" OF AI actuators:
More informationintroduction to RoboCupJunior Rescue vocabulary materials
robotics.edu agents lab, Brooklyn College, CUNY c 2007 http://agents.sci.brooklyn.cuny.edu/robotics.edu introduction to RoboCupJunior Rescue Name: vocabulary task multi-tasking hardware conflicts obstacle
More informationTeam Project: A Surveillant Robot System
Team Project: A Surveillant Robot System Status Report : 04/05/2005 Little Red Team Chankyu Park (Michael) Seonah Lee (Sarah) Qingyuan Shi (Lisa) Chengzhou Li JunMei Li Kai Lin Agenda Problems Team meeting
More informationComparison Between Different Abstraction Level Programming: Experiment Definition and Initial Results
Comparison Between Different Abstraction Level Programming: Experiment Definition and Initial Results Janne Merilinna and Juha Pärssinen VTT Technical Research Centre of Finland, P.O. Box 1000, 02044 Espoo,
More informationIntroduction to Lab 2
Introduction to Lab 2 Programming in RTOS using LEGO Mindstorms Martin Stigge 9. November 2009 Martin Stigge Lab 2: LEGO 9. November 2009 1 / 20 Lab 2:
More information