Skip to content

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
Screen - Boot Origin One's standard screen, if a timeout is reached
the display automatically returns to this page.
Screen - Main Main info display shows status of:
- Battery status, top left
- RTK GNSS status, top right
- Wi-Fi status, bottom left
- Cellular status, bottom right
Screen - Bat Battery status page shows the battery percentage and
measured battery voltage.
Screen - GNSS 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.
Screen - WiFi Wi-Fi status page reports the Wi-Fi signal strength,
currently connected Wi-Fi network.
Screen - LTE Cellular LTE status page indicates the signal strength of the network and reports the currently connected operator.
Screen - E-Stop 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.