ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
Updated packages: Docker should help with bullet 1 if you give everyone the same docker image to work with (a colleague I'm sure will come by and mention Singularity, which is another option I haven't personally explored but what I read is incredibly tempting).
Slight hardware differences: Can you be more specific how this is causing you issues? In most cases I'm not sure how to get around that. if its calibration-like parameters, you can have a file in each robot with calibration results for the specific robot on the computer (or version controlled with IDs).
Ordering of bringup: If in ROS2 I'd say lifecycle. If in ROS1 but not concerned too much with adding a few seconds to bringup, bash scripts.
Draining batteries: Not sure what all I can say there - if batteries are getting old, replace them.
It sounds like some type of containerized environment. If you'd like to hide that from your students if they're not well versed in it (which, yeah, I don't think any students would be) you can wrap the docker pulls and getting into the session for them and after that its essentially just a terminal. Admittedly there's some learning curve, but if your students know ROS or able to learn it in the course, Docker (singularity) isn't that big of a step.