CSE5694 AI and Robotics


Instructor: Marius C. Silaghi
Office hours: HC 207
To work on the projects one has to join the Class Forum.

Robotics is where the computer starts to act not only on the human mind, but also on the physical world. In this course you will be introduced to the concept of robot, the basic components of robotics, and some algorithms used in robotics. We will concentrate on the Artificial Intelligence side of robotics, with modelling and planning algorithms. We will also experiment with the ST R12 robotic arm, (maybe the Microsoft Robotics Studio) and a team of 2 Creative iRobots.

Book: Artificial Intelligence A Modern Approach (3rd edition) by Stuart Russel & Peter Norvig 

Slides and other material are based on the material comming with the book.

Objectives
You learns to:

  1. explain the components of a robot
  2. design movement planners and localizers
  3. Bayesian Networks, Markov chains, POMDPs, Kalman Filters
  4. use stereo vision from eye-in-hand arm
  5. use the iCreate robot.
  6. use the R12 robotic arm.

Prerequisites

Grading policy

2 take home exams (15% each)
3 team projects (15% each)
Paper presentation (20%)
Attendance & Assignments (5%)

Dealing with dishonesty
the department policy is:
Offense Penalty Reported To
First Zero on work Dean of Students
Second F in course University Disciplinary Committee
Third Expulsion from program University Disciplinary Committee


Project (see sample project from 2008, sample projects1 and project2 from 2010, sample R12 project 2012). Sample Projects 2013. Teams will be established during the first week of classes. The schedule for the R12 is also established based on the number of students in the class.


Projects:
  1. Project 1: (deadline approx Feb 5)
    1. Manuals for R12 are available here.
    2. On the table of our R12 robotic arm there exists a cuboid of height 1000 (10 cm), width 700 (7cm) and length 1100 (11cm), placed at 45 degrees with respect to the 0x and 0y axes and with the center of the top back side at -3500 3500 -800.
    3. For part 2, the position of the object remains the same and does not move to the older projects position which was:
      1. -4500, 550, -1000;
      2. -4500, -550, -1000;
      3. -3800, -550, -1000.
    4. The robotic arm holds a camera that can take pictures on the command: "x CAPTURE", where x is an integer number.
    5. The robotic arm can move its end effector inside a spherical cap with radius 5000 (50 cm), with center in the center of the SHOULDER joint, and bounded low by the plane of the table at ZZZZ = -1831, and by the planes of the shields at |x| =4500 and |y|=4500. Also, for negative values of ZZZZ, you cannot have both XXXX and YYYY coordinates simultaneously in the interval (-2200,2200).
    6. The center of the axes of coordinates (0 0 0) is in the center of the SHOULDER joint.
    7. Typically, the starting position of the arm is straight upward (0 0 5000). You can always return to this position with the command "HOME".
    8. The tool length (from wrist joint to the end of the camera lenses) is 15 cm.
    9. To move the wrist joint of the robot to a position XXXX YYYY ZZZZ, with WRIST WWWW and HAND TWIST HHHH , you may issue the command:
    10. To move the arm to a position by specifying the angle of each joint, you can use:
    11. Plan the robotic arm to inspect the object from all sides, taking pictures of each reachable 1x1cm2 from a 3 cm distance.
    12. Currently feedback is available with 2 external cameras that stream live video.
    13. To take a picture you should issue the command "2345 CAPTURE" (use your numbers instead of 2345), which will create a picture. Make the server delete all the pictures with "-1 CAPTURE".
    14. A list of commands can be sent together, separated by a space, in one string.
    15. For tests, send the commands using the interface for robot R12 (you have to previously register in the forum of the class, to get a certificate for the server).
    16. alternatively you can send the commands programmatically to debatedecide.fit.edu:80 using "telnet debatedecide.fit.edu 80" and as a string:
    17. GET /robot.php?o=369&m=Y&p=mypass&c=HOME0%200%201000%201000%201000%20TMOVETO
    18. Another way is based on your certificate:
      1. First extract the keys from your certificate with (on olin):
        • openssl pkcs12 -in ./certForOrg_AIRobotics2011_357_MS.p12 -out ./certForOrg_AIRobotics2011_357_MS -passout pass: -passin pass:1234567 -nodes
      2. Then you can use the keys as often as you want with:
        • openssl s_client -cert ./certForOrg_AIRobotics2011_357_MS -ssl3 -connect debatedecide.fit.edu:443
      3. at prompt type
        • GET /robot.php?o=369&m=Y&c=HOME%201000%201000%201000%20MOVETO
    19. For the first part, you may use only the command "TMOVETO". You only need to take pictures of the front and top of the object.
    20. For the second part, you may use only the command "AJMA".
  2. Project 2: (March 5)
    1. The object is moved to a different location and has to be found. You have to develop a contingency plan of the arm trajectory and you can process the images with any package available (e.g. opencv).
    2. You have to give a demo on (March 4), where the box to locate will be found at a new random position within the robot enclosure (once close, once far and once at mid-distance from the base).
    3. You have to deliver (by March 6) a website with a report about the used algorithms and pictures of the performance.
  3. Project 3:
    1. Try to map the north face exterior of the Harris Building between the 2 staircases (west to east), using odometer, bump and range sensors. Submit a webpage discussing (a) your solution and (b) possible algorithm improvements to reduce errors. (Demo on April 3)
    2. Plan and coordinate the movement of the robot from the west staircase to the east door on the north face of the Harris building. Submit a website report describing (a) your solution and (b) possible algorithm improvements to reduce errors (Demo on April 24)
Paper presentation (~35 minutes). Each student has to prepare a presentation and to write a detailed review for a recent article on robotics published in the AAAI conference.