@@ -20,7 +20,6 @@ use log::{error, warn};
2020use parking_lot:: Mutex ;
2121use ros2:: geometry_msgs:: transform_stamped:: TransformStamped ;
2222use serde:: Deserialize ;
23- use simulation_message:: { ClientMessageKind , ServerMessageKind , SimulationMessage } ;
2423use spl_network:: endpoint:: { Endpoint , Ports } ;
2524use tokio:: {
2625 runtime:: { Builder , Runtime } ,
@@ -33,18 +32,19 @@ use types::messages::{IncomingMessage, OutgoingMessage};
3332use types:: samples:: Samples ;
3433use zed:: RGBDSensors ;
3534
35+ use crate :: simulation_message:: { ClientMessageKind , ServerMessageKind , SimulationMessage } ;
3636use crate :: HardwareInterface ;
3737
3838const CHANNEL_CAPACITY : usize = 32 ;
3939
4040struct WorkerChannels {
41- low_state_sender : Sender < SimulationMessage < LowState > > ,
41+ low_state_sender : Sender < LowState > ,
4242 low_command_receiver : Receiver < LowCommand > ,
43- fall_down_sender : Sender < SimulationMessage < FallDownState > > ,
44- button_event_msg_sender : Sender < SimulationMessage < ButtonEventMsg > > ,
45- remote_controller_state_sender : Sender < SimulationMessage < RemoteControllerState > > ,
46- transform_stamped_sender : Sender < SimulationMessage < TransformStamped > > ,
47- rgbd_sensors_sender : Sender < SimulationMessage < RGBDSensors > > ,
43+ fall_down_sender : Sender < FallDownState > ,
44+ button_event_msg_sender : Sender < ButtonEventMsg > ,
45+ remote_controller_state_sender : Sender < RemoteControllerState > ,
46+ transform_stamped_sender : Sender < TransformStamped > ,
47+ rgbd_sensors_sender : Sender < RGBDSensors > ,
4848}
4949
5050#[ derive( Clone , Debug , Deserialize ) ]
@@ -62,13 +62,13 @@ pub struct MujocoHardwareInterface {
6262 enable_recording : AtomicBool ,
6363 time : Arc < Mutex < SystemTime > > ,
6464
65- low_state_receiver : Mutex < Receiver < SimulationMessage < LowState > > > ,
65+ low_state_receiver : Mutex < Receiver < LowState > > ,
6666 low_command_sender : Sender < LowCommand > ,
67- fall_down_receiver : Mutex < Receiver < SimulationMessage < FallDownState > > > ,
68- button_event_msg_receiver : Mutex < Receiver < SimulationMessage < ButtonEventMsg > > > ,
69- remote_controller_state_receiver : Mutex < Receiver < SimulationMessage < RemoteControllerState > > > ,
70- transform_stamped_receiver : Mutex < Receiver < SimulationMessage < TransformStamped > > > ,
71- rgbd_sensors_receiver : Mutex < Receiver < SimulationMessage < RGBDSensors > > > ,
67+ fall_down_receiver : Mutex < Receiver < FallDownState > > ,
68+ button_event_msg_receiver : Mutex < Receiver < ButtonEventMsg > > ,
69+ remote_controller_state_receiver : Mutex < Receiver < RemoteControllerState > > ,
70+ transform_stamped_receiver : Mutex < Receiver < TransformStamped > > ,
71+ rgbd_sensors_receiver : Mutex < Receiver < RGBDSensors > > ,
7272}
7373
7474impl MujocoHardwareInterface {
@@ -180,10 +180,7 @@ async fn handle_message(
180180 time,
181181 } => {
182182 * hardware_interface_time. lock ( ) = time;
183- worker_channels
184- . low_state_sender
185- . send ( SimulationMessage :: new ( time, low_state) )
186- . await ?
183+ worker_channels. low_state_sender . send ( low_state) . await ?
187184 }
188185 SimulationMessage {
189186 payload : ServerMessageKind :: FallDownState ( fall_down_state) ,
@@ -192,16 +189,17 @@ async fn handle_message(
192189 * hardware_interface_time. lock ( ) = time;
193190 worker_channels
194191 . fall_down_sender
195- . send ( SimulationMessage :: new ( time , fall_down_state) )
192+ . send ( fall_down_state)
196193 . await ?
197194 }
198195 SimulationMessage {
199196 payload : ServerMessageKind :: ButtonEventMsg ( button_event_msg) ,
200197 time,
201198 } => {
199+ * hardware_interface_time. lock ( ) = time;
202200 worker_channels
203201 . button_event_msg_sender
204- . send ( SimulationMessage :: new ( time , button_event_msg) )
202+ . send ( button_event_msg)
205203 . await ?
206204 }
207205 SimulationMessage {
@@ -211,7 +209,7 @@ async fn handle_message(
211209 * hardware_interface_time. lock ( ) = time;
212210 worker_channels
213211 . remote_controller_state_sender
214- . send ( SimulationMessage :: new ( time , remote_controller_state) )
212+ . send ( remote_controller_state)
215213 . await ?
216214 }
217215 SimulationMessage {
@@ -221,7 +219,7 @@ async fn handle_message(
221219 * hardware_interface_time. lock ( ) = time;
222220 worker_channels
223221 . transform_stamped_sender
224- . send ( SimulationMessage :: new ( time , transform_stamped) )
222+ . send ( transform_stamped)
225223 . await ?
226224 }
227225 SimulationMessage {
@@ -231,7 +229,7 @@ async fn handle_message(
231229 * hardware_interface_time. lock ( ) = time;
232230 worker_channels
233231 . rgbd_sensors_sender
234- . send ( SimulationMessage :: new ( time , rgbd_sensors) )
232+ . send ( rgbd_sensors)
235233 . await ?
236234 }
237235 } ;
@@ -240,7 +238,7 @@ async fn handle_message(
240238}
241239
242240impl LowStateInterface for MujocoHardwareInterface {
243- fn read_low_state ( & self ) -> Result < SimulationMessage < LowState > > {
241+ fn read_low_state ( & self ) -> Result < LowState > {
244242 self . low_state_receiver
245243 . lock ( )
246244 . blocking_recv ( )
@@ -257,7 +255,7 @@ impl LowCommandInterface for MujocoHardwareInterface {
257255}
258256
259257impl FallDownStateInterface for MujocoHardwareInterface {
260- fn read_fall_down_state ( & self ) -> Result < SimulationMessage < FallDownState > > {
258+ fn read_fall_down_state ( & self ) -> Result < FallDownState > {
261259 self . fall_down_receiver
262260 . lock ( )
263261 . blocking_recv ( )
@@ -266,7 +264,7 @@ impl FallDownStateInterface for MujocoHardwareInterface {
266264}
267265
268266impl ButtonEventMsgInterface for MujocoHardwareInterface {
269- fn read_button_event_msg ( & self ) -> Result < SimulationMessage < ButtonEventMsg > > {
267+ fn read_button_event_msg ( & self ) -> Result < ButtonEventMsg > {
270268 self . button_event_msg_receiver
271269 . lock ( )
272270 . blocking_recv ( )
@@ -275,7 +273,7 @@ impl ButtonEventMsgInterface for MujocoHardwareInterface {
275273}
276274
277275impl RemoteControllerStateInterface for MujocoHardwareInterface {
278- fn read_remote_controller_state ( & self ) -> Result < SimulationMessage < RemoteControllerState > > {
276+ fn read_remote_controller_state ( & self ) -> Result < RemoteControllerState > {
279277 self . remote_controller_state_receiver
280278 . lock ( )
281279 . blocking_recv ( )
@@ -284,7 +282,7 @@ impl RemoteControllerStateInterface for MujocoHardwareInterface {
284282}
285283
286284impl TransformStampedInterface for MujocoHardwareInterface {
287- fn read_transform_stamped ( & self ) -> Result < SimulationMessage < TransformStamped > > {
285+ fn read_transform_stamped ( & self ) -> Result < TransformStamped > {
288286 self . transform_stamped_receiver
289287 . lock ( )
290288 . blocking_recv ( )
@@ -293,7 +291,7 @@ impl TransformStampedInterface for MujocoHardwareInterface {
293291}
294292
295293impl RGBDSensorsInterface for MujocoHardwareInterface {
296- fn read_rgbd_sensors ( & self ) -> Result < SimulationMessage < RGBDSensors > > {
294+ fn read_rgbd_sensors ( & self ) -> Result < RGBDSensors > {
297295 self . rgbd_sensors_receiver
298296 . lock ( )
299297 . blocking_recv ( )
0 commit comments