---
# System prepended metadata

title: Rigid body tracking vs Motion capture tracking

---

### Rigid body tracking vs Motion capture tracking


###### [04/06/2024]
#### Experiment 0:
In this experiment, I hide a number of markers of an unarmed stationary crazyflie with an object and observe the behaviour.
##### Observations:
##### Motion Capture Tracking with ICP:
1. When n<3 markers out of 5 markers are lost, keeps tracking the crazyflie without any complaints.
2. When 2<n<5 markers out of 5 markers are lost, 
    - **Warnings:**
        ```
        [motion_capture_tracking_node-1] [WARN] Dynamic check failed for rigidBody
        [motion_capture_tracking_node-1] [WARN] ICP did not converge! for rigidBody cf08
        [motion_capture_tracking_node-1] [WARN] No updated pose for cf08 for 0.004931 s.
        ```
    - **Timestamps:** Keeps Updating.
    - **Position:** Keeps tracking the crazyflie correctly.
    - **Orientation:** Wrong.
    - **Recovery:** Recovers once minimum 3 markers are visible again.
3. When all 5 markers are lost, 
    - **Warnings:**
        ```
        [motion_capture_tracking_node-1] [pcl::IterativeClosestPoint::computeTransformation] Not enough correspondences found. Relax your threshold parameters.
        [motion_capture_tracking_node-1] [WARN] ICP did not converge! for rigidBody cf08
        [motion_capture_tracking_node-1] [WARN] No updated pose for cf08 for 0.004931 s.
        ```
    - **Timestamps:** Keeps Updating.
    - **Position:** Wrong. Keeps tracking a nearby marker instead.
    - **Orientation:** Wrong.
    - **Recovery:** Never recovers even when all 5 markers reappear in the exact same location.


##### Rigid Body Tracking with Optitrack:
1. When n<3 markers out of 5 markers are lost, keeps tracking the crazyflie without any complaints.
2. When n>2 markers out of 5 markers are lost, 
    - **Warnings:**
        ```
        [optitrack_tf_node-1] [WARN] Not reporting 1 Object.
        ```
    - **Timestamps:** Stops updating.
    - **Position:** Stops updating.
    - **Orientation:** Stops updating
    - **Recovery:** Recovers once minimum 3 markers are visible again.
3. However, point to be noted, if there are any other identical rigid bodies in the arena, when n>2 markers out of 5 markers are lost for the original crazyflie, /tf will identify the identical rigid body as the original crazyflie and will keep tracking it.

<!-- ###### [06/06/2024]
#### Experiment 1: Speed Test
In this experiment, I send a few `discrete_waypoint_target` with a constant translational speed. I observe the behaviour for different translational speeds.
##### Translational Speed: 0.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_0_5_ms_rigid_cf08](https://hackmd.io/_uploads/ByxG1lySA.png) | ![cf08_rectangle_0_5_ms](https://hackmd.io/_uploads/SJez1xkrA.png)

##### Translational Speed: 1.0 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_1_0_ms_rigid_cf08](https://hackmd.io/_uploads/HkU4ygkSC.png) | ![cf08_rectangle_1_0_ms](https://hackmd.io/_uploads/rJUE1lkSA.png)

##### Translational Speed: 1.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_1_5_ms_rigid_cf08](https://hackmd.io/_uploads/SyTDJlkHA.png) | ![cf08_rectangle_1_5_ms](https://hackmd.io/_uploads/HJaP1lyrA.png)

