---
# System prepended metadata

title: Project Note for robomaster-dora

---

{%hackmd theme-dark %}
# Project Note for robomaster-dora

### Introduction
In this project, I am exploring the challenges related to controlling the Robomaster S1 using the Python SDK, then implement Dora into it. 

## Part 1: Hacking into S1
The Robomaster S1 cannot be controlled by the official Python SDK, as it was designed for the Robomaster EP. Essentially, the hack involves changing the S1's files to those of the EP. For the hack, I am following the instructions provided in the guide within this ZIP archive: [Robomaster S1 SDK Hack Guide](https://www.bug-br.org.br/s1_sdk_hack.zip).


### Challenges Encountered
- **Running Robomaster App on Ubuntu** (20/10)
    - I attempted to install the Robomaster App on Ubuntu using Wine since there is no Linux version of the app available. However, I encountered performance issues, and the app failed to establish a connection with the robot.

- **Information Barrier** (20/10)
    - Gathering information is very hard both from chinese and english. The lack of online information and a dearth of individuals experiencing similar issues make problem-solving difficult.

- **Connection via Micro USB on Windows** (20/10)
    - The guide recommends connecting the robot to the PC using a micro USB cable. Despite multiple attempts, I was unable to establish this connection. Even attempting to operate without this connection was unsuccessful.

### Potential Solutions
Before considering a change in method, I plan to explore the following solutions:
- **Exploring Linux Alternatives:** Investigate alternative methods of establishing a connection in a Linux environment.
- **Alternative App Installation:** Research and experiment with different methods of installing the Robomaster App on Ubuntu.
- **Micro USB Connection Resolution:** Investigate methods to successfully connect the robot to the PC using the micro USB cable, as recommended in the guide.
- **Thorough User Manual Review:** Conduct a more detailed examination of the user manual to identify potential solutions and insights.

### Follow Up Actions

- **User Manual** (22/10)
    - There is not so much usefull information in the user manual.
- **Micro USB Cable change** (23/10)
    - I changed the micro USB cable, and I'm finally able to connect wirely the robot to my PC, and allowed me to hack into the robot and apply the patch.

### My Recommendation
 
1. The guide was well-made; however, I still don't fully understand how all of this can be accomplished using Ubuntu alone. My knowledge of the OS isn't the best, and I can't seem to find a way to do it on my Ubuntu system.
2. I recommend hacking into the robot using Windows because the Robomaster App works much better on Windows, and then using the SDK on Linux.
3. I also read online that you should not update it to the latest version of the robot, as it might disable the ability to hack into it.
4. When you connect the Robomaster S1 using a Micro USB cable, you should hear a *beep* sound. If not, changing the cable may resolve the issue.
5. The guide was not very clear, you should connect the robot via the Micro USB and also with one of the two options the app provides.

## Part 2: Implement Dora

Currently, I have not yet found a way to consistantly use the S1, some times the programe won't work but once restarted, it will work. I also have some times the program doing something then it wont work after. Also the robot have a very small battrie size that only allows me to do 1h of work with it.


Bas du rectangle * hauteur camera utiliser thales.
MiDaS?

### TODO
- [x] Flux de donnée webcam et essayer de faire tourner yolov5 avec les données du robot avec dora-rs

- [ ] Essayer de faire tourner MIDAS avec dora-rs avec le robot: [MiDaS](https://github.com/dora-rs/dora-drives/blob/main/operators/midas_op.py)

- [ ] Tu peux essayer de regarder le code de obstacle location: [Obstacle location](https://github.com/dora-rs/dora-drives/blob/main/operators/obstacle_location_op.py)

- [ ] Jouer un peu avec la position mais aussi avec mission control

- [x] Regarder la rotation

- [ ] Bouteille d'eau capable de retrouver la position avec MIDAS

- [ ] Essayer aussi les features de --attach --hot-reloading  de dora-rs pour coder en real-time
- [x] Rajouter une partie sur comment installer le sdk
- [ ] Rajouter le code de MiDas