【从零开始的ROS四轴机械臂控制】(一)- 实际模型制作、Solidworks文件转urdf与rviz仿真 is a project mainly written in , based on the .前记: 之前学习了很多关于ROS的知识,现在想自己制作一个四轴器械臂来练练手。所以就定为arm0.1版本,使用MG90s舵机来搭建一个四轴机械臂。arm0.1版本的目标是对不同颜色的方块进行分类并在Gazebo中模拟出来。 在未来计划的arm1.0版本中,计划使用步进电机来搭建六轴机械臂,使用上RL,实现人机交互,希望能在下个学期...
Udacity机器人软件工程师课程笔记(三十) - 语义分割与实例实现 - 使用keras实现语义分割 is a project mainly written in , based on the .语义分割 1.语义分割介绍 计算机视觉与机器学习研究者对图像语义分割问题越来越感兴趣。越来越多的应用场景需要精确且高效的分割技术,如自动驾驶、室内导航、甚至虚拟现实与增强现实等。这个需求与视觉相关的各个领域及应用场景下的深度学习技术的发展相符合,包括语义分割及场景理解等… 更多可以参考语义分割概述. 在这个项目中,我们将...
【从零开始的ROS四轴机械臂控制】(二) - ROS与Gazebo连接,Gazebo仿真及urdf文件修改 is a project mainly written in , based on the .【从零开始的ROS四轴机械臂控制(二)】四、urdf文件及gazebo仿真1.simple_arm示例(1)config文件夹(2)launch文件夹(3)meshes文件夹(4)urdf文件夹(5)worlds文件夹(6)文件间联系2.根据simple_arm示例改进arm0文件夹(1)urdf文件夹①arm1.gazebo.xac...
【从零开始的ROS四轴机械臂控制】(四)- ros、gazebo与opencv,图像处理节点 is a project mainly written in , based on the .【从零开始的ROS四轴机械臂控制(四)】七、图像处理节点1.节点功能与实现方法2.iamge_process 相关程序部分程序解释3.节点运行与测试...
【从零开始的ROS四轴机械臂控制】(三) - 为机械臂添加摄像头和夹爪、解决gazebo模型抖动、使用gazebo建立sdf模型 is a project mainly written in , based on the .【从零开始的ROS四轴机械臂控制(三)】五、在gazebo中添加摄像头1.修改arm1.gazebo.xacro文件2.修改arm1.urdf.xacro文件3.查看摄像头图像六、为模型添加夹爪(Gripper)1.通过solidworks建立模型2.将夹爪添加进gazebo(1)模型导入(2)更改urdf文件夹3.gazebo模型抖...
【从零开始的ROS四轴机械臂控制】(五)- 构建运动控制服务 is a project mainly written in , based on the .【从零开始的ROS四轴机械臂控制(五)】八、运动控制节点1.定义服务GoToPosition.srv2.修改CMakeLists.txt3.修改package.xml4.构建包5.arm_mover节点代码6.Arm Mover的启动和互动(1)修改gazebo.launch(2)测试arm_mover服务...
【从零开始的ROS四轴机械臂控制】(六)- 逻辑控制节点 is a project mainly written in , based on the .【从零开始的ROS四轴机械臂控制(六)】九、逻辑控制节点1.运动控制方法(1)逆向运动学(2)反馈控制2.各节点之间的联系3.相关程序(1)img_process节点(2)arm_command节点4.运行程序...
【从零开始的ROS四轴机械臂控制】(七)- ROS与arduino连接 is a project mainly written in , based on the .从零开始的ROS四轴机械臂控制(七)十、ROS与arduino连接1.虚拟机与arduino的连接(1)arduino连接与IDE(2)PCA9685模块支持与测试2.ROS与arduino连接测试(1)Arduino安装rosserial(2)rosserial测试3.ROS与arduino连接(1)ros2ard节点(2)arm_...
Udacity机器人软件工程师课程笔记(三十二) - 卡尔曼滤波器 - 一维卡尔曼滤波器 - 多维卡尔曼滤波器 - 拓展卡尔曼滤波器� is a project mainly written in , based on the .卡尔曼滤波器一、概述二、一维高斯分布均值和方差三、一维卡尔曼滤波器变量命名约定卡尔曼滤波循环1.测量值更新(1)平均值计算(2)程序实现2.位置预测位置预测公式3.一维卡尔曼滤波器四、多维高斯分布多元高斯公式五、多维卡尔曼滤波器1.多维KF简介传感器测量完美的情况传感器产生完全不确定数据2.多维KF设计(1)状态转换(2)测量校正(3...
从零开始的ROS四轴机械臂控制-目录 is a project mainly written in , based on the .【从零开始的ROS四轴机械臂控制】(一)- 实际模型制作、Solidworks文件转urdf与rviz仿真 一、模型制作 1.实际模型制作 2.Solidworks模型制作 二、Solidworks文件转urdf 1.sw_urdf_exporter插件 2.添加坐标系和转轴 3.导出urdf文件 三、rivz仿真...
Udacity机器人软件工程师课程笔记(三十三) - 蒙特卡洛定位算法(MCL) is a project mainly written in , based on the .一、概述 之前的文章介绍过卡尔曼滤波算法进行定位,我们知道kalman算法适合用于线性的高斯分布的状态环境中,我们也介绍了EKF,来解决在非高斯和非线性环境下的机器人定位算法。但是他们在现实应用中存在计算量,内存消耗上不是很高效。这就引出了MCL算法。 粒子滤波很粗浅的说就是一开始在地图空间很均匀的撒一把粒子,然后通过获取机器人的...
Udacity机器人软件工程师课程笔记(三十五) - SLAM - 基于网格的FastSLAM is a project mainly written in , based on the .一.SLAM介绍 即使定位和建图问题(simultaneous localization and mapping),一般简称为SLAM, 也称作(Concurrent Mapping and Localization, CML)。当机器人没有环境地图或者不清楚自身的位置时就会产生SLAM问题。机器人所具有的信息就只有历次测量值z1:...
Udacity机器人软件工程师课程笔记(三十六) - GraphSLAM is a project mainly written in , based on the .一、引入 GraphSLAM是解决完整的slam问题的slam算法。这意味着该算法将恢复整个路径和地图,而不仅仅是最近的姿势和地图。这种差异使它可以考虑当前姿势与先前姿势之间的依赖性。适用于我们的GraphSLAM的一个示例是地下采矿。每天都用在钻孔机上的大型机器在岩壁上切割。环境瞬息万变,保持正确的工作空间图非常重要。映射此空间的...
【SLAM建图和导航仿真实例】(一)- 模型构建 is a project mainly written in , based on the .引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 由于之前的虚拟机性能限制,我在这个项目中使用了新的ubantu 16.04环境,虚拟机配置 内存 8GCPU...
【SLAM建图和导航仿真实例】(三)- 使用RTAB-MAP进行SLAM建图和导航 is a project mainly written in , based on the .引言 在这个-SLAM建图和导航仿真实例-项目中,主要分为三个部分,分别是 (一)模型构建(二)根据已知地图进行定位和导航(三)使用RTAB-MAP进行建图和导航 该项目的slam_bot已经上传我的Github。 这是第三部分,完成效果如下 图1 建图和导航 三、使用RTAB-Map进行建图和导航 1. rtab...
强化学习(一)- 强化学习介绍、Markov决策过程和贝尔曼期望方程 is a project mainly written in , based on the .强化学习(英语:Reinforcement learning,简称RL)是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期,产生能获得最大利益的习惯性行为。这个方法具有普适性,因此在其他许多领域都有研究,例如博弈...
强化学习(二)- 动态规划(Dynamic Programming) is a project mainly written in , based on the .3.动态规划 3.1 介绍 术语动态规划(DP:Dynamic Programming) 指的是一个算法集合,可以用来计算最优策略,给定一个完美的环境模型,作为马尔可夫决策过程(MDP)。经典的DP算法在强化学习中的应用有限,因为它们的假设是一个完美的模型,而且计算量大,但它们仍然具有重要的理论意义。DP为理解其余部分中介绍的方法...
强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例 is a project mainly written in , based on the .强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例 1. 引言 在这个部分补充之前马尔科夫决策和动态规划部分的代码。在以后的内容我会把相关代码都附到相关内容的后面。本部分代码和将来的代码会参考《深度强化学习原理与python实现》与Udacity的课程《Reinforcement Learning》...
强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例 is a project mainly written in , based on the .强化学习(四) - 蒙特卡洛方法(Monte Carlo Methods)及实例4. 蒙特卡洛方法4.1 蒙特卡洛预测例4.1:Blackjack(21点)4.2 动作价值的蒙特卡洛估计4.3 Monte Carlo 控制例4.2: 21点的解法4.4 蒙特卡洛控制的无探索启动4.5 通过重要性采样进行Off-policy预测4.6...
强化学习(五) - 时序差分学习(Temporal-Difference Learning)及其实例----Sarsa算法, Q学习, 期望Sarsa算法 is a project mainly written in , based on the .强化学习(五) - 时序差分学习(Temporal-Difference Learning)及其实例5.1 TD预测例5.1 回家时间的估计5.2 TD预测方法的优势例5.2 随机移动5.3 TD(0)最优性例5.3:批量更新下的随机行走例5.4: You are the Predictor5.4 Sarsa:策略 TD控制例 5.5...