初步实现机器人的自动化,第一步就是实现车轮转动的第一步,经过在对于探索者模块相关的资料摸索,我得到了以下的结论。

关于机械运动,由电机驱动才能使机器车轮真正实现旋转,从而带动车轮实现小车的自动化驱动功能。以学习历程中的模型测试机为例,建立以下驱动轮的实际驱动模型。

1、向前驱动(代码如下)

void setup()
{pinMode(10,OUTPUT);pinMode(9,OUTPUT);pinMode(5,OUTPUT);pinMode(6,OUTPUT);//标注输出端,在本次实验中,只用到了输出电压端,仅仅利用驱动高低电流的方法,实现驱动轮的问题。
}
void loop()
{//注意针脚的高低电平输出值//实现前进的代码在于内针脚输出高电平,外针脚输出低电平digitalWrite(10,HIGH);digitalWrite(9,LOW);digitalWrite(5,HIGH);digitalWrite(6,LOW);
}

主要的实现过程,就在于两轮同一方向统一速度进行,这样的话,就能实现向前的小车运行。

2、向后驱动(代码如下)

//实现后退
//注意引用引脚的定义与loop函数的对应实现
void setup()
{pinMode(9,OUTPUT);pinMode(10,OUTPUT);pinMode(6,OUTPUT);pinMode(5,OUTPUT);
}
void loop()
{//注意针脚的具体输出端digitalWrite(9,HIGH);digitalWrite(10,LOW);digitalWrite(6,HIGH);digitalWrite(5,LOW);
}

3、转向驱动

由于使用的马达不是多向的转向马达,而是普通固定的直流马达,所以我们只能应用机械原理来实现真正的转弯过程。

在这里我们主要的实现方法是差速实现,所谓差速转向,就是通过让两个轮子的速度不同,或者说一个轮子停止,一个轮子转动,来实现这样一个实际过程

具体代码实现:

void setup()
{pinMode(9,OUTPUT);pinMode(10,OUTPUT);
}
void loop()
{//注意针脚的具体输出端digitalWrite(9,HIGH);digitalWrite(10,LOW);
}

还存在的一种实现转弯的方法:两轮转向相反,实现原地的小车转向,但其实效果与单轮旋转一样,但机器人的运行更加流畅。

//代码主要注意事项,和前几段相似,所以不再过多赘述
void setup()
{pinMode(9,OUTPUT);pinMode(10,OUTPUT);pinMode(5,OUTPUT);pinMode(6,OUTPUT);
}
void loop()
{digitalWrite(9,HIGH);digitalWrite(10,LOW);digitalWrite(5,HIGH);digitalWrite(6,LOW);
}

还有一种最符合实际的转向过程就是两轮都拥有速度且同向,但因为速度不一样而实现的转向,这种转向较为复杂(代码如下)

void setup()
{pinMode(9,OUTPUT);pinMode(5,OUTPUT);
}
void loop()
{analogWrite(9,225);analogWrite(5,200);
}

注意analogWrite函数,可以利用 analogWrite 函数,通过改变 PWM 占空比来改变电机的转 动速度。analogWrite 函数通过 PWM 的方式在引脚上输出一个模拟量。analogWrite 有两个参数 pin 和 value,参数 pin 表示所 要设置的引脚,只能选择函数支持的引脚;参数 value 表示 PWM 输出的占空比,范围在 0~ 255 的区间,对应的占空比为 0%~100%

