Drive controller
Drive modes
The Origin One platform (apart from any Autopilot features) is controlled using velocity command inputs, both translational and rotational. These velocity commands can be sourced from various sources depending on the desired behavior. The Origin One can only be controlled by a single velocity command input simultaneously as a safeguard. The input source control is based on which mode the drive mode controller is set to. The Origin One supports the following drive modes:
- Manual velocity mode
- Autopilot velocity mode
- User velocity mode
Manual velocity mode
The manual velocity allows the user to drive the Origin One within line of sight of the robot using the joysticks of the remote controller. To engage the manual drive mode, press "O" once on the controller.
Autopilot velocity mode
In the Autopilot velocity mode, the Origin One platform will respond to command velocities inputs from the Autopilot. Depending on the configuration of the Origin One this feature is enabled or not. The capabilities of the Autopilot depends also on its configuration. Refer to the Autopilot documentation for more information.
For the Origin One to be operational in Autopilot velocity mode, it's important to switch the control mode on the remote controller to the "autonomous drive mode".
User velocity mode
The user velocity mode allows the user to control the Origin One with their custom autonomous/tele-operations velocity input. This can be performed when the drive mode controller is set to user
mode and by
publishing command velocities to the command velocity user topic.
For the Origin One to be operational in user velocity mode, it's important to switch the control mode on the remote controller to the "autonomous drive mode".
Drive behavior
Manual drive interruption
When the user switches on the remote controller to manual drive mode when the Origin One is operational in autonomous drive mode, the robot will pause it's current autonomous driving behavior. When the user switches back to autonomous drive mode with the remote controller, the robot will resume its previous behavior.
Collision avoidance
The Origin One is equipped with a collision avoidance system that tries to prevent the robot from driving into objects in it's driving direction. The system is based on six ultrasonic distance sensors, three at the front and three at the rear. The collision avoidance algorithm saturates the translational velocity commands between an upper and lower bound (i.e. rotational velocity is not saturated). The velocity bounds are based on the minimum measured distance by the sensors. The minimum velocity is set to 0 m/s at a distance of 0.2 m, therefore the robot stops if an object is detected within this distance threshold. The Origin starts decreasing it's velocity if an object is detected at a range of 1.5 m.
Warning
There is no guarantee that the robot will detect objects that it can collide with. Detection is highly dependent on object size, surface sound reflectivity, and the position with respect to the robot.
Warning
Driving the Origin One in cluttered environments can trigger false positive collision prevention behavior due to sound waves from an individual sensor that can reflect of surrounding surfaces and be measured by another sensor as a ghost detection. A typical scenario that triggers this behavior is in the corner of a room.
The collision avoidance system can be operated in the following modes:
- Enabled, using all ultrasonic sensors
- Enabled Front, using only front ultrasonic sensors
- Enabled Rear, using only rear ultrasonic sensors
- Disabled (currently default)
A ROS2 message can be published to the internal ROS network to switch modes of collision avoidance, refer to the CollisionAvoidanceMode message
Warning
Currently, the collision avoidance is turned off by default as the system has not been validated thoroughly enough yet.
Info
The collision avoidance algorithm does not work well outside (grass/pavement) as a lot of false positives are detected. If a false negative is within the threshold, the Origin One will reduce the velocity once a false positive is present.
Obstacle avoidance
Obstacle avoidance is an optional feature of the Autopilot software and depends on the Origin One configuration. For more information regarding the expected behavior and limitations please refer to the Autopilot documentation.
Origin states
The primary methods to determine the state of the Origin One is based on the signal lights and user display on the robot.
Signal lights
The Origin One's signal lights are located on each of the four corners of the robot (see image). The signal lights are used to present basic information about the state of the robot. The following descriptions
- Shutdown: this animation will inform the user that the robot is shutting down based on a shutdown request.
- Linux computer boot error: the robot has either not been able to successfully boot the internal Linux computer, or the Linux computer has crashed/freezed. Both situations require a manual reboot by shutting down to robot by pressing the power button for 1 seconds.
- Startup: this animation knows two stages, first it will sequentially blink individual signal lights to indicate it is booting up the drive controller (internal realtime computer). Once complete, it will indicate it is booting up the Linux computer (takes longer than the realtime computer).
- Emergency brake activated: this animation will be visualized when one of the emergency brakes is engaged. That can be the buttons on top of the Origin One, the wireless E-stop, or a trigger from the drive controller.
- Operational mode: this mode indicates that the robot is ready to operate and ready to drive.
Behavior | Color | Color | Blinking |
---|---|---|---|
Shutdown | Magenta | . |
Slow |
Linux computer boot error | Yellow | . |
Fast |
Low power mode | White | . |
Slow |
Startup | Blue | . |
Slow |
Emergency brake activated | Red | . |
Solid |
Operational mode | Green | . |
Solid |
User display
The user display is located at the rear of the Origin One (see image) and can be interacted with by pressing the up- and down-buttons. During booting of the Origin One, the robot will display a boot screen unit more information about the system is ready to be presented.
Screen | Description |
---|---|
Origin One's standard screen, if a timeout is reached the display automatically returns to this page. |
|
Main info display shows status of: - Battery status, top left - RTK GNSS status, top right - Wi-Fi status, bottom left - Cellular status, bottom right |
|
Battery status page shows the battery percentage and measured battery voltage. |
|
RTK GNSS status page displays the type of global positioning it currently has and is indicated by {No fix, 2D fix, 3D fix, RTK float, RTK fix}. Furthermore it shows the number of satellites currently visible. |
|
Wi-Fi status page reports the Wi-Fi signal strength, currently connected Wi-Fi network. |
|
Cellular LTE status page indicates the signal strength of the network and reports the currently connected operator. | |
The emergency stop page is shown in case an emergency stop is engaged. |
Info
Currently, the Wi-Fi status information is incorrect when the robot is set to Wi-Fi access point mode.
Info
Currently, when no SIM-card is installed the display will still report the signal strength that the LTE module receives.