background preloader

Artificial Intelligence Course (CS373)

Artificial Intelligence Course (CS373)

Machine Learning Machine learning is the science of getting computers to act without being explicitly programmed. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Machine learning is so pervasive today that you probably use it dozens of times a day without knowing it. Many researchers also think it is the best way to make progress towards human-level AI. In this class, you will learn about the most effective machine learning techniques, and gain practice implementing them and getting them to work for yourself. More importantly, you'll learn about not only the theoretical underpinnings of learning, but also gain the practical know-how needed to quickly and powerfully apply these techniques to new problems. This course provides a broad introduction to machine learning, datamining, and statistical pattern recognition.

Robot Navigation Edited by Alejandra Barrera, ISBN 978-953-307-346-0, 250 pages, Publisher: InTech, Chapters published July 05, 2011 under CC BY-NC-SA 3.0 licenseDOI: 10.5772/705 Robot navigation includes different interrelated activities such as perception - obtaining and interpreting sensory information; exploration - the strategy that guides the robot to select the next direction to go; mapping - the construction of a spatial representation by using the sensory information perceived; localization - the strategy to estimate the robot position within the spatial map; path planning - the strategy to find a path towards a goal location being optimal or not; and path execution, where motor actions are determined and adapted to environmental changes. This book integrates results from the research work of authors all over the world, addressing the abovementioned activities and analyzing the critical implications of dealing with dynamic environments.

Game Theory About the Course Popularized by movies such as "A Beautiful Mind", game theory is the mathematical modeling of strategic interaction among rational (and irrational) agents. Beyond what we call 'games' in common language, such as chess, poker, soccer, etc., it includes the modeling of conflict among nations, political campaigns, competition among firms, and trading behavior in markets such as the NYSE. How could you begin to model eBay, Google keyword auctions, and peer to peer file-sharing networks, without accounting for the incentives of the people using them? The course will provide the basics: representing games and strategies, the extensive form (which computer scientists call game trees), Bayesian games (modeling things like auctions), repeated and stochastic games, and more. Course Syllabus Week 1. Week 2. Week 3. Week 4. Week 5. Week 6. Week 7. Recommended Background You must be comfortable with mathematical thinking and rigorous arguments.

