Remote controller
Overview
The Origin One is supplied with a pre-paired Sony PS4 Bluetooth controller to drive the robot in manual mode. Refer to the below overview and accompanying table for the function of buttons. When the robot is set to manual drive mode, the user can switch between two manual driving modes by a down-press of "Joystick - left" (also known as "L3"). When the controller is powered and paired, by default it enters the two-stick drive mode. The two modes are:
- Two-stick drive mode:
- Joystick - left: Control translational velocity of the robot.
- Joystick - right: Control rotational velocity of the robot.
- One-stick drive mode:
- Joystick - left: Control translational and rotational velocity of the robot.
Button | Function |
---|---|
Power button | - Press to turn on remote controller and automatically pair with robot - Press & hold for 10 seconds to turn off controller - Press & hold with "share"-button for 10 seconds to enable pairing mode |
Status indicator | Informs on state of the remote controller. - blinking white: turned on, attempting to connect to robot - solid blue: functional & connected to the robot - flashing blue: remote controller in pairing mode |
Action button "O" | Enable manual drive mode |
Action button "X" | Enable autonomous drive mode |
Action button "L1" | Press & hold to engage boost mode in manual drive mode |
Joystick - left | - Down-press to switch between manual drive modes - Control translation & rotational velocity in one-stick mode - Control translational velocity in two-stick mode |
Joystick - right | - Control rotational velocity in two-stick mode |
Controller range
The remote has roughly a line of sight range of 20-30 meters when unobstructed, the range is drastically reduced if object are between the direct line of sight.
Info
The processing of the joystick commands can have an increased delay when the remote controller is at increased distance of the Origin One and/or if the remote controller is at low battery.
Danger
There is no active connection check between the remote controller and the Origin One. Therefore, there is not method of knowing if a remote controller command is old or new. So if the remote controller becomes disconnected (out-of-range or low battery), the Origin One can keep its last received remote control input and continue driving whilst there is no input given by the user. Use the remote e-stop to stop the Origin One.
Charging the remote
The PS4 remote controller can be charged by any Micro-USB-A charger plugged into a USB-charger or computer. However, there is a dedicated wall-socket charger with Micro-USB-A supplied with the robot for charging the remote controller. When the remote controller is connected via USB to a laptop/computer it will not pair with the robot, this is an inherent feature of the PS4 controller. Therefore, it's preferred to charge with the supplied charger.
Pairing a remote
If by any change the PS4 remote controller has unpaired with the Origin One it can easily be repaired by operating and logging into the Avular Command Line Interface (CLI). You will need to SSH into the Origin One, either over Wi-Fi or by connecting the external ethernet port with your laptop.
Info
Before attempting to pair a remote controller ensure it is charged. It can occur that it doesn't seem to pair whilst it just a matter of recharging the battery.
Step by step:
- SSH into the Origin One.
- Execute the following code snippet:
You should see multiple MAC addresses after typing
bluetoothctl scan on
scan on
- Press & hold controller power-button and "share"-button for 10 seconds to enable pairing mode.
- Now you can either pair the controller using a USB cable (option 5.) or using the MAC address (option 6.), of which the former is easier.
-
Connect the controller to the AUX-USB port using a USB-A to Micro-USB-A.
- When prompted to trust the device, choose 'yes'
- Disconnect the USB cable
- Switch on the remote, it should pair now with the Linux computer
-
If previous step did not succeed, proceed with the following:
- run the command
scan off
- repeat steps 2 & 3 (if the robot is not anymore in pairing mode)
- wait a few seconds
- run the command
scan off
- if the result says something along the lines of “Wireless Controller”, copy that mac address, and then type the following commands:
See below for an example:
trust *MAC_ADDRESS* pair *MAC_ADDRESS* connect *MAC_ADDRESS*
bluetoothctl Agent registered [CHG] Controller 48:68:4A:EA:3D:5E Pairable: yes [bluetooth]# scan on Discovery started [CHG] Controller 48:68:4A:EA:3D:5E Discovering: yes [NEW] Device F6:0D:C2:BF:D0:88 stand UP- 3608 [CHG] Device DC:AF:68:77:B6:8A RSSI: -45 [NEW] Device 59:90:AC:39:0E:98 59-90-AC-39-0E-98 [NEW] Device 5E:90:FD:B9:53:2E 5E-90-FD-B9-53-2E [NEW] Device 07:1C:D1:8E:AB:4C 07-1C-D1-8E-AB-4C [NEW] Device 78:AC:9E:F8:ED:B2 78-AC-9E-F8-ED-B2 [NEW] Device 52:0C:1E:F1:5D:35 52-0C-1E-F1-5D-35 [NEW] Device C4:C5:8D:B7:76:EC stand UP- 3618 [NEW] Device 84:C2:E4:E4:49:C2 84-C2-E4-E4-49-C2 [NEW] Device 5C:94:BB:6D:40:C2 5C-94-BB-6D-40-C2 [NEW] Device 7B:50:27:CE:73:BD 7B-50-27-CE-73-BD [NEW] Device 46:9D:69:4B:B1:1F 46-9D-69-4B-B1-1F [NEW] Device 57:C3:61:F3:23:55 57-C3-61-F3-23-55 [NEW] Device 08:B2:BC:C1:A6:C6 08-B2-BC-C1-A6-C6 [NEW] Device EF:CF:7F:CE:12:A6 stand UP- 6618 [bluetooth]# scan off Discovery stopped [CHG] Controller 48:68:4A:EA:3D:5E Discovering: no [CHG] Device EF:CF:7F:CE:12:A6 RSSI is nil [CHG] Device 08:B2:BC:C1:A6:C6 RSSI is nil [CHG] Device 57:C3:61:F3:23:55 TxPower is nil [CHG] Device 57:C3:61:F3:23:55 RSSI is nil [CHG] Device 46:9D:69:4B:B1:1F TxPower is nil [CHG] Device 46:9D:69:4B:B1:1F RSSI is nil [CHG] Device 7B:50:27:CE:73:BD TxPower is nil [CHG] Device 7B:50:27:CE:73:BD RSSI is nil [CHG] Device 5C:94:BB:6D:40:C2 TxPower is nil [CHG] Device 5C:94:BB:6D:40:C2 RSSI is nil [CHG] Device 84:C2:E4:E4:49:C2 RSSI is nil [CHG] Device C4:C5:8D:B7:76:EC RSSI is nil [CHG] Device 52:0C:1E:F1:5D:35 TxPower is nil [CHG] Device 52:0C:1E:F1:5D:35 RSSI is nil [CHG] Device 78:AC:9E:F8:ED:B2 TxPower is nil [CHG] Device 78:AC:9E:F8:ED:B2 RSSI is nil [CHG] Device 07:1C:D1:8E:AB:4C RSSI is nil [CHG] Device 5E:90:FD:B9:53:2E RSSI is nil [CHG] Device 59:90:AC:39:0E:98 TxPower is nil [CHG] Device 59:90:AC:39:0E:98 RSSI is nil [CHG] Device DC:AF:68:77:B6:8A RSSI is nil [CHG] Device F6:0D:C2:BF:D0:88 RSSI is nil [bluetooth]# trust DC:AF:68:77:B6:8A Changing DC:AF:68:77:B6:8A trust succeeded [bluetooth]# pair DC:AF:68:77:B6:8A Attempting to pair with DC:AF:68:77:B6:8A Failed to pair: org.bluez.Error.AlreadyExists [bluetooth]# connect DC:AF:68:77:B6:8A Attempting to connect to DC:AF:68:77:B6:8A [CHG] Device DC:AF:68:77:B6:8A Connected: yes Request authorization [agent] Accept pairing (yes/no): yes Connection successful [CHG] Device DC:AF:68:77:B6:8A ServicesResolved: yes [Wireless Controller]#
- run the command