Controlling the boat near the dock is probably more difficult than cars or air planes since swells/waves/winds can move the boat relative to the dock. The robot needs to read the water and wind to protect the boat from collisions.
As taxis, docking/taking on passengers is tricky since it needs to handle situations when people cling onto rails and risk getting stuck between the boat and the dock.
A single prop with a bow thruster, or especially without, can't move freely in the 2D space which makes it much more complicated because you have to move towards the dock with the correct angle depending on wind, current and what not. Then time your maneuvers while taking the environment and for example prop walk [2] and other effects into consideration.
[0]: https://en.wikipedia.org/wiki/Dynamic_positioning
[1]: https://www.youtube.com/watch?v=491RkaOYfr4 Volvo Penta Assisted Docking
The goal then for the robot is not to position itself in 2D space with meter-level precision, the goal is to behave reliably and predictably in the harbour under chaotic circumstances, with sub-meter precision. That requires predicting movements and drift, taking wind into account. Since this is almost impossible, skippers learn to read the water/wind to understand what is appropriate for safety distances, speed, angles, etc.
A road vehicle could just refuse to move if the environment becomes unrecognizable, but a boat keeps on moving, so the robot can not just "give up".
It's true that thrusters increase the manoeuvrability.
For a layman, it sounds as the same kind of difficulty as controlling a drone in the air. It's not perception and identification of millions of different objects, neither it is predicting other driver's behaviour on the road — it's a physical process. Computers seem to be quite effective at adapting to that.
You are right though, being by the dock is harder although at this point, you are likely to have some kind of personnel to help tether the boat to the quay.
They are designing a self-driving boat without using sonars not radars due to their budget. It's fun but of little relevance to the real world. Most of their problems would be solved or at least heavily alleviated with access to the relevant sensors.
Still, that's quite impressive for a college project built on a shoe string.
Also, pirates would become a problem because taking over a ship without a crew would easier and way less risk.
Consider patrol drones. They look nothing like something an individual can get into.
About pirates, no, they work will become much harder if you don't have anybody they can point a gun to and tell to stop the ship.
The city of Ghent was eyeing autonomous small crafts as "water taxis", and a big shipping provider wanted to do last-mile(s) delivery for shops, restaurants, and small parcel pickup points along a river. For the latter case, the vessel would still be manned, but instead of having to navigate, that person could sort and prepare parcels for delivery.
Also, a significant amount of money is spent providing 24 hour cover of navigation in the bridge so I guess you could save something by automating a lot of it.
You are probably right that in the extreme, it would be better to have some humans to make sure your containers make it to their destination!
By coincidence, they also had an experiment in Amsterdam.
Note: Friends of me.
tell your friends I'm rooting for them thats an interesting project