4自由度并联机器狗实现下蹲功能

news2024/12/25 9:06:18

1. 功能说明

       本文示例将实现R328a样机4自由度并联机器狗下蹲的功能。

2. 结构说明

      本样机的并联驱动结构与 【R082】4自由度并联四足 类似,两款样机可以对比来看。

      本样机腿部的结构如下图所示:驱动核心部分是两个5杆结构的组合。

两个五杆结构图

      驱动核心部分再搭配下图的四杆结构,即可构成单侧的腿。驱动核心部分再搭配下图的四杆结构,即可构成单侧的腿。

四杆结构
单侧腿部图
整机

3. 电子硬件

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

主控板

Basra主控板(兼容Arduino Uno)‍

扩展板

Bigfish2.1扩展板‍

电池7.4V锂电池

      电路连接:为了便于识别控制4自由度并联机器狗,我们先规定好机器狗的前方以及舵机位置编号(如下图所示):

      将舵机(A1、A2 、B1、B2)连接在Bigfish扩展板的D4、D7、D3、D8端口,如下图所示:

4. 功能实现

       上位机:Controller 1.0

       下位机编程环境:Arduino 1.8.19

       实现思路:实现4自由度并联机器狗站立、前蹲、后蹲的动作。

4.1 调试舵机角度

       利用上位机 Controller软件调整4自由度并联机器狗的舵机角度,记录下机器狗站立、前蹲、后蹲时舵机的角度;然后利用Arduino IDE进行下位机编程,利用这些角度实现机器狗下蹲的功能。

       对于如何利用Controller软件进行调试机器狗的舵机角度,可参考【U002】如何驱动模拟舵机-Controller 1.0b软件的使用 在本次实验中,经过调试,对于4自由度并联机器狗站立、前蹲、后蹲时的舵机角度值如下图所示:

机器狗站立时的舵机值
机器狗前蹲时的舵机值
机器狗后蹲时的舵机值

4.2 示例程序

      下面提供一个4自由度并联机器狗下蹲的参考例程

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

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

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

/*

    本例程实现机器小狗站立、前蹲和后蹲

*/


#include<Servo.h>

#define SERVO_SPEED 60      //定义舵机转动快慢的时间

#define ACTION_DELAY 0      //定义所有舵机每个状态时间间隔


Servo myServo[4];


int f = 15;                                         //定义舵机每个状态间转动的次数,以此来确定每个舵机每次转动的角度

int servo_port[4] = {3,4,7,8};                      //定义舵机引脚

int servo_num = sizeof(servo_port) / sizeof(servo_port[0]);   //定义舵机数量

float value_init[4] = {1513,1457,1074,1545};        //定义舵机初始角度


void setup() {

  Serial.begin(9600);

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

    ServoGo(i,value_init[i]);

  }

  delay(2000);

}


void loop() {

  Dog_squat();

}


void Dog_squat()

{

  servo_move(value_init[0],value_init[1],value_init[2],value_init[3]);//直立

  servo_move(1243,1703,1278,1299);//向后蹲下

  servo_move(value_init[0],value_init[1],value_init[2],value_init[3]);//直立

  servo_move(1715,1255,1052,1545);//向前蹲下

  servo_move(value_init[0],value_init[1],value_init[2],value_init[3]);//直立

}



void ServoStart(int which)

{

  if(!myServo[which].attached())myServo[which].attach(servo_port[which]);

  pinMode(servo_port[which], OUTPUT);

}


void ServoStop(int which)

{

  myServo[which].detach();

  digitalWrite(servo_port[which],LOW);

}


void ServoGo(int which , int where)

{

  if(where!=200)

  {

    if(where==201) ServoStop(which);

    else

    {

      ServoStart(which);

      myServo[which].write(where);

    }

  }

}


void servo_move(float value0, float value1, float value2, float value3) //舵机转动

{

 

  float value_arguments[] = {value0, value1, value2, value3};

  float value_delta[servo_num];

 

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

  {

    value_delta[i] = (value_arguments[i] - value_init[i]) / f;

  }

 

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

  {

    for(int k=0;k<servo_num;k++)

    {

      value_init[k] = value_delta[k] == 0 ? value_arguments[k] : value_init[k] + value_delta[k];

    }

    for(int j=0;j<servo_num;j++)

    {

      ServoGo(j,value_init[j]);

    }

    delay(SERVO_SPEED);

  }

  delay(ACTION_DELAY);

}

