最新文章机械臂的路径规划
路径规划基本概念机械臂视觉操作流程 = 手眼标定 + 目标识别与定位 + 操作姿态分析 + 运动规划 = 手眼标定 + 深度学习 + 运动规划
手眼标定
作用: 获得机器人坐标系和相机坐标系的关系效果: 目前可达到误差在土5mm
运动规划
作用: 到达算法指定位置和姿态路径规划: 从当前位置到期望位置规划一条无碰撞轨迹
路径规划在机械臂领域所处的位置–框架设计
视觉:相机数据–》点云生成–》姿态预测–》手眼标定
规划:碰撞检测 路径规划
控制:上位机通讯 执行轨迹
区分路径规划、轨迹规划与运动规划
路径规划(path planning):规划的是路径点,即机器人从起始点运动到目标点的路线,它规划的结果不包含时间信息。
轨迹规划(trajectory planning):规划的是轨迹,即机器人何时、以何种速度到达某路径点,如机械臂各关节角度随时间变化的关系,它规划的结果是包含时间信息的。
运动规划(motion planning):概念更加宽泛,可以近似理解为等于路径规划+轨迹规划。
算法类型
具体算法
是否完备
是否最优
基于搜索
Dijks ...
ROS1-Noetic学习指南
ROS基础配置准备工作创建工作空间并初始化123mkdir -p 自定义空间名称/srccd 自定义空间名称catkin_make
首先会创建一个工作空间以及一个 src 子目录,然后再进入工作空间调用 catkin_make 命令编译
进入src创建ros包并添加依赖12cd srccatkin_create_pkg 自定义ROS包名 roscpp rospy std_msgs
在工作空间下生成一个功能包,该功能包依赖于 roscpp、rospy 与 std_msgs,其中roscpp是使用C++实现的库,而rospy则是使用python实现的库,std_msgs是标准消息库,创建ROS功能包时,一般都会依赖这三个库实现
HelloWorld(C++版)进入 ros 包的 src 目录编辑源文件1cd 自定义的包
C++源码实现(文件名自定义)
12345678910111213#include "ros/ros.h"int main(int argc, char *argv[]){ //执行 ros 节点初始化 ros::init(a ...
Nav2导航篇
SLAM建图SLAM前世今生要解决机器人自主导航问题就需要有感知(建图和定位)参与,通过感知输出机器人当前环境的地图信息和位置。
SLAM是什么SLAM是同步定位与地图构建(Simultaneous Localization And Mapping)的缩写。
SLAM如何解决建图定位问题机器人通过自身传感器数据处理进行位置估计,同时通过不断移动完成对整个未知环境的地图构建。这就是SLAM解决的问题。
那又是如何解决的呢?SLAM实现的方案很多,但是几个比较关键的技术如下:
传感器感知 通过各类传感器实现对环境的感知,比如通过激光雷达获取环境的深度信息。同时可以通过传感器融合来提高位置估计的精度,比如融合轮式里程计、IMU、雷达、深度相机数据等。
视觉/激光里程计 基本原理是通过前后数据之间对比得出机器人位置的变化。
回环检测 判断机器人是否到达之前到过的位置,可以解决位置估计误差问题,建图时可以纠正地图误差。
经典视觉SLAM结构
SLAM算法分类从算法的对数据的处理方式上看,目前常用的SLAM开源算法可以分为两类
基于滤波,比如扩展卡尔曼滤波(EKF: Ext ...
Gazebo机器人仿真应用
机器人仿真介绍为什么需要机器人仿真所谓机器人仿真其实就是通过软件来模仿硬件的特性,用于验证机器人算法、架构等。
原因在于:
仿真可以解决真机资源不足,真实的机器人一般价格都很贵,搭建起来也很耗费资源。
仿真可以保证环境的一致和稳定,举个例子,之前小鱼在部署导航系统时发现在A机器人上没问题,但在B机器人上老是丢位置,明明算法是一致的,后来发现是B机器人的IMU模块出现了松动。
仿真场景可以更加灵活,在测试机器人算法时可以通过仿真软件快速更改仿真环境,验证算法(甚至还可以让机器人原地起飞)
仿真有哪些缺点
之前听一位做机械臂动力学的朋友说,他们做研发时候从来没做过仿真,原因在于仿真环境中的机器人和真实环境机器人差别过大。
所以机器人仿真的主要缺陷就是仿真不全,现实世界中的环境非常复杂,光线、材质、电磁干扰等等,仿真平台无法做到100%的仿真。
常用仿真平台Gazebo
官网链接:https://www.cyberbotics.com/
Gazebo是ROS中常用的机器人仿真平台,也是OSRF(开源机器人基金会)的作品之一
WeBots
官网链接:https://www.cyb ...
URDF创建简单的机器人模型
URDF统一机器人建模语言URDF(Unified Robot Description Format)统一机器人描述格式,URDF使用XML格式描述机器人文件。
XML是 被设计用来传输和存储数据的可扩展标记语言,注意语言本身是没有含义的,只是规定了其数据格式
比如说下面这段信息:
12345<robot name="阿童木"><link name="大手臂">具体的描述</link><joint name="胳膊肘">具体的描述</joint><link name="小手臂">具体的描述</link></robot>
在线代码格式化
XML格式注释: 标签: robot link
robot标签的属性 name: <robot name="fishbot"></robot>
robot标签的子标签 link: <robot name="fishbot ...
MINI机械臂舵机控制
舵机介绍舵机是一种位置伺服的电机,与马达不同,我们需要马达提供的是旋转,控制的是转速和方向。而舵机不需要整圈的旋转,需要的是旋转角度并维持住。一般舵机旋转的角度范围是 0 度到 180 度。舵机引线为 3 线,分别用棕、红、橙三种颜色进行区分,舵机品牌和生产厂家不同,会有些许差异,使用之前需查看资料。我们使用的是最常见的舵机,棕、红、橙分别对应“电源负极,电源正极,控制信号”
通过向舵机的信号线发送电平时序信号来控制舵机的转动位置
SG90:
MG996R与MG90S:
0.5ms————–0度; 2.5% (0.5ms高电平 + 19.5低电平)
1.0ms————45度; 5.0% (1.0ms高电平 + 19.0低电平)
1.5ms————90度; 7.5% (1.5ms高电平 + 18.5低电平)
2.0ms———–135度;10% (2.0ms高电平 + 18.0低电平)
2.5ms———–180度;12.5%(2.5ms高电平 + 17.5低电平)
舵机的控制周期通常为20毫秒、50Hz的频率,但是许多舵机在 40 至 200 Hz的范围内都能正常工作。
12345 ...
STM32+ESP8266-小白物联网智能家居项目
物联网demo
物料清单
STM32C8T6(进口)
ESP826601S
DHT11
0.96OLEDIIC
按键 4P 665 直插
下载器:ST-LINK
PCB设计onenet-show工程
初始化代码
选择芯片 STM32F103C8
Define 高等容量 STM32F10X_MD, USE_STDPERIPH_DRIVER
报错
error: L6235E: More than one section matches selector - cannot all be FIRST/LAST.
原因:项目中同时包含以下启动文件,
startup_stm32f10x_hd.s
startup_stm32f10x_md.s
startup_stm32f10x_ld.s
......
应该针对不同的CPU选择不同的启动文件。
解决办法1:从项目中删除不相关的启动文件
解决办法2:右击不相关的启动文件,点击 options for file ‘startup_stm32f10x_md.s’…
在弹出的对话框中的properties页,勾去灰化的 ...
【JS】是没有上限的---星辰宇宙
展示复制代码到本地,打开即可
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719 ...
Flask框架从入门到精通
Flaks完整框架流程图解
Flask请求响应12345678910111213141516# 导入模块from flask import Flask,jsonifyfrom flask import views from flask import Flaskfrom flask import requestfrom flask import render_templatefrom flask import redirectfrom flask import make_responseapp = Flask(__name__)app.debug=True@app.route('/login.html', methods=['GET', "POST"])def login():
请求相关信息123456789101112131415161718192021request.method # 提交的方法print(request.args.get('name')) # get请求提交的数据---G ...
2024人形机器人产业链白皮书
说说人形机器人是一种具有与人类相似外形和运动能力的机器人。它集机械、电子、控制、计算机、人工智能等多学科技术于一体,是机器人技术发展的高级阶段。
历史发展人形机器人的发展可以追溯到20世纪60年代。当时,美国科学家约瑟夫·恩格尔伯格提出了“机器人三定律”,为人形机器人的发展奠定了理论基础。
20世纪70年代,日本早稻田大学研制出世界上第一台人形机器人WABOT-1。这台机器人身高1.8米,重80公斤,能够行走、说话和识别简单指令。
20世纪80年代,美国麻省理工学院研制出能够在楼梯上行走的人形机器人K-1。这台机器人身高1.7米,重100公斤,能够在复杂环境中行走和避障。
20世纪90年代,日本本田公司研制出人形机器人ASIMO。这台机器人身高1.3米,重50公斤,能够进行跑步、跳跃和踢腿等动作。
21世纪以来,人形机器人技术取得了快速发展。美国波士顿动力公司研制出Atlas、Spot等人形机器人,能够在复杂地形上行走、跳跃和翻滚。中国也加大了人形机器人研发力度,推出了“佳人”、“悟空”、“铁甲钢拳”等人形机器人。
技术特点人形机器人具有以下技术特点:
仿人结构:人形机器人具有与人类 ...