Skip to content

Teleop Overview

jnnanni edited this page Aug 7, 2022 · 3 revisions

What is the role of the Teleoperations team?

The teloperations (teleop) team is responsible for making the rover's many physical systems easily controllable by a human operator. This is accomplished through a few different systems that the teleop team is responsible for building and maintaining:

Base Station GUI

The Base Station GUI is the heads-up display used while the rover is being operated. In the past year this tended to be the system that required the most time and care. The GUI is a webapp developed using Vue.js, and it is our main way of both giving commands to the rover as well as relaying info to the operators.

The GUI is responsible for fetching controller inputs, displaying sensor, GPS, and camera data, sending waypoints for the auton code to navigate to, controlling the various devices for science sample collection, and much more!

Jetson/Teleop (Working name, not yet in ROS codebase)

Jetson/Teleop can be thought of as the "backend" of teleop. Here we write many callback functions in Python to respond and adjust drive/motor controls, camera views, and various aspects relating to the rover's robotic arm. This is also where our open loop code for controlling the drivetrain and robotic arm using open loop controls can be found.

Robotic Arm Control/Inverse Kinematics

Inverse Kinematics, or IK for short, is the mathematical problem of finding a set of joint angles in order to navigate the end affector of the rover's robotic arm to a certain point in space, as well as having it oriented in a specific way in that point in space.

The most promising package for accomplishing this in ROS thus far seems to be IKFast, detailed here.

Clone this wiki locally