From fc8edc133ab28c8923fd02a0ff8d877a907235d8 Mon Sep 17 00:00:00 2001 From: Ian Chen Date: Wed, 4 Sep 2024 22:56:17 +0000 Subject: [PATCH] update moving robot tutorial for ionic Signed-off-by: Ian Chen --- ionic/moving_robot.md | 23 ++++++++++++++++-- .../moving_robot/keypublisher_data.png | Bin 38040 -> 0 bytes 2 files changed, 21 insertions(+), 2 deletions(-) delete mode 100644 ionic/tutorials/moving_robot/keypublisher_data.png diff --git a/ionic/moving_robot.md b/ionic/moving_robot.md index 52b866c987..2cbf43518b 100644 --- a/ionic/moving_robot.md +++ b/ionic/moving_robot.md @@ -88,7 +88,26 @@ The last command will display all messages sent on `/keyboard/keypress` topic. In the Gazebo window press different keys and you should see data (numbers) on the terminal where you run the `gz topic -e -t /keyboard/keypress` command. -![KeyPublisher](tutorials/moving_robot/keypublisher_data.png) +``` +$ gz topic -e -t /keyboard/keypress +data: 68 + +data: 85 + +data: 72 + +data: 74 + +data: 81 + +data: 16777235 + +data: 16777234 + +data: 16777237 + +data: 16777236 +``` We want to map these keystrokes into messages of type `Twist` and publish them to the `/cmd_vel` topic which our model listens to. The `TriggeredPublisher` plugin will do this. @@ -116,7 +135,7 @@ It accepts messages of type `gz.msgs.Int32` on the `/keyboard/keypress` topic an Now launch `building_robot.sdf` then add the Key Publisher plugin and our robot should move forward as we press the Up arrow key ↑ (make sure you start the simulation by pressing the play button to see the robot move forward after pressing the Up arrow key). -There is a demo explaining how the [Triggered Publisher](https://github.com/gazebosim/gz-sim/blob/gz-sim7/tutorials/triggered_publisher.md) works. +There is a demo explaining how the [Triggered Publisher](https://github.com/gazebosim/gz-sim/blob/gz-sim9/tutorials/triggered_publisher.md) works. ### Moving using arrow keys diff --git a/ionic/tutorials/moving_robot/keypublisher_data.png b/ionic/tutorials/moving_robot/keypublisher_data.png deleted file mode 100644 index 0b357dbbd745f2372e93da90de9a7132c99e9538..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38040 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 UO;C78p162HUa@Zl+#2rxA5pLdB>(^b