Question 1¶
Consider the following three systems operating in an ℝ² workspace.
System A - Two bars that are connected by a prismatic joint that can slide along either of the bars. One of the bars is fixed in place (maybe it is bolted down).
System B - Two bars that are connected by a prismatic joint that can slide along either of the bars. The end of one of the bars is fixed in place by something that the bar can swivel around.
System C - Two bars that are connected by a prismatic joint that can slide along either of the bars. Neither of the bars are fixed in place.
Question 2¶
Consider the following two systems operating in an ℝ² workspace.
System D - A circular wheel that rotates around a particular fixed point connected by a revolute joint to a bar.
System E - Same as system D, but the bar is not able to intersect the center point of the wheel.
Question 3¶
Consider the following three systems operating in an ℝ² workspace.
System F - A combination of systems A and D, in which the vertical bar in system A is also the straight bar in system D. The range of movement of the vertical bar ℓ is greater than the sum of the distance h between the horizontal bar and the wheel and the diameter d of the wheel.
System G - Same as system F, except that d + h > ℓ
System H - Same as system F, except that the center of the wheel is not fixed in place.
Visualizers for these systems:¶
Question 4¶
Consider the following three systems operating in an ℝ² workspace.
System X - Four bars that are connected in a chain by revolute joints. The first bar is fixed in place.
System Y - Four bars that are connected in a chain by revolute joints. The first bar is fixed in place. The revolute joints cannot make an angle tighter than π/9
System Z - Four bars that are connected in a loop by revolute joints. The first bar is fixed in place. The revolute joints cannot make an angle tighter than π/9.
Use the code available at the following link to complete the remaining questions.
Question 5¶
Alter the code in RRT_2D_polygons.py to handle the case where the robot is navigating among polygonal obstacles on a Möbius strip. (You may also edit other files if you want - rppl_util.py might be another useful one to edit).
A Möbius strip can be modelled as a rectangular region in which the left and right sides are impassable boundaries and exiting out of the top boundary brings the robot to the opposite side of the bottom boundary (and vice versa). Note the two paths shown in the Möbius strip below.
Question 6¶
Alter the code in RRT_LSR.py to handle the case where the joints in the arm cannot spin in a complete circle. (You may also edit other files if you want).
More specifically, make it so that the revolute joints connecting two consecutive links cannot make a sharper angle than π/9. Note examples of allowed and forbidden configurations below.