Keyboard Control (Make it Move!)
Contents
What you will need
A correctly assembled, powered on, Duckiebot: Testing the Hardware Components
(for most methods) A functional
dtsinstallation: Duckietown Shell (dts)You can ping the Duckiebot with
ping ROBOTNAME.local. If not: Network Configuration in Duckietown
What you will get
Keyboard control of a Duckiebot
Keyboard Control (Make it Move!)#
An easy way to make your Duckiebot move is by using the Keyboard Controller.
Fig. 43 The Keyboard Controller enables manual control of the Duckiebot.#
To open the Keyboard Controller, first make sure you can successfully ping the Duckiebot with ping ROBOT_NAME.local, then run:
dts duckiebot keyboard_control ROBOT_NAME
where ROBOT_NAME is the hostname of either a physical or virtual Duckiebot.
There are two ways to open the Keyboard Controller:
If you have installed
dtson the host machine: open a terminal on your host machine and run:dts duckiebot keyboard_control ROBOT_NAME
Note
The first time this command is ran, a popup window will appear asking for permissions. Insert your password and “(Always) Allow” to continue.
Alternatively, inside the Workspace terminal run:
dts duckiebot keyboard_control ROBOT_NAME –browser
where ROBOT_NAME is the hostname of either a physical or virtual Duckiebot.
Note the keys in the table below.
Key |
Function |
|---|---|
W |
Drive forwards |
S |
Drive backwards |
A |
Turn left |
D |
Turn right |
E |
Toggle the |
F |
Toggle the |
X |
Increase the |
Z |
Decrease the |
V |
Increase the |
C |
Decrease the |
Space |
Save the |
R |
Refresh the window |
T |
Open the |
Note
The F key’s function (Autopilot) requires software, such as for Lane Following, to be running.
Troubleshooting#
Troubleshooting
SYMPTOM
My Duckiebot does not move.
RESOLUTION
Before trying to use the Keyboard Controller, make sure that it is active by selecting its window.
Troubleshooting
SYMPTOM
The Keyboard Controller window is active but my Duckiebot still does not move. However, I can see messages being sent to my Duckiebot when looking at the DUCKIEBOT_NAME/actuator/wheels/base/pwm DTPS topic, after following Duckietown Postal Service (DTPS), and the Components page of the Dashboard (opened by running dts duckiebot dashboard DUCKIEBOT_NAME --page robot/components) shows a red alert for the HUT.
RESOLUTION
If you have a HUT v3.1, follow Re-flashing the “HUT”.
Troubleshooting
SYMPTOM
I have re-flashed the HUT but my Duckiebot still does not move or moves in a jerky manner. Additionally, the ToF sensor and front bumper are not detected on the Components page of the Dashboard (opened by running dts duckiebot dashboard DUCKIEBOT_NAME --page robot/components). I may also be having issues with the screen.
RESOLUTION
Disconnect the ToF sensor from the front bumper and use the long I2C cable, that originally connected the front bumper to the HUT, to connect the ToF sensor directly to that same HUT port. Finally, reboot your Duckiebot. This procedure bypasses a known multiplexer issue on some front bumpers that can cause other issues with the HUT.
Troubleshooting
SYMPTOM
I have connected the ToF sensor directly to the same HUT port that the front bumper was originally connected to and rebooted my Duckiebot but it still does not move.
RESOLUTION
Make sure that the duckiebot-interface container is running by checking the Portainer page of the Dashboard (opened by running dts duckiebot dashboard DUCKIEBOT_NAME --page portainer) or by running:
docker -H DUCKIEBOT_NAME.local ps
The exact name of the container will depend on your Duckiebot’s version. If you do not see the duckiebot-interface container, update your Duckiebot by running:
dts duckiebot update DUCKIEBOT_NAME
Troubleshooting
SYMPTOM
My Duckiebot drives backwards when I command it to drive forward.
RESOLUTION
Swap the motor cable connections on the HUT.
Troubleshooting
SYMPTOM
My Duckiebot doesn’t go really straight when I command it to. At least not for long.
RESOLUTION
Perform the wheel calibration procedure: Wheel Calibration.