Introduction to Robotics - Fall 2011 | Correll Lab This class will teach the basics of how robots can move (locomotion and kinematics), how they can sense (perception), and how they can reason about their environment (planning). Lecture materials are supported by computer exercises using the simulation software “Webots” (right). Exercises will cover programming of basic sensors, actuators and perception algorithms and are geared to prepare the students to participate in the online competition “RatsLife” ( within the framework of the class. In RatsLife, two miniature robots “E-Puck” are competing against each other in a virtual maze for available chargers. Prerequisites: programming experience in C/C++ and/or Java. The “Introduction class” is offered as CSCI 3302 and ECEE 3303 in Fall 2011. Please visit me during office hours on Tuesday between 10-11am in ECOT 733 or by appointment. 20% Homework25% Project / Debates / Class participation25% Midterm30% Final Debates will be evaluated in equal parts to the

Advanced Robotics Spring 2013 | Correll Lab This class is the follow-up class to CSCI3302 “Introduction to Robotics”. Robots perceive their environment with signal processing and computer vision techniques, reason about them using machine learning, artificial intelligence and discrete algorithms, and execute their actions based on constraints imposed by sensor uncertainty, their mechanism, and their dynamics. “Advanced Robotics” will teach the key concepts used by manipulating robots and provide hands-on experience with state-of-the-art software and systems. Lecture materials are supported by exercises around the “Robot Operating System” ROS and will lead to the completion of a group project. After “The Distributed Robotic Garden” at MIT, and “Robots building Robots” from 2010 to 2012, the 2013 grand challenge is to develop an autonomouse greenhouse. Exercises will be conducted in a virtual environment and can later be transferred to a 7-DOF manipulating arm. Due dates: This class has three two week homework assignments. 1. 2.

Robotics, Vision & Control The practice of robotics and computer vision each involve the application of computational algorithms to data. The research community has developed a very large body of algorithms but for a newcomer to the field this can be quite daunting. For more than 10 years the author has maintained two open-source MATLAB® Toolboxes, one for robotics and one for vision. They provide implementations of many important algorithms and allow users to work with real problems, not just trivial examples. This new book makes the fundamental algorithms of robotics, vision and control accessible to all. It weaves together theory, algorithms and examples in a narrative that covers robotics and computer vision separately and together. "An authoritative book, reaching across fields, thoughtfully conceived, and brilliantly accomplished!"

Our First Experience with Robotics: Making a Web-Controlled Robotic Arm As part of Programmers’ Day celebration this year, Azoft web developers decided to surprise our fellow Azoft employees with a competition. To try something new and unusual, we created an internet-controlled robotic arm. This was our first experience with robotics and it turned out a success. The robotic arm competition was lots of fun for everyone involved, so we decided to share our experience and post this robotics tutorial to give you a fast start into building robots for your own geek parties. What does the robotic arm do? Our robotic arm is controlled via a web interface: it responds to remote commands and performs simple tasks. The tasks could vary: from drawing lots in a lottery to grabbing objects and collecting them in a basket - it’s up to your imagination. Have you decided what your robot will be doing? You will need microcontroller TI Stellaris Launchpad two servos (one for rotates, one for lifts) Hitec HS-322 servo TowerPro SG90 for the hand Let's get started 0. Stage 0. 1.

The Pilot Hello all. Welcome to my blog. This space will be all about what I have learnt and/or done at my hostel room, the various laboratories in college or at my home sweet home. The content shall be mostly stuff that the curriculum doesn't cover. I will try to present the content in an informal manner directly from my experience. References shall be quoted wherever I feel that my post is not enough to understand the topic well. Please note, I may not have practically done 'each and every thing' that I write about in this space, but I can say with a fair amount of confidence that even if I discuss something that I have not yet undertaken myself, utmost care shall be taken to ensure that the topic is researched to the best of my ability and shall be of help to the reader in his/her endeavors. Lastly, I do not claim that what I write is the absolute truth and the best content available.

Beginning Embedded Electronics - 1 This is a series of lectures written for those with mild electronics background (aka Sophomore in Electrical and Computer Engineering) to learn about the wild world of Embedded Electronics. I assume only that you know what electricity is and that you've touched an electrical component. Everything else is spelled out as much as possible. There is quite a lot here so take your time! It is also my intention to get book-hardened EE's students to put down the calculator and to plug in an LED. You can get all the parts for this lecture here. Sorry for the confusion. What's a Microcontroller? You may know what an OR gate is. A microcontroller is the same as an OR gate. if (A == 1 || B == 1) else It's C code! In the old days, microcontrollers were OTP or one-time-programmable meaning you could only program the micro once, test the code, and if your code didn't work, you threw it out and tried again. Flash micros are different than computers and RAM. Now back to that OR gate IC. if (PORTC.2 == 1)

Make a Scribbling Machine Collect these things: 1.5-3.0 volt motor [link]Note: You can find motors in all sorts of mechanical toys and common household objects; we encourage you to salvage one instead of buying it! AA battery A piece of hot melt glue stick Broccoli band (thick rubber bands used for produce) Markers Recyclable container such as a strawberry basket or yogurt cup Masking tape Paper for testing Some other helpful materials: Clothespins; Popsicle sticks; wood skewer sticks; pipe cleaners; wire; nuts, washers, or other small weights; wire stripper; scissors; small screwdriver; googly eyes. The Basics - Microcontrollers New robot builders have many decisions to make. One important one is how to put their creation into motion doing something interesting. Eventually, the choice has to be made about which Microcontroller to base their robot on (if any at all!). This article is going to describe some of the basic features of the Microcontroller that newer users may not know about. I will then discuss some of the tradeoffs in choosing a particular Microcontroller. So, what does a Microcontroller do? A designer will use a Microcontroller to Gather input from various sensors Process this input into a set of actions Use the output mechanisms on the Microcontroller to do something useful The 'general purpose' attribute of a Microcontroller is very significant, and shouldn't be overlooked. A Microcontroller has several major sections that are pretty typical no matter which type or version of Microcontroller you end up using. CPU Diagrams One thing you will see often are CPU diagrams. The CPU core Memory Types

Which is better, PIC or AVR ? Let's have a heated debate..... Which is better.. PIC or AVR ? Click here to go straight to the answer Whenever this subject comes up on discussion groups, there is invariably a heated debate. What many people fail to realise, however that in almost all fields of enginering, there is simply no such thing as "Best". Here are a few comparisons based on actual issues I've dealt with on real projects. Feel free to contribute more differences you've come across Ways in which PICs are better than AVRs Instruction set/architecture (for Assembler users) PIC good : Small instruction set means you can literally learn it in a day. AVR bad : highly nonorthogonal instruction set - many operations can only be done on certain registers. Clocks etc. Recent Pics (12Fxxx etc.) have more accurate calibrated RC oscillators. Watchdog wakeup from sleep continues after SLEEP instruction - on AVR it causes a reset, which can complicate things. Power consumptionPICs have much lower power consumption at 5V Interrupts Instruction set/architecture