关于探索者机器人模块的相关学习(一)——机械运动相关推荐

  1. 基于ros的机器人运动控制相关学习(一)

    基础知识 机器人控制分层 底层包括三个级别:(1)发动机.编码器:(2)发动机控制器和驱动器:(3)驱动程序和pid控制器整合到一起的基控制器. 中间层:movebase级别,路径规划 高层:slam ...

  2. 基于Python+百度语音的智能语音ChatGPT聊天机器人(机器学习+深度学习+语义识别)含全部工程源码 适合个人二次开发

    目录 前言 总体设计 系统整体结构图 系统流程图 运行环境 Python 环境 Pycharm 环境 ChatterBot 环境 模块实现 1. 模型构建 2. 服务器端 3. 客户端 4. 语音录入 ...

  3. CVPR 2022 | 未知目标检测模块STUD:学习视频中的未知目标

    前言 构建能够检测分布外(OOD)目标的可靠目标检测器是至关重要的,但尚未得到充分探索.关键挑战之一是,模型缺乏来自未知数据的监督信号,从而对OOD对象产生过于自信的预测. 文章提出了一种基于时空未知 ...

  4. 合宙模块LUA相关资料汇总

    1. 目录 1. 目录 [2. LUA二次开发](#2. LUA二次开发) 2.1 [新手教程](#2.1 新手教程) 2.2 [进阶教程](#2.2 进阶教程) 2.3 [LUA开发环境](#2.3 ...

  5. 【自然语言处理(NLP)】聊天机器人模块实现

    [自然语言处理(NLP)]聊天机器人模块实现 作者简介:在校大学生一枚,华为云享专家,阿里云专家博主,腾云先锋(TDP)成员,云曦智划项目总负责人,全国高等学校计算机教学与产业实践资源建设专家委员会( ...

  6. 示例及详解:MATLAB多机器人协同编队训练与学习的简单实现

    作者在读学校Singapore University of Technology and Design Established under strong support from MIT, Singa ...

  7. OpenCV-图像着色(采用DNN模块导入深度学习模型)

    作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 实现原理 图像着色最早是应用在图像修复方面,将一些过去的黑白旧照根据预设色盘上色,得到色彩饱满的 ...

  8. DeepMind提出关系RNN:构建关系推理模块,强化学习利器

    基于记忆的神经网络通过利用长时间记忆信息的能力来建模时序数据.然而,目前还不清楚它们是否有能力利用它们记得的信息进行复杂的关系推理. 在这篇论文中,DeepMind和伦敦大学学院的研究人员首先证实一种 ...

  9. 小白该怎么学好Web前端 相关学习路线是什么

    小白该怎么学好Web前端?相关学习路线是什么?互联网越来越发达的今天,人们对于应用产品的各方面要求都越发挑剔.在越来越注重美观和用户体验的现在,前端开发扮演着重要的角色,前端的作用不仅是要看用户所看, ...

最新文章

  1. 最长回文子串-三种DP实现
  2. SRM 588 D2 L2:GUMIAndSongsDiv2,冷静思考,好的算法简洁明了
  3. php表格怎么合并单元格格式化,table标签的结构与合并单元格的实现方法
  4. 020-Spring Boot 监控和度量
  5. mybatis删除成功返回0_你还在用分页?试试 MyBatis 流式查询,真心强大!
  6. java 8 optional 类,Java8新特性-Optional类
  7. 基于Adaboost的音乐情绪分类算法
  8. POJ1067 HDU1527 取石子游戏【博弈】
  9. 今天写出一个十分弱智的bug!
  10. 才子进销存软件各版本说明
  11. d-s证据理论 matlab 完整代码
  12. WPS快捷键之 通用基础
  13. 苹果Pro安装win10鼠标不能用的问题
  14. 2015年上半年数据库系统工程师考试上午真题
  15. 在rk3328上从零构建ubuntu16.04系统系列(1):sdk的环境配置和编译与uboot的网卡驱动配置
  16. 服务器漏洞--永恒之蓝
  17. 现代大学英语精读第二版(第四册)学习笔记(原文及全文翻译)——16B - Is Everybody Happy?(人人都幸福吗?)
  18. 思迪博软件在2021 Gartner主数据管理解决方案 魔力象限中被评为挑战者
  19. 编程实现键盘记录功能
  20. IPO中的锁定期规则

热门文章

  1. 安全工具-Arachni
  2. 算法高级(8)-Hystrix实现熔断、限流与服务保护中的算法详解
  3. 支付宝服务号JSAPI收款码
  4. Orcal数据库01
  5. 透明度叠加算法:如何计算半透明像素叠加到另一个像素上的实际可见像素值(附 WPF 和 HLSL 的实现)
  6. Python 1:Python学习计划概述
  7. 22春天津大学《工程概预算》在线作业二
  8. JavaScript基本语法,函数,流程控制
  9. 93年的梅花五角真能值很多钱吗?
  10. React基础 - refs的详解与应用