![]() |
![]() |
Team МК
|
|||||||
|
х | ||||||
|
|||||||
|
х | ||||||
|
|||||||
|
х | ||||||
|
|||||||
|
|||||||
|
League RoboCup Junior Rescue Maze
Development 2020
![]() Video
|
![]() Robot design
|
![]() Robot software
|
![]() Strategy and log
|
![]() Poster
|
Video |
Brief description of the element base, electronics and design features
Construction: a distinctive feature of the construction is the dependent suspension. Electronics: To accommodate all the electronics and ensure a reliable connection, a board kit has been designed, consisting of: motherboard, power distribution board, four motor driver breakout boards, user interface board, board indication of victims, battery adapter board, two sensor module boards. |
Description of the robot's software (programming language and environment, list of implemented algorithms, description of the program structure) The concept of non-discrete movement in a maze is fundamentally different from movement in cells, respectively, the following algorithms are used: 1. Mapping Algorithm 2. Localization Algorithm 3. Algorithm for building a route 4. Algorithm of the robot's passage along the constructed route 5. Maze exploration algorithm 6. Algorithm for recognizing temperature victims on TV 7. Algorithm for recognizing visual victims 8. Algorithm for approaching the victims and issuing rescue kits to them The main idea of the robot's software is to reject the binding of movement to the length of the cells. Therefore, a lidar was chosen as the main sensor of orientation in space, and an NVIDIA Jetson nano single-board computer was chosen to provide the necessary computing power. To create the program, it was decided to use the ROS package. The robot uses ROS Melodic, and all programs are written in C ++. Debugging the robot had to start before the robot physically appeared, so it was decided to use the Gazebo simulator built into ROS. |
Strategy (how the task set by the league regulations is solved)
General strategy. |
||
|
Poster |
Development 2019
|
|
![]() Video
|
![]() Robot design
|
![]() Robot software
|
![]() Strategy and log
|
![]() Poster
|
Video |
Brief description of the element base, electronics and design features The structure is divided into 2 modules. Undercarriage with wheel position and light sensors; Peripheral module containing laser distance sensors (VL53L0X), non-contact temperature sensors (MLX90614), cameras (OpenMV), gyroscope-accelerometer, buttons and a system for issuing rescue kits. The moving part consists of motors, bearing assemblies, external gearboxes, position sensor. The team designed their own motherboard based on the STM32 microcontroller, which made it possible to flexibly arrange all the necessary electronics. For a more convenient organization of wiring, commutation boards have been developed, thanks to which the modules are connected to each other by solid loops, and not by a large number of separate wires, due to which the reliability has significantly increased.
|
Description of the robot's software (programming language and environment, list of implemented algorithms, description of the program structure) The main robot program was developed in C and C ++ in the Keil uVision 5 environment, and is a state machine that polls the sensors every cycle. The program for processing images from cameras was written in micro Python. The camera program uses the OpenMV library (pre-installed in this module), and the STM32 program uses the SPL and CMSIS system libraries. |
Strategy (how the task set by the league regulations is solved) Initially, the robot travels according to the right-hand rule, making a list of cells that it passes by. Parallel to the movement, the robot stands a map consisting of 2 two-dimensional arrays of the bool type, in one of which the visited cells of the maze are stored, and in the other the location of the walls in the maze. When the robot discovers that the cell to which it should go has already been visited, it takes the last added point from the list that it compiled while driving according to the right-hand rule and moves there. This algorithm allows you to explore the entire maze, including points that cannot be driven only by the right or left hand rule. |
||
|
Poster |