ROS笔记(35) 笛卡尔运动规划

本文介绍了ROS中的笛卡尔运动规划,包括启动轨迹可视化、运动规划、代码解析和实际应用。通过示例展示了如何实现机械臂沿直线或圆弧轨迹运动,并解释了waypoints和规划API的关键点。
摘要由CSDN通过智能技术生成


1. 笛卡尔运动规划

而在ROS笔记(34) 工作空间规划 中的运动规划并没有对机器人终端轨迹有任何约束
目标位资给定后,可以通过运动学反解获得关节空间下的各轴弧度
接下来的规划和运动依然在关节空间中完成

但是在很多应用场景中,不仅关心机械臂的起始、终止位姿,对运动过程中的位姿也有要求
比如希望机器人终端能够走出一条直线或圆弧轨迹
Movelt!同样提供笛卡尔运动规划的接口

笛卡尔何许人也?
人可能不认识,但他的哲学命题“我思故我在”一定听说过
不会哲学的数学家和物理学家,不是一个好的神学家
所运用的是笛卡尔坐标系,就是直角坐标系和斜坐标系的统称


2. 启动轨迹可视化机械臂

hharm_planning功能包中创建一个arm_planning_with_trail.launch文件启动所需要的各种节点并且可视化终端轨迹
内容与arm_planning.launch的几乎一致,只是修改了rviz启动文件
添加了终端轨迹的可视化显示设置,可以更方便地对比运动效果

<!-- 启动rviz可视化界面 -->
  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 29
    评论
以下是使用Python实现的ROS Noetic中MoveIt的笛卡尔路径规划函数示例: ```python import rospy import moveit_commander import moveit_msgs.msg from geometry_msgs.msg import Pose, Point, Quaternion def cartesian_path_planning(): # 初始化MoveIt moveit_commander.roscpp_initialize(sys.argv) rospy.init_node('cartesian_path_planning', anonymous=True) robot = moveit_commander.RobotCommander() scene = moveit_commander.PlanningSceneInterface() group_name = "manipulator" move_group = moveit_commander.MoveGroupCommander(group_name) # 设置笛卡尔路径规划的目标点 waypoints = [] wpose = move_group.get_current_pose().pose wpose.position.x += 0.1 wpose.position.y += 0.1 waypoints.append(copy.deepcopy(wpose)) wpose.position.z += 0.1 waypoints.append(copy.deepcopy(wpose)) wpose.position.y -= 0.1 waypoints.append(copy.deepcopy(wpose)) # 设置笛卡尔路径规划的约束条件 (plan, fraction) = move_group.compute_cartesian_path( waypoints, # waypoint poses 0.01, # eef_step 0.0) # jump_threshold # 执行笛卡尔路径规划 move_group.execute(plan, wait=True) move_group.stop() move_group.clear_pose_targets() # 关闭MoveIt moveit_commander.roscpp_shutdown() moveit_commander.os._exit(0) ``` 在这个函数中,我们首先初始化MoveIt和ROS节点。接下来,我们设置了三个目标点,并在每个目标点之间设置了一些笛卡尔轨迹。然后,我们调用`compute_cartesian_path()`函数计算笛卡尔路径。最后,我们执行笛卡尔路径规划并关闭MoveIt和ROS节点。 请注意,这只是一个示例函数,你需要根据你的实际情况来修改代码。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

氢键H-H

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值