单马达可换档六足机器人前进功能的实现

news/2024/8/20 4:43:43

1. 运动功能说明

本文示例将实现R046样机单马达可换档六足机器人前进的功能。

2. 结构说明

      本样机只有一个圆周舵机,却可以通过换挡机构实现前进和转向两种行走姿态。

      样机由一个圆周舵机带动一个等速齿轮组(下图所示两枚蓝色齿轮),并由随动齿轮带动一个偏心轮连杆机构,从而带动一侧的三条腿。

      同时,并排的两个齿轮利用螺丝头的互相作用构成了一个可以改变偏心轮旋转相位的换挡机构。当右侧齿轮转动时,它的两颗螺丝(蓝色)的螺丝头,会遇到左侧齿轮的螺丝(红色),并带动左侧齿轮转动。

      我们把两侧的偏心轮安装成相反的相位(相差180°),当右侧齿轮朝一个放向转动并带动左侧齿轮转动时,两侧的腿就可以做出交替划动、向前爬行的动作。当右侧齿轮反转时,其上的螺丝头要经过约180°的空转才会遇到左侧齿轮的螺丝头,从而自动改变了两侧偏心轮的相位差,将相位调整为接近相同,从而呈现出转向的动作。

3. 电子硬件

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

主控板

Basra主控板(兼容Arduino Uno)‍

扩展板

Bigfish2.1扩展板‍

电池7.4V锂电池

      电路连接:舵机连接在Bigfish扩展板的D4端口。

4. 运动功能实现

      编程环境:Arduino 1.8.19

将参考例程(sketch_may12a.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-05-15 https://www.robotway.com/

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

#include <Servo.h>

Servo servo_pin_4;

void setup()

{

  servo_pin_4.attach(4);

}

void loop()

{

  servo_pin_4.write( 50 );

  delay( 3000 );

  servo_pin_4.write( 140 );

  delay( 1000 );

}

程序源代码及样机3D文件资料内容详见 单马达可换档六足-概述


http://lihuaxi.xjx100.cn/news/1216712.html

相关文章

Jsp+sql智能交通道路管理系统(论文+任务书+外文翻译+开题报告+文献综述)

电子警察是“智能电子警察监测系统”的简称,它是一套高科技电子设备,最初是为维护交通执法提供了一种先进手段。以往许多城市在某些交通场合,由于没有有效的执法手段造成执法困难,例如:无人值守的路口;单行线;禁行、限时道路;限车型车道;主、辅路进出口;紧急停车带;…

STM32F103下载的SWJ接口禁用问题

前言 在STM32中有一些引脚的主功能不是实现GPIO的功能&#xff0c;而是用作调试接口。就比如我们常用的ST-LINK下载器&#xff0c;就是通过SWD接口给STM32下载程序的。SWJ接口包括SWD和JTAG两种。 环境 STM32F103C6T6核心板STM32CubeMX生成的HAL库文件 基础 SWJ接口&#x…

【SQL武林秘籍】玩转表及其数据

目录 &#x1f4d6;前言 &#x1f600;数据库约束类型 1️⃣not null 非空约束 2️⃣unique 唯一约束 3️⃣default 默认值约束 4️⃣primary key 主键约束 5️⃣foreign key 外键约束 6️⃣check 限制约束 &#x1f609;新增(insert select) &#x1f604;查询(进…

阶乘约数猴子分香蕉

题目 定义阶乘n!123⋅⋅⋅n。 请问 100!&#xff08;100 的阶乘&#xff09;有多少个正约数。 思路 不会写&#xff0c;还以为去算100&#xff01;各个乘数的组合呢&#xff01;看了题解才发现&#xff0c;是一个跟数理有关系的题目。首先&#xff1a;任何一个正整数都能被表示…

【Vite环境变量】import.meta.env 和 loadEnv使用和区别

前言 我们在做项目时需要各种配置信息&#xff08;如应用标题、API 地址等&#xff09;&#xff0c;这些配置信息可能在不同环境下有所不同&#xff08;如开发环境和生产环境&#xff09;。 如果每次更改开发或者更改生产环境需要修改源代码中的相关配置&#xff0c;这会导致…

JupyterLab 4.0 发布了

JupyterLab 是 Jupyter Notebook 的下一代版本&#xff0c;它提供了更强大的功能和更灵活的用户界面&#xff0c;6月6日&#xff0c;官方发布了JupyterLab 4.0的说明&#xff0c;并且说该版本是下一个主要的版本。 JupyterLab的主要改进是: 用户界面&#xff1a;Jupyter Note…

直播商品库功能(互动功能接收端JS-SDK)

功能概述 图&#xff1a;边看边买--效果截图 本模块主要处理商品库相关逻辑&#xff0c;如展示商品、商品推送和商品上下架等消息。 初始化及销毁 在实例化该模块并进行使用之前&#xff0c;需要对SDK进行初始化配置&#xff0c;详细见参考文档。 在线文件引入方式 // scri…

“Pull”和“Push”支付的区别

下图展示了“Pull”和“Push”支付的工作原理。 当我们在商家处刷信用卡/借记卡时&#xff0c;这是一种“Pull”支付&#xff0c;资金从持卡人的账户发送到商家。商家从持卡人的账户中取款&#xff0c;而持卡人批准交易。 通过Visa Direct或Mastercard Send&#xff0c;推送支付…