前一讲python接口中提到moveit_commander 包。这个包提供了用于运动规划、笛卡尔路径计算以及拾取和放置的接口。

moveit_commander 包还包括一个命令行接口程序moveit_commander_cmdline.py. 可以通过一些简单的命令来替代编程。

1. 启动命令行工具

先打开 panda 机械臂模型

cd ARM/
cd ws_moveit/
source devel/setup.bash
roslaunch panda_moveit_config demo.launch

然后在新窗口中(可以不必切换到ws_moveit 包下)

rosrun moveit_commander moveit_commander_cmdline.py

就可以看到以下画面:

2. 使用个命令行工具

这个命令行工具可以启动move_group的一些运动示例。

首先需要指定我们要控制的规划组:

use panda_arm

这会连接到指定的move_group 结点,接下来的命令都是在这个规划组上进行的。

  • 显示当前状态

    current
  • 记录某个状态并命名

    rec init
    #相当于把当前关节记为 init
    # 显示: Remembered current joint values under the name init

    #输入vars可以显示所有命名状态。

    这就相当于前面提到过的 move_group.getCurrentState(),然后就可以通过修改关节值来进行规划。

  • 进行运动规划 (正向运动学)

    最近偶然翻阅《ROS机器人进阶实例》P309,发现这种修改关节值的方式就是正向运动学,而另一种指定目标姿态的即逆向运动学

    goal = init
    goal[1] = 0.2
    go goal

    运动后的姿态如下:

    python接口 提到过,go()是 plan + execute,所以也可以用后者替代:

    goal[0] = 0.2
    goal[1] = 0.2
    plan goal
    execute

    看起来多了一步,但可视化了规划的过程,在某些时候会派上用场,比如分析机械臂的奇异解。

更多的功能可以输入 help 来查阅。

此外,关心这些功能如何实现,可以看一看moveit_commander_cmdline.py 的源码。

最后,退出命令行工具可以输入 quit或者Ctrl+C

3. 我最关心的

这部分比较简单,就是几个命令而已。而且感觉不是很实用,我最关心的是,如何通过命令行工具的命令,快速让机械臂达到某个状态或者实现某个运动

比如我写好了一个抓取瓶子的程序,如何将其封装成一个简单的命令呢?

当然,可以给launch 文件写别名,但总感觉不如这个方便一点,可以在同窗口实现规划组的切换以及命令的切换。

ROS机械臂 Movelt 学习笔记5 | MoveIt Commander Scripting的更多相关文章

  1. ROS机械臂 Movelt 学习笔记1 | 基础准备

    环境:Ubuntu18.04 + ROS Melodic 1. 安装ROS 官网下载安装步骤:http://wiki.ros.org/melodic/Installation/Ubuntu 一键安装的 ...

  2. ROS机械臂 Movelt 学习笔记2 | Move Group 接口 C++

    Movelt为使用者提供了一个最通用且简单的接口 MoveGroupInterface 类,这个接口提供了很多控制机器人的常用基本操作,如: 设置机械臂的位姿 进行运动规划 移动机器人本体 将物品添加 ...

  3. ROS机械臂 Movelt 学习笔记4 | Move Group 接口 Python

    Python 的使用总是比 C++ 简单许多,Move Group 的 Python 接口更为便捷,也为使用者提供了很多用于操纵机器人和机械臂的函数,能够和 C++ 接口实现相同的功能: 设置机械臂的 ...

  4. ROS机械臂 Movelt 学习笔记3 | kinect360相机(v1)相关配置

    目标是做一个机械臂视觉抓取的demo,在基地里翻箱倒柜,没有找到学长所说的 d435,倒是找到了一个老古董 kinect 360. 前几天就已经在旧电脑上配置好了,现在记录在新电脑上的配置过程. 1. ...

  5. Learning ROS for Robotics Programming Second Edition学习笔记(十) indigo Gazebo rviz slam navigation

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 moveit是书的最后一章,由于对机械臂完全不知,看不懂 ...

  6. ROS学习笔记

    创建ros工作环境: mkdir -p ~/catkin_ws/src //建立项目目录,同时生成src文件夹 cd ~/catkin_ws/ //进入项目目录 catkin_make //编译项目, ...

  7. ROS连接ABB机械臂调试详细教程-ROS(indigo)和ABB RobotStudio 6.03.02-

    在ROS industrial介绍中,给出了ROS和常用机械臂的连接方式.具体信息可以参考:http://wiki.ros.org/Industrial ROS连接ABB机械臂调试详细教程-ROS(i ...

  8. Learning ROS forRobotics Programming Second Edition学习笔记(八)indigo rviz gazebo

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(七) indigo PCL xtion pro live

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS forRobotics Pro ...

随机推荐

  1. 安装Suberversion[SVN]到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 (Core) 软件版本:Suberversion-1.7.14 硬件要求:无 安装过程 1.安装YUM-EPEL源 Su ...

  2. Elasticsearch(es)介绍与安装

    ### RabbitMQ从入门到集群架构: https://zhuanlan.zhihu.com/p/375157411 可靠性高 ### Kafka从入门到精通: https://zhuanlan. ...

  3. OpenWrt 20.02.2 小米路由器3G配置CP1025网络打印

    家里的施乐 CP116w 工作快五年了终于罢工了. 黑粉报错, 自己也不会拆, 只能搁置了. 后来换了个 HP CP1025. 这个打印机也不错, 墨盒便宜没什么废粉, 就是启动慢一点, 而且 -- ...

  4. 用t-SNE进行流形学习(digits数据集)

    流行学习算法: 是一类用于可视化的算法,它允许进行更复杂的映射,通常也可以给出更好的可视化. t-SNE算法是其中一种. PCA是用于变换数据的首选方法,也可以进行可视化,但它的性质(先旋转然后减少方 ...

  5. ruoyi前后端分离版:添加新页面,不需登录也可访问

    添加QRcode页面代码 <template> <div class="register"> <el-form ref="registerF ...

  6. Kubernetes client-go DeltaFIFO 源码分析

    概述Queue 接口DeltaFIFO元素增删改 - queueActionLocked()Pop()Replace() 概述 源码版本信息 Project: kubernetes Branch: m ...

  7. 《Unix 网络编程》14:高级 I/O 函数

    高级 I/O 函数 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...

  8. python中collections.OrderedDict()

    import collections #from collections import OrderededDict my_orderDict=collections.OrderedDict(house ...

  9. 开发工具-SVG占位图片

    更新日志 2022年6月10日 初始化链接. https://toolb.cn/imageholder

  10. vue大型电商项目尚品汇(后台篇)day02

    这几天更新有点小慢,逐渐开始回归状态了.尽快把这个后台做完,要开始vue3了 3.添加修改品牌 用到组件 Dialog 对话框,其中visible.sync这个配置是修改他的显示隐藏的,label-w ...