机器人制作开源方案 | 双轮提升搬运小车

1. 功能描述

      双轮提升搬运小车是一种用于搬运和移动物体的机械设备,它通常采用双轮驱动和提升装置。一般具备以下特点:

      ① 双轮驱动:该小车配备两个驱动轮,通过电动机或其它动力源驱动,提供足够的动力和扭矩,使其能够在平坦的地面上自由行驶。

      ② 提升装置:小车上设有提升装置,可用于搬运物体的升降操作。通过控制提升装置的操作,可以使小车上的货物升高或降低,以适应不同高度的搬运需求。

      本文示例将实现R055b样机双轮提升搬运小车在行进过程中实现夹取的功能。

 

2. 电子硬件

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

主控板

Basra主控板(兼容Arduino Uno)‍

扩展板

Bigfish2.1扩展板‍

电池7.4V锂电池

 3. 功能实现

编程环境:Arduino 1.8.19

下面提供一个双轮提升搬运小车在行进过程中实现夹取功能的参考程序(sketch_sep14a.ino):

/*------------------------------------------------------------------------------------版权说明:Copyright 2023 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.Distributed under MIT license.See file LICENSE for detail or copy athttps://opensource.org/licenses/MITby 机器谱 2023-09-15 https://www.robotway.com/------------------------------*/#include <Servo.h>Servo armServo;   // 机械臂舵机Servo clawServo; // 夹子舵机int armAngle = 90;   // 机械臂初始角度int clawAngle = 90; // 夹子初始角度int leftMotorPin1 = 9;   // 左电机引脚1int leftMotorPin2 = 10;   // 左电机引脚2int rightMotorPin1 = 5;   // 右电机引脚1int rightMotorPin2 = 6;   // 右电机引脚2void setup() {armServo.attach(4);   // 机械臂舵机连接到引脚4clawServo.attach(7); // 夹子舵机连接到引脚7pinMode(leftMotorPin1, OUTPUT);pinMode(leftMotorPin2, OUTPUT);pinMode(rightMotorPin1, OUTPUT);pinMode(rightMotorPin2, OUTPUT);}void loop() {// 小车前进forward();delay(1000);// 机械臂下落moveArm(130);delay(1000);// 夹爪闭合closeClaw();delay(1000);// 机械臂抬起moveArm(90);delay(1000);// 小车后退backward();delay(1000);// 夹爪张开openClaw();delay(1000);}// 控制机械臂运动到指定角度void moveArm(int angle) {armServo.write(angle);armAngle = angle;}// 控制夹爪闭合void closeClaw() {clawServo.write(160); // 根据实际情况调整角度clawAngle = 160;}// 控制夹爪张开void openClaw() {clawServo.write(60); // 根据实际情况调整角度clawAngle = 60;}// 小车前进void forward() {digitalWrite(leftMotorPin1, HIGH);digitalWrite(leftMotorPin2, LOW);digitalWrite(rightMotorPin1, HIGH);digitalWrite(rightMotorPin2, LOW);}// 小车后退void backward() {digitalWrite(leftMotorPin1, LOW);digitalWrite(leftMotorPin2, HIGH);digitalWrite(rightMotorPin1, LOW);digitalWrite(rightMotorPin2, HIGH);}

 4. 扩展样机

本样机有一些简单的扩展案例,如下图所示将驱动轮模块上的直流电机更换为舵机,或者在小车尾部安装一个牛眼万向轮:

 

程序源代码及样机3D文件等资料详见 双轮提升搬运小车

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Stable Diffusion绘图,lora选择

best quality, ultra high res, (photorealistic:1.4), 1girl, off-shoulder white shirt, black tight skirt, black choker, (faded ash gray hair:1), looking at viewer, closeup <lora:koreandolllikeness_v20:0.66> 最佳品质&#xff0c;超高分辨率&#xff0c;&am…

【Java 进阶篇】JavaScript DOM Document对象详解

在前端开发中&#xff0c;DOM&#xff08;文档对象模型&#xff09;扮演着重要的角色。它允许我们使用JavaScript来与网页文档进行交互&#xff0c;实现动态的网页效果。DOM的核心部分之一就是Document对象&#xff0c;它代表了整个HTML文档。在本篇博客中&#xff0c;我们将深…

QT_day1

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//窗口相关设置this->setWindowTitle("登录窗口");this->setWindowIcon(QIcon("C:\\Users\\EDY\\Desktop\\pictrue\\qq.png"));this->setWindowFlag(Qt::…

Linux性能优化--性能工具:网络

7.0 概述 本章介绍一些在Linux上可用的网络性能工具。我们主要关注分析单个设备/系统网络流量的工具&#xff0c;而非全网管理工具。虽然在完全隔离的情况下评估网络性能通常是无意义的(节点不会与自己通信),但是&#xff0c;调查单个系统在网络上的行为对确定本地配置和应用程…

day06-前后端项目上传到gitee、后端多方式登录接口、发送短信功能、发送短信封装、短信验证码接口、短信登录接口

1 前后端项目上传到gitee 2 后端多方式登录接口 2.1 序列化类 2.2 视图类 2.3 路由 3 发送短信功能 4 发送短信封装 4.0 目录结构 4.1 settings.py 4.2 sms.py 5 短信验证码接口 6 短信登录接口 6.1 视图类 6.2 序列化类 1 前后端项目上传到gitee # 我们看到好多开源项目…

解决方案-LBS用户位置GEO附近人/店铺

