1 Lab+Hwk 3: Introduction to the Webots Robotics Simulation Software

Size: px
Start display at page:

Download "1 Lab+Hwk 3: Introduction to the Webots Robotics Simulation Software"

Transcription

1 1 Lab+Hwk 3: Introduction to the Webots Robotics Simulation Software This laboratory requires the following software (pre-installed in BC07/08): C development tools (gcc, make). Webots simulation software. The laboratory duration is about 3 hours. Homework will be due on the 7 th day after your lab session, at 12 noon. Please format your solution as a PDF file with the name [name]_lab[#].pdf, where [name] is your account user name and [#] is the number of the lab+homework assignment, and upload it as the Report submission onto the student section of the course webpage. All additional material (movies, code, and any other relevant files) should be archived as a zip file with the name [name]_lab[#].tgz (hint: tar cvzf [name]_lab[#].tgz [directory]) and uploaded as the Additional Material submission onto the student section of the course webpage. Every misnamed file will result in a 1 point penalty to your assignment grade. Keep in mind that no late solutions will be accepted unless supported by health reasons (and a note from the doctor). If there are extreme circumstances which will prevent you from attending a particular lab session, it may be possible to make arrangements with the TAs before the lab in question takes place. The more advance notice you can give in these situations, the more likely it is that we will be able to work something out. 1.1 Grading In the following text you will find several exercises and questions. The notation S means that a simulation is necessary; you are not required to write or produce anything for these questions. The notation Q x means that the question can be answered theoretically, or based on the previous simulation (S); your answers to these questions must be submitted in your Report. The length of answers should be approximately two sentences unless otherwise noted. The notation I x means that the problem has to be solved by implementing a piece of code and performing a simulation; the code written for these questions must be submitted in your Additional Material. Please use this notation in your answer file! 1.2 The e-puck The e-puck is a miniature mobile robot developed to perform desktop experiments for educational purposes. Figure 1-1 shows a close-up of the e-puck robot.more information about the e-puck project is available at The e-puck distinguishing characteristic is its small size (7 cm in diameter). Other basic features are: significant processing power (dspic 30F6014 from Microchip running at 30 MHz), programmable using the standard gcc compilation tools, energetic autonomy of about 2-3 hours of intensive use (with no additional turrets), an extension bus, a belt of eight light and proximity sensors, a 3 axis accelerometer, three YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 1

2 microphones, a speaker, a color camera with a resolution of 640x480 pixels, 8 red leds placed around the robot and a bluetooth interface to communicate with a host computer. The wheels are controlled by two miniature step motors, and can rotate in both directions. Figure 1-1: Close-up of an e-puck robot. The simple geometrical shape and the positioning of the motors allow the e-puck to negotiate any kind of obstacle or corner. Modularity is another characteristic of the e-puck robot. Each robot can be extended by adding a variety of modules. For instance, some other labs in the Swarm Intelligence course make use of a dedicated ZigBee communication module. A follow-up lab on the real e-puck (next week) will allow you to further understand the e-puck hardware platform. The e-puck robot can be simulated in the Webots simulator, as shown in Figure 1-2. The current version of the simulated model can simulate the differential wheels system with physics (including friction, capability to push objects, etc.), and the distance sensors. This model will be further refined to represent more of the e-puck functionalities. Figure 1-2: Webots simulation of the e-puck robot. YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 2

3 1.3 Webots Webots is a fast prototyping and simulation software developed by Cyberbotics Ltd., a spin-off company from the. Webots allows the experimenter to design, program and simulate virtual robots which act and sense in a 3D world. Then, the robots controllers can be transferred to real robots (see Figure 1-3). Webots can either simulate the physics of the world and robots (nonlinear friction, slipping, mass distribution, etc.) or simply the kinematic laws. The choice of the level of simulation is a trade-off between simulation speed and simulation realism. However, in any case all sensors and actuators are affected by a realistic amount of noise so that the transfer from simulation to the use of real robot controllers is usually very smooth. Webots can simulate any type of robots, including wheeled, legged, flying and swimming robots. Several examples are included in the Webots distribution and Guided Tour. During this laboratory we will perform experiments only with the e- puck models. Webots Scene Tree editor allows one to design and place several types of objects in the environment. Figure 1-3: Overview of Webots principles. A very useful feature of the Webots simulator, in particular for multiple-robot experiments, is the way supervisor modules are implemented. A supervisor module is a program similar to a robot controller module. However, such a program is not associated with a given robot but rather with the whole simulation world. The supervisor module is able to get information from robots about their internal (control flag, sensor data, etc) and external variables (position, orientation, etc), and also from some objects in the world such as balls. Supervisor modules can be used for: YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 3

4 Monitoring of experimental data (e.g., reading the robot trajectories); Controlling experimental parameters, (e.g., resetting the robot positions); Defining new virtual sensors. Controller and supervisor modules are programmed in C, C++ or Java. For this lab we will use C exclusively. 2 Webots mini-tutorial At the begininning of your lab session you will go through a mini-tutorial that introduces you to Webots' user interface. First you need to download the lab package from the course webpage, please follow these steps: 1. Dowload the webots-lab3.tgz file from the WEEK 5 section of the course's Moodle site, to the directory of your choice. 2. Extract the file with this command: tar xvzf webots-lab3.tgz 2.1 Starting Webots 1. Launch Webots from a terminal by entering this command: webots & 2. If you're openning Webots for the first time, the About Webots and Guided Tour windows will pop up: you can discard them. 3. Using Webots File/Open... menu, open the e-puck.wbt file from the webotslab3/worlds directory structure that was just created. 4. At this point the e-puck model should appear in Webots main window. 5. Now you can hit the Run button and the e-puck robot will start moving. 6. The rays of the proximity sensors can be displayed in Webots. Please switch on this feature using the menu: Edit->Preferences->Rendering tab->display sensor rays. You can Stop, Run and Revert the simulation with the corresponding buttons in Webots' toolbar. Please do try all these buttons: Revert: Reload the world (.wbt) file and restarts the simulation from the beginning Step: Go one simulation step forward Stop: Stop at the current simulation step Run: Run the simulation Fast: Run the simulation at the maximal CPU speed (OpenGL rendering is disabled for better performance) At the bottom of Webots 3D window you will see two numerical indicators (see Figure 4): The left indicator (0:00:08:768) shows the simulation elapsed time as Hours:Minutes:Seconds:Milliseconds. Note that this is simulated time (not the wall clock time), it stops when the simulation is stopped. Figure 4: Elapsed time indicator and speedometer The right indicator (4.16x) is the speedometer which indicates how fast the simulation is currently running with respect to real time (wall clock time). See how YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 4

5 the elapsed time and speedometer are affected by the simulation Run, Stop and Fast buttons. 2.2 Manipulating objects Learn how to navigate in the 3D view using the mouse: Try all the mouse buttons and wheel while dragging the mouse. It is also possible to manipulate objects with the mouse: This can be done while the simulation is stopped or running. In order to move an object: first select the object and then: For translation: hold down the shift key and the left mouse button to shift the object in the xz-plane (parallel to the ground). For rotation: hold down the shift key and the right mouse button to rotate the object around its rotation axis. For lift: hold down the shift key and press simultaneously the left and right mouse buttons (or the middle button), and drag the mouse up and down to lift and lower the object (Alternatively you can also use the mouse wheel). Try to translate / rotate / lift the e-puck robot and the obstacles both while the simulation is running and stopped. 3 Getting familiar with Webots This lab consists of several modules. We will start by programming a simple obstacle avoidance behavior for a single robot. We will then move to more complex collective behaviors that can help you to get insights for solving the homework problems. 3.1 Simple obstacle avoidance The current e-puck behaviour is controlled by a controller program written in C. The program source code can be edited like this: 1. Press Ctrl-T to open Webots Scene Tree (if not already opened). 2. In the Scene Tree : expand the DEF E_PUCK DifferentialWheels node. 3. Scroll down and select the controller e-puck field. 4. Hit the Edit button: this opens the controller's code (e-puck.c) in Webots' editor, the file looks like this: webots-lab3/controllers/e-puck/e-puck.c: #include <device/robot.h> #include <device/differential_wheels.h> #include <device/distance_sensor.h> #define NB_SENSORS 8 #define TIME_STEP 64 DeviceTag ps[nb_sensors]; static void reset(void) { int i; char name[4]="ps0"; for(i=0;i<nb_sensors;i++) { ps[i]=robot_get_device(name); /* get a handler to the sensor */ /* perform distance measurements every TIME_STEP millisecond */ distance_sensor_enable(ps[i],time_step); name[2]++; /* increase the device name to "ps1", "ps2", etc. */ } } YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 5

6 static int run(int ms) { int v; v = distance_sensor_get_value(ps[0]); /* range: 0 (far) to 4095 (close) */ robot_console_printf("v=%d\n",v); if (v>512) { /* we detected an obstacle with this sensor */ differential_wheels_set_speed(400,-400); /* spin round */ return 1280; /* run for 1280 milliseconds */ } else { differential_wheels_set_speed(600,600); /* advance, slightly turning */ return 64; /* run for 64 milliseconds. */ } } int main() { robot_live(reset); /* initialization */ robot_run(run); /* starts the controller */ return 0; } Remark: Such a controller program, once compiled and linked, cannot be run from a shell like a standard C program in UNIX. It has to be launched within the Figure 5: E-puck proximity sensors simulator because there is communication with Webots through pipes. Examine the code carefully: The distance sensors in the e-puck.c file corresponds to those indicated in Figure 5. For example, ps0 in the code corresponds to IR0 in the figure, ps1 in the code corresponds to IR1 in the figure, etc. Note that sensor numbers increment going clockwise; ps0 and ps7 are at the front. In the code, the function distance_sensor_enable() initializes the e- puck sensors. The function distance_sensor_get_value() reads the sensors values while differential_wheels_set_speed() sends commands to the wheel motors (actuators). The user-defined run() function is called repeatedly by Webots; this function implements one step of simulation. The duration of the step will correspond to the returned value in milliseconds (in this example 64 or 1280 milliseconds). You can find more information on these function in Webots Reference Manual which can be opened using the menu: Help->Reference Manual. In this exercise will have to implement your own controller as a replacement for the current e-puck controller. Your controller will be named obstacle, it can be created by copying the e-puck controller. In a terminal do this: $ cd webots-lab3/controllers $ mkdir obstacle $ cp e-puck/e-puck.c obstacle/obstacle.c $ cp e-puck/makefile obstacle/makefile YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 6

7 Note that with Webots, each controller must be placed in its own directory and that the directory name and the source file name must correpond (e.g., the directory xyz-controller contains the file xyz-controller.c). Furthermore, each controller directory must also contain a copy of the controller Makefile. From now on, each time we ask you to save your controller we will implicitely assume that you also create the corresponding directory and copy the Makefile as explained above. Now open the obstacle.c file in Webots editor, then hit the Make button of the editor to compile obstacle.c. At this point obstacle.c should compile without problem because it is just a copy of the original e-puck.c. If compilation fails ask for assistance. Now Webots must be told to use the newly created obstacle controller, proceed as follows: 1. If the simulation is running stop it by pushing the Stop button 2. Push the Revert button 3. Open the Scene Tree window (if closed) with Ctrl-T. 4. In the scene tree : expand the DEF E_PUCK DifferentialWheels node. 5. Scroll down a bit and select the field: controller e-puck 6. Hit the [...] button and choose the obstacle controller from the list: Now, you should have: controller obstacle 7. Then save your world as obstacle.wbt. Finally, you can push the Run button to execute the simulation with the new obstacle controller. At this point the obstacle controller must behave like the epuck controller. Now you can start answering the lab questions: I 1 (10): As you may have noticed, the original e-puck.c controller does not allow the robot to avoid obstacles very well. Now, you must modify obstacle.c so that your robot is capable of avoiding any type of obstacle in any maze. Hint: implement an appropriate perception-to-action loop by starting with the 2 central sensors on the front and then exploiting all the 8 available proximity sensors. Test the performance of your obstacle avoidance algorithm. Try to keep your solution simple and reactive. Save you changes in obstacle.c and your world as obstacle.wbt. S: Open the u_obstacle.wbt world which contains a long, narrow corridor that has a dead end. The robot can detect both walls simultaneously. Change the robot controller to your obstacle controller, save and run the world. Q 2 (5): What happens when the robot tries to avoid obstacles here? If obstacle avoidance still works, what types of controllers might have trouble here. If it doesn t work, how could the controller be modified to work properly? I 3 (5): In the same way that you created the obstacle.c controller, now create a new controller named u_obstacle.c that allows the robot to escape from a U- obstacle (if it could already, you can keep the same code). Be sure you save your new program in u_obstacle.c. S: Test the robustness of your program again by painting all the walls of the U- obstacle maze (u_obstacle.wbt) in black first, and then in white. Hint: remove the texture and change the color of 3 objects in the Scene Tree: reset/delete DEF U_{...}_SOLID -> children -> Shape -> Appearance -> ImageTexture modify DEF U_{...}_SOLID -> children -> Shape -> Appearance-> Material -> diffusecolor YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 7

8 Q 4 (5): What happens? How does the color affect the obstacle avoidance behavior of the robot? S: Now test the effectiveness of your u_obstacle.c controller in the presence of other robots. Open the multi_obstacle.wbt world which contains five e- pucks, change the five controllers to u_obstacle, then save and run the world. Q 5 (10): What happens? What are the additional difficulties involved in avoiding other robots (list at least two)? Q 6 (5): Do you have an idea how a proximity sensor works and how could it be implemented from a hardware point of view? 3.2 Braitenberg vehicles Valentino Braitenberg presented in his book Vehicles: Experiments in Synthetic Psychology (The MIT Press, 1984) several interesting ideas for developing simple, reactive control architectures and obtaining several different behaviors. These types of architectures are also called proximal because they tightly couple sensors to actuators at the lowest possible level (proximal to the hardware). Conversely, distal architectures imply the presence of at least one additional layer between sensors and actuators, a layer which could consist for instance of basic behaviors, based on a priori knowledge which the programmer wants to give the robot. light sensors motors a 2b 3a 3b Figure 2-6: Four Braitenberg vehicles. The numbering corresponds to the original one used by Braitenberg. Plus signs correspond to excitatory connections, minus signs to inhibitory ones. Vehicle 2a avoids light by accelerating away from it. Vehicle 2b exhibits a light approaching and following behavior, accelerating more and more as approaches the source. Vehicle 3a approaches light but brakes and stops in front of it. Finally, vehicle 3b avoids light by braking and accelerating away toward darker areas. In this lab, we want to see what we can achieve if robots are programmed as Braitenberg vehicles. Figure 2-6 shows four different Braitenberg vehicles. Q 7 (5): Which vehicle should you implement for avoiding obstacles? I 8 (5): Implement the controller requested in step I 1 using Braitenberg principle on distance sensors (and not light sensors) and exclusively using a linear perception-to action map (i.e., essentially a 8x2 coefficient matrix). Create a new controller and save it as braiten.c. Q 9 (5): What are the difficulties of designing such a controller? What are the differences between one of the vehicles proposed by Braitenberg and the controller you implemented in I 1 (obstacle.c) and in I 3 (u_obstacle.c)? S: Run obstacle avoidance experiments with the provided worlds that contains 1, 5 and 10 e-pucks robots. The robot models in e-puck_physics_1x.wbt, e- puck_physics_5x.wbt, and e-puck_physics_10x.wbt use dynamic (physicsbased) simulation type. The ones provided in e-puck_kinematic_1x.wbt, e- YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 8

9 puck_kinematic_5x.wbt and e-puck_kinematic_10x.wbt use kinematic simulation. The ones provided in e-puck-2d_1x.wbt, e-puck_2d_5x.wbt and e-puck_2d_10x.wbt use a 2D simulation engine (Enki). Q 10 (5): What is the difference in term of simulator performance when running these different types of simulation in Fast mode (without 3D display)? 4 Hwk: More insight in Webots 4.1 Understanding distance sensor modeling in Webots In Webots, the behavior of distance sensor is modeled by computing the intersection between a ray cast from the center of the sensor and directed according to the orientation of the sensor (rotation field of the DistanceSensor node). For each sensor a lookup table is used to determine the answer of the sensor according to the distance to the obstacle. This also defines implicitly the range of the sensor. This lookup table includes the return values as well as the noise level for a number of distances entries. A linear extrapolation is performed on this lookup table to compute the answer (value and noise) for a given measurement. You will find more information about the modelling of the DistanceSensor in Webots Reference Manual (Chapter 2, Section 15). Be sure you understood the principle of the distance sensor before going further: Q 11 (5): As you may have noticed, a special case is made for infra-red distance sensor, since their behavior depends on the color of the objects. How does one mark a distance sensor to be an infra-red sensor? How do object colors influence the answer of such infra-red sensors? Q 12 (5): Look at the DistanceSensor nodes used to simulate the sensors of the e- puck robot. How many entries are contained in the lookup table? What is the maximum range of the sensors? Modeling a distance sensor with a single ray casting may be a bad approximation for sensors with a wide field of view, as the sensors of the e-puck robot. In most cases, such an approximation is sufficient and provides a fast simulation speed, but in some cases, it may be desirable to have a better sensor modeling. In order to improve this simple model, several options are available. One may first use several simulated distance sensors to approximate the behavior of a single real distance sensor. All the simulated distance sensors should be located at the same position, but heading into slightly different directions. This corresponds to several ray castings and the measured values for each sensor should be used to compute a weighted sum corresponding to a more realistic measurement for the real distance sensor. Q 13 (5): Try to model an infra-red sensor with 4 rays: set the numberofray field of a DistanceSensor nodes to 4, set the aperture to 0.3 and the gaussianwidth field to 1.0 to model appropriate values of the e-puck robot. Read the description of the DistanceSensor in the reference manual (Chapter 2, Section 15). What would happen if we were to set the gaussianwidth to 0? Would doing this ever be useful? YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 9

10 4.2 Noise in Webots It s possible to configure the noise on sensor readings and motor outputs in the Webots simulator in order to model what happens in the real world. Real-world noise can cause poor performance on many algorithms which perform very well theoretically. However, noise can sometimes be useful in some scenarios. S: Open and run the no_noise.wbt world; in this example the noise of all the e- pucks proximity sensors is set to 0. Q 14 (5): What happens? Why? S: Increase the proximity sensor noise. Q 15 (10): What happens now? Why? What does this tell you about noise in robotic experiments? 4.3 Using Webots Supervisor In Webots, a supervisor controller is similar to a robot controller. It corresponds to a Supervisor node in the scene tree. However, a supervisor controller has more capabilities than a regular robot controller. It can be used to make dynamic environment (i.e., move objects while the simulation is running), track the trajectory of robots, reset initial positions of robots, send (resp. receive) message to (resp. from) robots, take automatic screenshots in particular situations, etc. An example of a supervisor process is provided with the soccer.wbt example. This example world, contains a soccer field with 6 robots and a ball. A supervisor process is used to track the position of the ball to determine when the ball enters a goal, compute the score of the match, display it and reset the initial positions of the robots and the ball after a goal is scored. Open the source code of the supervisor using Webots editor (the file is located at webots-lab3/controllers/soccer_supervisor/soccer_supervisor.c). I 16 (5): Review the source code of soccer_supervisor.c and try to understand how it works and change the inital position of the ball, so that it starts at 10 cm up in the air at position (0,0.1,0) after a goal is scored. Be sure you save your final version of soccer_supervisor.c. Q 17 (5): How is it possible to know the current simulation time in a controller process? YB, JP Swarm Intelligence, Lab+Hwk 3: Intro to the Webots Robotic Simulation Software 10

1 Lab + Hwk 5: Particle Swarm Optimization

1 Lab + Hwk 5: Particle Swarm Optimization 1 Lab + Hwk 5: Particle Swarm Optimization This laboratory requires the following equipment: C programming tools (gcc, make). Webots simulation software. Webots User Guide Webots Reference Manual. The

More information

1 Lab + Hwk 5: Particle Swarm Optimization

1 Lab + Hwk 5: Particle Swarm Optimization 1 Lab + Hwk 5: Particle Swarm Optimization This laboratory requires the following equipment: C programming tools (gcc, make), already installed in GR B001 Webots simulation software Webots User Guide Webots

More information

Artificial Life Robotics Tutorials

Artificial Life Robotics Tutorials 1. Getting Started 2. Programming in Webots 3. Building new worlds and new robots 4. More Programming Sensors and Actuators 5. Programming the simplebot for a simple following behaviour 6. Adding a more

More information

1 Lab 5: Particle Swarm Optimization

1 Lab 5: Particle Swarm Optimization 1 Lab 5: Particle Swarm Optimization This laboratory requires the following: (The development tools are installed in GR B0 01 already): C development tools (gcc, make, etc.) Webots simulation software

More information

Lab Assignment #1: Introduction to Creo ME 170

Lab Assignment #1: Introduction to Creo ME 170 Lab Assignment #1: Introduction to Creo ME 170 Instructor: Mike Philpott (email: mphilpot@illinois.edu) Date Due: One week from Start Day of Lab (turn in deadline 11pm night before next lab) Make sure

More information

Realistic Simulation of Real- Time Embedded Systems

Realistic Simulation of Real- Time Embedded Systems Realistic Simulation of Real- Time Embedded Systems Grégory Mermoud School of Architecture, Civil and Environmental Engineering EPFL, SS 2008-2009 http://disal.epfl.ch/teaching/embedded_systems/ Outline

More information

Signals, Instruments, and Systems W8. Realistic Simulation of Real-Time Embedded Systems

Signals, Instruments, and Systems W8. Realistic Simulation of Real-Time Embedded Systems Signals, Instruments, and Systems W8 Realistic Simulation of Real-Time Embedded Systems 1 Outline A few words about simulation! Webots Generalities Sensors/actuators Webots API Programming embedded systems

More information

ME 365 EXPERIMENT 3 INTRODUCTION TO LABVIEW

ME 365 EXPERIMENT 3 INTRODUCTION TO LABVIEW ME 365 EXPERIMENT 3 INTRODUCTION TO LABVIEW Objectives: The goal of this exercise is to introduce the Laboratory Virtual Instrument Engineering Workbench, or LabVIEW software. LabVIEW is the primary software

More information

COS 116 The Computational Universe Laboratory 10: Computer Graphics

COS 116 The Computational Universe Laboratory 10: Computer Graphics COS 116 The Computational Universe Laboratory 10: Computer Graphics As mentioned in lecture, computer graphics has four major parts: imaging, rendering, modeling, and animation. In this lab you will learn

More information

Lab 4 Projectile Motion

Lab 4 Projectile Motion b Lab 4 Projectile Motion What You Need To Know: x = x v = v v o ox = v + v ox ox + at 1 t + at + a x FIGURE 1 Linear Motion Equations The Physics So far in lab you ve dealt with an object moving horizontally

More information

S3 Scratch Programming

S3 Scratch Programming LOREM ST LOUIS IPSUM DOLOR ST LOUIS SCHOOL S3 Computer Literacy S3 Scratch Programming Dominic Kwok CHAPTER 1 Scratch After studying this chapter, you will be able to create a simple Scratch program upload

More information

Lab 1 Introduction to UNIX and C

Lab 1 Introduction to UNIX and C Name: Lab 1 Introduction to UNIX and C This first lab is meant to be an introduction to computer environments we will be using this term. You must have a Pitt username to complete this lab. NOTE: Text

More information

Visual Physics Introductory Lab [Lab 0]

Visual Physics Introductory Lab [Lab 0] Your Introductory Lab will guide you through the steps necessary to utilize state-of-the-art technology to acquire and graph data of mechanics experiments. Throughout Visual Physics, you will be using

More information

Caustics - Mental Ray

Caustics - Mental Ray Caustics - Mental Ray (Working with real caustic generation) In this tutorial we are going to go over some advanced lighting techniques for creating realistic caustic effects. Caustics are the bent reflections

More information

Instructions PLEASE READ (notice bold and underlined phrases)

Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercises wk02 Lab Basics First Lab of the course Required Reading Java Foundations - Section 1.1 - The Java Programming Language Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercise

More information

THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations (Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam

THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations (Semester 2) COMP4610/COMP6461 (Computer Graphics) Final Exam THE AUSTRALIAN NATIONAL UNIVERSITY Final Examinations (Semester 2) 2015 COMP4610/COMP6461 (Computer Graphics) Final Exam Writing Period: 3 hours duration Study Period: 15 minutes duration. During this

More information

Autodesk Fusion 360: Render. Overview

Autodesk Fusion 360: Render. Overview Overview Rendering is the process of generating an image by combining geometry, camera, texture, lighting and shading (also called materials) information using a computer program. Before an image can be

More information

Autodesk Fusion 360 Training: The Future of Making Things Attendee Guide

Autodesk Fusion 360 Training: The Future of Making Things Attendee Guide Autodesk Fusion 360 Training: The Future of Making Things Attendee Guide Abstract After completing this workshop, you will have a basic understanding of editing 3D models using Autodesk Fusion 360 TM to

More information

Tangents. In this tutorial we are going to take a look at how tangents can affect an animation.

Tangents. In this tutorial we are going to take a look at how tangents can affect an animation. Tangents In this tutorial we are going to take a look at how tangents can affect an animation. One of the 12 Principles of Animation is called Slow In and Slow Out. This refers to the spacing of the in

More information

Game Design Unity Workshop

Game Design Unity Workshop Game Design Unity Workshop Activity 1 Unity Overview Unity is a game engine with the ability to create 3d and 2d environments. Unity s prime focus is to allow for the quick creation of a game from freelance

More information

WAYLAND FREE PUBLIC LIBRARY 3D Design and Printing Tutorial: Create a Keychain

WAYLAND FREE PUBLIC LIBRARY 3D Design and Printing Tutorial: Create a Keychain WAYLAND FREE PUBLIC LIBRARY 3D Design and Printing Tutorial: Create a Keychain Welcome! In this tutorial we will be creating a 3D printed keychain. You will personalize this name tag with text to make

More information

Distributed Intelligent Systems W3 An Introduction to Sensing, Action, and Control in Mobile Robotics

Distributed Intelligent Systems W3 An Introduction to Sensing, Action, and Control in Mobile Robotics Distributed Intelligent Systems W3 An Introduction to Sensing, Action, and Control in Mobile Robotics 1 Outline General concepts Autonomy Perception-to-action loop Sensing, actuating, computing e-puck

More information

Crossley Fields - Computing Vocabulary

Crossley Fields - Computing Vocabulary Crossley Fields - Computing Vocabulary Glossary of terms taken from Kirklees Guidance, CAS/NAACE Computing in the National Curriculum & MIT Scratch Reference Guide. A Algorithm an unambiguous procedure

More information

Computer graphics Labs: Blender (1bis/3) SketchUp model importation and animation

Computer graphics Labs: Blender (1bis/3) SketchUp model importation and animation Computer graphics Labs: Blender (1bis/3) SketchUp model importation and animation University of Liège Department of Aerospace and Mechanical engineering Designed with Blender 2.76b and SketchUp 8 From

More information

Assignment 1 due 4/13/2017 at 11:59PM Topic: Getting Started with WebGL and Transformations

Assignment 1 due 4/13/2017 at 11:59PM Topic: Getting Started with WebGL and Transformations Virtual Reality EE 267, Spring 2017 Assignment 1 due 4/13/2017 at 11:59PM Topic: Getting Started with WebGL and Transformations Students should use Javascript for this assignment, building on top of the

More information

Cmpt 101 Lab 1 - Outline

Cmpt 101 Lab 1 - Outline Cmpt 101 Lab 1 - Outline Instructions: Work through this outline completely once directed to by your Lab Instructor and fill in the Lab 1 Worksheet as indicated. Contents PART 1: GETTING STARTED... 2 PART

More information

John Hsu Nate Koenig ROSCon 2012

John Hsu Nate Koenig ROSCon 2012 John Hsu Nate Koenig ROSCon 2012 Outline What is Gazebo, and why should you use it Overview and architecture Environment modeling Robot modeling Interfaces Getting Help Simulation for Robots Towards accurate

More information

Visual Physics - Introductory Lab Lab 0

Visual Physics - Introductory Lab Lab 0 Your Introductory Lab will guide you through the steps necessary to utilize state-of-the-art technology to acquire and graph data of mechanics experiments. Throughout Visual Physics, you will be using

More information

Getting Started with ShowcaseChapter1:

Getting Started with ShowcaseChapter1: Chapter 1 Getting Started with ShowcaseChapter1: In this chapter, you learn the purpose of Autodesk Showcase, about its interface, and how to import geometry and adjust imported geometry. Objectives After

More information

COS 116 The Computational Universe Laboratory 10: Computer Graphics

COS 116 The Computational Universe Laboratory 10: Computer Graphics COS 116 The Computational Universe Laboratory 10: Computer Graphics As mentioned in lecture, computer graphics has four major parts: imaging, rendering, modeling, and animation. In this lab you will learn

More information

Autodesk Navisworks Freedom Quick Reference Guide

Autodesk Navisworks Freedom Quick Reference Guide WP CAD 00074 March 2012 Guide by Andy Davis Autodesk Navisworks Freedom Quick Reference Guide Quick Reference Guide to Autodesk Navisworks Freedom Opening a Model To open a model, click on the Application

More information

Computer Graphics Tick 2

Computer Graphics Tick 2 Computer Graphics Tick 2 Advanced Ray Tracing Effects Figure 1: The image you will create in this exercise. 1 Introduction In this exercise you will extend the ray tracer to handle a new shape and additional

More information

ASSIGNMENT 4 Classes and Objects

ASSIGNMENT 4 Classes and Objects ASSIGNMENT 4 Classes and Objects COMP-202A, Fall 2010, All Sections Due: Friday, November 19, 2010 (23:55) You MUST do this assignment individually and, unless otherwise specified, you MUST follow all

More information

StudioPrompter Tutorials. Prepare before you start the Tutorials. Opening and importing text files. Using the Control Bar. Using Dual Monitors

StudioPrompter Tutorials. Prepare before you start the Tutorials. Opening and importing text files. Using the Control Bar. Using Dual Monitors StudioPrompter Tutorials Prepare before you start the Tutorials Opening and importing text files Using the Control Bar Using Dual Monitors Using Speed Controls Using Alternate Files Using Text Markers

More information

Center for Faculty Development and Support Creating Powerful and Accessible Presentation

Center for Faculty Development and Support Creating Powerful and Accessible Presentation Creating Powerful and Accessible Presentation PowerPoint 2007 Windows Tutorial Contents Create a New Document... 3 Navigate in the Normal View (default view)... 3 Input and Manipulate Text in a Slide...

More information

CHAPTER 1 COPYRIGHTED MATERIAL. Finding Your Way in the Inventor Interface

CHAPTER 1 COPYRIGHTED MATERIAL. Finding Your Way in the Inventor Interface CHAPTER 1 Finding Your Way in the Inventor Interface COPYRIGHTED MATERIAL Understanding Inventor s interface behavior Opening existing files Creating new files Modifying the look and feel of Inventor Managing

More information

Moodle Student Manual

Moodle Student Manual Moodle Student Manual Date: April 29, 2016 Prepared by: Department of College Teaching, Learning, and Development Moodle, or Modular Object-Oriented Dynamic Learning Environment, is an online Learning

More information

Actions and Graphs in Blender - Week 8

Actions and Graphs in Blender - Week 8 Actions and Graphs in Blender - Week 8 Sculpt Tool Sculpting tools in Blender are very easy to use and they will help you create interesting effects and model characters when working with animation and

More information

Computer Basics: Step-by-Step Guide (Session 2)

Computer Basics: Step-by-Step Guide (Session 2) Table of Contents Computer Basics: Step-by-Step Guide (Session 2) ABOUT PROGRAMS AND OPERATING SYSTEMS... 2 THE WINDOWS 7 DESKTOP... 3 TWO WAYS TO OPEN A PROGRAM... 4 DESKTOP ICON... 4 START MENU... 5

More information

Barchard Introduction to SPSS Marks

Barchard Introduction to SPSS Marks Barchard Introduction to SPSS 21.0 3 Marks Purpose The purpose of this assignment is to introduce you to SPSS, the most commonly used statistical package in the social sciences. You will create a new data

More information

This lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space.

This lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space. 3D Modeling with Blender: 01. Blender Basics Overview This lesson introduces Blender, covering the tools and concepts necessary to set up a minimal scene in virtual 3D space. Concepts Covered Blender s

More information

Windows XP. A Quick Tour of Windows XP Features

Windows XP. A Quick Tour of Windows XP Features Windows XP A Quick Tour of Windows XP Features Windows XP Windows XP is an operating system, which comes in several versions: Home, Media, Professional. The Windows XP computer uses a graphics-based operating

More information

Contents. The Anatomy of a Moodle Classroom. Course Description:

Contents. The Anatomy of a Moodle Classroom. Course Description: The Anatomy of a Moodle Classroom The Community College of Vermont (CCV) uses Moodle for its learning management system. Course Description: This document is a brief orientation to the requirements and

More information

FLUENT Secondary flow in a teacup Author: John M. Cimbala, Penn State University Latest revision: 26 January 2016

FLUENT Secondary flow in a teacup Author: John M. Cimbala, Penn State University Latest revision: 26 January 2016 FLUENT Secondary flow in a teacup Author: John M. Cimbala, Penn State University Latest revision: 26 January 2016 Note: These instructions are based on an older version of FLUENT, and some of the instructions

More information

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup Purpose: The purpose of this lab is to setup software that you will be using throughout the term for learning about Python

More information

solidthinking Inspired Tutorials 2009 solidthinking, Inc. for Mac

solidthinking Inspired Tutorials 2009 solidthinking, Inc. for Mac solidthinking Inspired Tutorials 2009 solidthinking, Inc. for Mac Table of Contents Quick Start Tutorials 3 Tutorial 11: Simple... Bridge 4 Tutorial 22: Desk... 12 Tutorial 33: Bookcase... 35 2 1 Quick

More information

Barchard Introduction to SPSS Marks

Barchard Introduction to SPSS Marks Barchard Introduction to SPSS 22.0 3 Marks Purpose The purpose of this assignment is to introduce you to SPSS, the most commonly used statistical package in the social sciences. You will create a new data

More information

Lab 1: Introductory Project to Breadware

Lab 1: Introductory Project to Breadware 1 Lab 1: Introductory Project to Breadware Exploration of Breadware s IoT Development Tools Overview The goal of this lab is to become familiar with the Internet of Things prototyping tools available in

More information

Objectives. Part 1: forward kinematics. Physical Dimension

Objectives. Part 1: forward kinematics. Physical Dimension ME 446 Laboratory #1 Kinematic Transformations Report is due at the beginning of your lab time the week of February 20 th. One report per group. Lab sessions will be held the weeks of January 23 rd, January

More information

1 in = 25.4 mm 1 m = ft g = 9.81 m/s 2

1 in = 25.4 mm 1 m = ft g = 9.81 m/s 2 ENGR 122 Section Instructor: Name: Form#: 52 Allowed materials include calculator (without wireless capability), pencil or pen. Honor Statement: On my honor, I promise that I have not received any outside

More information

CSC 418/2504 Computer Graphics, Winter 2012 Assignment 1 (10% of course grade)

CSC 418/2504 Computer Graphics, Winter 2012 Assignment 1 (10% of course grade) CSC 418/2504 Computer Graphics, Winter 2012 Assignment 1 (10% of course grade) Part A [50 marks in total] Due 11:59pm onwed., Feb. 8, 2012. Below are 4 exercises covering di erent topics from the first

More information

Introduction to VPython This tutorial will guide you through the basics of programming in VPython.

Introduction to VPython This tutorial will guide you through the basics of programming in VPython. 1 Introduction to VPython This tutorial will guide you through the basics of programming in VPython. VPython is a programming language that allows you to easily make 3-D graphics and animations. We will

More information

Lab 4: Interrupts and Realtime

Lab 4: Interrupts and Realtime Lab 4: Interrupts and Realtime Overview At this point, we have learned the basics of how to write kernel driver module, and we wrote a driver kernel module for the LCD+shift register. Writing kernel driver

More information

Homework 6: Pose Tracking EE267 Virtual Reality 2018

Homework 6: Pose Tracking EE267 Virtual Reality 2018 Homework 6: Pose Tracking EE267 Virtual Reality 218 Due: 5/17/218, 11:59pm Instructions Students should use the Arduino environment and JavaScript for this assignment, building on top of the provided starter

More information

Software Architecture. Lecture 4

Software Architecture. Lecture 4 Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Intro to CSC116 Instructors Course Instructor:

More information

Word 1 Module 2. Word 1. Module 2

Word 1 Module 2. Word 1. Module 2 Word 1 Module 2 Revised 5/1/17 Contents Create a New Document...2 Class Walkthrough 2.1...2 Entering Text into a Document...2 Class Walkthrough 2.2...2 Lines of Text vs. Paragraphs...2 Insertion Point...3

More information

Bellevue Community College Summer 2009 Interior Design 194 SPECIAL TOPIC: SKETCHUP

Bellevue Community College Summer 2009 Interior Design 194 SPECIAL TOPIC: SKETCHUP Class Session: TTh 6:00 pm 8:00 pm Credit Hours: Two (2) Location: A262 Door Code: 349499 (through A254) Instructor: Greg Wharton Office: by appointment Hours: by appointment or email email: gwharton@gmail.com

More information

Department of Computer Science University of Pretoria. Introduction to Computer Science COS 151

Department of Computer Science University of Pretoria. Introduction to Computer Science COS 151 Department of Computer Science University of Pretoria Introduction to Computer Science COS 151 Practical 1 16 February 2018 1 Plagiarism Policy The Department of Computer Science considers plagiarism as

More information

Intro to Lights & Rendering Maya 2013

Intro to Lights & Rendering Maya 2013 2000 2012 Michael O'Rourke Intro to Lights & Rendering Maya 2013 Concepts You must define lights in order for your scene/models to be visible Same as the real world if there is zero light, you can t see

More information

CyberDiscovery User Guide Version 0.1

CyberDiscovery User Guide Version 0.1 CyberDiscovery User Guide Version 0.1 Overview Welcome to CyberDiscovery! The CyberDiscovery is a high-resolution visualization and display instrument powered by the Sage2 software. You can use it for

More information

SOLIDWORKS: Lesson 1 - Basics and Modeling. Introduction to Robotics

SOLIDWORKS: Lesson 1 - Basics and Modeling. Introduction to Robotics SOLIDWORKS: Lesson 1 - Basics and Modeling Fundamentals Introduction to Robotics SolidWorks SolidWorks is a 3D solid modeling package which allows users to develop full solid models in a simulated environment

More information

Textures and UV Mapping in Blender

Textures and UV Mapping in Blender Textures and UV Mapping in Blender Categories : Uncategorised Date : 21st November 2017 1 / 25 (See below for an introduction to UV maps and unwrapping) Jim s Notes regarding Blender objects, the UV Editor

More information

Practical 2: Ray Tracing

Practical 2: Ray Tracing 2017/2018, 4th quarter INFOGR: Graphics Practical 2: Ray Tracing Author: Jacco Bikker The assignment: The purpose of this assignment is to create a small Whitted-style ray tracer. The renderer should be

More information

How to Create a Simple Animation Using MAYA

How to Create a Simple Animation Using MAYA How to Create a Simple Animation Using MAYA Jennifer Soltz July 29, 2011 0 Table of Contents Introduction Safety Information. 2. 3 What you need Materials Overview Diagram. 4. 4 Instructions Setup Modeling

More information

Problem 1.1 (3 pts) :Python uses atomic data types and builds up from there. Give an example of: a. an int b. a double c. a string

Problem 1.1 (3 pts) :Python uses atomic data types and builds up from there. Give an example of: a. an int b. a double c. a string Lab 1: Due Sunday, Feb 28, midnight This is a paired programming lab: In this lab you will work in pairs. In lab, you will choose your partner for the next two weeks. Get your partner s name and email

More information

Blackboard Collaborate for Students

Blackboard Collaborate for Students New York City College of Technology Blackboard Collaborate for Students Contact Information: 718-254-8565 ITEC@citytech.cuny.edu System Requirements: Windows XP (32 bit), Windows Vista (32 or 64 bit) or

More information

INTRODUCTION TO MEDICAL IMAGING- 3D LOCALIZATION LAB MANUAL 1. Modifications for P551 Fall 2013 Medical Physics Laboratory

INTRODUCTION TO MEDICAL IMAGING- 3D LOCALIZATION LAB MANUAL 1. Modifications for P551 Fall 2013 Medical Physics Laboratory INTRODUCTION TO MEDICAL IMAGING- 3D LOCALIZATION LAB MANUAL 1 Modifications for P551 Fall 2013 Medical Physics Laboratory Introduction Following the introductory lab 0, this lab exercise the student through

More information

I-Carver CNC Project Computer Directions. Rob MacIlreith Last Update Oct 2017

I-Carver CNC Project Computer Directions. Rob MacIlreith Last Update Oct 2017 I-Carver CNC Project Computer Directions Rob MacIlreith Last Update Oct 2017 READ THIS ENTIRE SLIDE FIRST Make sure you follow all the directions carefully. Mistakes in programming your design can be disastrous

More information

Lesson 1 Parametric Modeling Fundamentals

Lesson 1 Parametric Modeling Fundamentals 1-1 Lesson 1 Parametric Modeling Fundamentals Create Simple Parametric Models. Understand the Basic Parametric Modeling Process. Create and Profile Rough Sketches. Understand the "Shape before size" approach.

More information

EDVTS TUTORIAL. Chapter. Tutorial

EDVTS TUTORIAL. Chapter. Tutorial Tutorial EDVTS Chapter 5 This tutorial examines a common use for EDVTS: the simulation analysis of a tractor-trailer off-ramp rollover accident. The purpose of the analysis is to determine if the rollover

More information

CS 051 Homework Laboratory #2

CS 051 Homework Laboratory #2 CS 051 Homework Laboratory #2 Dirty Laundry Objective: To gain experience using conditionals. The Scenario. One thing many students have to figure out for the first time when they come to college is how

More information

Capstone Appendix. A guide to your lab computer software

Capstone Appendix. A guide to your lab computer software Capstone Appendix A guide to your lab computer software Important Notes Many of the Images will look slightly different from what you will see in lab. This is because each lab setup is different and so

More information

Part A: Monitoring the Rotational Sensors of the Motor

Part 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 information

Part I. Introduction to Linux

Part I. Introduction to Linux Part I Introduction to Linux 7 Chapter 1 Linux operating system Goal-of-the-Day Familiarisation with basic Linux commands and creation of data plots. 1.1 What is Linux? All astronomical data processing

More information

How to Construct. Accessible Talking Books MAC

How to Construct. Accessible Talking Books MAC How to Construct Accessible Talking Books MAC Assistive Technology Centre 75 High Street Bridgewater, NS B4V 1V8 (902) 543-6329 Assistive Technology Centre 2005 1 In the following pages we will show you

More information

ASSIGNMENT 1 First Java Assignment

ASSIGNMENT 1 First Java Assignment ASSIGNMENT 1 First Java Assignment COMP-202B, Winter 2012, All Sections Due: Sunday January 29th, 2012 (23:30) Please read the entire pdf before starting. You must do this assignment individually and,

More information

Hardware and Software minimum specifications

Hardware and Software minimum specifications Introduction Unreal Engine 4 is the latest version of the Unreal games development software produced by Epic Games. This software is responsible for titles such as Unreal Tournament, Gears of War and Deus

More information

Homework 1: Getting Started with WebGL and Transformations EE267 Virtual Reality 2018

Homework 1: Getting Started with WebGL and Transformations EE267 Virtual Reality 2018 Homework 1: Getting Started with WebGL and Transformations EE267 Virtual Reality 2018 Due: 04/12/2018, 11:59pm Instruction Students should use JavaScript for this assignment, building on top of the provided

More information

AE483: Lab #1 Sensor Data Collection and Analysis

AE483: Lab #1 Sensor Data Collection and Analysis AE483: Lab #1 Sensor Data Collection and Analysis T. Bretl September 11, 2017 1 Goal You will be working with the AscTec Hummingbird Quadrotor this semester. There are two sources of sensor data that you

More information

Chapter 19- Object Physics

Chapter 19- Object Physics Chapter 19- Object Physics Flowing water, fabric, things falling, and even a bouncing ball can be difficult to animate realistically using techniques we have already discussed. This is where Blender's

More information

SketchUp Tool Basics

SketchUp Tool Basics SketchUp Tool Basics Open SketchUp Click the Start Button Click All Programs Open SketchUp Scroll Down to the SketchUp 2013 folder Click on the folder to open. Click on SketchUp. Set Up SketchUp (look

More information

Laboratory 1 Semester 1 11/12

Laboratory 1 Semester 1 11/12 CS2106 National University of Singapore School of Computing Laboratory 1 Semester 1 11/12 MATRICULATION NUMBER: In this lab exercise, you will get familiarize with some basic UNIX commands, editing and

More information

Tutorial 1: Unix Basics

Tutorial 1: Unix Basics Tutorial 1: Unix Basics To log in to your ece account, enter your ece username and password in the space provided in the login screen. Note that when you type your password, nothing will show up in the

More information

4) Finish the spline here. To complete the spline, double click the last point or select the spline tool again.

4) Finish the spline here. To complete the spline, double click the last point or select the spline tool again. 1) Select the line tool 3) Move the cursor along the X direction (be careful to stay on the X axis alignment so that the line is perpendicular) and click for the second point of the line. Type 0.5 for

