Team Development Kickoff - PowerPoint PPT Presentation

team development kickoff n.
Skip this Video
Loading SlideShow in 5 Seconds..
Team Development Kickoff PowerPoint Presentation
Download Presentation
Team Development Kickoff

play fullscreen
1 / 19
Team Development Kickoff
Download Presentation
Download Presentation

Team Development Kickoff

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Team Development Kickoff Daniel Hewlett

  2. This Class • Recap recent developments • What’s next – 9 classes left! • Case study of integrating an ability into ROS • Discuss the issues facing each concrete team

  3. Google Code Repositories Two Repositories: • ua-ros-pkg • This is the official repository of the UA Robotics Research group. Only people in the robot lab can commit (ask if you need something changed). • We’re official now: • ua-cs665-ros-pkg • This is the repository for the class. All students have the ability to commit code and edit wikis.

  4. What You Need to Do Now • Join at least one concrete team • Send me your Google account to be added to the Google Code repository for the class • If you don’t want to use your email address, you can make another Google account just for this class If you already done both of these, great!

  5. Stacks • ua_apps • ua_cognition • ua_controllers • ua_drivers • ua_robots • ua_vision • wubble_world(complete refactoring) • language • manipulation • navigation • objects • people (one for each team) ua-ros-pkg ua-cs665-ros-pkg

  6. Team Break-Down Concrete Teams • Objects • People • Language • Manipulation • Navigation “Meta” Teams • Representation & Learning • Blackboard System • Motivation

  7. What’s Next? (Concrete Teams) • Meet next week to refine and complete plans of action on wiki • We will review and “finalize” the plans next class • Download, build, and test the software your team will be integrating • First as a stand-alone, then as a ROS package • Ideally, projects included in the plan of action will have already been downloaded and minimally tested • Check out the class repository on the machine you will be using for development

  8. What’s Next? (Meta Teams) • For the next couple of weeks, these teams will operate more like reading groups • Each team will send around things to read, and meet to discuss them • Meta teams will design and build things (it’s still a practicum after all), but we need to progress on concrete abilities and we need to get our

  9. Team Leaders • Don’t freak out about being a team leader • All it means is that you will coordinate the activities of the team, basically sending out emails to set up team meetings

  10. What to Look For Ideally, Open-Source Software Packages that: • Have a non-restrictive license (such as BSD) • Email me if you have questions about licenses • Have actively maintained repositories • Have documentation (!) • Provide APIs closely matching what we need • Can be easily compiled on 64-Bit Linux

  11. Case Study: Saliency Tracking We wanted the ability to find the most salient part of an image, and move the head to keep it centered in view (i.e., track it!) Saliency is “the distinct subjective perceptual quality which makes some items in the world stand out from their neighbors and immediately grab our attention.” (Laurent Itti) Saliency-based tracking is more general than, say, face tracking or color tracking

  12. Saliency Demo (Switch to VLC)

  13. Step 1 Define the API you would ideally have, in terms of nodes and messages: Saliency Node Image XY Coordinates of Most Salient Point “Look At” Node Head Rotation

  14. Step 2 Find a software package that can identify the salient parts of an image: • NMPT: Nick’s Machine Perception Toolkit • Provides an implementation of “Fast Saliency Using Natural-statistics” (Butko et al., 2008)

  15. Step 3 Make the code in this package available to ROS • Check its dependencies! In this case, it only depends on OpenCV, which is already included in ROS • Operating System Repositories vs. OSS Code • Since NMPT is a toolkit, we will want to create a wrapper package so other ROS packages can link against it

  16. Step 4 Create the ROS packages: • nmpt • Contains NMPT itself • Depends on OpenCV packages, etc. • saliency_tracking • Contains the two nodes we diagrammed earlier • Depends on nmptpacakge This division keeps each package simpler and encourages re-use

  17. How to Import FOSS Projects Don’t: • Copy all the code from a large project into our repository because… • It may run afoul of software licenses • It means we won’t automatically get updates when their code changes • Our repository will become unmanageable

  18. How to Import FOSS Projects Do: • Create a Makefile that downloads the other project’s source from its public repository • This is easy to do in ROS, see: nmpt, gbbopen • Create a package that wraps the library and expose its APIs to other ROS packages

  19. Concrete Teams (Switch to Google Docs/Code)