Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

Problem Sheet 01, ENGNX627, 2022

(75 marks) as assigned

version 1

Q 1.    Conceptual Framework for Robotic Systems (20 Marks)

 

Figure 1: Framework graphic for Question Q 1.

Recall the general framework for the architecture of a mobile robot shown in Figure Q 1.

 

Figure 2: Safety Glass on the Jubilee line in London underground.

Consider a simple example of an autonomous loop train in an underground metro system where there is no chance of pedestrians or other road users ob- structing the tracks. Assume that there are no side lines or sidings, it is a single rail in a loop, with the train always moving in the same direction. Assume that the stations are equipped with glass protection to avoid any chance of pedes- trians falling onto the track, similar to that shown in Fig. 2. You may assume that there will be no obstructions of the tracks during operation.

The goal of the train is to travel from station to station on a single track, stopping at the correct point at each station, opening the doors, closing the doors and keeping to a predetermined schedule.

1.  (5 Marks) Discuss a suitable sensor suite  (collection of sensors) for the train and justify why these sensors were chosen.

2.  (5 Marks) Describe the key state or states that must be estimated by the spatial awareness module.  Justify why you have chosen this state or states.

3.  (5 Marks) Describe the nature of the planning the train will need to do and decisions it may need to take.

4.  (5 Marks) Describe the nature of the actuation and control algorithms that will need to be used.

Maximum text 1.5 pages. Feel free to use dot points.  [Hint: Keep things simple - go for the simplest solution that will solve the problem.]

Q 2.    Kinematic Modelling of mobile robot (19 Marks)

Consider a three wheel device as shown in Figure 3. Think of this as something like a snake board but with a central wheel. The analysis will assume that the device never falls over, that is the wheels always remain vertical.

The wheels are unactuated and all wheels have the same radius r . The three wheel contact points are labelled p0  for the central wheel, and p1  and p2  for the front and back wheels.  The distance from the articulation points to the wheel contact points is d in all cases.

Actuation is provided by actuating the two articulation joints

α 1  = β 1

dt

d

In order to move the wheels must push sideways and exploit the non-slipping rolling  constraint  on  the  wheels.    For  example,  if  α 1   is  held  constant  and  (α2 )  < 0 in the configuration shown in Fig. 3 then the central point with the body fixed frame will move forward and rotate to the left.

1.  (1 mark) How many degrees of freedom does the vehicle have.

 

Figure 3: Graphic for Question Q 2.

2.  (1 mark) Is the system fully actuated, under actuated or over actuated.

3.  (1 mark) Is the system non-holonomic or not.

4.  (3 marks) For each wheel:  Determine the wheel type,  position in the body-fixed-frame.

5.  (3 marks) For each wheel: Determine a model for the contact point velocity of the wheel.

Assign notation (u,0,q) for the pose velocity of the body-fixed-frame velocity (linear ∈ R2  and angular ∈ R) measured with respect to the reference frame and expressed in the body-fixed-frame.

6.  (3  mark)  Compute the  linear velocities  (with  respect to the  reference frame, expressed in the body-fixed-frame) of wheel contact points in BFF in terms of pose and input velocities. That is in terms of (u,q) and (β1 ,β2 ).

7.  (3 mark) Clearly write a set of equations that relate body-fixed-frame pose velocity to configuration variable velocities and inputs by equating linear velocities of wheels computed in the two ways discussed above along with the input-to-configuration kinematic relationships given in the question definition.

8.  (3 marks) Solve the set of equations to derive kinematics for the body- fixed-frame velocity (with respect to the reference frame expressed in the body-fixed frame) in terms of the configuration variables and the inputs (β1 ,β2 ).  (Hint: I had to invert a 2 × 2 matrix. You can leave the solution in matrix form as long as the left hand side is just (u,q) as required.)

9.  (1 marks) Solve for the body-fixed-frame velocity with respect to the refer- ence frame expressed in the reference frame and write down an expression for the mobile robot kinematics in the reference frame pose coordinates. (Hint: You can leave this formula in matrix form also if you want. )

Q 3.    Frames of reference (17 marks)

