20180310 First Meeting - mxwg/CarND-Capstone GitHub Wiki
Agenda first Final Project Meeting
1. Introduction round
2. Intro to github / project organization
- add collaborators --> done
- branches vs. forks --> branches
- wiki for documentation --> ok
- issues / milestones
3. Workpackages for the project
Aim is to build MVPs (minimal viable products) along the way. Proposal:
- get car to move (fake
waypoint_updater
,twist_controller
) - get car to follow the right waypoints
- get car to follow the right waypoints nicely
- get car to stop when needed (fake red light detection)
- get car to stop in front of red lights
--> We created milestones for these goals.
classroom.
Node descriptions based on-
tl_detector
- detect and classify red lights in topic
/image_color
- can use additional info from topic
/current_pose
- publish stop location using topic
/base_waypoints
to topic/traffic_waypoint
- detect and classify red lights in topic
-
waypoint_updater
- publish final waypoints with target velocities to topic
/final_waypoints
- input topics:
/base_waypoints
,/current_pose
,/obstacle_waypoint
,/traffic_waypoint
- publish final waypoints with target velocities to topic
-
twist_controller
- input are topics
/current_velocity
and/twist_cmd
(+/vehicle/dbw_enabled
) - output are
throttle_cmd
,brake_cmd
andsteering_cmd
in/vehicle
namespace
- input are topics
Bagfiles related to the project
- Traffic light detection test video (only video topics)
- camera_transform_corrected.bag
- udacity_successful_light_detection.bag
ROS info
- catkin workspace root is:
~/carnd/ros
(repo cloned to folder named carnd in your home) - Visualization can be done in
rviz
:rosrun rviz rviz
; rviz configurations will be committed. - some helpful lines for your
~/.bashrc
:
MY_CATKIN_WS=~/carnd/ros
# Source ROS if available
if [ -f /opt/ros/kinetic/setup.bash ]; then
source /opt/ros/kinetic/setup.bash
if [ -f ${MY_CATKIN_WS}/devel/setup.bash ]; then
source ${MY_CATKIN_WS}/devel/setup.bash
fi
else
echo "[Warning] ROS not installed..."
fi
alias ccd='cd ${MY_CATKIN_WS}/src'
alias cm='pushd .; cd ${MY_CATKIN_WS} && catkin_make; popd'
alias cm-clean='mv ${MY_CATKIN_WS}/build ${MY_CATKIN_WS}/devel /tmp'
alias simclean='rm -rf ~/.config/unity3d/Udacity/self_driving_car_nanodegree_program/Player.log'
alias sim='simclean && ~/data/linux_sys_int/sys_int.x86_64'
Next steps
- everyone looks at the code and creates issues assigned to the milestones
- notify people on slack about stuff you do
- assign an issue to you if you're working
- commit often, also push after you're done
Open points
- Is there a requirement for a separate obstacle detector? Are traffic lights the only obstacles?