
UR5机械臂Moveit避障简易实战
文章平均质量分 84
从零开始机械臂ros避障
配环境的帕鲁
这个作者很懒,什么都没留下…
展开
-
【UR5机械臂Moveit避障】【1】准备工作/任务介绍
正所谓无用之用,方为大用,我写这个专栏最大的目的就是想让后来人看了我的教程之后不需要再反复看不同帖子试错(免费那是当然的),可以节约时间下来做自己的研究,这不是很好嘛。所以我这个教程虽然会在本帖子最下面附上我的ros包,但是在教程中我会只下载源码然后手把手的修改,这样小伙伴们在使用不同的硬件,比如在使用ur5e,ur3,ur10或者不同的深度相机的时候也会同样的修改方式从而清楚地解决问题。前者优点是快,简单,不易出错,缺点是后续无法修改其中的内容,而后者在修改之后可以再编译一次从而完成修改。原创 2024-05-29 11:23:22 · 2165 阅读 · 1 评论 -
【UR5机械臂Moveit避障】【2-3】kinectv2相机消除畸变
计算好之后能看见当前目录下会有cail_color.yaml,里面也有data(运行record节点的时候里面也会有这个yaml文件,但是全是0)注意打印后的大小,具体的图片在iai_kinect2/kinect2_calibration/patterns。我打印的是5x7的棋盘格。由于kinect2是红外获得深度点云的,之前ir已经获得了,所以这里只需要计算就可以了。差不多记录20张后ctrl c 退出,再运行计算畸变的节点。在保存的地方,先运行第一个记录图像的节点。一样,会有cail_ir.yaml。原创 2024-05-29 13:28:58 · 490 阅读 · 0 评论 -
【UR5机械臂Moveit避障】【2-2】kinect v2驱动以及ros包简易安装+cuda简易安装
在usb3.0的问题上卡了我整整一天,除了重装usb驱动等软件层面的尝试,我甚至买了pciex1带4口usb3.0的扩展板,但是主板不行就是不行,所以小伙伴如果发现自己的usb有蓝色口,lsusb也有root_hub3.0,但是插上去就变成2.0的情况,请换其他电脑试试,不要想着装啥usb驱动或者改bios设置或者物理外接usb3.0,我都试过了,没用(小概率事件,我是因为主板太老,之后也是还一个新主板解决的)。消除畸变参考我的另一篇文章,链接(我做了消除畸变之后对相机标定的效果改善不明显)。原创 2024-05-29 13:21:28 · 1611 阅读 · 5 评论 -
【UR5机械臂Moveit避障】【4】UR5和kinectv2/realsense手眼标定(眼在手外)
我这里是眼在手外,也就是相机在固定位置,如下图所示。把frame改为base,添加点云话题,就可以看见标定成功,至于说有点偏差,那是正常的,因为这种传统的手眼标定会有一系列的多种误差累积,觉得差的可以寻找新式的标定方法(本帖末尾会给出我找到的方法),现在有点偏差,到时候建包围盒建大一点就行。reference_frame和camera_frame,填相机rgb的frame,一般在rviz测试相机的时候可以看到除了xxx_link以外还有其他frame,填带有rgb,color的关于彩色的frame。原创 2024-05-29 14:02:45 · 3142 阅读 · 9 评论 -
【UR5机械臂Moveit避障】【6】过滤点云中UR5机械臂的部分(包围盒/滤波)【完结】
第二行active可以修改开启关闭,第三行negative可以选保留盒外还是盒里的点云,如下图就是negative开启时候的机械臂点云。这个robot_body_filter包确实可以根据urdf模型和坐标系过滤掉特定形状的点云,但是经过实测和作者视频中的展示,发现实时性不够,所以还是转头使用pcl的各种简单滤波吧,尝试解决过,但是摸索了一上午,放弃了。这个launch中,主要是把input改为相机的点云话题,output理论上可以自己定,我这里改为原points/filtered。原创 2024-05-29 14:16:22 · 2193 阅读 · 12 评论 -
【UR5机械臂Moveit避障】【5】在可以用moveit驱动机械臂的基础上添加octomap
我这里是眼在手外,也就是相机在固定位置,如下图所示。把frame改为base,添加点云话题,就可以看见标定成功,至于说有点偏差,那是正常的,因为这种传统的手眼标定会有一系列的多种误差累积,觉得差的可以寻找新式的标定方法(本帖末尾会给出我找到的方法),现在有点偏差,到时候建包围盒建大一点就行。reference_frame和camera_frame,填相机rgb的frame,一般在rviz测试相机的时候可以看到除了xxx_link以外还有其他frame,填带有rgb,color的关于彩色的frame。原创 2024-05-29 14:07:31 · 1795 阅读 · 6 评论 -
【UR5机械臂Moveit避障】【番外】kinectv2内参标定depth时报错Input argument is not a valid matrix in function ‘cvRodrigue
在kinect2_calibration.cpp的1096行添加一段。保存后再把自己的工作空间编译一下。原创 2024-05-29 13:31:45 · 357 阅读 · 0 评论 -
【UR5机械臂Moveit避障】【3】使用ros驱动真实UR5机械臂(直接驱动或使用moveit)
这里注意,如果后续要在moveit的ompl中添加自己的算法,可以编译安装moveit,我这里不涉及修改,所以moveit就使用二进制安装了(后续修改可以随时sudo apt-get remove moveit卸载并重新使用下载编译进行安装)。Plan()+execuate()和go()的功能差不多,只是后面我们要添加传感器部分,execuate()我试下来遇到障碍物好像不会中间停下来,所以我之后还是用go()。在示教器上,安装设置左边-程序-点击下面的播放(启动),这时应该不会有报错。原创 2024-05-29 13:48:28 · 3383 阅读 · 4 评论 -
【UR5机械臂Moveit避障】【2-1】realsense d435i驱动以及ros包简易安装
由于我只用了点云,所以消除畸变啥的没做,问就是懒(后续tips:内参标定做了之后该歪还是歪,白搞)。之后就是准备相机标定了。安装librealsense2库。Apt安装的ros包在系统中位置。还是懒人版apt安装。原创 2024-05-29 11:33:46 · 1258 阅读 · 3 评论 -
【UR5机械臂Moveit避障】【番外】驱动ur5机械臂时controller is not running解决办法
这个时候需要在面板上点击那个方块停止程序,然后再开。不能像刚才那样关掉bringup却不关external control。也不可以点击暂停,重开终端后再开,这样也是无效的。(external control可以反复关掉再开)在使用external control控制ur5机械臂的时候,一开始使用三终端。是可以驱动机器人的,但是在关掉终端后再重复相同命令时候显示执行failed。原创 2024-05-29 14:17:57 · 512 阅读 · 0 评论