机器人制作开源方案 | 行星探测车实现WiFi视频遥控功能

news2025/1/14 0:48:36

1. 功能描述

       本文示例所实现的功能为:用手机APP,通过WiFi通信遥控R261样机行星探测车移动,以及打开、关闭行星探测车太阳翼。

机器人制作开源方案 | 行星探测车实现WiFi视频遥控功能


2. 电子硬件

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

主控板
Basra主控板(兼容Arduino Uno)
扩展板
Bigfish2.1扩展板
通信WiFi无线路由器
2510通信转接板
电池7.4V锂电池
其它摄像头、安卓手机

3. 示例程序

编程环境:Arduino 1.8.19
下面提供一个实现WiFi视频遥控行星探测车移动以及打开、关闭行星探测车太阳翼功能的参考程序(Wifi_Control.ino):

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

  版权说明: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-22 https://www.robotway.com/

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

void serialEvent()

{

  static int i;

  static boolean revStart;

  while (Serial.available())

  {

    //get data from wifi

    int inData = Serial.read();

    if (inData == 0xff && !revStart)

    {

      revStart = true;

    }

    else if(revStart)

    {

      inputData[i] = inData;

      i++;

      if(i > 3)

      {

        if(inputData[3] == 0xff)

        {

          dataComplete = true;

          i = 0;

          revStart = false;

        }

        else

        {

          i = 0;

          revStart = false;

        }

      }

    }

  }

}



//小车主程序

void car_control(){

  if(dataComplete){

    dataComplete = false;

    //控制小车前,后,左,右

    if(inputData[0] == 0x00)

    {

      if(inputData[1] != moveDirection){

        moveDirection = inputData[1];   

      }

    }


   

    else if(inputData[0] == 0x02){

        if(inputData[1] == 0x01){

          if(inputData[2] != DownDireciton){

            DownDireciton = inputData[2];

 

            if(DownDireciton == 0 && !isPanelDown){

              expandSolarPanelsAndMast();

              isPanelDown = true;

            }

            else if(DownDireciton == 10 && isPanelDown){

              stopSolarPanelsAndMast();

              isPanelDown = false;

            }

          }

        }

 

    }

    Move(moveDirection);

  }

  else{

    //小车自主控制部分

    automatic_control();

  }

}

4. 安卓手机APP配置及操作

① 将文末资料中的WIFIRobotV1.06.apk下载安装到手机上,并打开按以下参数进行设置。

机器人制作开源方案 | 行星探测车实现WiFi视频遥控功能

② 打开手机wifi并连接GL-AR150-fxx(xx为随机数字与字母),密码:goodlife
③ 关闭软件(需清除后台应用)重新进入,点击“开始”,并开始操作。
④ 可看到如下所示界面按钮:前、后、左、右。

机器人制作开源方案 | 行星探测车实现WiFi视频遥控功能

⑤ 点击“速度调整”:“左侧速度”为调整直流电机转速;“右侧速度”为打开、关闭行星探测车太阳翼。

机器人制作开源方案 | 行星探测车实现WiFi视频遥控功能

⑥ 关闭“速度调整”,点击“重力感应”,通过调整手机角度可使行星探测车移动。

机器人制作开源方案 | 行星探测车实现WiFi视频遥控功能

程序源代码及样机3D文件等资料下载地址:行星探测车-WiFi视频遥控

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1111881.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DRF反序列化时数据验证完毕返回的是None值

