Hello, I have developed a tool that allows controlling Bittle with Xbox Controller (Xbox One controller tested). Bittle can be controlled through Bluetooth and WiFi connection. You can find it here: XboxController.
How it works
The controller and Bittle connect to your computer. The tool receives the inputted data from the controller, translates it to Bittle understandable commands and send to it through Bluetooth or WiFi.
How to use
Connect your Xbox controller to your computer (through Bluetooth or using wire).
Connect your Bittle to your computer (in case you want to communicate through Bluetooth).
Run BittleXboxController.py tool.
Control your Bittle using the controller.
To close connection and exit, press ctrl+c on the console.
Buttons
These are the controller buttons and its associated commands:
A: BALANCE
B: REST
X: GREETING
Y: SIT
LB: STEP
LR: GYRO
Left pad: CRAWL
Right pad: TROT
Down pad: WALK
Up pad: RUN
Using custom controller and changing the associated commands
If you want to use another controller different than Xbox One controller or to change the associated action of each button, you have to check the following lines in the code:
BUTTONS_MAP= { # The numeric value corresponds to each button
0: pyBittle.Command.BALANCE, # A
1: pyBittle.Command.REST, # B
2: pyBittle.Command.GREETING, # X
3: pyBittle.Command.SIT, # Y
4: pyBittle.Command.STEP, # LB
5: pyBittle.Command.GYRO # RB
}
To communicate with Bittle I have used a custom library, pyBittle, that I'm currently developing and will be published here once is finished.
I have updated the code to make use of pyBittle v1.1.3 and allow controlling Bittle through serial communication, no WiFi nor Bluetooth modules are needed anymore.