Hallo allerseits, zum Zweck des Erfahrungsaustauschs sowie zur Strukturierung und Konsolidierung der gesamten Menge an Informationen, die geschaufelt werden mussten, schreibe ich diesen Artikel. Ich möchte kein Handbuch zur Erstellung unserer Lösung präsentieren ( da der Quellcode bereits vollständig geöffnet ist). Ich meine, das Hauptinteresse besteht darin, die Grundprinzipien des Aufbaus solcher Systeme zu skizzieren, die verwendeten Quellen zu skizzieren, darüber zu sprechen, was wir aufgegeben haben und wozu wir gekommen sind. Ich werde versuchen, ein Gleichgewicht zwischen Informationsmenge und Lesbarkeit zu halten.
Wenn Sie nicht wissen, was ROS ist, empfehle ich Ihnen, die Ressource Voltbto.com zu studieren. Hier ist beispielsweise ein Artikel über die Arbeit mit Diensten in ROS .
Ende März 2020 veranstaltete Starline zum zweiten Mal in seiner Geschichte einen Hackathon .

Im Vergleich zum vorherigen Hackathon ( youtube ), der im Oktober 2018 stattfand, hat sich diesmal der Organisationsgrad stark erhöht: Es gab klare Vorschriften, ein Bewertungssystem, gleiche Bedingungen für alle Teilnehmer und eine komplexe Qualifikationsaufgabe - so wie sie sein sollte.
Diesmal legten die Organisatoren eine hohe Messlatte in Bezug auf die Komplexität des Wettbewerbs fest: So sehr, dass von 25 eingereichten Bewerbungen nur 5 erforderlich waren. Um die Qualifizierungsaufgabe zu lösen, musste der Roboter im Simulator so eingerichtet werden gazebo , dass er von einem Punkt zum anderen fährt. Mehr dazu hier .
: , . , ( ):
, [] .
. , , , . : , ( ).
Turtlebot E2 :
Kobuki
RGBD- Orbbec Astra
Rplidar A2
Intel NUC [BOXNUC7I7BNH]
Logitech HD Pro C920
, , . , , .
4 , , .
(7x7 ): , . , - , . .

( ):
“”
“ ”
, .
( ) . ́ .
:
“”
, ROS
, . TurtleBot3 robotis.com, autorace: turtlebot3autorace, https://github.com/ROBOTIS-GIT/turtlebot3autorace2020. :
-.
State Machine
: - : GOTO_0, GOTO_1. 0 1 .
, 0, , ; , 0, , , , . , , , .
( ) . , .
GOTO_0, GOTO_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:
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 .

, /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.
amcl. , , .
teb_local_planner (github), TU Dortmund University. c :
- , , .
:
:
costmap_2d::StaticLayer– ,costmap_2d::ObstacleLayer–LaserScanPointCloudcostmap_2d::InflationLayer–costmapcostmap_2d::VoxelLayer– 3D
, . costmap_2d::StaticLayer, , costmap .
costmap_2d . (1, 2, 3), (staticmap, obstacles), flat layered.
Sr4l/virtualobstacles, Costmap Plugin costmap_2d::MovingObjects. , Lars Kistner , . - . .
() Maps Merger.
:
/maps/map_mb–/maps/map_amcl+ ( )/maps/crossroads–/maps/start_wall–/maps/map_merged-/maps/map_mb,/maps/crossroads,/maps/start_wall( )
:
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 ( )
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)
TU Dortmund University
costmap_convertercostmap. github, DBSCAN.
TurtleBot . .
RGBD- ( ). , .
SLAM , , , .
, RGBD- .
. , , teb_local_planner . , . , , . 2 , . , , . - , , .
, , , .
. Starline, : , , , , .

- :
developer.starline.ru – API Starline.
Das Hauptentwickler des RoboFinist-Portals ist übrigens nur eine Person - Kirill Gorev. Und auf diesem Portal finden Sie weitere Fotos von dieser wunderbaren Veranstaltung.
YouTube-Kanal von Nikolay Dem . Kolya ist ein cooler Robotikingenieur und von Zeit zu Zeit erscheinen interessante Videos auf seinem YouTube.
Das ist alles, vielen Dank für das Lesen!