-
Notifications
You must be signed in to change notification settings - Fork 2
User Manual
On this page, the user is invited to select the type of user they are:
- a driver working for the transportation company
- a passenger taking the bus
Choosing one type of user will redirect them towards the corresponding interface
When choosing the driver profile, users will be invited to enter their credentials provided by the company. Only registered username and password allows a driver to access the dashboard.
For test and demo purposes, please use one of the following credentials:
Username / Password
- Alex / 1234
- Julia / 1234
- Chris / 1234
- Gimmy / 1234
- Bassam / 1234
- Ediz / 1234
After login in, the drivers gets access to the dashboard. Here they can:
- control the vehicle with the joystick (angle and speed)
- have an overview of the current speed and the distance they travelled during the
- notify the next stop
- look at the bus line and all the stops for the line
- get notified if a passenger requested a stop
- park the vehicle
- use speed limiter
- use cruise control
- use the camera allowing to steer the vehicle remotely
Please refer to the documentation below for more details about these different features
Once you proceed to the driver's dashboard, the camera feed will be automatically turned on and view a live stream of the front view.
Note: Max resolution is 640x480@30fps.
Press the button shown above to enable cruise control. The vehicle will maintain the speed specified in the seek bar, and the thumbstick will function only for steering.
Cruise control is disabled when:
- The cruise control button is pressed again.
- The brake button is pressed.
- The emergency brake or slow down smoothly features are activated.
The thumbstick functions will go back to speed and steering control when cruise control is disabled.
Drag the seek bar to set a speed limit for the vehicle. The thumbstick sensibility related to speed control will adjust accordingly.
Note: when the seek bar is set to 0, the vehicle will be prevented from moving.
Pressing the next stop button has two purposes
- display the next stop to the driver
- send the next stop to the passenger following that bus line
Press this button to stop the vehicle.
When this button is activated, the vehicle is prevented to move, despite any other instructions.
These pictures signal the driver that a stop has been requested and that the person who requested it has a special need for accessibility. The driver can for instance wait longer before closing the door. This is activated from the passenger dashboard
Displays the current speed of the vehicle.
Displays the distance traveled for this strip. The distance is reinitialised when reconnecting to the driver profile.
This part of the screen displays all information regarding the bus line.
The driver will find there, the bus line, the next stop as well as a button to display all stops for the line. When the journey begins, the driver is invited to press that button to display and send the first stop. That stop will then replace the instruction "Press Next stop to start" and will be displayed there.
Pressing the "STOP LIST" button will display all the stops for that line.
When the line arrives at its end of line, the driver is notified and invited to press the "Next stop" button to reverse the line and continue on the opposite direction.
Please refer to this video for a live example.
On this page, the user is invited to select the type of user they are:
- a driver working for the transportation company
- a passenger taking the bus
Choosing one type of user will redirect them towards the corresponding interface
Upon redirection, passengers gain access to their corresponding dashboard.
Here they can:
- View their bus route and its associated stops
- View which stop they approaching along their route
- Request to stop the bus
- Request for more amenities for better accessibility
- Back button to return to the previous page
The bus route and its associated stops are fixed views on the screen, that is only initialized when a Driver is online. This functionality is communicated via MQTT. The approaching stop view on the passenger dashboard is updated by the driver, which allows all passengers to gain a better idea of where they might be along the way.
There are two buttons available on the passenger dashboard: one to request stops; another to request accessibility. These buttons flash a sign when toggled on, both on the passenger and driver screens. This is communicated from one process to another via MQTT, which provides a better user experience for both passengers and drivers in terms of communicating needs.
Finally, there is a back button provided to allow the user to return to the previous page as desired.
The vehicle and the app are connected via MQTT which works by establishing a connection to a server (the broker), once the connection is established clients can publish and subscribe to topics.
When a client disconnects from the server a “disconnect” message is sent to the broker (graceful disconnect), however, if the client disconnects in an unexpected way (eg. application crash) no disconnect message will be sent to the broker (ungraceful disconnect).
The MQTT connection includes a feature “Last will and testament” When a connection to the broker is established, the last will message is set by the client. If the client disconnects from the broker ungracefully (without sending a disconnect message), the broker will then send the last will and testament message to all clients subscribed to that topic.
Using this feature we are able to recognize when the Pathfinder application has disconnected and is unable to control the vehicle.
When this message is received the vehicle will enter a safe mode which will perform a “pulling over” maneuver which will move the vehicle over to the right hand side of the road, once this is completed the vehicle will enter a “parked” mode until the application has reestablished it’s connection.
While performing this maneuver features such as Slow down smoothly, Obstacle avoidance and Emergency brake are all used to ensure the vehicle performs this maneuver safely.
The vehicle is equipped with 5 distance sensors:
The front and back sensors are parallel to the longitudinal axis of the vehicle. The side sensors are orthogonal to the longitudinal axis of the vehicle. Due to the way the sensors are placed, the vehicle might not detect obstacles at “dead” angles.
The vehicle avoids obstacles directly in front of it by slowing down or performing an emergency brake.
The vehicle avoids obstacles directly behind it by performing an emergency brake.
The vehicle avoids obstacles coming from the sides by turning to the opposite direction until the side sensors do not detect anything:
The vehicle’s speed will decrease comfortably when approaching an obstacle (within 250cm in the emulator). The vehicle will perform an emergency brake if there is no input from the driver, to avoid collision.
An emergency brake consists of an immediate stop of the vehicle’s movements.
The vehicle will perform an emergency brake when an obstacle is detected within (in the emulator):
- 70 cm (obstacle detected in front of vehicle)
- 50 cm (obstacle detected behind vehicle)
If the obstacle is still detected after an emergency brake, the driver will be able to move in the opposite direction.