LAB 2: Robot arm Kinematics and Path planning
10%
For this lab you will need to do the following:
- (0.5%) Propose a 2DOF Arm lego-design and build it.
Take into account the following requirements:
- Add a pencil, marker or pen to the end effector.
- For simplicity try to locate the two revolute joints on the same plane.
- Add a base to the robot arm in order to keep it fixed and aligned with the reference frame.
- Are there different types of linkages that can provide the same motion? Consider pro-s and cons of different motor mountings and arm linkage constructions (see lecture notes).
Useful links:
L1,
L2,
L3,
L4.
- (0.5%) Determine the work space of your robot. State your answer in the report.
- Define a initial position for your robot, such that the robot base is located on (0,0) Cartesian coordinates.(0.0%)
Forward Kinematics
- (0.5%) Write a program that given two angles, the robot moves to their corresponding joint angles, and returns the (x,y) position of the end effector. Measure the accuracy/repeatability of your 2DOF robot. State your answer in the report.
- (0.5%) Give your robot the functionality of measuring distances and angles in a 2D plane.
Distance: Inside the robot working space, a user wants to measure the distance between two points.
The user moves the end effector to the first point, clicks a touch sensor for recording the first point,
then the user locates the end effector over the second location and clicks for storing the second point.
The user gets as output the distance between the two points and it is displayed in the EV3 screen.
Angle: Inside the robot working space, a user wants to measure the angle between two lines that intersect.
The user moves the end effector to three points the first point in the line intersection and the other two on the different lines.
The user gets as output the angle between the two lines and it is displayed in the EV3 screen.
Inv. Kinematics 2D (numerical solution, Newton's or Broyden's Method and analytical solution )
- (2%) Write a program that receives as input a (x,y) location inside the robot working space and locates the robot end effector at the input location.
- (1%) Write a program that finds mid points between two points. i.e. The user moves the end effector to point1 stores that location then moves the end
effector to point2 stores the second location and then runs the midpoint algorithm which locates the robots end effector in the middle of the two points.
Note: You have to implement both the numerical and analytical approach. Explain and compare both approaches(Report).
Path planning
- (1%) Add to your robot the following functionalities:
- Draw a straight line defined by two points.
- Draw a straight line defined by a point, angle with respect to an horizontal axis and distance.
- Draw an arc defined by n points.
- (1%) Using the pencil attached to your robots end effector, complete the labyrinth, draw the right path to the exit.(if the labyrinth doesn't fit your working space, you can propose a similar version.)
Explain your approach in the report.
Optional Denavit-Hartenberg Parameters
- Build a 3DOF robot arm.
- Calculate the Denavit-Hartenberg parameters for your robot arm, or compose the link matrix transforms. Please include an image or diagram of your robot indicating frames of reference and links measurement.
Add your calculations in the Report.
Optional Inv. Kinematics 3D
- Write a program that locates the robot end effector in a given (x,y,z) coordinate.
Open ended challenge
- (0.5%)Propose a manipulation task that can be solved with your robot arm. e.g. write a program that receives as input a 2D image and controls the robot to draw the input file.
Explain your approach in the report.
Demo:
Points 4, 5, 6, 7, 8, 9,12, 13.
What to hand in:
A ZIP file and a report file (.pdf) electronically on the course homepage. The ZIP file has to
contain your implementations and any data you either measured or generated. The implementation
have to be well documented. In the ZIP file use a proper directory arrangement and write a
readme.txt file about its structure.