2自由度并联仿生腿的制作

news2024/11/26 4:27:36

1. 运动功能说明

本文实例将实现2自由度并联仿生腿模组运动起来,模拟实现狗腿行走的动作。

2. 结构说明

      2自由度并联仿生腿模组是由两个舵机驱动的,它的所有动作都将在两个舵机的配合运动下实现。

3. 运动原理说明

      2自由度并联仿生腿模组运动的点位如下图所示:

4. 电子硬件

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

主控板

Basra主控板(兼容Arduino Uno)‍

扩展板

Bigfish2.1扩展板‍

电池7.4V锂电池

       电路连接:将2个舵机连接在Bigfish扩展板的D4、D7端口。

5. 运动功能实现

      上位机:Controller 1.0

      下位机编程环境:Arduino 1.8.19

      实现思路:实现2自由度并联仿生腿模组运动起来。

5.1 舵机角度的确定

      将2自由度并联仿生腿模组用工具调整至合适的点位后,用量角器测量出相应的舵机角度值。模拟狗腿行走的动作,对每个动作的角度进行测量并记录数据。

      操作步骤:① 以固定舵机的两个螺丝为固定量角器位置。

     ② 拧紧螺丝,防止取下量角器时角度发生变化,导致测量的不够准确。

     ③ 对量角器进行读数并进行数据记录。

     ④ 利用Controller动作编辑软件,输入测量到的角度值进行尝试,如果动作和实际有偏差的话可改变角度参数进行调整,直至得到正确的舵机角度组合为止。关于Controller动作编辑软件的使用方法,可参考【U002】如何驱动模拟舵机-Controller 1.0b软件的使用

