_images/rovo_side.png

A rospackage that contains the core functionalities to enable the robot to function autonomously.

Rovo Base

This ros package contains the hardware drivers that communicate with the 3-phase motors of the Rovo.

ROS-NOETIC

roslaunch rovo_base base.launch

ROS-FOXY

ros2 run rovo_base base_driver

Rovo Bringup

This ros package launches the base driver as well as all necessary auxiliary components such as the inertial measurment unit (IMU), Lidar (if availabe), robot description (required for visualization), and ekf_localization (robot position estimation).

Furthermore, this package contains the UDEV rules required by the Rovo’s internal PC to detect the communication channel for the CAN port.

ROS-NOETIC

roslaunch rovo_bringup system_bringup.launch

ROS-FOXY

ros2 launch rovo_bringup bringup.launch.py

Rovo Control

This ros package fuses the robots tracked wheels movement with the inertial measurment unit (IMU) using the extended kalman filter. It provides the transforms from the robots base link to the odometry frame as well as mapping for the logitech controller and the Rovo controller.

                 `▄▄██████████████████████████████▄▄
             ▄██████████████████████████████████████████▄
          ▄████████████████████████████████████████████████▄
        ▄█████▌                                          ████▄
       ███████▌                                          ██████
      ████████▌             ROVO Controller              ███████
     ▐████████▌                                          ███████▌
     ▐████████▌                                          ███████▌
     ████████████████████████████████████████████████████████████
     ████████████████████████████████████████████████████████████▌
    ▄███████████████████████████████████████████████████████████████
   ████████████                                        ███████████████
  █████████████                                        ████████████████
  █████████████                                        ████████████████
  █████████████                                        ████████████████▌
 ██████████████                                        █████████████████
 ██████████████                                        █████████████████
 ██████████████                                        █████████████████▌
 ██████████████                                        ██████████████████
███████████████               ▄███████████▄            ██████████████████
███████████████              ▄████▀▀▀▀▀█████▄          ██████████████████
████████████████████████████████         ████████████████████████████████
██████████████████████████████             █████████████████████████████▌
█████████████████████████████   Emergency   ████████████████████████████
█████████████████████████████      Stop     ███████████████████████████▌
 ▀████████████████████████████             ███████████████████████████▌
  ██████████████████████████████         █████████████████████████████
  ████████████        ████████████████████████████        ███████████
   ███████████   -    ████████████████████████████    0   ███████████
   ███████████        ████████     /|\      ██████        ██████████
    ████████████████████████        |         ██████████████████████
     █████████████████████          |           ███████████████████
     ▀██████████████████            |             ████████████████
       ████████████████             |              ██████████████
        ███████████████<------------j------------->█████████████
         ██████████████             |              ████████████
          ▀█████████████            |             ████████████
           ▀█████████████           |            ████████████
            ▀██████████████         |         ██████████████
             █████████████████     \|/      ███████████████
              ████████████████████████████████████████████▌
              '███████████████████████████████████████████
                ████████████       █████       ██████████▌
                 ███████████   1   █████   2   ██████████
                 ███████████       █████       ██████████
                 ████████████████████████████████████████
                 ████████████████████████████████████████
                 ███████████       █████       ██████████
                 ███████████   3   █████   4   ██████████
                 ███████████       █████       ██████████
                 ████████████████████████████████████████
                 ████████████████████████████████████████
                 ███████████       █████       ██████████
                 ███████████   5   █████   6   ██████████
                 ███████████       █████       ██████████
                 ████████████████████████████████████████
                 ████████████████████████████████████████
                 ███████████       █████       ██████████
                 ███████████   7   █████   8   ██████████
                 ███████████       █████       ██████████
                 ████████████████████████████████████████
                 ████████████████████████████████████████
                 ███████████       █████       ██████████
                 ███████████   9   █████  10   ██████████
                 ███████████       █████       ██████████
                 ████████████████████████████████████████
                 ████████████████████████████████████████
                  ██████████████████████████████████████
                   ▀█████████████████████████████████▀▀`
Rovo Controller Mapping

Keys

Description

1

Switches Rovo to higher gear

2

Switches Rovo to lower gear

9

Enables control of the ROVO via ROS

5

Activates the horn in Rovo

j

Provides acceleration for in the direction pushed in Rovo

Rovo Description

This is a ros package that contains the 3D models of the Rovo. Additionally, the seperate 3D models are stitched together into a single entity via the universal robot description format (URDF). It contains the models for auxiliary components such as lidars as well. Additions to the robot’s 3D model can be made in the xacro/rovo.urdf.xacro. To view the robot with simulated dummy drivers. You catkin run:

Warning

Running this command will shut the Rovo Bringup dscription driver. You may to need to restart that if you wish to view the running robots state. It is ideal to run this on your own PC when the robot is not attached just to adjust the position of your auxiliary components.

ROS-NOETIC

roslaunch rovo_description description.launch

ROS-FOXY

ros2 launch rovo_description description.launch.py

Rovo Msgs

This ros package contains custom ros messages used by the rovo_base.

Rovo Navigation

The details of Rovo Navigation are explained in detail in its own section. The main commands are:

ROS-NOETIC

  1. For odom navigation:

roslaunch rovo_navigation odom_navigation.launch
  1. For map navigation:

roslaunch rovo_navigation map_navigation.launch

Rovo Simulator

_images/rovo_gazebo.gif

The details of Rovo Simulation are explained in detail in its own section. The main commands are:

  1. For launch gazebo with rovo:

roslaunch rovo_simulator gazebo_world.launch

Rovo Viz

This ros package is used for visualization of the robots current state both in simulation and in the real-hardware.

ROS-NOETIC

roslaunch rovo_viz view_robot.launch

ROS-FOXY

ros2 launch rovo_viz view_robot.launch.py