More information

Uniform Motion Lab. The position equation for an object moving with a constant velocity is:

Uniform Motion Lab. The position equation for an object moving with a constant velocity is: Uniform Motion Lab INTRODUCTION: In this experiment we will investigate motion without acceleration. Motion without acceleration is uniform (constant velocity) motion, which means it describes the motion

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB This note will introduce you to MATLAB for the purposes of this course. Most of the emphasis is on how to set up MATLAB on your computer. The purposes of this supplement are two.

More information

ICS 61 Game Systems and Design Introduction to Scratch

ICS 61 Game Systems and Design Introduction to Scratch ICS 61, Winter, 2015 Introduction to Scratch p. 1 ICS 61 Game Systems and Design Introduction to Scratch 1. Make sure your computer has a browser open at the address http://scratch.mit.edu/projects/editor/.

More information

Strömningslära Fluid Dynamics. Computer laboratories using COMSOL v4.4

Strömningslära Fluid Dynamics. Computer laboratories using COMSOL v4.4 UMEÅ UNIVERSITY Department of Physics Claude Dion Olexii Iukhymenko May 15, 2015 Strömningslära Fluid Dynamics (5FY144) Computer laboratories using COMSOL v4.4!! Report requirements Computer labs must

More information

econnect Baccarat User Guide EC7 June 2017

