I have an IMU sensor created like so:
success, _isaac_sensor_prim = omni.kit.commands.execute(
"IsaacSensorCreateImuSensor",
path="/imu_yaw1_link",
parent=self.body_path,
sensor_period=sensor_period,
linear_acceleration_filter_size=5,
angular_velocity_filter_size=5,
orientation_filter_size=10,
translation = Gf.Vec3d(0, 0, 0),
orientation = Gf.Quatd(1, 0, 0, 0),
)
self.imu_interface = _sensor.acquire_imu_sensor_interface()
self.publisher_ = self.create_publisher(Imu, 'imu_yaw1_link', 1)
timer_period = sensor_period
self.timer = self.create_timer(timer_period, self.timer_callback)
def timer_callback(self):
msg = Imu()
imu_reading = self.imu_interface.get_sensor_reading(self.body_path + "/imu_yaw1_link", use_latest_data = True)
I find that imu_reading is all-zeros unless I do:
simulation_context.play()
simulation_context.stop()
simulation_context.play()
?!