ROS Moveit!让机械臂移动到某个位置可以使用正运动学或者逆运动学的方式:
正运动学(FK)
①首先,如果想要运动,要初始化move_group的api
moveit_commander.roscpp_initialize(sys.argv)
②之后初始化ROS的节点
rospy.init_node('moveit_fk_demo', anonymous=True)
③之后就是初始化机械臂中自己分的组
arm = moveit_commander.MoveGroupCommander('arm')
gripper = moveit_commander.MoveGroupCommander('gripper')
这括号里面的‘arm’是在ros moveit里面的moveit_setup_assistant里面就设置好了,需要完全按照这个名字进行填写,如果忘记了可以参照_moveit_config里面的config文件中的arm.srdf文件中的这个标签进行设置
④设置允许(容忍的)的误差值
# 设置机械臂和夹爪的允许误差值
arm.set_goal_joint_tolerance(0.001)
gripper.set_goal_joint_tolerance(0.001)
⑤控制机械臂运动
可以根据自己在moveit_setup_assistant设置的来进行操作,比如我设置了’home’,可以在代码这样写
arm.set_named_target('home')
arm.go

本文详细介绍了如何使用ROSMoveit!库通过正运动学和逆运动学方式控制机械臂移动,包括初始化API、设置误差值、指定目标位置和关节角度,以及规划和执行运动路径的过程。
最低0.47元/天 解锁文章
1829





