# Center of Mass

{% hint style="info" %}
The center of mass significantly impacts the robot's maneuverability. Make sure to consider its effect on each subsystem *during the design stage*, rather than addressing it after the robot is built.
{% endhint %}

The [center of mass](https://en.wikipedia.org/wiki/Center_of_mass) (COM) or center of gravity (COG) of a robot is the mean location of all the mass of a robot.

<figure><img src="/files/ftsuJ9gKxmAIqi54SSm4" alt="" width="375"><figcaption><p>Robot in 3D Cartesian Coordinate System</p></figcaption></figure>

## Measuring COM Position

* Model the robot in CAD, and use a "measure"-type tool.]
* Lift the robot by the chassis using 2 fingers. When the robot balances on your fingers, the XY location of the COM will lie in the line formed by your 2 fingers.&#x20;
* [Hang](#hanging) the robot, and observe how the robot tilts to settle.

## Vertical COM Position (Z)

When a robot brakes, the friction between the wheels and the floor rapidly decelerates the robot (velocity is in the opposite direction of acceleration in this case). This creates a torque around the center of mass of the robot, jerking the back of the robot up. In many cases, the rear wheels lose grip with floor as well.

<figure><img src="/files/KRGq8qK25upiwsmCuvMr" alt=""><figcaption><p>Example from <a href="https://youtu.be/AgGbRVwO2mA?si=g-fssw963Eb_-3xF&#x26;t=40">6105C Blackout Robotics Tipping Point</a></p></figcaption></figure>

To mitigate jerking ...

* lower the height of the COM off the ground
  * use lighter materials in the upper sections of the robot (ex. 1x1 L channels on arms, plastic screws / nuts)
  * use heavier materials in the lower sections of the robot
* decrease the max acceleration available to the driver
* implement motion profiling and other motor [control techniques](/software/control-algorithms.md)

<figure><img src="/files/ic3Q7Kg8gFajYVzv9bkv" alt="" width="352"><figcaption><p>The magnitude of the <a href="/pages/8FMdu9EtccrsdXXOexsq">torque</a> is proportional to the height and magnitude of the braking/slowing force.</p></figcaption></figure>

## Horizontal COM Position (XY)

### Turning

<figure><img src="/files/wvSNybTdmVw9QJNsfPXQ" alt="" width="375"><figcaption></figcaption></figure>

The [turning center](/software/odometry.md#tracking-theory-aka-odometry) of the robot is less predictable if the COM (in the horizontal plane) is far from the midpoint of all the wheels. Keeping the COM centered side-to-side and front-to-back ensures more stable and predictable turning.

### Hanging

| Robot Hanging                                                                                                                                                             | Simplified Diagram                                                  |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| <p><img src="/files/0Vh42cvLGn8tnOESWf8T" alt="" data-size="original"><br><a href="https://youtu.be/IVRtz8LhicI?si=SgqCc8fkVBB924wO">RI3D for Over Under by JHAWK</a></p> | <img src="/files/alhj6GLSKhp0x780cUBA" alt="" data-size="original"> |

The end effector used during a hang is typically implemented with a joint. If the horizontal COM is offset from the point where the robot hangs, the robot will tilt until the COM aligns directly beneath the hanging point.

### Control

To control the position of the COM in the XY plane ...

* place towers optimally after building the chassis
* add/remove weight selectively around the robot


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.purduesigbots.com/hardware/design-fundamentals/center-of-mass.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
