> ## Documentation Index
> Fetch the complete documentation index at: https://docs.generalrobotics.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# G1

## G1

Inherits from: [`Humanoid`](/robot-api/reference/base/robot/humanoid/Humanoid)

G1 humanoid robot.

### Inherited methods

* From [`Humanoid`](/robot-api/reference/base/robot/humanoid/Humanoid): `setDefaultJointAngles`, `setDefaultJointVelocities`
* From [`Robot`](/robot-api/reference/base/robot/robot/Robot): `addSensor`, `getImage`, `cleanup`

### **init**

```python theme={null}
G1.__init__(network_interface_name: str = 'enp118s0', low_level_control: bool = False, hand = None, control_dt: float = 0.02)
```

*No docstring provided.*

<ResponseField name="Arguments">
  <ParamField query="network_interface_name (str)" type="str">
    *No description provided.*
  </ParamField>

  <ParamField query="low_level_control (bool)" type="bool">
    *No description provided.*
  </ParamField>

  <ParamField query="hand" type="">
    *No description provided.*
  </ParamField>

  <ParamField query="control_dt (float)" type="float">
    *No description provided.*
  </ParamField>
</ResponseField>

### moveByVelocity

```python theme={null}
G1.moveByVelocity(linear_velocity: Velocity, angular_velocity: Velocity, frame: str = 'base')
```

*No docstring provided.*

<ResponseField name="Arguments">
  <ParamField query="linear_velocity (Velocity)" type="Velocity" required>
    *No description provided.*
  </ParamField>

  <ParamField query="angular_velocity (Velocity)" type="Velocity" required>
    *No description provided.*
  </ParamField>

  <ParamField query="frame (str)" type="str">
    *No description provided.*
  </ParamField>
</ResponseField>

### getJointAngles

```python theme={null}
G1.getJointAngles()
```

*No docstring provided.*

### setJointAngles

```python theme={null}
G1.setJointAngles(angles: list)
```

*No docstring provided.*

<ResponseField name="Arguments">
  <ParamField query="angles (list)" type="list" required>
    *No description provided.*
  </ParamField>
</ResponseField>

### enableArms

```python theme={null}
G1.enableArms()
```

*No docstring provided.*

### disableArms

```python theme={null}
G1.disableArms()
```

*No docstring provided.*

### zeroArmState

```python theme={null}
G1.zeroArmState(smooth = False, duration = 3.0)
```

Move arm joints to zero position.

<ResponseField name="Arguments">
  <ParamField query="smooth" type="">
    If True, smoothly transition to zero position
  </ParamField>

  <ParamField query="duration" type="">
    Duration of smooth transition in seconds (only used if smooth=True)
  </ParamField>
</ResponseField>

### moveToDefaultLeftArmState

```python theme={null}
G1.moveToDefaultLeftArmState(repeat = False, smooth = None)
```

*No docstring provided.*

<ResponseField name="Arguments">
  <ParamField query="repeat" type="">
    *No description provided.*
  </ParamField>

  <ParamField query="smooth" type="">
    *No description provided.*
  </ParamField>
</ResponseField>

### getLeftArmIndices

```python theme={null}
G1.getLeftArmIndices()
```

*No docstring provided.*

### getRightArmIndices

```python theme={null}
G1.getRightArmIndices()
```

*No docstring provided.*

### setLeftArmAngles

```python theme={null}
G1.setLeftArmAngles(angles: Union[list, np.ndarray], kd_scale = 1.0, smooth = False, duration = 2.0)
```

Set left arm joint angles.

<ResponseField name="Arguments">
  <ParamField query="angles (Union[list, np.ndarray])" type="Union[list, np.ndarray]" required>
    7 target angles for left arm joints \[shoulder\_pitch, shoulder\_roll, shoulder\_yaw, elbow, wrist\_roll, wrist\_pitch, wrist\_yaw]
  </ParamField>

  <ParamField query="kd_scale" type="">
    Scale factor for damping gains
  </ParamField>

  <ParamField query="smooth" type="">
    If True, smoothly transition to target angles
  </ParamField>

  <ParamField query="duration" type="">
    Duration of smooth transition in seconds (only used if smooth=True)
  </ParamField>
</ResponseField>

### setRightArmAngles

```python theme={null}
G1.setRightArmAngles(angles: Union[list, np.ndarray], kd_scale = 1.0, smooth = False, duration = 2.0)
```

Set right arm joint angles.

<ResponseField name="Arguments">
  <ParamField query="angles (Union[list, np.ndarray])" type="Union[list, np.ndarray]" required>
    7 target angles for right arm joints \[shoulder\_pitch, shoulder\_roll, shoulder\_yaw, elbow, wrist\_roll, wrist\_pitch, wrist\_yaw]
  </ParamField>

  <ParamField query="kd_scale" type="">
    Scale factor for damping gains
  </ParamField>

  <ParamField query="smooth" type="">
    If True, smoothly transition to target angles
  </ParamField>

  <ParamField query="duration" type="">
    Duration of smooth transition in seconds (only used if smooth=True)
  </ParamField>
</ResponseField>

### setArmAngles

```python theme={null}
G1.setArmAngles(angles: Union[list, np.ndarray, dict], kd_scale = 1.0, smooth = False, duration = 2.0)
```

Set arm joint angles.

<ResponseField name="Arguments">
  <ParamField query="angles (Union[list, np.ndarray, dict])" type="Union[list, np.ndarray, dict]" required>
    Target angles as list, numpy array, or dictionary
  </ParamField>

  <ParamField query="kd_scale" type="">
    Scale factor for damping gains
  </ParamField>

  <ParamField query="smooth" type="">
    If True, smoothly transition to target angles
  </ParamField>

  <ParamField query="duration" type="">
    Duration of smooth transition in seconds (only used if smooth=True)
  </ParamField>
</ResponseField>

### getPosition

```python theme={null}
G1.getPosition()
```

*No docstring provided.*

### getOrientation

```python theme={null}
G1.getOrientation()
```

*No docstring provided.*

### getState

```python theme={null}
G1.getState()
```

*No docstring provided.*

### getLowState

```python theme={null}
G1.getLowState()
```

*No docstring provided.*

### stop

```python theme={null}
G1.stop()
```

*No docstring provided.*
