|
【A003】花生点播机器人项目
作者:机器谱
0.1版 概念 |
1. 成品图片
2. 物料清单(不完整)
名称 | 图片 | 数量 |
一体化电机PJ-MP470/12 | ![]() | 2 |
电动夹爪爪模组 | ![]() | 1 |
单节铰链模组 | ![]() | 2 |
双节铰链模组 | ![]() | 1 |
12102基架型材130-4 | ![]() | 5 |
12116型材角件-4 | ![]() | 6 |
32401T型转接件-4 | ![]() | 3 |
32403短管12-4 | ![]() | 2 |
32404连接盘-4 | ![]() | 1 |
32425同轴输出轴心-4 | ![]() | 2 |
22203轮架顶板-4 | ![]() | 1 |
32424驱动端盖-4 | ![]() | 2 |
32421皮带轮-4(削齿) | ![]() | 1 |
32422皮带轮挡环-4 | ![]() | 1 |
3. 配套电子模块
名称 | 数量 |
电机连接线 | 4 |
通信转接板 | 1 |
typec数据线 | 1 |
Jetson Nano | 1 |
Jetson Nano 壳体 | 1 |
wifi网卡+天线 | 1 |
tf卡 | 1 |
主控制器电源 | 1 |
供电电源 | 1 |
机械爪驱动板 | 1 |
from arm_device import DoubleArm arm=DoubleArm() import numpy as np import time import math arm.enable() #机械臂使能 #初始化部分 acc_up = 2 acc_down = 2 vel_speed = 0.22 arm.write_position_traj_mode(0, vel_speed, acc_up, acc_down) arm.write_position_traj_mode(1, vel_speed, acc_up, acc_down) arm.set_stepper_vel_acc_limit(8, 3.14/2, 3.14/2 ) #设置步进电机最大速度、加速度 arm.motors[2].get_pos(0.3) arm.peanut_jump(50) arm.peanut_jump(0) arm.motors[3].get_pos(0.3) arm.motors[2].set_pos(0) arm.motors[2].set_pos(0) arm.stepper_position(1.5) arm.stepper_position_reset() arm.stepper_position(-0.8) arm.disable() #机械臂失能 from ipywidgets import interact from math import pi @interact(a1=(-pi, pi, 0.01), a2=(-pi, pi, 0.01), a3=(-2*pi, 4.0, 0.01), a4=(-2*pi, 2*pi, 0.01)) def calibrate(a1=-0.03, a2=0.22, a3=0.0, a4=0.0): arm.set_motor_pos(0, a1) arm.set_motor_pos(1, a2) arm.set_motor_pos(2, a3) arm.set_motor_pos(3, a4) arm.init() ### 读取电机速度电流限制(速度、电流) arm.read_motor_get_limits() ### 设置电机默认最大速度及最大电流(30, 10) arm.set_motor_vel_inter(30,13) arm.set_position_fliter_mode(0,4) arm.set_position_fliter_mode(1,4) ### 读取当前电机模式 arm.read_get_motor_mode() ### 读取轨迹模式参数(最大速度、加速度、减速度) arm.set_motor_get_traj_mode_params() arm.get_motor_position_message() #获取电机位置信息 arm.set_motor_get_traj_mode_params() arm.input_position_message(0,50) arm.input_position_message(0,60) arm.peanut_jump(0) arm.input_position_message(0,60) arm.input_position_message(0,48) arm.input_position_message(0,48) arm.input_position_message(0,48-2.8) |
4. 功能演示
(1)识别点播盘轮廓并模拟点播
(2)实际点播测试
5. 源代码
(1)机械臂驱动程序(arm_device.py)
(2)工作程序(peanut_arm.ipynb)
6. 资料下载
资料清单 | |
序号 | 内容 |
1 | OSR003花生点播机器人0.1版-例程 |
2 | OSR003花生点播机器人3D文件 |
点击打包下载 |
点播盘
条播盘
撒播盘
1. 项目背景
花生芽是一种新兴的健康食品,由于富含白藜芦醇,营养价值极高。花生芽是通过避光水培的方式生产的,培养及生长原理都类似于豆芽。花生芽的常见种植环境为,在完全避光、25℃恒温、自动补水的水培盘环境中生长7~9天即可收获,1千克花生(约1000颗),可收获约5千克花生芽。
2. 需求概述
本项目的工作环境是一个水培花生芽室内农场,水电便利,地面找平,网络通畅,有信息管理系统及规范的管理流程。花生种可人工添加给点播机器人,水培盘由工人负责移动,水培箱可自动定量加水。
本项目需要解决的主要问题是使用点播机器人加快花生的点播速度,并实现不间断自动点播。作业对象是花生种子和水培盘。
水培花生的点播一般采用经过恒温30℃浸种5小时后出芽的、颗粒饱满、外皮完整的花生种子。
把出芽花生按照芽冲下的方向放置到水培盘里。
常见的水培盘有点播盘、条播盘和撒播盘,花生芽水培工序一般使用点播盘或条播盘,本项目将针对点播盘进行设计。
本项目将开发一种专用的水培花生点播机器人,代替人工完成花生颗粒的方向识别和高速自动点播,从而提升种植效率。期望每天能够点播500千克——大约50万颗的花生,最终可生产约2500千克花生芽。
3. 设计目标
(1)提升工作效率
筛选点播一体化,尽可能减少工作人员的工作量,简化人员工作流程,同时机器人可以不停机连续运转。
(2)节省管理精力
设备可以支持网络接入农场原有管理系统,节省人工管理成本,也可以提供新的实时监控和工作日志,有效规避人为产生的错误和风险。
(3)降低人力成本
一次性投入的机器人可以有效地分担工作人员部分重复枯燥的工作,让现有人员可以把精力投入到更能创造价值的有效工作之中。
(4)保证较好的柔性和扩展性
设备在设计过程中不应拘泥于固定不变的工作流程中,需要做到可配置、可调试、适应性强,以满足随时可能产生变化的真实需求,保证良好的柔性和扩展性。
(5)保证可靠性
设备集成丰富的内部、外部传感器,实时监控自身工作状态和周围环境的变化,部分核心零部件适当冗余处理,保证尽可能不出错误,出现错误立即发现,发现错误立即停机上报。
(6)保证安全性
机器人在运行过程中需要保证周围协同工作的人员以及环境中物品设备的安全,从软件硬件多方面进行安全防护,运转安全高于一切工作任务。
4. 设计思路
我们将该机器人的设计分为两个主要部分:①分拣系统;② 人机交互系统。
①分拣系统是设备本体的主要构成部分,搭载了设备的控制器与核心电源电路。有一个进料仓,可以容纳经过排列方向正确的花生种,并联机械臂将花生芽摆放至点播盘的坑位内。
②人机交互系统是机器人与工作人员互动的媒介。功能上需要对作业进行计数,并在屏幕上进行显示。
5. 概念模型
机器人计划采用2自由度并联结构,该结构多用于绘图机器人,电机负载小、灵活、速度快。
6. 工作流程