littlebot
Published on 2025-04-11 / 0 Visits
0

【源码】基于Arduino和ESP32的多模式智能漫游车系统

项目简介

本项目由PES大学的Sanjay K N和Aryaman Dubey在物联网中心,于Dr. Adithya B的指导下完成,属于暑期实习项目。项目设计了2个漫游车,拥有5种控制模式,其中2种通过WiFi实现,3种通过蓝牙实现,为智能机器人控制提供了多样化解决方案。

项目的主要特性和功能

  1. 多种控制模式
    • 蓝牙控制:可借助手机应用程序便捷操控漫游车。
    • 手随动模式:漫游车能跟随手部动作移动。
    • WiFi控制:通过网页应用远程控制漫游车。
    • ROS控制:利用ROS框架,基于发布 - 订阅模型实现对漫游车的高级控制。
    • 路径记忆与模仿:漫游车可记录行驶路径并重复该路径。
  2. 不同硬件适配
    • 手随动机器人采用Arduino UNO,搭配多种传感器实现特定功能。
    • 多地形漫游车采用ESP 32 DOIT DEVKIT V1,具备多地形越野能力。

安装使用步骤

手随动机器人

  1. 硬件组装
    • 焊接电机电线,搭建底盘并安装电机。
    • 将电机电线连接到L293D电机驱动器。
    • 按图示安装Arduino板、HC - 05模块、开关、电池组和传感器。
    • 连接电机驱动器到Arduino,连接电源到开关并接入L293D电机驱动器。
    • 用跳线将传感器和HC - 05模块连接到电机驱动器的模拟引脚。
  2. 软件设置
    • 下载Arduino IDE,安装所需库并编译代码。
    • 通过Arduino Uno电缆将代码上传到Arduino,上传前断开蓝牙模块。
    • 安装“Bluetooth RC Controller”应用程序。
  3. 操作使用
    • 打开应用程序,连接HC - 05蓝牙模块。
    • 使用箭头键驱动机器人,按停车灯按钮进入手随动模式,在设置中开启手势控制。

多地形漫游车

  1. 硬件组装
    • 焊接电机电线,搭建底盘并安装电机。
    • 将电机电线连接到L298N电机驱动器。
    • 在底盘上安装面包板、开关、移动电源、12V电源和电机驱动器。
    • 将ESP32固定在面包板上,将电机驱动器引脚与ESP 32并联。
    • 连接12V电源到开关,将开关端子连接到面包板,并联电压和接地引脚。
    • 连接ESP32到移动电源供电。
  2. 蓝牙控制模式
    • 安装“Arduino Joystick”应用程序,连接到ESP32板。
  3. WiFi控制模式
    • 在IDE的板管理器中安装最新的ESP 32板包,选择“DOIT ESP32 DEVKIT V1”板。
    • 安装所需库,编译并上传Final Codes子目录中WiFi漫游车的代码。
    • 连接到“C - IoT wifi rover”无线网络,在浏览器中输入“192.168.4.1”,使用自定义界面驱动漫游车。
  4. ROS控制模式
    • 在Linux Ubuntu环境(如Docker、VM或系统OS)中设置,推荐使用18.04(Bionic Beaver)或20.04(Focal Fossa)版本。
    • 下载对应Ubuntu版本的ROS(18.04为ROS Melodic,20.04为ROS Noetic),安装Rosserial和Teleop twist keyboard包。
    • 在代码中替换IP/WiFi设置为自己的信息。
    • 按顺序在至少3个终端中执行以下命令:roscorerosrun rosserial_python serial_node.py tcprosrun teleop_twist_keyboard teleop_twist_keyboard.py
  5. 路径记忆和模仿模式
    • 下载Arduino IDE,在偏好设置中添加板管理器URL,安装ESP32板包,选择“DOIT ESP32 DEVKIT V1”板。
    • 安装所需库,编译并上传代码到ESP32板。
    • 打开“Arduino Joystick”应用程序,连接到ESP 32板,使用箭头键驱动漫游车,按“X”停止,按“Δ”模仿路径,按“O”重置路径。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】