- Git clone this repository in the path ~/carla-ros-bridge/catkin_ws/src/
- type in the terminal "pip install simple-pid" to install simple-PID
The new research code developed is under APC_Monash folder
- This new node will stop the need of test.py as a communication bridge between carla & APC_Monash
- Reduce number of classes to make things simpler (no repeating "self." :p)
- PID implementation for throttle with variable speed using a single function "Movement_Control.carControl(targetSpeed = 10,steerAngle= 0)"
- Cleaner code for developing & understanding
- PID control (Andrew)
- Linear steering (Andrew)
- Coordinate system for car travel
- Straight line (Andrew)
- Corners 90 (Andrew & Nulan)
- Corners any angle (Andrew & Nulan)
- Corners using many smaller waypoints (Nulan)
- Stop when detect moving obstacle (using camera or radar) (Lucas & Qi Shiun & Guan Yuan)
- Traffic light (not needeed for APC2023)
- pedestrian (not needeed for APC2023)
- car
- Lane centering using camera (opencv2) (Nulan & Derrick)
- Straight line
- Corners
- Energy Saving
- Soft accelerate
- Coasting on straights
- Coasting on corners
- Route Planning (Omar)
- Long sweeping turns
- Roundabout
- try to reduce tolerance needed to goals (as of now it is 1m)
- Map system analysis using (OpenDRIVE standard 1.4)
- car can automatically decide which lane to use
- Smart path planning using waypoint (make many smaller coordinate for the car to follow)
- Lidar SLAM research
- documentation is important (link sources used in learning these techniques)
- it is okay to use longer names, VSC (Visual studio code) has autofill, it's more important to use words that we can understand easily in our code (this reduces the need for comments as well)
- number of code lines doesn't matter, use as much as possible to make your code look easy to read
- use more functions, to make code easier to debug
- We take more time reading code than writing them, so spend more in making it easy to read (make it easy for you and me :D)
- when commiting, write descriptive messages to tell what you improved on and what's on your mind at that moment (example: git commit -m "README.md has been updated with instructions on folder names & tips when developing as a team")
- old_car_control_master.py - 2022 APC submission code
- car_control_master.py - is the modified version of the competition code (made to improve putting new coordinate locations using functions instead of super long arrays)