.. image:: media/figures/rovo_side.png :width: 100% :align: center :class: mbsrounded | 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** .. code:: bash roslaunch rovo_base base.launch **ROS-FOXY** .. code:: bash 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** .. code:: bash roslaunch rovo_bringup system_bringup.launch **ROS-FOXY** .. code:: bash ros2 launch rovo_bringup bringup.launch.py .. _RST ROVO_CONTROL: 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. .. code:: `▄▄██████████████████████████████▄▄ ▄██████████████████████████████████████████▄ ▄████████████████████████████████████████████████▄ ▄█████▌ ████▄ ███████▌ ██████ ████████▌ ROVO Controller ███████ ▐████████▌ ███████▌ ▐████████▌ ███████▌ ████████████████████████████████████████████████████████████ ████████████████████████████████████████████████████████████▌ ▄███████████████████████████████████████████████████████████████ ████████████ ███████████████ █████████████ ████████████████ █████████████ ████████████████ █████████████ ████████████████▌ ██████████████ █████████████████ ██████████████ █████████████████ ██████████████ █████████████████▌ ██████████████ ██████████████████ ███████████████ ▄███████████▄ ██████████████████ ███████████████ ▄████▀▀▀▀▀█████▄ ██████████████████ ████████████████████████████████ ████████████████████████████████ ██████████████████████████████ █████████████████████████████▌ █████████████████████████████ Emergency ████████████████████████████ █████████████████████████████ Stop ███████████████████████████▌ ▀████████████████████████████ ███████████████████████████▌ ██████████████████████████████ █████████████████████████████ ████████████ ████████████████████████████ ███████████ ███████████ - ████████████████████████████ 0 ███████████ ███████████ ████████ /|\ ██████ ██████████ ████████████████████████ | ██████████████████████ █████████████████████ | ███████████████████ ▀██████████████████ | ████████████████ ████████████████ | ██████████████ ███████████████<------------j------------->█████████████ ██████████████ | ████████████ ▀█████████████ | ████████████ ▀█████████████ | ████████████ ▀██████████████ | ██████████████ █████████████████ \|/ ███████████████ ████████████████████████████████████████████▌ '███████████████████████████████████████████ ████████████ █████ ██████████▌ ███████████ 1 █████ 2 ██████████ ███████████ █████ ██████████ ████████████████████████████████████████ ████████████████████████████████████████ ███████████ █████ ██████████ ███████████ 3 █████ 4 ██████████ ███████████ █████ ██████████ ████████████████████████████████████████ ████████████████████████████████████████ ███████████ █████ ██████████ ███████████ 5 █████ 6 ██████████ ███████████ █████ ██████████ ████████████████████████████████████████ ████████████████████████████████████████ ███████████ █████ ██████████ ███████████ 7 █████ 8 ██████████ ███████████ █████ ██████████ ████████████████████████████████████████ ████████████████████████████████████████ ███████████ █████ ██████████ ███████████ 9 █████ 10 ██████████ ███████████ █████ ██████████ ████████████████████████████████████████ ████████████████████████████████████████ ██████████████████████████████████████ ▀█████████████████████████████████▀▀` .. list-table:: Rovo Controller Mapping :widths: 25 75 :header-rows: 1 * - 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** .. code:: bash roslaunch rovo_description description.launch **ROS-FOXY** .. code:: bash 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: .. code:: bash roslaunch rovo_navigation odom_navigation.launch 2. For map navigation: .. code:: bash roslaunch rovo_navigation map_navigation.launch Rovo Simulator ============== .. image:: media/gifs/rovo_gazebo.gif :width: 100% :align: center :class: mbsrounded | The details of Rovo Simulation are explained in detail in its own section. The main commands are: 1. For launch gazebo with rovo: .. code:: bash 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** .. code:: bash roslaunch rovo_viz view_robot.launch **ROS-FOXY** .. code:: bash ros2 launch rovo_viz view_robot.launch.py