附近人 附近人列表功能mysqlredis GEOthinkphp 附近人列表功能 方案优势缺点Mysql外接正方形逻辑清晰&#xff0c;实现简单&#xff0c;支持多条件筛选效率较低&#xff0c;不适合大数据量&#xff0c;不支持按距离排序MysqlGeohash借助索引有效提高效率&#xff0c;支持多条件…

实践笔记-docker安装及配置镜像源

docker安装及配置镜像源 1.卸载旧版本docker2. 安装yum工具3. 设置镜像仓库4.安装docker5. 启动docker服务6.docker镜像源配置 当前环境linux为centos7 1.卸载旧版本docker 如果以前安装过旧版本可以先执行卸载&#xff0c;下面的截图是没有安装过。 yum remove docker \ do…

SLM6500 适用于单节锂电池充电芯片 2A同步降压型鲤电池充电电路

SLM6500 是一款面向5V交流适配器的2A离子电池充电器。它是采用1.5MH2固定频率的同步降压型转换器&#xff0c;因此具有高达90%以上的充电效率&#xff0c;自身发热量极小。 SLM6500包括完整的充电终止电路、自动再充电和一个精确度达土1%的4.2V预设充电电压&#xff0c…

请求分页管理方式(页表机制,缺页中断,地址变换)

请求分页存储管理与基本分页存储管理的主要区别: 在程序执行过程中&#xff0c;当所访问的信息不在内存时&#xff0c;由操作系统负责将所需信息从外存调入内存&#xff0c;然后继续执行程序。&#xff08;操作系统要提供请求调页功能&#xff0c;将缺失页面从外存调入内存)若…

解决vue3 + vite + ts 中require失效的问题(require is not defind)

require is not defind因为require是属于webpack的方法&#xff0c;vite中找不到这个方法肯定报错 解决办法 通过vite官网了解到新的引入方式&#xff0c;我使用了其中一种 imgList: [{name: "lj",src: new URL(../../assets/img/applyList.png, import.meta.url).…

WebAPI+EF连接SQL Server数据库

右击解决方案-添加-新建项目-选择“类库&#xff08;.NET Framework&#xff09;”,新建的项目取名叫WebApi1.EF 添加EF&#xff1a; 新建一个ADO实体数据模型 选择DBFirst 数据源选择MySql 填写数据库地址及账号密码 选择实体框架版本 选择在数据库中的表User 到此配置完成&am…

非母语玩家如何撰写英文研究性论文:1 Introduction

参考书——《Science research writing for non-native speakers of English》 文章目录 1 结构问题2 语法与撰写技巧2.1 Tense pairs&#xff1a;时态对2.2 Signaling Language2.3 Passive/Active 主动与被动语态2.4 Paragraphing 分段 3 Writing Task: Building a Model——构…

C/C++笔试易错与高频题型图解知识点(二)—— C++部分(持续更新中)

目录 1.构造函数初始化列表 1.1 构造函数初始化列表与函数体内初始化区别 1.2 必须在初始化列表初始化的成员 2 引用&引用与指针的区别 2.1 引用初始化以后不能被改变&#xff0c;指针可以改变所指的对象 2.2 引用和指针的区别 3 构造函数与析构函数系列题 3.1构造函数与析…

VScode platformio的使用

一、platformio 工程创建 打开vscode界面你会发现左下多了个家的小图标&#xff0c;点击这里就可以进入platformio。 在右侧Quick Access栏中&#xff0c;有4个选项。可以看得出来&#xff0c;我们这里直接点击创建一个新的工程。 点击New Project打开project配置界面&#x…

图详解第四篇:单源最短路径--Dijkstra算法

文章目录 1. 最短路径问题2. 单源最短路径--Dijkstra算法算法思想图解如何存储路径及其权值代码实现调式观察打印最短路径Dijkstra算法的缺陷 3. 源码 1. 最短路径问题 最短路径问题&#xff1a; 从带权有向图&#xff08;求最短路径通常是有向图&#xff09;G中的某一顶点出发…

Unity——数据存储的几种方式

一、PlayerPrefs PlayerPrefs适合用于存储简单的键值对数据 存储的数据会在游戏关闭后依然保持&#xff0c;并且可以在不同场景之间共享&#xff0c;适合用于需要在游戏不同场景之间传递和保持的数据。 它利用key-value的方式将数据保存到本地&#xff0c;跟字典类似。然后通…

【排序算法】详解直接插入排序和希尔排序原理及其性能分析

文章目录 插入排序算法原理细节分析代码实现复杂度分析:稳定性分析:与冒泡排序的对比 希尔排序算法原理细节分析代码实现复杂度分析稳定性分析 总结对比 插入排序 算法原理 插入排序又或者说直接插入排序,是一种和冒泡排序类似的并且比较简单的排序方法&#xff0c; 基本思想…

android aidl Can‘t resolve Salary问题

** 解决方法 ** 在数据aidl中写上包名&#xff0c;并且保证他的实体类也应当在与数据aidl文件相同的java类的包下 如果实例类放在aidl文件中会报一些稀奇古怪的错误&#xff0c;可以生成.java文件但是里面的实体类是不能识别的

Swagger使用

Swagger 简介 号称世界上最流行的API框架&#xff1b;Restful API 文档在线生成工具 —> API文档与API定义同步更新直接运行&#xff0c;可以在线测试 API 接口&#xff1b;支持各种语言&#xff1b;&#xff08;Java&#xff0c;PHP…&#xff09; 官网 Spring Boot 集…

BUUCTF学习(5): 命令执行Ping

1、介绍 2、解题 127.0.0.1|cat /flag 结束