econnect Baccarat User Guide EC7 June 2017 econnect Baccarat User Guide EC7 June 2017 Table of Contents Baccarat Camera View A. Card Displayed on Virtual Table B. Bet Session Recording C. How to open a camera D. What is displayed on Data View E.

More information

Homework 4 Computer Vision CS 4731, Fall 2011 Due Date: Nov. 15, 2011 Total Points: 40

Homework 4 Computer Vision CS 4731, Fall 2011 Due Date: Nov. 15, 2011 Total Points: 40 Homework 4 Computer Vision CS 4731, Fall 2011 Due Date: Nov. 15, 2011 Total Points: 40 Note 1: Both the analytical problems and the programming assignments are due at the beginning of class on Nov 15,

More information

Assignment 4: Flight Simulator

Assignment 4: Flight Simulator VR Assignment 4: Flight Simulator Released : Feb 19 Due : March 26th @ 4:00 PM Please start early as this is long assignment with a lot of details. We simply want to make sure that you have started the

More information

ECE2049: Embedded Systems in Engineering Design Lab Exercise #3 C Term Making a Time and Temperature Display

ECE2049: Embedded Systems in Engineering Design Lab Exercise #3 C Term Making a Time and Temperature Display ECE2049: Embedded Systems in Engineering Design Lab Exercise #3 C Term 2019 Making a Time and Temperature Display In this laboratory you will use the MSP430 and several of its peripherals to implement

