Success! We scooped poop and people talked about it!
I made some notes about problems we had during the hackathon and possible solutions:
Problem 1: Making changes to code requires recompiling and rerunning a node or event shutting down and re-running a lunch file.
Solution A: Load params dynamically (param server, dynamic reconfigure, flat file, etc) so we can change them at run time.
Solution B: Set launch file to respawn nodes if they die.
Solution C: Build a tool which monitors source files and rebuilds node executables as needed. I must also kill old instances of nodes when rebuilding them. I've written a prototype of this.
Problem 2: Had to edit nodes to test pieces of functionality.
Solution: Make sub-behaviors runnable via command line and/or ROS calls.
Problem 3: Battery running low at bad time.
Solution: Feed power cable from above so we can do some testing while it's plugged in.
Problem 4: When something didn't work, it took too much time to track down where the problem was.
Solution: All code should have very rebose ROS_INFO or loginfo calls.
Problem 5: Devs killing each other's nodes.
Solution A: Work in gazebo when possible.
Solution B: Maybe schedule time for each dev to test code on the robot.