Robot Model
Turtlebot4 Standard
ROS distro
Jazzy
Networking Configuration
Simple Discovery
OS
Ubuntu 24.04
Built from source or installed?
Installed
Package version
Installed from ROS apt packages:
ros-jazzy-turtlebot4-simulator: 2.0.2-1noble.20260616.091643
ros-jazzy-turtlebot4-gz-bringup: 2.0.2-1noble.20260616.085653
ros-jazzy-turtlebot4-gz-toolbox: 2.0.2-1noble.20260615.145933
ros-jazzy-irobot-create-control: 3.0.4-1noble.20260616.082318
ros-jazzy-irobot-create-gz-bringup: 3.0.4-1noble.20260616.083553
ros-jazzy-irobot-create-gz-toolbox: 3.0.4-1noble.20260615.161517
ros-jazzy-irobot-create-nodes: 3.0.4-1noble.20260615.161556
ros-jazzy-ros-gz: 1.0.22-1noble.20260616.074726
Gazebo: Harmonic / gz
Expected behaviour
The odometry velocity stream should remain consistent with the configured Create3/TurtleBot4 acceleration envelope under safe `/cmd_vel` commands:
- `|d(odom.twist.twist.linear.x)/dt| <= 0.9 m/s^2`
- `|d(odom.twist.twist.angular.z)/dt| <= 7.725 rad/s^2`
Minor numerical noise or one-sample timing jitter should not produce sustained acceleration-limit violations.
Actual behaviour
The odometry stream shows sustained acceleration-envelope violations under safe commands. These cases are distinct from the direct command-path issue because the available `/diffdrive_controller/cmd_vel` evidence does not by itself isolate the failure to the limited-command topic. The likely root may be later in the simulation/control pipeline, such as wheel simulation, odometry integration, or controller output behavior.
Representative linear odom-only frame `1782630920.9406638`:
```text
TB4 linear acceleration envelope violated:
accel = 1.912 m/s^2
ratio = 2.12x
limit = 0.900 m/s^2
Representative angular odom-only frame 1782633493.955823:
TB4 angular acceleration envelope violated:
accel = -10.011 rad/s^2
ratio = 1.30x
limit = [-7.725, 7.725] rad/s^2
Representative combined odom-only frame 1782643396.2443988:
TB4 linear acceleration envelope violated:
accel = 1.822 m/s^2
ratio = 2.02x
limit = 0.900 m/s^2
TB4 angular acceleration envelope violated:
accel = -14.349 rad/s^2
ratio = 1.86x
limit = [-7.725, 7.725] rad/s^2
The latest 1000-round campaign observed max odom ratios of 2.95x linear and 2.33x angular while all external commands stayed within the configured velocity envelope.
### Error messages
```bash
TB4 linear acceleration envelope violated: accel=1.912 m/s^2 ratio=2.12 limit=0.900
TB4 angular acceleration envelope violated: accel=-10.011 rad/s^2 ratio=1.30 limit=[-7.725, 7.725]
TB4 linear acceleration envelope violated: accel=1.822 m/s^2 ratio=2.02 limit=0.900
TB4 angular acceleration envelope violated: accel=-14.349 rad/s^2 ratio=1.86 limit=[-7.725, 7.725]
To Reproduce
1. Start TurtleBot4 Standard simulation on ROS 2 Jazzy / Ubuntu 24.04.
2. Record:
- `/cmd_vel`
- `/diffdrive_controller/cmd_vel`
- `/odom`
- `/wheel_vels`
- `/clock`
3. Publish one of these safe command sequences.
Linear odom-only representative:
| step | linear.x (m/s) | angular.z (rad/s) |
|---:|---:|---:|
| 1 | -0.116 | -0.738 |
| 2 | +0.050 | -0.179 |
| 3 | -0.074 | +0.517 |
| 4 | +0.030 | -0.650 |
| 5 | -0.040 | +0.655 |
| 6 | -0.106 | -0.487 |
| 7 | +0.010 | +0.342 |
| 8 | +0.030 | -0.650 |
Angular odom-only representative:
| step | linear.x (m/s) | angular.z (rad/s) |
|---:|---:|---:|
| 1 | -0.017 | +0.199 |
| 2 | +0.030 | +0.545 |
| 3 | +0.041 | -0.262 |
| 4 | +0.050 | +0.125 |
| 5 | +0.030 | -0.484 |
| 6 | +0.086 | +0.450 |
| 7 | +0.097 | -0.272 |
| 8 | -0.076 | +0.242 |
Combined odom-only representative:
```text
(+0.100,-0.500) x 8
- Compute adjacent-sample acceleration from
/odom.twist.twist using message/header timestamps.
- Observe sustained acceleration ratios above the configured limits.
### Other notes
```markdown
This may share part of the same pipeline as the command-path acceleration issue, but it should be tested independently. If `/diffdrive_controller/cmd_vel` is within limits while `/odom` violates the limit, the bug is downstream of command limiting: wheel dynamics, physics, odometry calculation, or timestamp/publication behavior.
Robot Model
Turtlebot4 Standard
ROS distro
Jazzy
Networking Configuration
Simple Discovery
OS
Ubuntu 24.04
Built from source or installed?
Installed
Package version
Installed from ROS apt packages:
ros-jazzy-turtlebot4-simulator: 2.0.2-1noble.20260616.091643
ros-jazzy-turtlebot4-gz-bringup: 2.0.2-1noble.20260616.085653
ros-jazzy-turtlebot4-gz-toolbox: 2.0.2-1noble.20260615.145933
ros-jazzy-irobot-create-control: 3.0.4-1noble.20260616.082318
ros-jazzy-irobot-create-gz-bringup: 3.0.4-1noble.20260616.083553
ros-jazzy-irobot-create-gz-toolbox: 3.0.4-1noble.20260615.161517
ros-jazzy-irobot-create-nodes: 3.0.4-1noble.20260615.161556
ros-jazzy-ros-gz: 1.0.22-1noble.20260616.074726
Gazebo: Harmonic / gz
Expected behaviour
Actual behaviour
Representative angular odom-only frame
1782633493.955823:Representative combined odom-only frame
1782643396.2443988:The latest 1000-round campaign observed max odom ratios of
2.95xlinear and2.33xangular while all external commands stayed within the configured velocity envelope.To Reproduce
/odom.twist.twistusing message/header timestamps.