To be of
real help, TreppenSchlepper shall be able to climb stairs and steer its way
fully by itself. It needs to become an autonomous
vehicle which plans, then follows its path to and along a stair fully
automatically. If it assists a human user (e.g. carrying a suitcase) it shall
anticipate her moves and act accordingly. Alternatively, it might be useful to
have TreppenSchlepper go up or down without any accompanying person, which
might be the easier option for the control algorithm to begin with.
Autonomous
control shall guarantee the safety of
itself as well as people and things along its way. Therefore it is required to
identify passerby's or objects (like the proverbial expensive Ming vase) in
advance. TreppenSchlepper needs to plan ahead its trajectory so it will not
interfere with others, and to stay safe by itself at any moment. However, it
might turn out that this is achievable within some restricted range only
(locality), meaning that it might only be able to plan ahead within some time
and spatial range due to sensory restrictions. We could well be forced to
accept pre-assumptions which need to be done first, like an initial pre-scan of
the whole staircase before TreppenSchlepper goes there first. This is in order
to know that there really exists a safe path to go from start to destination,
and that this path is reachable and usable by TreppenSchlepper. If system
control finds no such path it should decide to remain at the safest place
(likely the stair landing or platform ). If an unanticipated obstacles comes up
(like some person just arrived, blocking TreppenSchlepper's way) it shall
always be possible to pause and remain safely at its current position; of
course this includes any place along its way within a flight of stairs.
So let's
have a look at the inputs of TreppenSchleppers System Control
Sensors:
- Environment: TreppenSchlepper
needs to scan its environment, especially shape and orientation of the
steps to climb, as well as objects and persons around. It might be useful
to identify some aspects of the surfaces ahead as well, e.g. if it is
slippery, or fragile, or otherwise "forbidden" (thus should be
avoided to be moved upon).
While we need quite high accuracy in close vicinity (wild guess: +/- 2mm within 1 m perimeter), we might be OK with a reduced resolution of 1cm or so for the zone beyond vicinity, as this might be enough for trajectory planning and updating. - Position: TreppenSchlepper needs to identify its own position within the scanned environment, especially in respect to steps of the stair currently climbed. In addition it needs to relate its position to more distinct points, e.g. to start and destination position, and other places of interest like the electrical charger station to fill up the battery when it is time.
- Orientation: this is needed in addition to position for trajectory planning. To guarantee safety, TreppenSchlepper also needs to monitor its orientation in respect to the horizontal, and react if it is askew.
- Weight: monitor weight of payload (or total weight) and stop if it gets to heavy.
- Battery state (state of charge, temperature)
- System state (temperature of E-motors, torque and wheel speed; this allows to derive e.g. grip of wheels and detect overload conditions)