Teleoperation Robot

The Teleoperation Robot is a differential drive robotic system that allows remote control via a keyboard interface. This project provides a Python-based teleoperation system, enabling users to control the robot’s movement in real-time. The robot is equipped with two independent motors and utilizes a PID controller for smooth and precise motion control.

About Tools and Materials:

2x SMD Redarrow-up-right (Purchase Herearrow-up-right)

SMD USB Gatewayarrow-up-right (Purchase Herearrow-up-right)

Arduino Gateway Modulearrow-up-right (Purchase Herearrow-up-right)

2x BDC Motorarrow-up-right (Purchase Herearrow-up-right)

Step 1: Hardware & Software Overview

Project Key Components

  1. SMDarrow-up-right

    The SMD acts as a bridge between the script and the modules. It is responsible for interpreting the commands sent by the script and translating them into actions that read input from the Ultrasonic Distance Sensor Modulearrow-up-right and meanwhile, actuate the motor for the continuous reading of the script.

  2. BDC Motorarrow-up-right

    The 100 RPM BDC Motor with Encoder is used to rotate the radar mechanism in a full circle. The user can precisely control the motor and get the position through the built-in encoder.

Key Features:

• Real-time teleoperation via keyboard inputs.

• PID-based motor control for smooth and stable movement.

• Cross-platform support (Windows, Linux, macOS).

• USB serial communication for motor control.

• Differential drive mechanism for precise navigation.

• Emergency stop function to halt movement immediately.

Step 2: Assemble

  1. Hardware Setup

Project Wiring diagram

Step 3: Run & Test

1. Connect the Robot • Ensure that the robot is powered on and all connections are secure. • The USB connection should be properly established before running the script.

2. Run the Teleoperation Script • Open a terminal or command prompt. • Navigate to the directory where the script is located. •Run the Code.

3. Control the Robot Once the script is running, use the following keyboard controls to operate the robot: Key Action: W: Move forward S: Move backward A: Turn left D: Turn right Q: Quit the program • The script initializes a PID controller for both motors to ensure smooth operation. • It automatically detects the correct USB port for communication with the SMD module.

4. Verify Motion and Response • When pressing the movement keys, observe the robot’s response. • Check if the movements are smooth and consistent. • If any delays or unexpected behaviors occur, review the USB connection and the PID parameters.

5. Check for Errors • If the script fails to detect the USB port, it will display No suitable port found. Exiting... • Any communication or motor control issues will be printed as error messages in the terminal.

6. Stopping and Exiting • When pressing Q, the script will stop the motors and disable torque before exiting safely. • If the robot does not stop as expected, manually disconnect the power or reset the system.

Codes

Last updated