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:
- explain the components of a robot
- design movement planners and localizers
- Bayesian Networks, Markov chains, POMDPs,
Kalman Filters
- use stereo vision from eye-in-hand arm
- use the iCreate robot.
- use the R12
robotic arm.
Prerequisites
- Programming
- You should know to program in some language.
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:
- Project 1: (deadline approx Feb 5)
- Manuals for R12 are available here.
- 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.
- For part 2, the position of the object remains the same and does not move to the older projects position which was:
- -4500, 550, -1000;
- -4500, -550, -1000;
- -3800, -550, -1000.
- The robotic arm holds a camera that can take pictures on the
command: "x CAPTURE", where x is an integer number.
- 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).
- The center of the axes of coordinates (0 0 0) is in the center
of the SHOULDER joint.
- Typically, the starting position of the arm is straight upward
(0 0 5000). You can always return to this position with the command
"HOME".
- The tool length (from wrist joint to the end of the camera lenses) is 15 cm.
- 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:
- "HHHH WWWW XXXX YYYY ZZZZ TMOVETO"
- To move the arm to a position by specifying the angle of each joint, you can use:
- <HAND_ANGLE> <WRIST_ANGLE> <ELBOW_ANGLE> <SHOULDER_ANGLE> <WAIST_ANGLE> AJMA
- <HAND_STEPS> <WRIST_STEPS> <ELBOW_STEPS> <SHOULDER_STEPS> <WAIST_STEPS> JMA
- HAND_STEPS = 1000/20 * HAND_ANGLE (in [-9000, 9000])
- WRIST_STEPS = 4000/90 * WRIST_ANGLE (in [-4500, 4500])
- ELBOW_STEPS = 6000/90 * ELBOW_ANGLE (in [-9300, 9300])
- SHOULDER_STEPS = 8400/90 * SHOULDER_ANGLE (in [-11000, 11000])
- WAIST_STEP = 7280/180 * WAIST_ANGLE (in [-7280, 7280])
- Plan the robotic arm to inspect the object from all sides,
taking pictures of each reachable 1x1cm2 from a 3 cm
distance.
- Currently feedback is available with 2 external cameras that
stream live video.
- 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".
- A list of commands can be sent together, separated by a space,
in one string.
- 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).
- alternatively you can send the commands programmatically to
debatedecide.fit.edu:80 using "telnet debatedecide.fit.edu 80" and as a
string:
- GET
/robot.php?o=369&m=Y&p=mypass&c=HOME0%200%201000%201000%201000%20TMOVETO
- Another way is based on your certificate:
- 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
- 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
- at prompt type
- GET
/robot.php?o=369&m=Y&c=HOME%201000%201000%201000%20MOVETO
- 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.
- For the second part, you may use only the command "AJMA".
- Project 2: (March 5)
- 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).
- 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).
- You have to deliver (by March 6) a website with a report about the used algorithms and pictures of the performance.
- Project 3:
- 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)
- 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.