Starline Hackathon 2020

Hola a todos, con el propósito de transferir experiencia, así como con el fin de estructurar y consolidar toda la cantidad de información que hubo que trasladar, estoy escribiendo este artículo. No pretendo presentar un manual para crear nuestra solución (   ya que el código fuente ya está completamente abierto). Quiero decir que el interés principal es delinear los principios básicos de la construcción de tales sistemas, delinear las fuentes utilizadas, de contar a qué nos rendimos y a qué llegamos. Intentaré mantener un equilibrio entre la cantidad de información y la legibilidad.

Si no sabes qué es ROS, te aconsejo que estudies el recurso  Voltbto.com , por ejemplo, aquí hay  un artículo sobre cómo trabajar con servicios en ROS .

A finales de marzo de 2020, Starline celebró un hackathon por segunda vez en su historia  .

En comparación con el  hackathon anterior  ( youtube ), celebrado en octubre de 2018, esta vez el nivel de organización ha aumentado considerablemente: había regulaciones claras, un sistema de evaluación, igualdad de condiciones para todos los participantes y una tarea de calificación compleja, como debería ser.

En esta ocasión, los organizadores pusieron un listón muy alto en cuanto a la complejidad de la competición: tanto que de las 25 candidaturas presentadas, solo 5. Para resolver la tarea clasificatoria, era necesario configurar el robot en el  simulador gazebo  para que se desplazara de un punto a otro. Más sobre esto  aquí .

: , . , ( ):

  1. Starline Hackathon

  2. COEX Hackathon

  3.  Autonet 18+

  4. UpGreat   +   vc.ru

  5.  -1-2

  6.   Pro (  )

  7.    [ ]

, [] .

. , , , . : , ( ).

 @urpylka   @goldarte  ( , – ).

Turtlebot E2 :

  1. Kobuki

  2. RGBD- Orbbec Astra

  3. Rplidar A2

  4. Intel NUC [BOXNUC7I7BNH]

  5. Logitech HD Pro C920

, , . , , .

4 , , .

(7x7 ): , . , - , . .

( ):

  1. “”

  2. “ ”

, .

( ) . ́ .

:

  1. “”

  2. , ROS

, .   TurtleBot3 robotis.com,  autoraceturtlebot3autoracehttps://github.com/ROBOTIS-GIT/turtlebot3autorace2020. :

  •  ( : , );

  • ;

  • -.

State Machine

: - : GOTO_0GOTO_1.  0  1  .

,  0, , ; ,  0, , , , . , , , .

( ) . , .

 GOTO_0GOTO_1 - , “”. , .

 INIT  IDLE.  INIT  ,  IDLE.  IDLE   GOTO_0  GOTO_1. state-machine   ,  - Karn Saheb.  StateMachine   S  ObjectStorage.  setattr(Class, Attr, Value)   Class.Attr = Value.

,  lane-detection:

  1. github/awesome-lane-detection

  2. github lane-detection

  3. hackster.io curved-lane-detection

 birdview   dynamic_reconfigure.

 color-segmentation.  dheera/ros-semantic-segmentation. .

   .

, , , - . . .

.  gmapping  . , .

- . , ,  R1  , ,  R2.

, . ROS  find_object_2d: ,  /objects  objectsStamped. , , ,  opencv.  detect_objects_node.py.      CarND-Capstone  .

 find_object_2d. ORB .  . :

,  /objects, .

 detected_stop, , .

 dynamic_reconfigure, ( )  rqt. :

.  find_object_2d  . . - , ( ). - . .

: HSV, , ( Hough Circles) . - , .

- , , ( ). , , , , .

, Astra .  Logitech HD Pro C920 - – . - .

Navigation Stack

ROS Navigation Stack (   PhD Paul‑Edouard Sarlin) .

  • Map prior:

  • Kinect: ,

  • Odometry:

  • Map updater:

  • Global planner: ,

  • Local planner:

 - navigation,  move_base(  ) : . – , , , . . , , .

   Navigation Stack .    ROS Navigation Stack.

   robot_navigation, .

 amcl. , , .

 teb_local_planner (github),  TU Dortmund University. c :

  • https://github.com/rst-tu-dortmund/teblocalplannertutorials

  • http://wiki.ros.org/navigation/Tutorials/Navigation%20Tuning%20Guide#TheLocalPlanner

  • http://wiki.ros.org/teblocalplanner/Tutorials

- , , .

:

  • obstacle_layer – (  Obstacle inflation in costmap2d)

  • inflation_layer –

  • static_layer –

:

  • costmap_2d::StaticLayer – ,

  • costmap_2d::ObstacleLayer –  LaserScan  PointCloud

  • costmap_2d::InflationLayer –  costmap 

  • costmap_2d::VoxelLayer – 3D

, .  costmap_2d::StaticLayer, ,  costmap  .

 costmap_2d   . (123), (staticmapobstacles),  flat  layered.

 Sr4l/virtualobstacles, Costmap Plugin  costmap_2d::MovingObjects. ,  Lars Kistner   , . - . .

     .

()  Maps Merger.

:

  1. /maps/map_amcl – ,  gmapping (  )

  2. /maps/map_mb – /maps/map_amcl + ( )

  3. /maps/crossroads –

  4. /maps/start_wall –

  5. /maps/map_merged -  /maps/map_mb/maps/crossroads/maps/start_wall( )

  map_server   navigation.

:

rostopic pub /move_base_simple/goal geometry_msgs/PoseStamped '{header: {stamp: now, frame_id: "map"}, pose: {position: {x: 0.674, y: 0.119, z: 0.0}, orientation: {w: 1.0}}}'
# PS       (    )

 . ( )  velocity_smoother,  .

  •    costmap_2d  Pixhawk

  • Layered Costmaps for Context-Sensitive Navigation David V. Lu, Dave Hershberger, and William D. Smart

  • Fast Gaussian Process Occupancy Maps. In 2018 15th International Conference on Control, Automation, Robotics and Vision (ICARCV) (pp. 1502–1507). IEEE. Yuan, Y., Kuang, H. & Schwertfeger, S. ( gpmaps.py)

  • - ROS geometry2  .   1   2.

  •  occupancy_grid_utils

  •  TU Dortmund University  costmap_converter   costmap.  github,  DBSCAN.

  •   costmap_2d,   C++, GridMap ETHZ ASL, , ( grid_map).

TurtleBot . .

RGBD- ( ). , .

SLAM , , , .

, RGBD- .

. , ,  teb_local_planner  . , . , , . 2 , . , , . - , , .

, , , .

.  Starline, : , , , , .

- :

  • developer.starline.ru – API Starline.

  • El portal RoboFinist , por cierto, su principal desarrollador es solo una persona: Kirill Gorev. Y en este  portal  puedes encontrar más fotos de este maravilloso evento.

  • Canal de YouTube de Nikolay Dem . Kohl es un ingeniero en robótica genial y de vez en cuando aparecen videos interesantes en su YouTube.

Eso es todo, ¡muchas gracias por leer!




All Articles