Consider the figure shown in 4 with three frames shown. The figure is a regular tetrahedron with side lengths equal l = 1m. The base frame is centrally located under the top vertex with the  Ae1   perpendicular to the edge it is directed towards.  The corner frame {B} is located at the vertex with the Be2  directed along the edge (and colinear with Ae2  and Be1  perpendicular to the planar face as shown at the rear of the tetrahedron, as shown in Figure 4.  Frame {C} is located at the top vertex oriented symmetrically around the edges. That is the

direction

C(C)v =    = A(C)e3

and C(C)v points directly at frame {A}. The axes Ce1 , Ce2  and Ce3  lie as close to the edges as shown as they can.

 

Figure 4: A tetrahedron

1.  (1 mark) Write down A(A)p1 : the coordinates of p1  measured with respect to {A} and expressed in {A}.

2.  (1 mark) Write down A(A)p2 : the coordinates of p2  measured with respect to {A} and expressed in {A}.

3.  (1 mark) Compute AxB : The coordinates of the origin of {B} with respect to {A} expressed in {A}.

4.  (1 mark) Compute B(A)e2 :  The coordinates of the second axis of {B} ex- pressed in {A}.

5.  (1 mark) Compute B(A)e3 : The coordinates of the third axis of {B} expressed in {A}.

6.  (1 mark) Compute ARB : The orientation of {B} expressed in {A}.

7.  (1 mark) Compute BRA : The orientation of {A} expressed in {B}.

8.  (1 mark) Compute the pose APB :  The pose of {B} with respect to {A} expressed in {A}. Write this as a homogeneous matrix.

9.  (1 mark) Compute the pose BPA :  The pose of {A} with respect to {B} expressed in {B}. Write this as a homogeneous matrix.

10.  (1 mark) Compute B(B)p1 :  the coordinates of p1  measured with respect to {B} and expressed in {B}.

Now consider frame {C}

1.  (1 mark) Compute AxC : The coordinates of the origin of {C} with respect to {A} expressed in {A}.

2.  (1 mark) Compute C(A)e1 : The coordinates of the first axis of {C} expressed in {A}.

3.  (1 mark) Compute C(A)e2 :  The coordinates of the second axis of {C} ex- pressed in {A}.

4.  (1 mark) Compute C(A)e3 : The coordinates of the third axis of {C} expressed in {A}.

5.  (1 mark) Compute ARC : The orientation of {C} expressed in {A}.

6.  (1 mark) Compute the pose APC :  The pose of {C} with respect to {A} expressed in {A}. Write this as a homogeneous matrix.

7.  (1 mark) Compute C(C)p1 :  the coordinates of p1  measured with respect to {C} and expressed in {C}.

Q 4.    Odometry (19 marks)

Consider a differential drive robot with state ξ = (x,y,θ) as shown in Figure 5 The kinematics of this vehicle are

\  y˙(x˙)       \

 

0

0(0)  \  1) (

 (ϕ˙(ϕ˙)R(L))

Assume that the wheel radius is 2cm. Assume that the track width of the robot is 10cm. The wheel rotation speed is measured in rad/s for this question.

Consider a course as shown in Figure 6. The course consists of two straights of length lm with two half circle turns of radius rm at either end.

The robot is placed at the origin of {A} oriented in the Ae1  direction.  All dimensions are drawn in meters.

 

Figure 5: Parameters of differential drive robot.

 

Figure 6: A line following course for a differential drive robot.

1.  (2 marks) Compute inputs (ϕ˙L , ϕ˙R ) to drive the robot in a straight line at 10cm/s.

2.  (2 marks) Compute inputs (ϕ˙L , ϕ˙R ) to drive the robot around a circular path of radius r = m at 10cm/s.

3.  (3 marks) Write down a control sequence to navigate the course shown for an arbitrary scale lm.

4.  (2 marks) Let l = 1m. Compute the position (in frame {A}) of the robot after 20s assuming the robot is moving at 10cm/s and ideal measurements.

5.  (1 marks) Assume the robot is moving in a straight line at 10cm/s and that you compare Euler integration with Direct Integration  (Odometry Lecture) over a period of 0.1s.  What would the difference in odometry estimate be?  Express the error in the body-fixed frame of the robot at the final position.

6.  (2 marks) Assume the robot is moving around a circular trajectory of radius r =  m at 10cm/s.  Compare Euler integration with Direct In- tegration  (Odometry Lecture) over a period of 0.1s.   What would the difference in odometry estimate be?  Express the error in the body-fixed frame of the robot at the final position.

7.  (2 marks) Imagine that the robot followed the exact course shown in Figure

6 at 10cm/s speed for a given scale parameter lm with r = m.  If you sample the control (with zero noise) at 10Hz and used Euler integration odometry to estimate the position of the robot;

(a) Would the estimate of the trajectory followed be accurate?

(b) Would the odometry estimate show the robot returning to the start-

ing position?

Explain your answer in a short sentence and consider the possibility of different values for the scale lm.

8.  (2 marks) Imagine that the robot followed the exact course shown in Figure

6 at 10cm/s speed for a given scale parameter lm with r = m.  If you sample the control (with zero noise) at 10Hz and used direct integration odometry to estimate the position of the robot;

(a) Would the estimate of the trajectory followed be accurate?

(b) Would the odometry estimate show the robot returning to the start-

ing position?

Explain your answer in a short sentence and consider the possibility of different values for the scale lm.

9.  (3 marks) Compute the accumulated error by using Euler integration compared to direct integration for a robot traversing the circular trajectory from {B} to {C} for radius r = m at 10cm/s and assuming that the time- step was 1/10s (10Hz sample rate).  Express the error in the body-fixed frame of the robot at the final position.   (Hint:  the radius of the circle is chosen so the robot should take exactly 10 time steps (1s) to traverse the arc specified.).   Please feel free to use MATLAB or a similar tool to compute the value of the error.  I am allocating 1 mark to the correct answer and 2 marks to explaining how you set up the correct computation.