##### Translational Speed: 2.0 m/s
###### Run 1
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_2_0_ms_failed1_rigid_cf08](https://hackmd.io/_uploads/H1cpkxySA.png) | ![cf08_rectangle_2_0_ms_failed1_rigid_cf08](https://hackmd.io/_uploads/SkqaJgyHC.png)

###### Run 2
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_2_0_ms_rigid_cf08](https://hackmd.io/_uploads/Bkj01gJB0.png) | ![cf08_rectangle_2_0_ms_rigid_cf08](https://hackmd.io/_uploads/r1oC1lkSR.png)

##### Translational Speed: 2.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_2_5_ms_rigid_cf08](https://hackmd.io/_uploads/rkqyxe1SC.png) | ![cf08_rectangle_2_5_ms_rigid_cf08](https://hackmd.io/_uploads/r1cJgxkrA.png)

##### Translational Speed: 3.0 m/s
###### Run 1
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_3_0_ms_run1_rigid_cf08](https://hackmd.io/_uploads/r19egxkB0.png) | ![cf08_rectangle_3_0_ms_run1_rigid_cf08](https://hackmd.io/_uploads/SyqxexyBA.png)

###### Run 2
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_3_0_ms_run2_rigid_cf08](https://hackmd.io/_uploads/BkDZeekBA.png) | ![cf08_rectangle_3_0_ms_run2_rigid_cf08](https://hackmd.io/_uploads/ryw-egkSR.png)

###### Run 3
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![velocity_cf08_rectangle_3_0_ms_run3_rigid_cf08](https://hackmd.io/_uploads/HksGelyr0.png) | ![cf08_rectangle_3_0_ms_run3_rigid_cf08](https://hackmd.io/_uploads/HJjGegJHR.png)
 -->

---
###### [20/06/2024]
#### Experiment 1: Single Agent Speed Test
In this experiment, I specify four corners of a rectangle and a constant translational speed. I observe the behaviour for different translational speeds.
##### Translational Speed: 0.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_0_5_ms_run3_rigid_cf08_velocity](https://hackmd.io/_uploads/BkoXSwWIA.png) | ![cf08_rectangle_0_5_ms_run3_rigid_cf08_trajectory](https://hackmd.io/_uploads/HyxXSvbUA.png)

##### Translational Speed: 1.0 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_1_0_ms_rigid_cf08_velocity](https://hackmd.io/_uploads/S1hrBw-I0.png) | ![cf08_rectangle_1_0_ms_rigid_cf08_trajectory](https://hackmd.io/_uploads/SkVSrwbL0.png)

##### Translational Speed: 1.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_1_5_ms_rigid_cf08_velocity](https://hackmd.io/_uploads/rklsrPWLC.png) | ![cf08_rectangle_1_5_ms_rigid_cf08_trajectory](https://hackmd.io/_uploads/rJ6USwZLA.png)


##### Translational Speed: 2.0 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_2_0_ms_rigid_cf08_velocity](https://hackmd.io/_uploads/r1E2rwW8A.png) | ![cf08_rectangle_2_0_ms_rigid_cf08_trajectory](https://hackmd.io/_uploads/rJTFrwZIA.png)

##### Translational Speed: 2.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_2_5_ms_rigid_cf08_velocity](https://hackmd.io/_uploads/B1JV8D-8C.png) | ![cf08_rectangle_2_5_ms_rigid_cf08_trajectory](https://hackmd.io/_uploads/Sk91UDZ8R.png)

##### Translational Speed: 3.0 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_3_0_ms_rigid_cf08_velocity](https://hackmd.io/_uploads/Sy7-IwZUC.png)| ![cf08_rectangle_3_0_ms_rigid_cf08_trajectory](https://hackmd.io/_uploads/r1YzLwbIR.png)


##### Translational Speed: 3.5 m/s
###### Run 1
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_3_5_ms_fail4_rigid_cf08_velocity](https://hackmd.io/_uploads/HykicwZLR.png) | ![cf08_rectangle_3_5_ms_fail4_rigid_cf08_trajectory](https://hackmd.io/_uploads/rJ_55P-LR.png)


###### Run 2
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_3_5_ms_fail6_rigid_cf08_velocity](https://hackmd.io/_uploads/H1Z69vZ8C.png) | ![cf08_rectangle_3_5_ms_fail6_rigid_cf08_trajectory](https://hackmd.io/_uploads/B1FxiD-I0.png)

---

###### [13/06/2024]
#### Experiment 1: Single Agent Speed Test
In this experiment, I send a few `discrete_waypoint_target` with a constant translational speed. I observe the behaviour for different translational speeds.
##### Translational Speed: 0.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_0_5_ms_velocity](https://hackmd.io/_uploads/ryw_uuOHR.png) | ![cf08_rectangle_0_5_ms_trajectory](https://hackmd.io/_uploads/SkmYOOdH0.png)

##### Translational Speed: 1.0 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_1_0_ms_velocity](https://hackmd.io/_uploads/BkASYOOHA.png) | ![cf08_rectangle_1_0_ms_trajectory](https://hackmd.io/_uploads/ryYNYO_rR.png)

##### Translational Speed: 1.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_1_5_ms_velocity](https://hackmd.io/_uploads/SyhOY_dSR.png) | ![cf08_rectangle_1_5_ms_trajectory](https://hackmd.io/_uploads/BkNdt__S0.png)

##### Translational Speed: 2.0 m/s
###### Run 1
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_2_0_ms_run1_velocity](https://hackmd.io/_uploads/HyTsYu_r0.png) | ![cf08_rectangle_2_0_ms_run1_trajectory](https://hackmd.io/_uploads/S1EoKdOr0.png)

###### Run 2
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_2_0_ms_run2_velocity](https://hackmd.io/_uploads/HkObBYdrR.png) | ![cf08_rectangle_2_0_ms_run2_trajectory](https://hackmd.io/_uploads/rkYeHKdHR.png)

##### Translational Speed: 2.5 m/s
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_2_5_ms_velocity](https://hackmd.io/_uploads/B1DrSYdSC.png) | ![cf08_rectangle_2_5_ms_trajectory](https://hackmd.io/_uploads/H12XrFOHR.png)


##### Translational Speed: 3.0 m/s
###### Run 1
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_3_0_ms_run1_velocity](https://hackmd.io/_uploads/BJmwBFOBC.png) | ![cf08_rectangle_3_0_ms_run1_trajectory](https://hackmd.io/_uploads/rJ08HFdrA.png)

###### Run 2
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_3_0_ms_run2_velocity](https://hackmd.io/_uploads/rJHtrF_SR.png) | ![cf08_rectangle_3_0_ms_run2_trajectory](https://hackmd.io/_uploads/HkKYrtOHC.png) 

###### Run 3
Velocity Plot | Trajectory Plot
:-------------------------:|:-------------------------:
![cf08_rectangle_3_0_ms_run3_velocity](https://hackmd.io/_uploads/rkLhrKuBR.png) | ![cf08_rectangle_3_0_ms_run3_trajectory](https://hackmd.io/_uploads/S1V3SK_rR.png)

###### [05/06/2024]
##### Circle Trajectory with different velocities
1. cf08 circle trajectory at 0.5 m/s. Actual speed = 0.5 m/s
    ![cf08_circle_0_5_m_s](https://hackmd.io/_uploads/rkgTXZA4A.png)
2. cf08 circle trajectory at 0.7 m/s. Actual speed = 0.65 m/s
    ![cf08_circle_0_7_m_s](https://hackmd.io/_uploads/HyC5E-040.png)
3. cf08 circle trajectory at 1.0 m/s. Actual speed = 0.75 m/s
    ![cf08_circle_1_0_m_s](https://hackmd.io/_uploads/BkFRB-A4A.png)
4. cf08 circle trajectory at 1.2 m/s. Avtual speed = 0.74 m/s
    ![cf08_circle_1_2_m_s](https://hackmd.io/_uploads/rJaKUZCNR.png)
5. cf08 circle trajectory at 1.5 m/s. Actual speed = 0.68 m/s
    ![cf08_circle_1_5_m_s](https://hackmd.io/_uploads/S12JPWCER.png)
