双节履带机械臂小车实现蓝牙遥控功能

1.功能描述

本文示例所实现的功能为:采用蓝牙远程遥控双节履带机械臂小车进行运动。

2.结构说明

双节履带机械臂小车,采用履带底盘,可适用于任何复杂地形。 前节履带抬起高度不低于10cm,可用于履带车进行爬楼行进。 底盘上装有一个两自由度机械臂,可用于排爆等工作。

3.电子硬件

在这个示例中,我们采用了以下硬件,请大家参考:

|-----|----------------------------------------------------------------------------------------------|
| 主控板 | Basra主控板(兼容Arduino Uno) |
| 扩展板 | Bigfish2.1扩展板 |
| 通信 | 蓝牙串口模块 |
| 电池 | 7.4V锂电池 |

4.app 安装与配置

将文末资料中的"蓝牙串口助手.apk"安装到安卓手机中。将蓝牙模块连接到主控板并打开电源,然后在手机上运行蓝牙串口助手。

|----------|--------------------------------|
| 按钮名称 | 发送内容 |
| 下撑 | 0@0:0=0(90,90,201,201,30);@ |
| 平铺 | 0@0:0=0(90,90,201,201,90);@ |
| 上撑 | 0@0:0=0(90,90,201,201,150);@ |
| 放下 | 0@0:0=0(90,90,10,201,201);@ |
| 前进 | 0@0:0=0(70,110,201,201,201);@ |
| 抬起 | 0@0:0=0(90,90,40,201,201);@ |
| 左转 | 0@0:0=0(110,110,201,201,201);@ |
| 停止 | 0@0:0=0(90,90,201,201,201);@ |
| 右转 | 0@0:0=0(70,70,201,201,201);@ |
| 打开 | 0@0:0=0(90,90,201,150,201);@ |
| 后退 | 0@0:0=0(110,70,201,201,201);@ |
| 夹取 | 0@0:0=0(90,90,201,100,201);@ |

5.功能实现

**编程环境:**Arduino 1.8.19 下面提供一个蓝牙远程遥控双节履带机械臂小车运动的参考程序(EODrobot.ino):

java 复制代码
/*------------------------------------------------------------------------------------

   版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.

           Distributed under MIT license.See file LICENSE for detail or copy at

           https://opensource.org/licenses/MIT

           by 机器谱 2023-09-04 https://www.robotway.com/

   ------------------------------*/

#include <Arduino.h>

#include <Servo.h>

#include <pasta.h>

#include <SignalFilter.h>

#include <EEPROM.h>


String serialString = "";

boolean serialComplete = false;

char stringBuf[100];

Protocol protocol;

Servo myServo[5];

int data[5];

int olddata[5];

int port[5] = {7,8,12,11,3};

void setup()

{

   Serial.begin(9600);

   

   for(int i = 0; i < 5; i++){

    data[i] = 201;

    myServo[i].attach(port[i]);

   }

   myServo[0].write(90);

   myServo[1].write(90);

   myServo[2].write(10);

   myServo[3].write(150);

   myServo[4].write(90);

}


void loop()

{

   if (serialComplete) {

     protocol.Analyze(serialString);

     for(int i = 0; i < 5; i++)

       data[i] = protocol.parameter.GetAt(i);   

     serialString = "";

     serialComplete = false;

     

     

     for(int i = 0; i < 5; i++){

      if(olddata[i] != data[i]){

        if(data[i] == 201)

          continue;

        else if(data[i] > 0 && data[i] < 180){

          myServo[i].write(data[i]);

        }   

        olddata[i] = data[i];   

      }

    }

   }

}


void serialEvent() {

   while (Serial.available()) {

    char inChar = (char)Serial.read();

    serialString += inChar;

    if (inChar == '\n') {

      serialComplete = true;

    }

   }

}

程序源代码、样机3D文件以及蓝牙串口助手.apk等资料详见 双节履带机械臂小车-蓝牙遥控

相关推荐
沫儿笙20 小时前
OTC欧地希焊接机器人智能气阀
机器人
爱吃青菜的大力水手20 小时前
软银收购 ABB 机器人业务的背景与 Physical AI 的关联
人工智能·机器人
Mr.Winter`21 小时前
深度强化学习 | 基于SAC算法的动态避障(ROS C++仿真)
人工智能·深度学习·神经网络·机器人·自动驾驶·ros·具身智能
酌量21 小时前
路径平滑优化详解(二次规划): 数学建模与目标函数推导
经验分享·笔记·学习·机器人·自动驾驶
武子康1 天前
AI-调查研究-102-具身智能 智能机械臂、自动驾驶与人形机器人的模仿学习、强化学习与多模态融合趋势
人工智能·深度学习·机器学习·ai·机器人·强化学习·具身智能
ARM+FPGA+AI工业主板定制专家1 天前
基于JETSON/RK3588机器人高动态双目视觉系统方案
人工智能·机器学习·fpga开发·机器人·自动驾驶
哈泽尔都2 天前
运动控制教学——5分钟学会PRM算法!
人工智能·单片机·算法·数学建模·贪心算法·机器人·无人机
孤独野指针*P2 天前
MoveIt 机械臂碰撞检测:从环境搭建到障碍物规避
linux·3d·机器人
搬砖的小码农_Sky2 天前
人形机器人:Tesla Optimus的AI集成细节
人工智能·ai·机器人