Tuesday, October 25, 2011

PR2 Poop Scoop

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.