《动手学Moveit2-探索篇2》使用键盘控制机械臂|Moveit2实时伺服模式探索|Realtime Arm Servoing

57 篇文章 48 订阅
6 篇文章 52 订阅

学习更多机器人技术,请关注小鱼的微信公众号:《鱼香ROS》

大家好,我是小鱼.上一次写了如何安装ROS2和使用moveit2实例的教程,今天我们接着探索探索Moveit2,小鱼就断断续续的探索一下ROS2+Moveit2,先在CSDN上写写博客,后面会整理出来详细的学习笔记,供大家参考学习.

一、效果演示

废话不多说,先看效果,注意哈,食品中是使用遥控器,我们使用键盘就可以了,因为懒得录制键盘的,就用官方的遥控器版本代替下

使用键盘控制机械臂

二、实时伺服介绍

2.1实时伺服介绍

通过MoveIt2的伺服模式,可以直接控制机械臂末端的在笛卡尔空间的位置,也可以直接操控机械臂的关节正转和反转。

小伙伴肯定会问,我如果一不小心控制机械臂撞到自己,会不会机毁人亡,MoveIt2肯定不会那么沙雕,所以其伺服节点已经对奇异点和机械臂的碰撞作了检测,可以防止操作人员搞坏机器人。

2.2 键盘控制节点

键盘控制机械臂的意思是,我们能够通过键盘进行以下两种模式的控制:

  • 笛卡尔模式

    使用W和E切换机械臂的世界坐标系或末端,使用箭头控制前后左右运动,使用.;控制上下运动

  • 关节模式
    关节模式是通过,1、2、3、4、5、6、7来控制关节转动,使用R来切换转动的方向

三、动手操作

3.1 前提工作

完成上一节:动手学Moveit2第一篇,Ubuntu20安装ROS2和Moveit2

3.1.1 坑之回退大法

这里有个坑哈,Moveit2的moveit2_tutorials,而且把本来能用的给搞成了不能用的,所以请看本教程的同学把代码回退到小鱼指定的分支,使用下面的指令

git reset 59cf8c49bb309e2bb7f06e295f87efa36f8bb506 --hard

3.2 原理介绍

原理其实很简单,我们通过键盘节点发送数据给moveit的控制节点,从而控制机械臂。有兴趣的小伙伴可以看源码:

https://github.dev/ros-planning/moveit2/blob/main/moveit_ros/moveit_servo/src/teleop_demo/joystick_servo_example.cpp

控制关系

3.3运行服务端

进入上一讲的工作空间
启动服务端,接受键盘控制指令

ros2 launch moveit2_tutorials servo_teleop.launch.py 

服务端启动完成应该可以看到这样的界面

RVIZ中的机械臂

启动键盘控制节点

ros2 run moveit2_tutorials servo_keyboard_input

启动键盘控制节点

3.4 开始享受

使用W和E切换机械臂的世界坐标系或末端,使用箭头控制前后左右运动,使用.;控制上下运动。关节模式是通过,1、2、3、4、5、6、7来控制关节转动,使用R来切换转动的方向。

最后

这是探索Moveit2的第二篇文章,坑还是太多了,建议小伙伴如非必须,先学习着Moveit。今天就探索到这里,我是小鱼,目前在做公众号和ROS2课程,欢迎关注《鱼香ROS》

参考链接

  • http://moveit2_tutorials.picknik.ai/doc/realtime_servo/realtime_servo_tutorial.html?highlight=ros2
  • https://github.dev/ros-planning/moveit2/blob/main/moveit_ros/moveit_servo/src/teleop_demo/joystick_servo_example.cpp
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值