LAB 3: Path Planning & Visual Servoing
For this lab you will need to do the following:
1) Path Planning
Add the following functionalities to your 2DOF robot arm:
- 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. (optional)
- Draw an arc defined by n points. (optional)
2) Uncalibrated Visual Servoing (UVS)
Implement Uncalibrated Visual Servoing (UVS) to move your 2-DOF planar robot arm to a desired position. Your program should be able to dynamically track the end-effector of your robot and a moving target. Tip: OpenCV has tracking modules you can use.
These are some useful steps that you will need to do for your implementation:
- Estimate the initial Jacobian. Tip: You can do that using orthogonal motions
- Define a stop criteria for your looping algorithm
- Implement Broyden update
- Calculate Xdot base on the local linear model
- Update X (motor joint angles)
3) Explain what modifications would need to be made to your UVS program, equipment setup, and mathematical equations in order to control and move a robot arm in a 3D coordinate system (x, y, z location). Implementation optional for bonus marks.
Demo:
Points 1 and 2.
What to hand in:
A ZIP file electronically on the course homepage. The ZIP file has to contain your implementations and any data you either measured or generated. Download the sample ZIP file structure to use as a template.