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 Red (Purchase Here)
SMD USB Gateway (Purchase Here)
Arduino Gateway Module (Purchase Here)
2x BDC Motor (Purchase Here)
Step 1: Hardware & Software Overview
Project Key Components
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 Module and meanwhile, actuate the motor for the continuous reading of the script.
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
Hardware Setup
Connect the SMD to the PC or Arduino board using USB Gateway Module or Arduino Gateway Module.
Connect the 100 RPM BDC Motor with Encoder to the motor ports of the SMD using an RJ-45 cable.
Make sure that the SMD is powered and all connections are correct.
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