ROS机械臂 Movelt 学习笔记5 | MoveIt Commander Scripting
2022/8/11 23:30:39
本文主要是介绍ROS机械臂 Movelt 学习笔记5 | MoveIt Commander Scripting,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前一讲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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25TypeScript基础知识详解
- 2024-12-25安卓NDK 是什么?-icode9专业技术文章分享
- 2024-12-25caddy 可以定义日志到 文件吗?-icode9专业技术文章分享
- 2024-12-25wordfence如何设置密码规则?-icode9专业技术文章分享
- 2024-12-25有哪些方法可以实现 DLL 文件路径的管理?-icode9专业技术文章分享
- 2024-12-25错误信息 "At least one element in the source array could not be cast down to the destination array-icode9专业技术文章分享
- 2024-12-25'flutter' 不是内部或外部命令,也不是可运行的程序 或批处理文件。错误信息提示什么意思?-icode9专业技术文章分享
- 2024-12-25flutter项目 as提示Cannot resolve symbol 'embedding'提示什么意思?-icode9专业技术文章分享
- 2024-12-24怎么切换 Git 项目的远程仓库地址?-icode9专业技术文章分享
- 2024-12-24怎么更改 Git 远程仓库的名称?-icode9专业技术文章分享