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.

Node descriptions based on classroom.

  • 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
  • waypoint_updater

    • publish final waypoints with target velocities to topic /final_waypoints
    • input topics: /base_waypoints, /current_pose, /obstacle_waypoint, /traffic_waypoint
  • twist_controller

    • input are topics /current_velocity and /twist_cmd (+ /vehicle/dbw_enabled)
    • output are throttle_cmd, brake_cmd and steering_cmd in /vehicle namespace

Bagfiles related to the project

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?