文章目录 错误复现serializers.pyview.py错误 解决方案正确的代码 错误复现 serializers.py class LoginSerializer(serializers.Serializer):username serializers.CharField(min_length5, max_length10, help_text"账号")password serializers.CharField(min_l…

STM32内部flash闪存的总结

最近在做无人船和机巢远程在线升级的项目,牵扯到flash的操作,特此记录,便于以后查找。IMU也用到过,当时没记录 具体细节看 E:\Documets\AY\a-project\IMU\IMU16500\S0IMU v3.3 study\User\Driver\source eeprom.c E:\Documets\A…

Looper分析

Looper分析 在 Handler 机制中,Looper 的作用是提供了一个消息循环 ( message loop ) 的机制,用于处理和分发消息。 Looper 是一个线程局部的对象,每个线程只能有一个 Looper 对象。它通过一个无限循环来不断地从消息队列中取出消息&#x…

How to add a jar to a project in eclipse?

Project -> Properties -> Java Build Path -> Libraries -> Add External JARs

50springboot私人健身与教练预约管理系统

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

arrow(c++)改写empyrical系列1---用arrow读取基金净值数据并计算夏普率

用arrow c版本读取了csv中的基金净值数据,然后计算了夏普率,比较尴尬的是,arrow c版本计算耗费的时间却比python的empyrical版本耗费时间多。。。 arrow新手上路,第一次自己去实现功能,实现的大概率并不是最高效的方…

rviz中显示的点云与网格垂直,将保存的pcd文件转为点云在rviz中显示,并使用octomap_server将点云地图转化为八叉树地图和占据栅格地图

文章目录 问题:点云与网格垂直背景解决方法:对点云坐标做变换,绕x轴旋转90度,将z轴指向上方将pcd转成点云,在RVIZ中显示点云图创建launch rviz显示 问题:点云与网格垂直 用lego-loam建图时用rosbag录制相关…

以哈战争或推动美国「屠杀」比特币

摘要:加密货币公司急于在国会对以色列被袭引发的审查之前采取行动。 作者:JASPER GOODMAN 来源:POLITICO 编译:WEEX Exchange 原文标题:How Elizabeth Warren is making Hamas crypto’s latest Washington woe 编者按…

Python万圣节蝙蝠

目录 系列文章 前言 蝙蝠 程序设计 程序分析 运行结果 尾声 系列文章 序号文章目录直达链接1浪漫520表白代码https://want595.blog.csdn.net/article/details/1306668812满屏表白代码https://want595.blog.csdn.net/article/details/1297945183跳动的爱心https://want5…

架构师日记-33个常见编码漏洞大揭秘

一 前言 在软件编码的过程中,经常会遇到各种棘手的问题和挑战: •高并发、大数据引起的性能问题; •SQL注入、跨站脚本攻击的安全问题; •协议、编码的规范设计问题等; 本文就从最常见的性能、安全和设计等几个维…

2023.10.19 关于 单例模式 详解

目录 引言 单例模式 饿汉模式 懒汉模式 懒汉模式线程安全问题 分析原因 引言 设计模式为编写代码的 约定 和 规范 阅读下面文章前建议点击下方链接明白 对象 和 类对象 对象和类对象 单例模式 单个实例(对象)在某些场景中有特定的类,…

Python学习-----Day09

一、利用装饰器来获取函数运行的时间、 #导入time模块 import timedef decorated(fn):def inner():#time.time获取函数执行的时间a time.time() # func开始的时间fn()b time.time() # func结束的时间print(f"{fn.__name__}程序运行的总数时间:{b - a}秒")return…

View 自定义 - 绘制前的准备 DecorView

一、概念 图中可以看出 ViewRoot 最后一步是绘制,在绘制之前系统会有一些准备,即前面几个步骤:创建PhoneWindow、DecorView、ViewRootmpl。 二、DecorView 的创建 DecorView的创建开始是从 Activity 中 setContentView() 开始的。 创建抽象类…

项目管理的10个经典法则

大家好,我是老原。 前两天给大家更新了一篇实用文,分享了6张能搞定项目管理的思维导图,很多粉丝朋反馈对项目更有思路了。 那6张思维导图都需要建立在一定的项目管理法则上,今天我也给你们整了项目管理的10个经典法则。 建议大…

域控主机 带瘤

1.装环境 是dns环境 加入域 二.文件上传 2.cs木马生成 服务器 75.233 上传木马成功 上线

C语言之通讯录的实现篇优化版

目录 动态内存管理 通讯录声明 静态版本 动态版本 ​初始化通讯录 静态版本 动态版本 Add增加通讯录 静态版本 动态版本 Checkcapacity增容 DestroyContact释放动态空间 文件操作 SaveContact保存信息到文件中 初始化通讯录 旧版本 文件版本 LoadContact加载…

Hudi-源码-索引-bloom 索引

文章目录 前言问题原理TagLocation流程入口LookupIndexfindMatchingFilesForRecordKeysHoodieKeyLookupHandle 如何优化问题一 如何避免大量 IO问题二 如何减少计算 Hash问题三 使用什么结构优化比对结果如何初始化树查询 总结 前言 Hudi 系列文章在这个这里查看 https://gith…

图论与网络优化

2.概念与计算 2.1 图的定义 2.1.1 定义 图(graph) G G G 是一个有序的三元组&#xff0c;记作 G < V ( G ) , E ( G ) , ψ ( G ) > G<V(G),E(G),\psi (G)> G<V(G),E(G),ψ(G)>。 V ( G ) V(G) V(G) 是顶点集。 E ( G ) E(G) E(G) 是边集。 ψ ( G ) \…

【合集】Redis——Redis的入门到进阶 结合实际场景的Redis的应用

前言 Redis是一个开源的内存数据结构存储系统&#xff0c;也被称为键值存储系统。它支持多种数据结构&#xff0c;如字符串、哈希表、列表、集合、有序集合等&#xff0c;并提供了丰富的操作命令&#xff0c;可以对这些数据结构进行快速的读写操作。Redis具有高性能、高可用性…

驱动:驱动相关概念,内核模块编程,内核消息打印printk函数的使用

一、驱动相关概念 1.操作系统的功能 向下管理硬件&#xff0c;向上提供接口 操作系统向上提供的接口类型&#xff1a; 内存管理&#xff1a;内存申请&#xff08;malloc&#xff09; 内存释放&#xff08;free&#xff09;等 文件管理&#xff1a; 通过文件系统格式对文件ext2…