Skip to content

Commit

Permalink
feat(#242): added sprint reviews for paf23
Browse files Browse the repository at this point in the history
  • Loading branch information
robertik10 committed Mar 31, 2024
1 parent e7cf380 commit b88cfbb
Show file tree
Hide file tree
Showing 6 changed files with 487 additions and 0 deletions.
65 changes: 65 additions & 0 deletions doc/08_dev_talks/dev_talks_paf23/sprint_2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Sprint 2

## General ToDo’s

- Test Submit for new Leaderboard {Samuel, Max}
- Submission Page stating what can be left in the code
- Build Docker Image with Environment Variables
- Make Docker Script
- (info: 99 submissions per month possible)

## Perception

- dvc {Max, (Leon)}
- Look more closely
- Solution approach for Large File Storage
- Clean Up {Leon}
- Throw out EfficientPS
- If thrown out → remove dependencies for Image (BACKLOG)
- New Segmentation Node {Leon, Max}
- Visualization in RViz
- Baseline Model (Object Detection / Segmentation)
- General procedure
- Sensor Data Filter {Robert}
- Is there any filtering at all?
- Filtering of data (Maybe the sensor noise can be removed in Sensorconfig for tests)
- Sensorfile
- Without Leaderboard → as many sensors as you want
- Read out values without noise via Python API

## Planning

- Understanding of current Decision Tree {Samuel}
- [ ] Does the global routing by the Decision Tree work?
- [ ] Are lane decisions correct? (holding lane, switching lanes)
- [ ] How well does it perform
- [ ] Limitations?
- Visual Architecture {Julius}
- What is currently output {}
- What is currently arriving {}
- What should arrive?
- Object Avoidance [BACKLOG] {}
- Must-Have for next milestone
- For passing obstacles

## Acting

- Simpler design of Acting
- Maybe fewer controllers
- Maybe alternative architecture
- Measure rule deviation
- Ideal Dummy Sensors (Python API)
- With ideal actual state
- Make analysis possible
- For testing
- Turn off all vehicles
- Maybe use Trajectories Dummy for this (Gabriel as contact person)
- Emergency Breaks
- Parking out scenario → currently without sensor input → only Acting / Hardcoded

## Notes

- Relative speed of objects published by perception via radar
- Documentation of issues during presentations
- Github file limit of 100MB
- Define interfaces
55 changes: 55 additions & 0 deletions doc/08_dev_talks/dev_talks_paf23/sprint_3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Sprint 3

## General ToDo's

- Leaderboard Submission (when unlocked)
- Fix steering when parking out {Samuel, Robert}
- Update Cuda or Torch version

## Perception

- Segmentation Node {Leon}
- Speed
- Segmentation Mask
- Yolo Models
- Tensorflow
- Agree on interfaces (Issue already created)
- From Perception to Planning:
- GPS
- Speed (Carla Sensor)
- LIDAR research {Leon}
- possible combination with Object Detection
- Possible use of Radar: {}
- In combination with LIDAR for Emergency Break
- Relative speed
- Filter out current position more accurately {Robert}
- maybe Kalman Filter
- in relation to which point?
- for what exactly?
- Check if and how much noise is measured by the sensors {Robert}
- Location Error Bugfix {Robert}
- Canny-Edge-Detection [BACKLOG] {Max}
- Traffic Lights [BACKLOG → after Object Detection] {Max}
- what's already there?

## Planning

- Collision Check
- ACC
- in behavior tree or not?
- maybe look at others
- Connection Local Planner & Behavior Tree
-

## Acting

- maybe test ACC
- Finish building test case
- push-bar
- Tuning of the controllers

## Notes

- Segmentation Node with all cameras maybe
- Camera to the back can look over cars
- → you see the road when parking out
42 changes: 42 additions & 0 deletions doc/08_dev_talks/dev_talks_paf23/sprint_4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Sprint 4

## General ToDo's

- [ ] Fix Submission {Samuel, Max}

## Perception

- [ ] LIDAR {Leon}
- [ ] Calculate distance to each detected object
- [ ] Define exactly to which point the distance is calculated
- [ ] Reference coordinate system (maybe at the bumper)
- [ ] Get CUDA running {Leon}
- [ ] Traffic Light Node {Max}
- [ ] Create new publisher
- [ ] Detect orientation of the traffic light
- [ ] Check relevance
- [ ] Complete and test Kalman Filter {Robert}
- [ ] Position
- [ ] Heading
- [ ] Document research on other filtering options if not accurate enough {Robert}
- [ ] Maybe Monte Carlo
- [ ] Maybe also implement directly

## Planning

- [ ] Collision Check needs to be converted into a node
- [ ] Motion planning missing
- [ ] Implement ACC
- [ ] Change publishers (only publish name of task)

## Acting

- [ ] Velocity Controller {Alex}
- [ ] Different step responses
- [ ] Follow-up control
- [ ] Braking
- [ ] Approx. 1 m/s as maximum deviation
- [ ] Steering {Alex, Robert}
- [ ] Check implementation
- [ ] PP Waypoint/ Trajectory Vector
- [ ] Check Emergency Brake [BACKLOG] {Robert}
102 changes: 102 additions & 0 deletions doc/08_dev_talks/dev_talks_paf23/sprint_5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
# Sprint 5

## General ToDo's

- [ ] Merge PR
- [ ] Fix Cuda Errors [Backlog]
- [ ] Minimum Distance Publisher

## Perception

- [ ] Merge Lidar and Vision Nodes {Leon}
- [ ] Lidar Flickering {Leon}
- [ ] Heading Bug Fix {Robert}
- [ ] Transformation to correct Yaw
- [ ] How is the Heading used in the rest of the code
- [ ] Kalman Filter tuning {Robert}
- [ ] Heading
- [ ] Position
- [ ] Publishing the data
- [ ] Additional cameras
- [ ] Traffic Light Detection
- [ ] Detect traffic lights that are outside

## Planning

- [ ] Continue publishing ACC Node → Ignore Emergency Break
- [ ] Ignore red traffic lights if already in intersection [Backlog]
- [ ] → Test
- [ ] Rebuild Planning Directory
- [ ] Verify behaviours
- [ ] Build test node
- [ ] Also test in leaderboard if test node works

## Acting

- [ ] Test Emergency Breaks
- [ ] Via Testnode
- [ ] Steering Tuning, Testing
- [ ] First Pure Pursuit (easier to tune)
- [ ] Then maybe Stanley

## Notes

Perception:

- [ ] Limit Lidar data up and down (Z axis)
- [ ] Or merge multiple images
- [ ] Change Lidar Config because of flickering
- [ ] Merge Lidar and Vision Nodes
- [ ] Vision Node:
- [ ] Instead of yolov8x seg → rtdetr-x so you can see far enough for traffic lights
- [ ] Traffic Light Detection:
- [ ] Extension of traffic light detection classes:
- [ ] Backside, Green, Yellow, Red, Side
- [ ] Publisher:
- [ ] Traffic_light_state
- [ ] Four states:
- [ ] 3 Colors + Unknown
- [ ] Red traffic lights are detected from the wrong side when turning
- [ ] → Planning has to work with this case
- [ ] Tuned Kalman filter is amazing!!!
- [ ] Is published as kalman_pos
- [ ] Should replace current_pos
- [ ] Heading Bug
- [ ] Dirty fix
- [ ] KalmannHeading is running
- [ ] Kalman filter is as accurate as the old filter
- [ ] YAAAAAAAAAAAAWWWW!
- [ ] We now have a filter for the Heading, which we didn't have before

Planning:

- [ ] At np.inf from collision check → no Collision
- [ ] Fully integrate ACC and collision check + testing
- [ ] Probably some adjustments
- [ ] Remove ACC in consultation with Acting
- [ ] ACC node should continue to publish messages even if full braking is present
- [ ] Build speed calculation not linear
- [ ] → Brake harder the closer
- [ ] Maybe ACC with target acceleration instead of target speed
- [ ] ACC PID controller has been removed
- [ ] Local Planning:
- [ ] Cleaned
- [ ] Rebuild Planning Directory
- [ ] Verify behaviours
- [ ] Build test node
- [ ] Also test in leaderboard if test node works

Acting:

- [ ] Velocity_Controller
- [ ] Apply Integral Clipping only at higher or lower values

Misc:

- [ ] Extra msg folder that needs to be compiled first
- [ ] → Then every package can recognize the messages
- [ ] Carla_Manual_Control → agent_manual.launch
- [ ] Press P key
- [ ] Memory Leak:
- [ ] Swap-File in Linux as workaround (approx. 10 GB per minute)
- [ ] Limitation of RAM for the simulator
122 changes: 122 additions & 0 deletions doc/08_dev_talks/dev_talks_paf23/sprint_6.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,122 @@
# Sprint 6

## General ToDo's

- [ ]

## Perception

- [ ] Display XYZ values in RGB
- [ ] Instead of visualization → Array
- [ ] Test rear view camera
- [ ] Interface between Local Planning and Lidar
- [ ] Vehicle detection from the side
- [ ] Lane Detection → Coordination with Planning [BACKLOG]

## Planning

- [ ] Trajectory for overtaking
- [ ] From when do you actually have to overtake
- [ ] Recognize obstacles in the trajectory
- [ ] How long do you have to overtake
- [ ] Update during the drive
- [ ] Stationary objects as the target of the overtaking process
- [ ] Behaviour
- [ ] Recognize oncoming traffic

## Acting

- [ ] Emergency Brake Fix
- [ ] Strong lag in leaderboard version
- [ ] Maybe without bug abuse → Max Brake
- [ ] Stanley:
- [ ] Better suited (sources) for higher speeds, tuning for these speeds in the next sprint.
- [ ] Vehicle Controller:
- [ ] If Stanley has also been tuned, question, revise and hopefully improve the sigmoid function which decides which of the Steering-Controller-Inputs is considered (and especially the mixed form of both controller inputs at the transition limit).

## Notes

### Perception*

- [ ] LIDAR:
- [ ] Position from Lidar fixed
- [ ] Flickering
- [ ] Low spin rate → more flickering / more data
- [ ] High spin rate → less flickering / less data
- [ ] 10 → best resolution
- [ ] 15 → sometimes no flickering
- [ ] 20 → no flickering, poor resolution
- [ ] → 15
- [ ] Distances from objects are determined
- [ ] Traffic light detection:
- [ ] YOLO RTDETR
- [ ] 5 states, only 3 published
- [ ] WORKS GREAT!!
- [ ] CUDA workaround:
- [ ] Ubuntu 22 Bib
- [ ] PyTorch 2 usable!
- [ ] Next Steps:
- [ ] Currently only functional with yolo models → adapt to other models
- [ ] Display XYZ values in RGB
- [ ] Instead of visualization → Array
- [ ] Test rear view camera
- [ ] Interface between Local Planning and Lidar
- [ ] → Testing necessary!
- [ ] Attack test submit again as soon as available
- [ ] Lane Detection → Coordination with Planning [BACKLOG]

### Planning*

- [ ] Planning Package restructured
- [ ] Only one package now
- [ ] ACC rework
- [ ] Collision Check Bug:
- [ ] Was very laggy
- [ ] FIXED
- [ ] Leave Parking Spot behaviour
- [ ] Flag that you can only park out once
- [ ] WE DRIVE STRAIGHT AHEAD WELL WOHOOOO
- [ ] Emergency brake → vehicle controller
- [ ] Simulator freezes
- [ ] We get over intersections yipiiiii
- [ ] Pylot → Implement Frenet Trajectory Planner for us
- [ ] Carla Route in Dev Launch
- [ ] Advantage:
- [ ] Waypoints for intersections
- [ ] Possible to drive around the map once without obstacles
- [ ] RouteOptions documentation in preplanning.md
- [ ] NEXT STEPS
- [ ] Fix Emergency Brake
- [ ] Local planning around objects
- [ ] Might be enough to avoid and then when you are next to the object calculate the trajectory again
- [ ] Maybe use middle lane as a limit when parking out
- [ ] Maybe wait a little longer before parking out, because of wrong coordinates
- [ ] Test with improved traffic light detection
- [ ] Add check if intersection is free
- [ ] Expand curve detection

### Acting*

- [ ] Pure Pursuit:
- [ ] Low V
- [ ] Lookahead d calculated from v
- [ ] Look in the heading of the car on trajectory → calculate point
- [ ] Calculate vector → angle → steering angle
- [ ] Work:
- [ ] Simplified
- [ ] Min and maxdistance for lookahead set
- [ ] Always swings when driving straight :/
- [ ] At 10m/s very swinging → stanley
- [ ] Finished for now in linear form up to 40 kmh it works quite well
- [ ] Stanley :
- [ ] Higher V
- [ ] Always looks at next point on trajectory
- [ ] Target value from position and heading
- [ ] Trajectory Heading also interesting if possible
- [ ] Work:
- [ ] Disabled → Tuning in the next sprint
- [ ] Sigmoid:
- [ ] Switch between both from 4 m/s
- [ ] PID Controller still controls steering
- [ ] Necessary?
- [ ] Tune variable -5 on steering left out for now because probably unnecessary
Loading

0 comments on commit b88cfbb

Please sign in to comment.