Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/collabnix/robomaster
Getting Started with Robomaster
https://github.com/collabnix/robomaster
dji robomaster robomaster-ep robomaster-python-sdk robomaster-sdk robomasterhack robomasters robomasters1
Last synced: 16 days ago
JSON representation
Getting Started with Robomaster
- Host: GitHub
- URL: https://github.com/collabnix/robomaster
- Owner: collabnix
- Created: 2021-05-09T04:36:22.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-21T08:49:05.000Z (over 3 years ago)
- Last Synced: 2024-10-12T06:14:37.671Z (about 1 month ago)
- Topics: dji, robomaster, robomaster-ep, robomaster-python-sdk, robomaster-sdk, robomasterhack, robomasters, robomasters1
- Language: Python
- Homepage: https://collabnix.com/how-to-assemble-dji-robomaster-s1/
- Size: 26.9 MB
- Stars: 23
- Watchers: 6
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![stars](https://img.shields.io/github/stars/collabnix/robomaster)
![forks](https://img.shields.io/github/forks/collabnix/robomaster)
![issues](https://img.shields.io/github/issues/collabnix/robomaster)# An Ultimate Tutorial for DJI Robomaster S1 Beginners
![MY Image](https://github.com/collabnix/robomaster/blob/main/robomaster_top.png)
The RoboMaster S1 is an educational robot that provides users with an in-depth understanding of science, math, physics, programming, and more through captivating gameplay modes and intelligent features.
## Table of Contents
1. [Top 10 Features](#top-10-features)
2. [Stimulus that S1 Recognises](#Stimulus-that-S1-recognises)
3. [Getting Started](#getting-started)
4. [Items Check and Assembly](#items-check-and-assembly)
5. [Asembly the Mecanum Wheels](#assembly-the-mecanum-wheels)
6. [Attaching the Gimbal to the Chassis](#attaching-the-gimbal-to-the-chassis)
7. [Mounting the Gel Bead Container and Intelligent Battery](#mounting-the-gel-bead-container-and-intelligent-battery)
8. [Hacking into Robomaster S1](#hacking-into-robomaster)
9. [References](#references)## Top 10 Features
- Support for Python and Scratch programming language
- 46 Programmable Components - all in DIY mode
- 6 Programmable AI Module
- Low-latency HD FPV
- Scratch & Python Coding
- 4WD Omnidirectional Movement
- Intelligent Sensing Armor
- Multiple Exciting Battle Modes
- Innovative Hands-On Learning
- Two shooting methods: gel beads and infrared beams.
- Capability to capture photos and record 1080p videos; without a microSD card, it supports only 720p.## Stimulus that S1 recognises
- Clapping Recognition: the S1 can recognize two or three consecutive claps and be programmed to execute custom responses.
- Gesture Recognition: the S1 can detect human gestures such as hand or arm signals and be programmed to execute custom responses.
- S1 Robot Recognition: the S1 can detect other RoboMaster S1 units.
- Vision Marker Recognition: the S1 can identify 44 kinds of official Vision Markers, which are comprised primarily of numbers, letters, and special characters. All of the files for these Vision Markers can be downloaded at insert web address.
- Line Recognition: the S1 can detect and follow blue, red, and green tracks with a width of approximately 15-25 mm.## How it works?
- The RoboMaster S1 can be operated using a computer or a smart device via the touchscreen and gamepad. When using the gamepad with a touchscreen device, the robot can also be operated using an external mouse, which can be connected through a dedicated USB port
- Users can connect to the RoboMaster S1 via Wi-Fi or a router. When connecting via Wi-Fi, your mobile device or computer connects to the Wi-Fi of the S1. Connection via router provides broader signal coverage, which allows multiple control methods for robots to operate simultaneously on the same network.
- Flat surfaces such as wood, carpet, tile, and concrete are optimal for operating the S1. Users should avoid surfaces that are too smooth as the S1 wheels may have problems gaining enough traction for precise control. Surfaces with fine particles like sand or dirt should be avoided.## Table of Contents
1. [Getting Started](#getting-started)
2. [Items Check and Assembly](#items-check-and-assembly)
3. [Asembly the Mecanum Wheels](#assembly-the-mecanum-wheels)
4. [Attaching the Gimbal to the Chassis](#attaching-the-gimbal-to-the-chassis)
5. [Mounting the Gel Bead Container and Intelligent Battery](#mounting-the-gel-bead-container-and-intelligent-battery)
6. [Hacking into Robomaster S1](#hacking-into-robomaster)# Getting Started
- Installing Robomaster Python Module on MacOS
```
conda create --name dji python=3.7
``````
conda activate dji
``````
pip install robomaster
```# Steps to assemble Robomaster
![robo](/images/robo1.jpg)
![image](https://user-images.githubusercontent.com/34368930/117563246-22dd3b00-b0c2-11eb-83aa-33a847756b95.png)
![image](https://user-images.githubusercontent.com/34368930/117563252-2e306680-b0c2-11eb-98e4-821cfd37fae6.png)
![image](https://user-images.githubusercontent.com/34368930/117563258-37213800-b0c2-11eb-948a-e5493c1ac43c.png)
![image](https://user-images.githubusercontent.com/34368930/117563264-430cfa00-b0c2-11eb-92bc-164262c5c2cc.png)
![image](https://user-images.githubusercontent.com/34368930/117563296-794a7980-b0c2-11eb-88d6-43724390baaf.png)
![image](https://user-images.githubusercontent.com/34368930/117563215-f45f6000-b0c1-11eb-9804-4aebff9d5321.png)
![image](https://user-images.githubusercontent.com/34368930/117563237-135df200-b0c2-11eb-82d0-e6eccf57768f.png)
# Items Check and Assembly
![image](https://user-images.githubusercontent.com/34368930/117563215-f45f6000-b0c1-11eb-9804-4aebff9d5321.png)
# Assembly the Mecanum Wheels
![image](https://user-images.githubusercontent.com/34368930/117563270-50c27f80-b0c2-11eb-8fe0-47978a6c16de.png)
![image](https://user-images.githubusercontent.com/34368930/117563276-5a4be780-b0c2-11eb-9a21-dfcec6817f7a.png)
![image](https://user-images.githubusercontent.com/34368930/117563302-849da500-b0c2-11eb-847e-972352e28c78.png)
![image](https://user-images.githubusercontent.com/34368930/117563305-8d8e7680-b0c2-11eb-94e3-3cfa958a37e6.png)# Attaching the Gimbal to the chassis
![image](https://user-images.githubusercontent.com/34368930/117563309-97b07500-b0c2-11eb-98b8-68b39d1537c0.png)
![image](https://user-images.githubusercontent.com/34368930/117563313-a434cd80-b0c2-11eb-8fe3-68d868c2ef0d.png)
![image](https://user-images.githubusercontent.com/34368930/117563319-aeef6280-b0c2-11eb-9dda-a3c80b3884b5.png)
![image](https://user-images.githubusercontent.com/34368930/117563326-bd3d7e80-b0c2-11eb-812f-a44090b09e9c.png)
![image](https://user-images.githubusercontent.com/34368930/117563329-c9294080-b0c2-11eb-8feb-5296c9a7b608.png)
![image](https://user-images.githubusercontent.com/34368930/117563332-d2b2a880-b0c2-11eb-8b3a-8b8af397a1ac.png)
![image](https://user-images.githubusercontent.com/34368930/117563343-e100c480-b0c2-11eb-838f-421ab7d5adfd.png)
![image](https://user-images.githubusercontent.com/34368930/117563359-f7a71b80-b0c2-11eb-8939-7c2e7a7f6bf9.png)
![image](https://user-images.githubusercontent.com/34368930/117563368-042b7400-b0c3-11eb-83bc-f841b5d85486.png)
![image](https://user-images.githubusercontent.com/34368930/117563375-0f7e9f80-b0c3-11eb-88f1-2e6d545d81e5.png)
![image](https://user-images.githubusercontent.com/34368930/117563385-1d342500-b0c3-11eb-99f4-f2a7a47fd087.png)
# Mounting the Gel Bead Container and Intelligent Battery
![image](https://user-images.githubusercontent.com/34368930/117563399-2d4c0480-b0c3-11eb-8ba4-11bcd1c20fbc.png)
![image](https://user-images.githubusercontent.com/34368930/117563405-39d05d00-b0c3-11eb-80b1-01a9178e17a4.png)
![image](https://user-images.githubusercontent.com/34368930/117563409-448af200-b0c3-11eb-934a-4faccae0c8ae.png)
![image](https://user-images.githubusercontent.com/34368930/117563413-52407780-b0c3-11eb-9e69-5e97dd8f50d5.png)
![image](https://user-images.githubusercontent.com/34368930/117563417-5d93a300-b0c3-11eb-9a04-4d4017185d41.png)
![image](https://user-images.githubusercontent.com/34368930/117563428-697f6500-b0c3-11eb-8ddd-61424cffd8e3.png)
## Get Ready!
![image](https://user-images.githubusercontent.com/34368930/117563481-d692fa80-b0c3-11eb-8e34-5fd1a05f713e.png)
## Hacking into Robomaster
### What you need
- Android SDK Platform‐Tools (https://developer.android.com/studio/releases/platform‐tools)
- Micro USB Cable
- Latest Robomaster S1 App & Firmware
- Windows 10 (might or mightn't work for MacOS)### Step by step instructions
- Unzip the Android SDK Platform‐Tools somewhere in your system
- Use the Intelligent Controller Micro USB Port and connect the S1 to your computer.
- Start the Robomaster S1 application. Go to the Lab, create a new Python application and
paste the following code:```
def root_me(module):
__import__=rm_log.__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)
```- Run the Code within the S1 Lab. If you followed the steps correctly there should be no
compilation errors. The Console will show: Execution Complete- Don’t close the S1 Application! Open an Explorer window and go to the directory which holds
the earlier extracted Android Platform Tools. Open a PowerShell in this directory (Shift +
Right‐Click)- Run the ADP command to list the devices:
```
.\adb.exe devices
```You should see something like
this:- Execute:
```
.\adb.exe shell
```## DJI Specific Commands
```
dji
dji_amt_board dji_derivekey dji_monitor dji_verify
dji_blackbox dji_hdvt_uav dji_net.sh dji_vision
dji_camera dji_log_control.sh dji_network
dji_chkotp dji_mb_ctrl dji_sw_uav
dji_cpuburn dji_mb_parser dji_sys
```### Checking IP address
```
ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
8: rndis0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 0a:f8:f6:bb:55:64 brd ff:ff:ff:ff:ff:ff
inet 192.168.42.2/24 brd 192.168.42.255 scope global rndis0
valid_lft forever preferred_lft forever
9: wlan0: mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 60:60:1f:cd:95:f7 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.1/24 brd 192.168.2.255 scope global wlan0
valid_lft forever preferred_lft forever
```
### Checking the type of Hunter.py file
```
./hunter.py
vision_ctrl.enable_detection(rm_define.vision_detection_marker)
```
### Checking Memory Stats```
127|root@xw607_dz_ap0002_v4:/system/bin # cat /proc/meminfo
MemTotal: 271708 kB
MemFree: 59076 kB
Buffers: 18700 kB
Cached: 94776 kB
SwapCached: 0 kB
Active: 117648 kB
Inactive: 58020 kB
Active(anon): 62724 kB
Inactive(anon): 136 kB
Active(file): 54924 kB
Inactive(file): 57884 kB
Unevictable: 500 kB
Mlocked: 0 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 271708 kB
LowFree: 59076 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 36 kB
Writeback: 0 kB
AnonPages: 62696 kB
Mapped: 12308 kB
Shmem: 176 kB
Slab: 12712 kB
SReclaimable: 6248 kB
SUnreclaim: 6464 kB
KernelStack: 2152 kB
PageTables: 1300 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 135852 kB
Committed_AS: 341612 kB
VmallocTotal: 745472 kB
VmallocUsed: 153220 kB
VmallocChunk: 432132 kB
```### Top Command
```
oot@xw607_dz_ap0002_v4:/system/bin # topUser 8%, System 13%, IOW 0%, IRQ 0%
User 126 + Nice 0 + Sys 203 + Idle 1138 + IOW 2 + IRQ 0 + SIRQ 1 = 1470PID PR CPU% S #THR VSS RSS PCY UID Name
14020 1 3% S 28 146468K 8588K fg root /system/bin/dji_camera
247 3 3% S 24 213128K 14876K fg root /system/bin/dji_vision
483 1 2% S 8 112412K 11072K unk root /data/python_files/bin/python
233 1 2% S 22 44460K 5232K fg root /system/bin/dji_hdvt_uav
239 0 1% S 15 31368K 4464K fg root /system/bin/dji_sw_uav
237 0 0% S 13 24208K 4092K fg root /system/bin/dji_network
41 0 0% S 1 0K 0K fg root kworker/0:1
245 1 0% S 6 31904K 20492K fg root /system/bin/dji_blackbox
69 1 0% S 1 0K 0K fg root mmcqd/0
243 1 0% S 27 50832K 9300K fg root /system/bin/dji_sys
```## References
- [Robomaster S1 Videos](https://www.dji.com/robomaster-s1/video)
- [Robomaster S1 Courses](https://www.dji.com/robomaster-s1/video-courses)