Robot Ecology: Constraint-Based Design for Long-Duration Autonomy ROBOT ECOLOGY