5.2 示例程序

       下面提供一个2自由度并联仿生腿模组运动的参考例程(tuibuyundong.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-06-02 https://www.robotway.com/

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

#include<Servo.h>

#define upper_servo_initialangle 90

#define lower_servo_initialangle 90

Servo upper_servo;   //大腿舵机

Servo lower_servo;   //小腿舵机


void setup()

{

  upper_servo.attach(4);

  lower_servo.attach(7);

  upper_servo.write(upper_servo_initialangle);

  lower_servo.write(lower_servo_initialangle);

  delay(1000);

}


void loop()

{

  //大腿动一下

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

  {

    upper_servo.write(upper_servo_initialangle+i);

    delay(100);

  }

  for(int j=30;j>0;j--)

  {

    upper_servo.write(upper_servo_initialangle+j);

    delay(100);

  }

 

  //小腿动一下

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

  {

    lower_servo.write(lower_servo_initialangle+i);

    delay(100);

  }

  for(int j=30;j>0;j--)

  {

    lower_servo.write(lower_servo_initialangle+j);

    delay(100);

  }

}

程序源代码及模组3D文件资料详见 2自由度并联仿生腿-概述

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

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

相关文章

【Vue】学习笔记-Vue UI组件库

学习笔记-Vue UI组件库 常用UI组件库移动端常用UI组件库PC端常用UI组件库element-ui 基本使用element-ui 按需引入 常用UI组件库 移动端常用UI组件库 VantCube UIMint UIhttps://nutui.jd.com/#/ PC端常用UI组件库 Element UIIView UI element-ui 基本使用 安装element:n…

使用three.js渲染第一个场景和物体

一、效果图&#xff1a; 二、渲染场景和物体的步骤 创建场景(Scene)&#xff1a;在 three.js 中创建场景通过调用 THREE.Scene() 方法&#xff0c;然后将其赋值给变量。 var scene new THREE.Scene(); 创建相机(Camera)&#xff1a;在 three.js 中创建相机通过调用 THREE.Pe…

什么是量词符?怎样理解量词符?

量词符用来设定某个模式出现的次数&#xff0c;通过使用量词符(?、、*、)能够完成某字符连续出现的匹配。具体如表所示。 上表中&#xff0c;“…”表示多次。为了更好地理解量词符的使用&#xff0c;下面我们以a字符为例进行演示&#xff0c;示例代码如下。 var reg /~a*…

CSC公派访问学者申请的几个重要步骤

CSC&#xff08;中国国家留学基金委员会&#xff09;公派访问学者项目为有志于在国外进一步深造、学术交流的学者提供了宝贵的机会。然而&#xff0c;在申请过程中需要注意一些重要的步骤&#xff0c;以确保申请的顺利进行。下面知识人网小编将为您介绍几个关键的申请步骤。 第…

Python代码覆盖率分析工具Coverage

目录 简介 安装 命令行中使用 调用API使用 简介 Coverage是一个Python代码覆盖率分析工具&#xff0c;它可以用于衡量Python测试代码的质量。通过给代码执行带来的覆盖率数据&#xff0c;Coverage可以帮助开发人员找出被回归测试代码中的漏洞&#xff0c;并且指明哪些代码…

c++类的导出和函数的修饰名

&#xff08;一&#xff09;c中类的导出方法 类前面添加__declspec(dllexport) 头文件如下定义&#xff1a; #pragma onceclass __declspec(dllexport) TestClass {int myint;double mydouble;float myfloat; private:int myfun0(float* f1, int* i2);public:TestClass();~…

发现 7 个 PM 优先级框架并立即获取 7 个免费模板

需求的优先级是项目经理工作中常被提及的&#xff0c;每一种优先级决策技术都有利有弊&#xff0c;也有对应的应用场景&#xff0c;如何选择合适的优决策技术&#xff0c;是产品经理做好优先级管理的前提。那么在项目管理工作中&#xff0c;要如何去评估需求的优先级呢&#xf…

(八) ElasticSearch数据可视化和分析工具Kibana安装和使用

1.概述 Kibana 是一个用于数据可视化和分析的开源工具&#xff0c;它是 Elastic Stack&#xff08;包括 Elasticsearch、Logstash 和 Beats&#xff09;的一部分。Kibana 提供了直观、交互式的用户界面&#xff0c;让用户能够以图表、表格、地图等形式实时探索和可视化存储在 …

南卡OE Pro开放式耳机震撼上市,突破音质与舒适度的极限!

南卡在近日又推出了一款全新升级的南卡OE PRO开放式蓝牙耳机&#xff0c;集齐了先进技术与卓越音质于一身&#xff0c;为用户带来无与伦比的音乐体验和舒适感&#xff0c;让您尽情享受自由的音乐之旅&#xff0c;而且有望打破开放式耳机历史记录&#xff0c;成为开放式耳机天花…

【软件教程】农林生环、水文、海洋、水环境、大气科学、人工智能、碳中和、碳排放、3S、R与统计等软件模型

本文涉及领域水文水资源、大气科学、农林生态、地信遥感、统计分析、编程语言等... 从软件基础到实践案例应用操作&#xff0c;手把手教学&#xff0c;提供永久回放观看和助学群长期辅助指导。适合课题组人员一站式学习&#xff0c;科研人员技术提升、企业单位工程项目、高校论…

Matlab机械臂建模:机器人工具箱的使用导入自己的机械臂模型

本文主要介绍如何在matlab中建立机械臂模型&#xff08;前提要下载了Robotics Toolbox机器人工具箱~&#xff09;&#xff0c;并进行基于正逆运动学计算的轨迹运动。对于已有的Solidworks机械臂三维模型&#xff0c;如何导入Matlab&#xff0c;并对其进行运动控制。 关于机器人…

带你手摸手从零开始撸一个脚手架

文章目录 为什么要搭建脚手架搭建流程梳理初始化脚手架命令参数处理询问用户信息下载模版代码等待提示交互脚手架命令行美化发布脚手架到npm 为什么要搭建脚手架 脚手架就是在项目启动的时候询问一些简单的问题&#xff0c;并且通过用户回答的结果去渲染对应的模板文件。 搭建…

四、使用Kibana执行elasticsearch的CRUD操作

目录 使用kibana测试 1、创建一个索引 2、创建索引并添加数据 3、获取索引的具体信息 4、通过GET请求_cat查看所有的_cat命令 5、修改数据 5.1、使用PUT修改 5.2、使用POST最后加上_update修改 6、删除文档 7、删除索引 8、查询操作 Rest风格说明 Rest是一种软件架构…

汽车一键启动开关发动机启动按钮点火开关图解

汽车改装件一键启动按钮单复位汽车点火开关一键启动按钮开关 &#xff08;用于配套启动主机使用&#xff09; 移动管家一键启动开关 YC360外观&#xff1a;黑色按钮上有3种不同的雷射灯&#xff0c;指示汽车不同的状态&#xff0c;和主机配套时可任意选灯的颜色。指示汽车的不…

AFPM系列消防设备电源监控系统的功能和一样

安科瑞虞佳豪 现代建筑内部&#xff0c; 消防报警、防火、灭火系统种类繁多&#xff0c;并分布在建筑内的各个角落。当灾情发生的时候&#xff0c;消防设备能否处于正常的工作状态&#xff0c; 直接关系到人民生命财产安全是否得到及时保全。 消防设备电源监控系统对于确保建…

Node.js包和模块的关系是怎样的?

在Node.js 中&#xff0c;会将某个独立的功能封装起来&#xff0c;用于发布、更新、依赖管理和进行版本控制。Nodejs 根据CommonJS规范实现了包机制&#xff0c;开发了NPM包管理工具&#xff0c;用来解决包的发布和获取需求。 Node.js的包和模块并没有本质的不同&#xff0c;包…

高频前端面试题汇总之CSS篇

一、CSS基础 1. CSS选择器及其优先级 选择器格式优先级权重id选择器#id100类选择器#classname10属性选择器a[ref“eee”]10伪类选择器li:last-child10标签选择器div1伪元素选择器li:after1相邻兄弟选择器h1p0子选择器ul>li0后代选择器li a0通配符选择器*0 对于选择器的优…

亚马逊云科技Serverless为手游《MARVEL SNAP》降低30%成本

经典的漫威IP&#xff0c;酷炫的卡牌对战&#xff0c;丰富的故事情节&#xff0c;这款移动游戏《MARVEL SNAP》一经上线就深得全球玩家喜爱。在The Game Awards 2022的年度颁奖典礼上&#xff0c;它更是以出色的表现&#xff0c;一举斩获最佳移动游戏奖项。 其研发公司Second …

centos7~等 FTP登录时,解决报错530,500,421等错误

问题描述 1、添加了用户但是莫名登录不能用户真的是见鬼了,这那遭得住呀&#xff01;我干&#xff0c;出现的问题如下图所示&#xff1a; cat /etc/passwd 查看是否是之前添加的用户&#xff0c;并确定是否存在。 若没有创建成功&#xff0c;则使用useradd -s /sbin/nologin …

矩阵向量乘法MPI程序的性能评估

文章目录 前言一、实验代码二、实验运行效果三、问题以及思考总结 前言 要求&#xff1a;对矩阵向量乘法MPI程序进行不同输入规模、不同进程数的执行和计时&#xff0c;并对得到运行时间进行计算分析&#xff0c;据此评价该程序的强扩展性和弱扩展性。最后总结学习心得&#x…