5. 扩展样机

     本样机可以做出一些扩展,如下图所示的在样机上方增加平板,此样机可用探索者零件或探索者兼容零件制作。

及程序源代码样机3D文件资料内容详见 4自由度并联机器狗-下蹲

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

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

相关文章

ASP.NET MVC下的四种验证编程方式

ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表&#xff0c;但是在真正执行目标Action方法之前&#xff0c;还需要对绑定的参数实施验证以确保其有效性&#xff0c;我们将针对参数的验证成为Model绑定。总地来说&#xff0c;我们可以采用4种不同的编程模式来进行针…

手机号码篡改测试-业务安全测试实操(6)

手机号码篡改测试, 用户ID篡改测试 订单ID篡改测试-业务安全测试实操(5)_luozhonghua2000的博客-CSDN博客 手机号码篡改测试 测试原理和方法 手机号通常可以代表一个用户身份。当请求中发现有手机号参数时,我们可以试着修改它,测试是否存在越权漏洞。系统登录功能一般先判断…

计算机视觉研究院重新开启知识星球(前期我们免费加入)

点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID&#xff5c;计算机视觉研究院 学习群&#xff5c;扫码在主页获取加入方式 计算机视觉研究院专栏 Column of Computer Vision Institute 满足广大兴趣关注者&#xff0c;最近我们平台重启了”知识星球“&…

聚观早报 |梅西将于14日淘宝开播;李斌回应蔚来全系车型降3万元

今日要闻&#xff1a;梅西将于6月14日上淘宝开播&#xff1b;李斌回应"蔚来全系车型降价3万元”&#xff1b;美国联邦贸易委员会阻止微软收购暴雪&#xff1b;称iPhone15洗系列最高涨价200美元&#xff1b;极兔正与顺丰洽谈入股 梅西将于6月14日上淘宝开播 据悉&#xff…

微服务springcloud 02 创建项目中的三个service子系统,springcloud中注册中心Eureka介绍和把三个系统注册到Eureka中

item service项目 01.使用springboot创建项目 02.选择依懒项在这里插入代码片 spring web 03.添加sp01-commons依赖 在pom.xml文件中 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" x…

「深度学习之优化算法」笔记(一):优化算法概述

优化算法笔记&#xff08;一&#xff09;优化算法的介绍 &#xff08;一&#xff09;优化算法的介绍 1.1&#xff08;what&#xff09;什么是优化算法&#xff1f; 我们常见常用的算法有排序算法,字符串遍历算法,寻路算法等。这些算法都是为了解决特定的问题而被提出。 算法本质…

基础知识学习---牛客网C++面试宝典(七)操作系统--第二节

1、本栏用来记录社招找工作过程中的内容&#xff0c;包括基础知识学习以及面试问题的记录等&#xff0c;以便于后续个人回顾学习&#xff1b; 暂时只有2023年3月份&#xff0c;第一次社招找工作的过程&#xff1b; 2、个人经历&#xff1a; 研究生期间课题是SLAM在无人机上的应…

MUR80120PT-ASEMI大电流快恢复二极管MUR80120PT

编辑&#xff1a;ll MUR80120PT-ASEMI大电流快恢复二极管MUR80120PT 型号&#xff1a;MUR80120PT 品牌&#xff1a;ASEMI 封装&#xff1a;TO-247 正向电流&#xff1a;80A 反向电压&#xff1a;1200V 引脚数量&#xff1a;3 恢复时间&#xff1a;35ns 正向压降&#…

ai绘画生成器有哪些?分享3款好用的ai自动绘画生成器

文字和绘画是两种看似不同的艺术形式&#xff0c;但它们之间却有着一种神奇的联系。你或许曾经在一些创意绘画作品中发现过使用文字进行表达的元素&#xff0c;那么&#xff0c;文本究竟如何生成这些令人惊叹的艺术作品呢&#xff1f;今天&#xff0c;我们就来探索一下文字怎样…

Vue中如何进行颜色选择与取色器?

Vue中如何进行颜色选择与取色器&#xff1f; 在Web开发中&#xff0c;颜色选择器是一个非常常见的功能。在Vue.js中&#xff0c;我们可以使用现成的颜色选择器组件或者自己编写一个颜色选择器组件。本文将介绍如何在Vue.js中实现颜色选择器组件和取色器功能。 颜色选择器组件 …

