Join our Discord Server
Ajeet Raina Ajeet Singh Raina is a former Docker Captain, Community Leader and Distinguished Arm Ambassador. He is a founder of Collabnix blogging site and has authored more than 700+ blogs on Docker, Kubernetes and Cloud-Native Technology. He runs a community Slack of 9800+ members and discord server close to 2600+ members. You can follow him on Twitter(@ajeetsraina).

How to assemble DJI Robomaster S1 for the first time?

3 min read

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.

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 recognise

  • 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
  2. Items Check and Assembly
  3. Asembly the Mecanum Wheels
  4. Attaching the Gimbal to the Chassis
  5. Mounting the Gel Bead Container and Intelligent Battery

Getting Started

To be able to program the Robomaster S1 in Scratch or Python, you must run the Robomaster # S1 app, then connect the Robomaster S1 to it, via wireless mobile device or on your computer via WiFI.

  • Installing Robomaster Python Module on MacOS
conda create --name dji python=3.7
conda activate dji
pip install robomaster

Before we start interacting with Robomaster S1 through the script, the first and foremost step is to assemble Robomaster S1. It generally takes 45-1 hour time to assemble Robomaster S1 completely. Let’s get started:

20 Steps to assemble Robomaster

1. Items Check

robo

2. Soak the gel beads in water

image

image

3. Connect the battery to the charger

image

4. Assembly the Mecanum Wheels

image

5. Prepare the screw bar and grease

image

6. Mount the screw driver bit to the handle

image

7. Grease covering the bottom of shaft holes

image

8. Assembly the Mecanum Wheels

image

9. Screw the five T2 screws using the screw driver’s H1.5 end

image

10. Finish assembling all the 4 Mecanum wheels

image
image

11. Attaching the Gimbal to the chassis

image

12. Testing the battery eject button is functioning properly

image
image

13. Align the Motion Controller with a buckle and place it inside

image

14. Secure the 4 Hit Detectors to their 4 respective armour plates

image
image
image

15. Connect the cable to the Chassis left armour’s hit detector

image

16. Align all the three 3508I Brushless Motors and ESC with the motor mounting plate

image

17. Connect the motor cable to the motion controller’s organge port

image

18. Getting the foundation strong

image

Mounting the Gel Bead Container and Intelligent Battery

image
image
image
image

19. Getting Gel Beads ready

image
image

20. Get Ready!

image

Congratulations! You have assembled DJI Robomaster S1 successfully.

Installing Robomaster S1 Mac App

Next, you will need to install the Robomaster S1 app on your Macbook. Download it via this link. RoboMaster for Windows requires Windows7 64bit or above. RoboMaster for Mac requires macOS 10.13 or above.

The RoboMaster platform is intuitive and engaging allowing ease of connection to the RoboMaster S1 and block-based programming language for all activities.

Copy the below code and try to use the Robomaster S1 app to execute the scratch script. Place the multiple Vision Markers at some distance. Now the S1 should be able to identify all 44 kinds of official Vision Markers, which are comprised primarily of numbers, letters, and special characters.

pid_x = PIDCtrl()
pid_y = PIDCtrl()
pid_Pitch = PIDCtrl()
pid_Yaw = PIDCtrl()
variable_X = 0
variable_Y = 0
variable_Post = 0
list_MarkerList = RmList()
def start():
    global variable_X
    global variable_Y
    global variable_Post
    global list_MarkerList
    global pid_x
    global pid_y
    global pid_Pitch
    global pid_Yaw
    robot_ctrl.set_mode(rm_define.robot_mode_free)
    vision_ctrl.enable_detection(rm_define.vision_detection_marker)
    pid_Yaw.set_ctrl_params(115,0,5)
    pid_Pitch.set_ctrl_params(85,0,3)
    while True:
        list_MarkerList=RmList(vision_ctrl.get_marker_detection_info())
        if list_MarkerList[1] == 1:
            variable_X = list_MarkerList[3]
            variable_Y = list_MarkerList[4]
            pid_Yaw.set_error(variable_X - 0.5)
            pid_Pitch.set_error(0.5 - variable_Y)
            gimbal_ctrl.rotate_with_speed(pid_Yaw.get_output(),pid_Pitch.get_output())
            time.sleep(0.05)
            variable_Post = 0.01
            if abs(variable_X - 0.5) <= variable_Post and abs(0.5 - variable_Y) <= variable_Post:
                gun_ctrl.set_fire_count(1)
                gun_ctrl.fire_once()
                time.sleep(11)
        else:
            gimbal_ctrl.rotate_with_speed(0,0)

References:

Have Queries? Join https://launchpass.com/collabnix

Ajeet Raina Ajeet Singh Raina is a former Docker Captain, Community Leader and Distinguished Arm Ambassador. He is a founder of Collabnix blogging site and has authored more than 700+ blogs on Docker, Kubernetes and Cloud-Native Technology. He runs a community Slack of 9800+ members and discord server close to 2600+ members. You can follow him on Twitter(@ajeetsraina).
Join our Discord Server
Index