Robotics in Medicine: The Design challenges
The design challenges 2025
There are three design challenges that will run until the end of enhancement/reading week.
- Rapid prototype of open and closed chain linkages (13/2/2025 -> report deadline))
- Demonstrate one open and one closed chain linkage with compliant joints (optionally include a simple bearing) (20/2/2025 -> report deadline)
- Use a Dynamixel to throw a pingpong ball at a target (27/2/2025 -> report deadline)
Teams
- First challenge: teams of between 2 and 3 people.
- Second and third challenges: teams of 4-5 people, at least one member of the team must be from year 2.
- Teams will be announced, or shold be declared, on the first day of the challenge.
Design challenge 1: Rapid prototyping linkages
open and closed chain mechanisms.
There are three parts to this challenge
1.1 program an n-link open serial chain in Matlab
1.2. Design, rapid prototype and demonstrate a physical open and closed chain with 3 links.
- Use the open chain to compute the forward kinematics
- Use the closed chain to demonstrate grashoff and nongrashff conditions
1.3. For extra mark, adapt your matlab code in 1 to simulate a closed chain 4-bar linkage
1.4. Document this work for inclusion in your report.
1.1 program an n-link open serial chain
- Write a program in matlab so that by specifying the link lengths of a 3-link robot you can calculate its end position and plot the pose.
- Given that the robot has links of length l1 = 50 l2 = 90 and l3 = 40 use a trial and error method show you can position the robot at the following points (0,100), at (-170, 0) and at (156,90) (in each case record the three angles you have found)
- Show that you could calculate and draw a serial chain linkage with approx 8-12 links. (think about ways to automatically generating 20 angles for the input),
Some tips for a multi link robot
>> len=1+rand(1,8); % $n$ links with a length between 1 and 2
>> L=tril(ones(8,1)*len); % create a lower triangular matrix from len
>> theta=randn(8,1); % random angles in radians
>> x=L*[cos(cumsum(theta)) sin(cumsum(theta))]; % note angles are radians here
>> xx=[0 0;x]; % add the origin to the data
>> plot(xx(:,1),xx(:,2));axis('equal');grid on;shg
1.2. Design and rapid prototype planar linkages out of paper and similar stationary
- Use the templates in paper_robot_grid.svg and paper_robot.svg to make a 3 link openchain robot.
- Check the self movement of the link when the end is pinned any of the points A, B or C. Can any of the links go through a complete 360 degrees rotation? Where could you locate the end point so one of the links could rotate through 360 degrees?
- Compute (from your model) the joint angles needed to reach points A, B and C with the third link oriented along the pink lines. Is there only a single solution at each point?
- Show that a 2-link with a pinned end is a structure.
- See if you can come up with a planar sliding joint made from paper.
- See if you can make that into a 4-bar linkage by pinning the end of your third link to a point on the y-axis. The '4th' bar of the linkage is the base coordinates. Can any of the links do a full 360 degree rotation? Experiment by changing one joint from a revolute to prismatic (sliding)
Questions
- What conditions make the moveable robot into a structure?
- What would you need to do to change a 5 link serial robot into a structure?
1.3 lazy way to calculate inverse kinematics
in [[https://www.personal.reading.ac.uk/~shshawin/teaching/mrp/nlinkplanar_slide.html][nlinkplanar]] "Calculating the inverse kinematics the lazy"
1.4 For the report
- To make sure you have collected all the material you need for your report.
- Save the programs and plots from matlab using the 'publish' command.
>> publish('myscriptfile','pdf')
- You can also save figures in vector formats (.svg .eps .pdf) using the 'File' / 'save as' menu
Also take photographs and videos of your rapid prototype linkage and document your results.
See Tech briefs on ReportWriting.html and details in report2025.html
Design challenge 2: Building a linkage with compliant joints
Using Fusion360 design two linkages with compliant joints (blade flexures)
- One linkage should be an open chain
- One linkage should be a closed chain (i.e. at least a 4-bar linkage)
Details to follow
Design challenge 3: Throwing a pingpong ball
Design and print a light weight arm to attach to a dynamixel servo to throw a pingpong ball at a target.
Details to follow
Useful resources for challenges
Lab sessions for the design challenge
| Date | time | Activity |
Thur | 13 Feb | 10 to 13 | RP 4 bar |
Thur | 20 Feb | 10 to 13 | Compliant 4 bar |
Thur | 27 Feb | 10 to 13 | Compliant 4 bar/Dynamixel intro |
Thur | 13 Mar | 10 to 13 | Dynamixel 1 |
Mon | 17 Mar | 15 to 18 | Dynamixel 2 |
Thur | 27 Mar | 10 to 13 | Dynamixel toss |