Starline Hackathon 2020

Hello everyone, for the purpose of transferring experience, as well as in order to structure and consolidate the entire amount of information that had to be shoveled, I am writing this article. I do not set myself the goal of presenting a manual for creating our solution (   since the source code is already completely open). I mean that the main interest is to outline the basic principles of building such systems, to outline the sources used, to tell about what we gave up and what we came to. I will try to keep a balance between the amount of information and readability.

If you do not know what ROS is, I advise you to study the resource  Voltbto.com , for example, here is  an article on working with services in ROS .

At the end of March 2020, Starline held a hackathon for the second time in its history  .

Compared to the  previous hackathon  ( youtube ), held in October 2018, this time the level of organization has greatly increased: there were clear regulations, an assessment system, equal conditions for all participants and a complex qualification assignment - the way it should be.

This time, the organizers set a high bar in terms of the complexity of the competition: so much so that out of 25 applications submitted, only 5. To solve the qualifying task, it was necessary to set up the robot in the  simulator gazebo  to travel from one point to another. More on this  here .

: , . , ( ):

  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 :

- , , .

:

  • 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,  .

TurtleBot . .

RGBD- ( ). , .

SLAM , , , .

, RGBD- .

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

, , , .

.  Starline, : , , , , .

- :

That's all, thank you very much for reading!




All Articles