More information

Free Fall. Objective. Materials. Part 1: Determining Gravitational Acceleration, g

Free Fall. Objective. Materials. Part 1: Determining Gravitational Acceleration, g Free Fall Objective Students will work in groups to investigate free fall acceleration on the Earth. Students will measure the fundamental physical constant, g, and evaluate the dependence of free fall

More information

Final Report. EEL 5666 Intelligent Machines Design Laboratory

Final Report. EEL 5666 Intelligent Machines Design Laboratory Final Report EEL 5666 Intelligent Machines Design Laboratory TAs: Mike Pridgen & Thomas Vermeer Instructors: Dr. A. Antonio Arroyo & Dr. Eric M. Schwartz Hao (Hardy) He Dec 08 th, 2009 Table of Contents

More information

Quick Start Training Guide

Quick Start Training Guide Quick Start Training Guide Table of Contents 1 INTRODUCTION TO MAPLESIM... 5 1.1 USER INTERFACE... 5 2 WORKING WITH A SAMPLE MODEL... 7 2.1 RUNNING A SIMULATION... 7 2.2 GRAPHICAL OUTPUT... 7 2.3 3D VISUALIZATION...

More information

Hwk 1: UNIX, C Programming, and Memory Management

Hwk 1: UNIX, C Programming, and Memory Management Hwk : UNIX, C Programming, and Memory Management This homework may require the following equipment: C compiler Note that the homework is graded. For any questions, please contact us at sista@groupes.epfl.ch..

More information

CSCI 161: Introduction to Programming I Lab 1a: Programming Environment: Linux and Eclipse

CSCI 161: Introduction to Programming I Lab 1a: Programming Environment: Linux and Eclipse CSCI 161: Introduction to Programming I Lab 1a: Programming Environment: Linux and Eclipse Goals - to become acquainted with the Linux/Gnome environment Overview For this lab, you will login to a workstation

More information

Two-Dimensional Projectile Motion

Two-Dimensional Projectile Motion Two-Dimensional Projectile Motion I. Introduction. This experiment involves the study of motion using a CCD video camera in which a sequence of video frames (a movie ) is recorded onto computer disk and

More information

To build shapes from scratch, use the tools are the far right of the top tool bar. These

To build shapes from scratch, use the tools are the far right of the top tool bar. These 3D GAME STUDIO TUTORIAL EXERCISE #5 USE MED TO SKIN AND ANIMATE A CUBE REVISED 11/21/06 This tutorial covers basic model skinning and animation in MED the 3DGS model editor. This exercise was prepared

More information