Skip to content
Open
Show file tree
Hide file tree
Changes from 12 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ world:
offset: [0, 0] # the offset of the world on x and y

robot:
kinematics: {name: 'diff'} # omni, diff, acker
kinematics: {name: 'diff'} # omni, omni_angular, diff, acker
shape: {name: 'circle', radius: 0.2} # radius
state: [1, 1, 0] # x, y, theta
goal: [9, 9, 0] # x, y, theta
Expand All @@ -138,7 +138,7 @@ For more examples, see the [usage directory](https://github.com/hanruihua/ir-sim

| **Category** | **Features** |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Kinematics** | Differential Drive mobile Robot · Omnidirectional mobile Robot · Ackermann Steering mobile Robot |
| **Kinematics** | Differential Drive mobile Robot · Omnidirectional mobile Robot · Omnidirectional with Angular control · Ackermann Steering mobile Robot |
| **Sensors** | 2D LiDAR · FOV Detector |
| **Geometries** | Circle · Rectangle · Polygon · LineString · Binary Grid Map |
| **Behaviors** | dash (move directly toward goal) · RVO (Reciprocal Velocity Obstacle) · ORCA (Optimal Reciprocal Collision Avoidance) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,48 +100,64 @@ msgid "`a`"
msgstr "`a`"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "Turn Left"
msgstr "左转"
msgid "Turn Left (diff/acker) / Strafe Left (omni/omni_angular)"
msgstr "左转 (diff/acker) / 左平移 (omni/omni_angular)"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "`d`"
msgstr "`d`"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "Turn Right"
msgstr "右转"
msgid "Turn Right (diff/acker) / Strafe Right (omni/omni_angular)"
msgstr "右转 (diff/acker) / 右平移 (omni/omni_angular)"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "`q`"
msgstr "`q`"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "Decrease Linear Velocity"
msgstr "降低线速度"
msgid "Rotate Left (omni_angular)"
msgstr "左旋转 (omni_angular)"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "`e`"
msgstr "`e`"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "Increase Linear Velocity"
msgstr "提升线速度"
msgid "Rotate Right (omni_angular)"
msgstr "右旋转 (omni_angular)"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "`z`"
msgstr "`z`"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "Decrease Angular Velocity"
msgstr "降低角速度"
msgid "Decrease Max Angular Velocity"
msgstr "降低最大角速度"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "`c`"
msgstr "`c`"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "Increase Angular Velocity"
msgstr "提升角速度"
msgid "Increase Max Angular Velocity"
msgstr "提升最大角速度"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "`shift+z`"
msgstr "`shift+z`"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "Decrease Max Linear Velocity"
msgstr "降低最大线速度"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "`shift+c`"
msgstr "`shift+c`"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "Increase Max Linear Velocity"
msgstr "提升最大线速度"

#: ../../source/usage/configure_keyboard_Mouse_control.md:74
msgid "`alt+num`"
Expand Down
32 changes: 26 additions & 6 deletions docs/locale/zh_CN/LC_MESSAGES/usage/configure_robots_obstacles.po
Original file line number Diff line number Diff line change
Expand Up @@ -58,12 +58,16 @@ msgstr "关键参数说明"
#: ../../source/usage/configure_robots_obstacles.md:54
msgid ""
"**`kinematics`:** Defines the movement model of the robot. Name options "
"include `'omni'`, `'diff'`, and `'acker'`."
msgstr "**`kinematics`:** 定义机器人的运动学模型,可选 `'omni'`、`'diff'`、`'acker'`。"
"include `'omni'`, `'omni_angular'`, `'diff'`, and `'acker'`."
msgstr "**`kinematics`:** 定义机器人的运动学模型,可选 `'omni'`、`'omni_angular'`、`'diff'`、`'acker'`。"

#: ../../source/usage/configure_robots_obstacles.md:55
msgid "`'omni'`: Omnidirectional wheels allowing movement in all directions."
msgstr "`'omni'`:全向轮,可向任意方向移动。"
msgid "`'omni'`: Omnidirectional wheels allowing movement in all directions (no orientation control)."
msgstr "`'omni'`:全向轮,可向任意方向移动(无朝向控制)。"

#: ../../source/usage/configure_robots_obstacles.md:56
msgid "`'omni_angular'`: Omnidirectional with yaw rate control (can translate and rotate independently)."
msgstr "`'omni_angular'`:带偏航角速度控制的全向移动(可独立平移和旋转)。"

#: ../../source/usage/configure_robots_obstacles.md:56
msgid ""
Expand Down Expand Up @@ -100,13 +104,29 @@ msgid "`omni`"
msgstr "`omni`"

#: ../../source/usage/configure_robots_obstacles.md:33
msgid "`[vx, vy]` - velocity in x,y"
msgstr "`[vx, vy]` —— x/y 方向速度"
msgid "`[forward, lateral]` - body-frame velocity"
msgstr "`[forward, lateral]` —— 机体坐标系速度"

#: ../../source/usage/configure_robots_obstacles.md:33
msgid "Holonomic robots, drones"
msgstr "全向机器人、无人机"

#: ../../source/usage/configure_robots_obstacles.md:33
msgid "✗ No orientation control"
msgstr "✗ 无朝向控制"

#: ../../source/usage/configure_robots_obstacles.md:33
msgid "`omni_angular`"
msgstr "`omni_angular`"

#: ../../source/usage/configure_robots_obstacles.md:33
msgid "`[forward, lateral, yaw_rate]` - body-frame velocity + yaw rate"
msgstr "`[forward, lateral, yaw_rate]` —— 机体坐标系速度 + 偏航角速度"

#: ../../source/usage/configure_robots_obstacles.md:33
msgid "Holonomic robots with heading"
msgstr "带朝向的全向机器人"

#: ../../source/usage/configure_robots_obstacles.md:33
msgid "✓ Yes"
msgstr "✓ 可以"
Expand Down
110 changes: 73 additions & 37 deletions docs/locale/zh_CN/LC_MESSAGES/yaml_config/configuration.po
Original file line number Diff line number Diff line change
Expand Up @@ -833,8 +833,8 @@ msgid "`kinematics`"


#: ../../source/yaml_config/configuration.md:271
msgid "Kinematic model of the object. Support name: `diff`, `acker`, `omni`"
msgstr "对象的运动学模型。支持的模型有`diff`, `acker`, `omni`。"
msgid "Kinematic model of the object. Support name: `diff`, `acker`, `omni`, `omni_angular`"
msgstr "对象的运动学模型。支持的模型有`diff``acker``omni`、`omni_angular`。"

#: ../../source/yaml_config/configuration.md:271
#, python-brace-format
Expand Down Expand Up @@ -864,8 +864,8 @@ msgid "`velocity`"
msgstr "`velocity`"

#: ../../source/yaml_config/configuration.md:271
msgid "Initial velocity vector."
msgstr "初始速度向量。"
msgid "Initial velocity vector. Length matches the kinematics action dimension (2 for `diff`/`omni`/`acker`, 3 for `omni_angular`)."
msgstr "初始速度向量。长度与运动学动作维度匹配(`diff`/`omni`/`acker` 为 2,`omni_angular` 为 3)。"

#: ../../source/yaml_config/configuration.md:271
msgid "`goal`"
Expand Down Expand Up @@ -942,36 +942,36 @@ msgid "`vel_min`"
msgstr "`vel_min`"

#: ../../source/yaml_config/configuration.md:271
msgid "`[-1, -1]`"
msgstr "`[-1, -1]`"
msgid "`[-1] * action_dim`"
msgstr "`[-1] * action_dim`"

#: ../../source/yaml_config/configuration.md:271
msgid "Minimum velocity limits for each control dimension."
msgstr "各控制维度的最小速度限制。"
msgid "Minimum velocity limits for each control dimension. Length matches the kinematics action dimension."
msgstr "各控制维度的最小速度限制。长度与运动学动作维度匹配。"

#: ../../source/yaml_config/configuration.md:271
msgid "`vel_max`"
msgstr "`vel_max`"

#: ../../source/yaml_config/configuration.md:271
msgid "`[1, 1]`"
msgstr "`[1, 1]`"
msgid "`[1] * action_dim`"
msgstr "`[1] * action_dim`"

#: ../../source/yaml_config/configuration.md:271
msgid "Maximum velocity limits for each control dimension."
msgstr "各控制维度的最大速度限制。"
msgid "Maximum velocity limits for each control dimension. Length matches the kinematics action dimension."
msgstr "各控制维度的最大速度限制。长度与运动学动作维度匹配。"

#: ../../source/yaml_config/configuration.md:271
msgid "`acce`"
msgstr "`acce`"

#: ../../source/yaml_config/configuration.md:271
msgid "`[inf, inf]`"
msgstr "`[inf, inf]`"
msgid "`[inf] * action_dim`"
msgstr "`[inf] * action_dim`"

#: ../../source/yaml_config/configuration.md:271
msgid "Acceleration limits."
msgstr "加速度限制。"
msgid "Acceleration limits. Length matches the kinematics action dimension."
msgstr "加速度限制。长度与运动学动作维度匹配。"

#: ../../source/yaml_config/configuration.md:271
msgid "`angle_range`"
Expand Down Expand Up @@ -1224,14 +1224,14 @@ msgid ""
"theta]`,其中`theta`表示方向角(弧度)。如果提供的状态元素多于所需,则多余部分会被截断;如果少于所需,缺失值用零填充。"

#: ../../source/yaml_config/configuration.md:384
msgid "**`velocity`** (`list` of `float`, default: `[0, 0]`)"
msgstr "**`velocity`** (由`float`组成的列表, 默认值为`[0, 0]`)"
msgid "**`velocity`** (`list` of `float`, default: `[0] * action_dim`)"
msgstr "**`velocity`**`float` 列表,默认:`[0] * action_dim`)"

#: ../../source/yaml_config/configuration.md:385
msgid ""
"Specifies the initial velocity (list) of the object. The format depends "
"Specifies the initial velocity (list) of the object. The length must match the kinematics action dimension. The format depends "
"on the kinematics model:"
msgstr "指定对象的初始速度(列表)。格式取决于运动学模型:"
msgstr "指定对象的初始速度(列表)。长度须与运动学动作维度匹配。格式取决于运动学模型:"

#: ../../source/yaml_config/configuration.md:387
msgid "**Format by Kinematics:**"
Expand All @@ -1244,10 +1244,14 @@ msgid ""
msgstr "`'diff'`模型参数由`[v, omega]`构成, 其中 `v` 线速度,`omega`角速度。"

#: ../../source/yaml_config/configuration.md:389
msgid "For `'omni'`: `[vx, vy]`, velocities along the x and y axes."
msgstr "`'omni'`模型参数由`[vx, vy]`构成, 其中`vx`和`vy`分别是x和y轴方向上的速度。"
msgid "For `'omni'`: `[forward, lateral]`, body-frame velocities (forward and lateral relative to heading)."
msgstr "`'omni'`模型参数由`[forward, lateral]`构成,为机体坐标系下的速度(相对于朝向的前进和横向速度)。"

#: ../../source/yaml_config/configuration.md:390
msgid "For `'omni_angular'`: `[forward, lateral, yaw_rate]`, body-frame velocities plus yaw rate."
msgstr "`'omni_angular'`模型参数由`[forward, lateral, yaw_rate]`构成,为机体坐标系下的速度加偏航角速度。"

#: ../../source/yaml_config/configuration.md:391
msgid ""
"For `'acker'`: Typically `[v, phi]`, where `v` is linear velocity and "
"`phi` is steering angle."
Expand Down Expand Up @@ -1315,8 +1319,12 @@ msgid ""
msgstr "显式定义速度向量的维度。若未指定,则自动从运动学模型推断。速度维度取决于特定运动学模型的控制输入。"

#: ../../source/yaml_config/configuration.md:429
msgid "`2`: For differential drive `[v, omega]` or omnidirectional `[vx, vy]`"
msgstr "`2`:对于差速驱动`[v, omega]`或全向 `[vx, vy]`"
msgid "`2`: For differential drive `[v, omega]` or omnidirectional `[forward, lateral]`"
msgstr "`2`:对于差速驱动`[v, omega]`或全向 `[forward, lateral]`"

#: ../../source/yaml_config/configuration.md:430
msgid "`3`: For omnidirectional with angular control `[forward, lateral, yaw_rate]`"
msgstr "`3`:对于带角速度控制的全向模型 `[forward, lateral, yaw_rate]`"

#: ../../source/yaml_config/configuration.md:430
msgid "Additional dimensions may be used for more complex kinematics"
Expand Down Expand Up @@ -1413,12 +1421,16 @@ msgstr "**`diff`** — 差速驱动,由线速度和角速度控制(`[v, omeg

#: ../../source/yaml_config/configuration.md:494
msgid ""
"**`omni`** — Omnidirectional, controlled by linear speed along the x and "
"y axes (`[vx, vy]`)"
msgstr "**`omni`** — 全向移动,由 x 和 y 轴方向的线速度控制(`[vx, vy]`)"
"**`omni`** — Omnidirectional, controlled by body-frame forward and lateral speed (`[forward, lateral]`)"
msgstr "**`omni`** — 全向移动,由机体坐标系下的前进和横向速度控制(`[forward, lateral]`)"

#: ../../source/yaml_config/configuration.md:495
msgid ""
"**`omni_angular`** — Omnidirectional with angular control, controlled by body-frame speeds and yaw rate (`[forward, lateral, yaw_rate]`)"
msgstr "**`omni_angular`** — 带角速度控制的全向移动,由机体坐标系下的速度和偏航角速度控制(`[forward, lateral, yaw_rate]`)"

#: ../../source/yaml_config/configuration.md:496
msgid ""
"**`acker`** — Ackermann steering, controlled by linear speed and steering"
" angle (`[v, phi]`)"
msgstr "**`acker`** — 阿克曼转向,由线速度和转向角控制(`[v, phi]`)"
Expand Down Expand Up @@ -1447,22 +1459,42 @@ msgid ""
msgstr "`noise`(bool):是否给速度命令添加噪声。默认为 `False`。"

#: ../../source/yaml_config/configuration.md:504
#: ../../source/yaml_config/configuration.md:513
#: ../../source/yaml_config/configuration.md:522
msgid ""
"`alpha` (list): noise parameters for velocity commands. Default is "
"`[0.03, 0, 0, 0.03]`."
msgstr "`alpha`(列表):速度命令的噪声参数。默认值为 `[0.03, 0, 0, 0.03]`。"

#: ../../source/yaml_config/configuration.md:513
msgid ""
"`alpha` (list): noise parameters for velocity commands `[alpha_forward, alpha_lateral]`. Default is `[0.03, 0.03]`."
msgstr "`alpha`(列表):速度命令的噪声参数 `[alpha_forward, alpha_lateral]`。默认值为 `[0.03, 0.03]`。"

#: ../../source/yaml_config/configuration.md:511
msgid ""
"`'omni'`: Omnidirectional movement, allowing movement in any direction "
"without changing orientation. This type of robot is controlled by "
"velocities along the x and y axes. Optional parameters:"
msgstr "`'omni'`:全向运动,允许在任意方向移动而无需改变朝向。此类机器人通过沿 x 和 y 轴的速度控制。可选参数:"
"body-frame velocities `[forward, lateral]`. Orientation (theta) is preserved but not updated. Optional parameters:"
msgstr "`'omni'`:全向运动,允许在任意方向移动而不改变朝向。此类机器人通过机体坐标系速度 `[forward, lateral]` 控制。朝向角(theta)保持不变。可选参数:"

#: ../../source/yaml_config/configuration.md:520
msgid ""
"`'omni_angular'`: Omnidirectional movement with angular velocity control. Extends `omni` by adding a yaw rate channel that integrates orientation (theta). This type of robot is controlled by body-frame velocities `[forward, lateral, yaw_rate]`. Optional parameters:"
msgstr "`'omni_angular'`:带角速度控制的全向运动。在 `omni` 基础上增加偏航角速度通道以积分朝向角(theta)。此类机器人通过机体坐标系速度 `[forward, lateral, yaw_rate]` 控制。可选参数:"

#: ../../source/yaml_config/configuration.md:521
msgid ""
"`noise` (bool): whether to add noise to the velocity commands. Default is"
" `False`."
msgstr "`noise`(bool):是否给速度命令添加噪声。默认为 `False`。"

#: ../../source/yaml_config/configuration.md:522
msgid ""
"`alpha` (list): noise parameters for velocity commands `[alpha_forward, alpha_lateral, alpha_yaw]`. Default is `[0.03, 0.03, 0.03]`."
msgstr "`alpha`(列表):速度命令的噪声参数 `[alpha_forward, alpha_lateral, alpha_yaw]`。默认值为 `[0.03, 0.03, 0.03]`。"

#: ../../source/yaml_config/configuration.md:528
msgid ""
"`'acker'`: Ackermann steering, typical for car-like vehicles requiring a "
"turning radius."
msgstr "`'acker'`:阿克曼转向,典型用于类车辆,需要转向半径。"
Expand All @@ -1483,11 +1515,11 @@ msgstr "`angular`:对象通过线速度和角速度控制。"

#: ../../source/yaml_config/configuration.md:532
msgid ""
"**`vel_min`** (`list` of `float`, default: `[-1, -1]`) and **`vel_max`** "
"(`list` of `float`, default: `[1, 1]`)"
"**`vel_min`** (`list` of `float`, default: `[-1] * action_dim`) and **`vel_max`** "
"(`list` of `float`, default: `[1] * action_dim`)"

"**`vel_min`**(`float` 列表,默认:`[-1, -1]`)和 **`vel_max`** (`float` "
"列表,默认:`[1, 1]`)"
"**`vel_min`**(`float` 列表,默认:`[-1] * action_dim`)和 **`vel_max`**(`float` "
"列表,默认:`[1] * action_dim`)"

#: ../../source/yaml_config/configuration.md:533
msgid ""
Expand All @@ -1497,8 +1529,8 @@ msgid ""
msgstr "设置每个控制维度的最小和最大速度限制(例如线速度和角速度)。这些约束确保对象的运动保持在可行且安全的范围内。"

#: ../../source/yaml_config/configuration.md:535
msgid "**`acce`** (`list` of `float`, default: `[inf, inf]`)"
msgstr "**`acce`**(`float` 列表,默认:`[inf, inf]`)"
msgid "**`acce`** (`list` of `float`, default: `[inf] * action_dim`)"
msgstr "**`acce`**(`float` 列表,默认:`[inf] * action_dim`)"

#: ../../source/yaml_config/configuration.md:536
msgid ""
Expand Down Expand Up @@ -2626,6 +2658,10 @@ msgstr "混合障碍"
msgid "Ackermann Vehicle"
msgstr "阿克曼车辆"

#: ../../source/yaml_config/configuration.md
msgid "Omni Angular Robot"
msgstr "全向角速度机器人"

#: ../../source/yaml_config/configuration.md
msgid "Sensor Integration"
msgstr "传感器集成"
Expand Down Expand Up @@ -2668,7 +2704,7 @@ msgid ""
"parameters match the kinematics model. For example, a differential drive "
"robot (`'diff'`) should have velocities in `[v, omega]`, while an "
"omnidirectional robot (`'omni'`) uses `[vx, vy]`."

msgstr ""
"**运动学与速度**:确保 `velocity` 与 `vel_max` 的格式与运动学模型匹配,例如差速 (`'diff'`) 使用 `[v, "
"omega]`,全向 (`'omni'`) 使用 `[vx, vy]`。"
Copy link

Copilot AI Apr 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This translated string still describes omni velocity as world-frame [vx, vy], but the PR changes omni to body-frame [forward, lateral] and adds omni_angular. The zh_CN translation should be updated to match the new semantics (and ideally regenerated from the updated source gettext catalogs so msgid/msgstr stay in sync).

Copilot uses AI. Check for mistakes.

Expand Down
2 changes: 1 addition & 1 deletion docs/source/get_started/quick_start.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ world:
offset: [0, 0] # the offset of the world on x and y

robot:
kinematics: {name: 'diff'} # kinematics of the robot, current name should be one of omni, diff, acker. If not set, this object will be static
kinematics: {name: 'diff'} # kinematics of the robot, current name should be one of omni, omni_angular, diff, acker. If not set, this object will be static
shape: {name: 'circle', radius: 0.2} # radius for circle shape
state: [1, 1, 0] # x, y, theta, 2d position and orientation
goal: [9, 9, 0] # x, y, theta, 2d position and orientation
Expand Down
Loading
Loading