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 ██████████
███████████ █████ ██████████
████████████████████████████████████████
████████████████████████████████████████
██████████████████████████████████████
▀█████████████████████████████████▀▀`
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 Simulator¶
The details of Rovo Simulation are explained in detail in its own section. The main commands are:
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