AI技术实现人工客服的开发流程

AI技术取得重大突破后&#xff0c;典型的应用场景就是人机交互效率极大提高&#xff0c;甚至在很多方面好于人和人的交互。使用AI技术实现人工智能客服是非常适合大规模商用的业务场景&#xff0c;今天和大家分享这方面的知识&#xff0c;希望对大家有所帮助。北京木奇移动技术…

Vue让你轻松实现盒子的显示隐藏和双向数据绑定!

Vue让你轻松实现盒子的显示隐藏和双向数据绑定&#xff01; 一、Vue让你轻松实现盒子的显示隐藏和双向数据绑定&#xff01;&#xff08;一&#xff09;v-if 和 v-show1. v-show2. v-if3. 应用场景:4. 案例&#xff1a;展开折叠盒子 &#xff08;二&#xff09;v-else 和 v-els…

为什么年龄越大工作失误越多水平越低能力越差-个人案例

此为内容创作模板&#xff0c;在发布之前请将不必要的内容删除 在日复一日的工作中&#xff0c;我们免不了会产生一些失误&#xff0c;会因此感到沮丧和失望。但如何正确地对待和处理这些失误才是最重要的&#xff0c;它直接影响到我们的工作表现和个人成长。一起来谈谈作为职…

Unity3D:自定义 Editor 工具

推荐&#xff1a;将 NSDT场景编辑器 加入你的3D工具链 3D工具集&#xff1a; NSDT简石数字孪生 使用自定义 Editor 工具 从 Scene 视图中可以访问使用工具模式 API 创建的自定义工具。 您可以通过以下方式来访问自定义工具&#xff1a; 单击场景视图工具工具条叠加中的可用自…

KaiwuDB 发布智慧矿山解决方案

5月21日&#xff0c;天津第七届世界智能大会&#xff08;WIC&#xff09;圆满落幕。作为智能领域的国家级盛会&#xff0c;WIC 汇聚了全球知名院士、顶级学者、产业领袖分享先进技术和实践经验&#xff0c;推进智能技术创新合作。KaiwuDB 受邀出席大会并正式发布智慧矿山解决方…

Seata Saga 模式快速入门和最佳实践

文&#xff5c;王特&#xff08;花名&#xff1a;亦夏&#xff09; Email&#xff1a;yixia.wtantgroup.com 蚂蚁集团数据中间件核心开发 本文 4927 字 阅读 13 分钟 Seata 是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服…

ssm+java高校图书馆图书借阅导航系统

智能图书馆导航管理系统是一款基于BS架构模式开发的图书馆宣传网站&#xff0c;网页端采用SSM框架技术开发&#xff0c;MySQL作为数据库&#xff0c;同时使用了JSP、java web等技术进行开发&#xff0c;最终达到智能图书导航的实现&#xff0c;能够实现用户搜索书籍&#xff0c…

Vue中如何进行图片处理与滤镜效果?

Vue中如何进行图片处理与滤镜效果&#xff1f; 在 Vue 应用程序中&#xff0c;处理图片和应用滤镜效果是非常常见的需求。这可以让你的应用程序更加生动而丰富&#xff0c;吸引更多用户的眼球。Vue 提供了多种方式来处理图片和应用滤镜效果&#xff0c;让你可以轻松地实现这些…

一文带你读懂验厂审核!

验厂是什么&#xff1f; 验厂似乎是非汽车行业通俗的叫法&#xff0c;指的是下游客户对上游供应商的考核&#xff1b;在汽车行业&#xff0c;更准确的称呼为供应商审核&#xff0c;包括潜在供应商审核和供应商年审。所以为了避免误解&#xff0c;跟汽车行业的客户沟通的时候&am…

千万级入口服务[Gateway]框架设计(二)

本文将以技术调研模式编写&#xff0c;非技术同学可跳过。 文章目录 背景实现二&#xff1a;开源 go-pluginDemo 实现Benchwork 基准性能小结 附录 背景 基于组件(插件)模式设计构建的入口服务&#xff0c;在使用 Go 原生包 plugin 实现的时候&#xff0c;会存在功能缺陷问题…