File size: 4,370 Bytes
dc4a0b5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# Getting Started
Create a new conda environment for robomaster
```bash
conda create -n robomaster python=3.8
pip install robomaster dora-rs==0.3.3
```
Create a new conda environment for idefics2. This requirements file suppose that your using cu122.
```bash
conda create -n idefics2 python=3.10
conda activate idefics2
pip install -r requirements.txt
```
## Robomaster Jailbreak
### Installation of the Robomaster S1 Hack
This guide is an updated version of the original [Robomaster S1 SDK Hack Guide](https://www.bug-br.org.br/s1_sdk_hack.zip) and is intended for use on a Windows 11 system.
#### Prerequisites
Before you get started, you'll need the following:
- Robomaster S1 (do not update it to the latest version, as it may block the hack).
- [Robomaster App](https://www.dji.com/fr/robomaster-s1/downloads).
- [Android SDK Platform-Tools](https://developer.android.com/tools/releases/platform-tools). Simply unzip it and keep the path handy.
- A micro USB cable. If this guide doesn't work, there might be an issue with the cable, and you may need to replace it with one that supports data transfer.
#### Instructions
1. Start the Robomaster App and connect the Robomaster S1 using one of the two options provided (via router or via Wi-Fi).
2. While connected, use a micro USB cable to connect the robot to the computer's USB port. You should hear a beep sound, similar to when you connect any device. (Please note that no other Android device should be connected via USB during this process).
3. In the Lab section of the app, create a new Python application and paste the following code:
```python
def root_me(module):
__import__ = rm_define.__dict__['__builtins__']['__import__']
return __import__(module, globals(), locals(), [], 0)
builtins = root_me('builtins')
subprocess = root_me('subprocess')
proc = subprocess.Popen('/system/bin/adb_en.sh', shell=True, executable='/system/bin/sh', stdout=subprocess.PIPE, stderr=subprocess.PIPE)
```
4. Run the code; there should be no errors, and the console should display **Execution Complete**
5. Without closing the app, navigate to the folder containing the Android SDK Platform-Tools and open a terminal inside it.
6. Run the ADP command `.\adb.exe devices `. If everything is working correctly, you should see output similar to this: ![image](https://github.com/Felixhuangsiling/Dora-Robomaster/assets/77993249/dc6368ec-052c-4b18-8fdc-0ec314adb073)
7. Execute the upload.sh script located in the folder `s1_SDK`.
8. Once everything has been executed, restart the S1 by turning it off and then back on. While it's booting up, you should hear two chimes instead of the usual single chime, indicating that the hack has been successful.
## Robomaster Connection
Make sure to be connected using the wifi hotspot of the robomaster which is the most stable one.
The default password for the hotpsot is: 12341234
You might need to have a second wifi card if you want to be able to run the demo with internet on.
## Post-Installation test
Please try running idefics2 with:
```bash
conda activate idefics2
python tests/test_idefics2.py
```
Please try running robomaster with:
```bash
conda activate robomaster
python tests/test_robomaster.py
```
## Running the demo
```bash
export HF_TOKEN=<TOKEN>
conda activate idefics2
# This requires dora==0.3.3, update with:
# cargo install dora-cli
dora up
dora start graphs/dataflow_robot_vlm.yml --attach --hot-reload
```
Current way to interact is by press up arrow key on laptop to record a message and send to the VLM
## Running the demo without robot
```bash
export HF_TOKEN=<TOKEN>
conda activate idefics2
# This requires dora==0.3.3, update with:
# cargo install dora-cli
dora up
dora start graphs/dataflow_vlm_basic.yml --attach --hot-reload
```
Current way to interact is by press up arrow key on laptop to record a message and send to the VLM
## Kill process in case of failure
Due to a Python GIL issue, we currently meed to kill processes manually. You can use the following command to do so:
```bash
pkill -f 'import dora;'
```
## LICENSE
While the source of this library is licensed under Apache-2.0, the usage of the Text to Speech(TTS) SystemEngine is licensed under Mozilla Public License 2.0 and GNU Lesser General Public License (LGPL) version 3.0.
Feel free to remove the TTS SystemEngine.
|