Skip to content

2021 국제대학생창작자동차경진대회 자율주행부문 트랙미션(비공개미션) 자료 및 결과 정리

License

Notifications You must be signed in to change notification settings

boing-86/ma_rrt_path_plan

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RRT with multiple remote goals.

This repository contains the ROS package with code implementation of RRT-based path planning algorithm suitable for exploration of a trackdrive circuit according to the rules of Formula Student Driverless competition in Germany. This algorithm is based on my contribution to E-gnition, a FS Team of Technical University Hamburg.

Basic animation of the approach

A brief introduction to the main steps of the proposed algorithm is given in my Master's thesis presentation (direct timestamp).

Notes

  • The algorithm does not utilize the cones' color information, but instead a simple logic is used, which rewards the branches with cones from both sides (see findBestBranch(...) method), and penalizes the branches having cones only from one side. With cone classification information a better rating system can be implemented and applied.
  • Unfortunately I wasn't able to test and see this algorithm working on real hardware, a FS Driverless car, so I am excited if you can bring it the reality on any mobile robot and share some videos with me (see section Usage)

Usage

Inputs, outputs, params

Inputs

  • rospy.Subscriber("/map", Map, ...)
  • rospy.Subscriber("/odometry", Odometry, ...)

Outputs

  • rospy.Publisher("/waypoints", WaypointsArray, ...)

Outputs (Visuals)

  • rospy.Publisher("/visual/tree_marker_array", MarkerArray, ...)
  • rospy.Publisher("/visual/best_tree_branch", Marker, ...)
  • rospy.Publisher("/visual/filtered_tree_branch", Marker, ...)
  • rospy.Publisher("/visual/delaunay_lines", Marker, ...)
  • rospy.Publisher("/visual/waypoints", MarkerArray, ...)

Parameters to tune (main)

  • planDistance = 12 m - Maximum length of tree branch
  • expandDistance = 1 m - Length of tree node/step
  • expandAngle = 20 deg - constraining angle for next tree nodes
  • coneObstacleSize = 1.1 m - size of obstacles derived from cone position
  • coneTargetsDistRatio = 0.5 - ratio to frontConesDist for deriving remote cone goals

Licence

MIT

  • Use me and my code in any way you want
  • Keep the names and the same licence

Edit. FROZEN Team from Sookmyung Women's University

  • Jeong Boin : Decision - System Architecture Design, Motion Planning(+local purepursuit), Module Integration
  • Lee Sunmyung (github.com/leesunmyung) : Perception - LiDAR Sensor Programming, Obstacle Recognition & Distance Data Callback
  • Shin Sujin : Control - PID, PD control(longtitudinal Control), Purepursuit(latitudinal Control)

Inputs

  • rospy.Subscriber("/track", Track, ...)
  • rospy.Subscriber("/newwaypoints", WaypointsArray, ...)

Outputs

  • rospy.Publisher("/waypoints", WaypointsArray, ...)

Outputs (Visuals)

  • Same as the original

Parameters to tune (main)

  • Same as the original

Architecture & Configuration + etc...

슬라이드1 슬라이드4 슬라이드5 슬라이드9 슬라이드11 슬라이드16 슬라이드19

About

2021 국제대학생창작자동차경진대회 자율주행부문 트랙미션(비공개미션) 자료 및 결과 정리

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.2%
  • CMake 1.8%