Retake Embedded Motion Control 2018 Nr1: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
Retake Albu, T.F.
Retake Albu, T.F. (486100, 19992109)


<b>Requirements:</b>
<b>Requirements:</b>
Line 23: Line 23:
<b>Architectural Design Decisions:</b>
<b>Architectural Design Decisions:</b>


<b>ADD10.</b> We organize the software as two goals: detect POI, and follow POI. The robot will start in detection mode, and as soon as the POI has been found, it goes to follow mode. If the contact with POI is lost, the robot goes beck to detection mode. Within the follow POI goal, we distinguish two sub-goals: navigating to a certain "watching" position behind the POI, and aligning the robot to face the POI. The robot will go to the watching position which gives it the best view of the POI movements. If POI is still, the robot will just stay there and "watch".
<b>ADD1.</b> We organize the software as two goals: detect POI, and follow POI. The robot will start in detection mode, and as soon as the POI has been found, it goes to follow mode. If the contact with POI is lost, the robot goes beck to detection mode. Within the follow POI goal, we distinguish two sub-goals: navigating to a certain "watching" position behind the POI, and aligning the robot to face the POI. The robot will go to the watching position which gives it the best view of the POI movements. If POI is still, the robot will just stay there and "watch".


<b>ADD20.</b> The necessary tasks we consider to be: detecting the objects around the robot in a certain distance range; calculating the "watching" position and the line of POI legs; navigating to a certain position; aligning by rotation the robot to a certain direction.  
<b>ADD2.</b> The necessary tasks we consider to be: detecting the objects around the robot in a certain distance range; calculating the "watching" position and the line of POI legs; navigating to a certain position; aligning by rotation the robot to a certain direction.  


<b>ADD30.</b> The World Model consists of the position of the objects around the robot in a certain distance range, in the coordinate system of the robot.  
<b>ADD3.</b> The World Model consists of the position of the objects around the robot in a certain distance range, in the coordinate system of the robot.  


<b>ADD40.</b> The necessary skills we consider to be: measuring the distance between the robot and the closest object at a certain given angle between -pi and pi (not including -pi and including pi); translating the robot at a certain speed, specifying the projection of the velocity on the coordinate axis in the robot coordinate system; rotating the robot at a certain angular speed.  
<b>ADD40.</b> The necessary skills we consider to be: measuring the distance between the robot and the closest object at a certain given angle between -pi and pi (not including -pi and including pi); translating the robot at a certain speed, specifying the projection of the velocity on the coordinate axis in the robot coordinate system; rotating the robot at a certain angular speed.  




<b>Detailed Design Decisions:</b>


<b>Detailed Design Decisions:</b>
<b>D1.</b> In order to find the POI, the robot will scan 2 times 180 degrees, and will parse the information -- it will be able to put together information about an object that appears in both measurements. The robot shall rotate until it detect the 2 legs of the POI in the range 0.2m-1m, after that it will move at the "watching" position -- a central position at 0.4m behind the POI, facing it.


D1. In order to find the POI, the robot will scan 2 times 180 degrees, and will parse the information. The robot shall rotate until it detect the 2 legs of the POI in the range 0.2m-1m, after that it will move at the "watching" position -- a central position at 0.4m behind the POI, facing it.
<b>D2.</b> The watching position is calculated as follows:
    - The robot detects the 2 legs of the POI, and calculates their centers of mass. The centers of mass define the line segment of the POI legs.  
    - The watching position is at 0.4m orthogonally from the middle of this line segment


D2. The "watching" position is calculated as follows:
<b>D3.</b> If the robot detects a different number of legs than 2 (0, 1, 3 etc.) then it considers the contact with POI broken, and it starts searching for it again.
    - the robot detects the 2 legs of the POI, and their centers of mass.


<b>D4.</b> In order to filter out a person walking by, the robot will consider a cone of 60 degrees, centered in the middle of the line segment of POI legs. Everything outside the code ill be discarded.


<b>Important Remark.</b> Design decision D4 is a wrong decision. At testing it turned out the actual system cannot align perfectly, and using the cone gives mistakes in finding POI -- it will cut off one leg. Therefore, this decision is to be replaced by D4' presented below. Unforntunately, there was no more time to implement this decision.


D2. In order to filter out
<b>D4'.</b> In order to filter out a person walking by, the robot will memorize the position of POI legs. If at the next scan more objects are detected, the robot will only consider two of them located close to the previous scan.

Revision as of 16:43, 17 August 2018

Retake Albu, T.F. (486100, 19992109)

Requirements:

R1. The robot will start by searching for the POI.

R2. The robot will follow the POI.

R3. The robot will filter out another person, even if it comes close to POI, but not between the POI and the robot.

R4. If the contact with the POI is lost, the robot will search for POI with the same procedure as at start.


Assumptions:

A1. POI will move with a speed less than 0.5m/s.

A2. Two legs of POI will always be visible to the robot.


Architectural Design Decisions:

ADD1. We organize the software as two goals: detect POI, and follow POI. The robot will start in detection mode, and as soon as the POI has been found, it goes to follow mode. If the contact with POI is lost, the robot goes beck to detection mode. Within the follow POI goal, we distinguish two sub-goals: navigating to a certain "watching" position behind the POI, and aligning the robot to face the POI. The robot will go to the watching position which gives it the best view of the POI movements. If POI is still, the robot will just stay there and "watch".

ADD2. The necessary tasks we consider to be: detecting the objects around the robot in a certain distance range; calculating the "watching" position and the line of POI legs; navigating to a certain position; aligning by rotation the robot to a certain direction.

ADD3. The World Model consists of the position of the objects around the robot in a certain distance range, in the coordinate system of the robot.

ADD40. The necessary skills we consider to be: measuring the distance between the robot and the closest object at a certain given angle between -pi and pi (not including -pi and including pi); translating the robot at a certain speed, specifying the projection of the velocity on the coordinate axis in the robot coordinate system; rotating the robot at a certain angular speed.


Detailed Design Decisions:

D1. In order to find the POI, the robot will scan 2 times 180 degrees, and will parse the information -- it will be able to put together information about an object that appears in both measurements. The robot shall rotate until it detect the 2 legs of the POI in the range 0.2m-1m, after that it will move at the "watching" position -- a central position at 0.4m behind the POI, facing it.

D2. The watching position is calculated as follows:

   - The robot detects the 2 legs of the POI, and calculates their centers of mass. The centers of mass define the line segment of the POI legs. 
   - The watching position is at 0.4m orthogonally from the middle of this line segment

D3. If the robot detects a different number of legs than 2 (0, 1, 3 etc.) then it considers the contact with POI broken, and it starts searching for it again.

D4. In order to filter out a person walking by, the robot will consider a cone of 60 degrees, centered in the middle of the line segment of POI legs. Everything outside the code ill be discarded.

Important Remark. Design decision D4 is a wrong decision. At testing it turned out the actual system cannot align perfectly, and using the cone gives mistakes in finding POI -- it will cut off one leg. Therefore, this decision is to be replaced by D4' presented below. Unforntunately, there was no more time to implement this decision.

D4'. In order to filter out a person walking by, the robot will memorize the position of POI legs. If at the next scan more objects are detected, the robot will only consider two of them located close to the previous scan.