机械臂运动学逆解 | 机械臂运动学笔记(二) 这是林沛群老师运动学网课的笔记,视频地址在此:https://www.bilibili.com/video/BV1oa4y1v7TY?p=5RRRRRR型手臂解的数量六个未知数,六个方程式。求解方法:解析解:代数法、几何法。2. 数值法:让电脑去代很多数字去逼近。后3轴交在一点的话就会有解析解。RRR型(2D 三轴机械臂)的IK给定末端的(x,y, ),求各轴角度()1. 几何法先将多个空间几何拆解成平面几何,解的时候只需要考虑:式2...
import torch.nn as nn 产生的 No module named ‘torch._C‘ 错误 我用pip 安装了pytorch(安装参考官网),然后可以 import torch,可是 import torch.nn as nn 的时候就一直会报这个错误: ModuleNotFoundError: No module named 'torch._C'然后我上网搜发现大家都是import torch就产生这个错误了,可我import torch的时候是正常的。当产生这个错误的时候我们要ls ./Softwares/Anacondas/envs/<env-name>/lib/pyt
期刊评价查询+机器人领域期刊排名 期刊评价解释各个评价指标:这篇博客解释了各个评价指标:https://blog.csdn.net/tinamisu/article/details/19908327不仅可以查询期刊评价而且解释各个指标:resurchify.com期刊评价查询当你知道一个期刊名称,你想查看这个期刊各个评价指标:影响因子 IF(Impact Factor) ,越高越好,查询:SCI Journal 影响因子greenSCI影响因子 (直接点开需要vpn)中科院SCI期刊分区查询:x-mol: ht
轨迹规划(一)| 机械臂运动学笔记(五) Joint space下的轨迹规划流程:先定义相对于G的initial point, via point (多个), final point,用6个参数表示(移动+转动)IK:把需求的手臂末端点姿态转换到joint space对joints 规划平滑轨迹:每个joint上做轨迹规划FK:joint space→ 手臂末端点姿态,以检查末端点在Cartesian-space下轨迹的可行性流程展示如下:Cartesian space下的轨迹规划流程:先定义相对于G的i
六轴机械臂的IK (腕姿态部分) | 机械臂运动学笔记(四) 用zyz Euler 求θ4,θ5,θ6\theta_4, \theta_5, \theta_6θ4,θ5,θ6这里zyz 是对着一个绝对的frame 依次绕zyz轴转动,而DH是按关节顺序依次相对于当前关节的frame绕z轴转动的。因此,要注意用zyz计算出来的三个角要变换成DH定义下的θ4,θ5,θ6\theta_4, \theta_5, \theta_6θ4,θ5,θ6.变换关系如下:要使它们对应上,如上图,theta4需要多转180度,这样才能使第5轴的z和zyz的y轴对应上。th
六轴机械臂的IK (平移部分) | 机械臂运动学笔记(三) 我给你们说,这部分,看视频一定要记笔记,不然根本就记不住啊,太绕了。心累。再放一次网课链接:B站 https://www.bilibili.com/video/BV1oa4y1v7TY?t=3837&p=5如果机械臂后三个轴相交在一点(这使手臂末端在指定的位置可以到达任意角度,所以常常这样设计),则轴6到0的向量和轴4到0的向量是相同的(即,xyz相同)。求各轴角度的法则就是使它们各自分离。我们把轴iii到i−1i-1i−1的变换拿出来看一下(式1),里面有四个参数 θ,α,a,d\thet
逆运动学:RRR型 2D 三轴机械臂的IK求解 | 机械臂运动学笔记(二) 任务: 给定末端的(x,y, \phi),求各轴角度(θ1,θ2,θ3\theta_1 , \theta_2, \theta_3θ1,θ2,θ3)先将多个空间几何拆解成平面几何,解x y的时候只需要考虑θ1\theta_1θ1, θ2\theta_2θ2:式2: 已知三边长,求cosθ2cos \theta_2cosθ2 ,可由式1推出(角2有正负两种选择)式4:求θ1\theta_1θ1,通过求l2l_2l2的对角(式3)式5:求θ3\theta_3θ3通过式1=式2有12
Gazebo中的平面运动 (urdf+控制器设置)及所遇见的问题 这里有个视频,介绍怎么让机器人在平面运动(在x和y方向上进行平移):https://www.youtube.com/watch?v=mtSpqObg9X4如果你们看不了视频也没关系,就下载他的代码看一下也能明白:$ git clone https://bitbucket.org/theconstructcore/plannar_mover.git$ roslaunch plannar_mover kinetic_main.launch 问题1:运动过程中上平面掉下来上面这个视频,作者提到一个问题
正运动学 | 机械臂运动学笔记(一) 网课链接: https://www.bilibili.com/video/BV1oa4y1v7TY两个转轴的相对关系的定义杆 Link i-1 两端的关节:关节i-1绕 Axis i-1 旋转, 关节i 绕 Axis i 旋转。在三维空间中一定存在一条线与两个转轴(Axis)所在的直线都垂直而且是唯一解(转轴不平行时),连接两条转轴且与两条转轴都垂直的这条线段的长度被定义为 Link length ai−1a_{i-1}ai−1 。 两个转轴之间的角度差定义为 Link twist αi−1\alp
const char* , char* 和 string的转换 从string 到 const char*的转换:参考:https://stackoverflow.com/questions/7352099/stdstring-to-charstd::string str = "string";const char *cstr = str.c_str();从string 到 char* 的转换:参考:https://stackoverflow.com/questions/7352099/stdstring-to-charstd::string str =
“URDF/COLLADA file is not a valid robot model” | moveit setup assistant 报错 可能的问题1:启动前没有source我先在一个终端 roscore然后在另一个终端输入rosrun moveit_setup_assistant moveit_setup_assistant进入moveit_setup_assistant界面后选择了一个urdf文件(也可以是xacro文件),然后弹出窗口报错: URDF/COLLADA file is not a valid robot model经过搜索发现,roscore后,在启动moveit setup assistant的终端要先在工
“error while loading shared libraries: xxx.so.x“ 错误 我装teasear++ ,根据teasear++的教程是需要 sudo make install的,正常来说这样就可以跑样例了,但我尝试运行它的example的时候出现了错误:error while loading shared libraries: libmpc.so参考: https://blog.csdn.net/sahusoft/article/details/7388617我先$ find -name libpmc.so找到了 libpmc.so 的位置,然后e
神经网络 CNN相关 CNN:主要用来提取特征的,可以用于图像的检测、识别。大致原理就是拿卷积核(比如说一个3*3的小块)和图片逐块卷积,这个卷积核就是我们要学习的参数,因为要识别图片的特定物体就是要先识别到特征,学习这个卷积核就相当于学习了我们要提取的是什么特征。然后卷积还常常和池化(Pooling)结合。具体介绍参考:https://datawhalechina.github.io/leeml-notes/#/chapter21/chapter21对于图像识别,常用的几个CNN模型:AlexNet、VGG、.
统计难题 用STL map的做法 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1251这道题,大概经典做法是字典树做法吧。不过话说,这个map做法实在是非常取巧,我听到这种做法的时候都忍不住笑出声来。就是空间换取时间的做法,直接O(1),就是每个单词都按它前几个字母作为即将被询问的字符串存成map的索引,然后计数。代码一看就懂:#include"stdio.h"#include<string>#include"string.h"#include<
ROS 深度图 16位和32位的区别和转换 (Python) 32位深度图和16位深度图的区别:有的小朋友想用image_viewer看深度图:rosrun image_view image_view image:=/camera/depth/image_raw对于32位的深度图是可以看的,对于16位的深度图会报错,说不是"bgr8"格式的。"bgr8"格式是color image的格式。下面,我们用一段代码来说明16位和32位的深度图的ros topic分别怎么接收,并且怎么把32位的深度图转换成16位的。import sysim..
PluginlibFactory: The plugin for class Submaps failed to load. This error happened when run cartographer with velodyne in 3D:[ERROR] [1591174235.117906145]: PluginlibFactory: The plugin for class 'Submaps' failed to load. Error: According to the loaded plugin descriptions the class Submaps with base class type rviz.
apt安装的时候一直有依赖说没装 错误描述昨天忘了为了修复什么问题,手贱点了 源更新-“Other Softwar”那里取消了很多东西。也不知道是不是这个原因,然后装 $ sudo apt install ros-kinetic-fetch-gazebo*的时候就报有个dependence package ros-kinetic-fetch-navigation没装,我就手动安装了一下,此时又说 ros-kinetic-map-...
rosdep update 错误 温馨提示:如果前面的方法都不奏效,请一定看到最后。错误情况是我在装ros-kinetic,(http://wiki.ros.org/kinetic/Installation/Ubuntu),执行到sudo rosdep init忽然出现错误:ERROR: cannot download default sources list from:https://raw.githubuser...
gdb使用快速手册 (Linux debug 神器) 使用gdb调试的必要性说实话,我平时都是用CLion编辑和调试代码的,但是CLion超级占内存的,程序还没跑内存一半先没了。。所以,用轻便的工具调试程序就变得超级必要——那就是gdb,可以打断点、单步调试、中途输出变量、回溯错误等,而且几乎不占什么内存。假装我有个程序这里我假设写了个图片处理程序(假设是 src/test.cpp),然后用CMakeList.txt配置并且把这个程序编译...