• ros平台下python脚本控制机械臂运动


    在使用moveit_setup_assistant生成机械臂的配置文件后可以使用roslaunch demo.launch启动demo,在rviz中可以通过拖动机械臂进行运动学正逆解/轨迹规划等仿真运动.而通过python脚本可以更加方便灵活的控制机械臂的运动.代码及运行效果图如下.

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import rospy, sys
    import moveit_commander
    from control_msgs.msg import GripperCommand
    
    class MoveItFkDemo:
        def __init__(self):
            # 初始化move_group的API
            moveit_commander.roscpp_initialize(sys.argv)
    
            # 初始化ROS节点
            rospy.init_node('moveit_fk_demo', anonymous=True)
     
            # 初始化需要使用move group控制的机械臂中的arm group
            arm = moveit_commander.MoveGroupCommander('arm')
            
            # 初始化需要使用move group控制的机械臂中的gripper group
            gripper = moveit_commander.MoveGroupCommander('gripper')
            
            # 设置机械臂和夹爪的允许误差值
            arm.set_goal_joint_tolerance(0.001)
            gripper.set_goal_joint_tolerance(0.001)
            
            # 控制机械臂先回到初始化位置
            arm.set_named_target('arm_init_pose')
            arm.go()
            rospy.sleep(2)
             
            # 设置夹爪的目标位置,并控制夹爪运动
            '''
            gripper.set_joint_value_target([0.01])
            gripper.go()
            rospy.sleep(1)
            '''
            # 设置机械臂的目标位置,使用六轴的位置数据进行描述(单位:弧度)
            joint_positions = [1.5708,1.5708,1.5708,1.5708,1.5708,1.5708,1.5708]
            result=arm.set_joint_value_target(joint_positions)
            rospy.loginfo(str(result))
                     
            # 控制机械臂完成运动
            arm.go()
            joint=arm.get_current_joint_values()
            print("final joint=",joint)
            pose=arm.get_current_pose('link7')
            print('pose=',pose)
            rospy.sleep(1)
            
            # 关闭并退出moveit
            moveit_commander.roscpp_shutdown()
            moveit_commander.os._exit(0)
    
    if __name__ == "__main__":
        try:
            MoveItFkDemo()
        except rospy.ROSInterruptException:
            pass
    

    程序代写接单群733065427

    欢迎点击链接加入群聊【程序代写-接单群】共同致富:https://jq.qq.com/?_wv=1027&k=5WxihsL 

    群号:733065427

     
  • 相关阅读:
    测试杯子
    如何测试网页的登录页面
    功能性测试之边界值测试
    自动化 sample
    软件架构---敏捷和架构的关系
    软件架构---分布式后端架构应该考虑的一些方面
    软件架构---集群与负载均衡
    软件架构---从需求明确架构设计驱动力
    软件架构---质量属性的实现
    软件架构---质量属性(二)
  • 原文地址:https://www.cnblogs.com/chenbocheng/p/10839368.html
Copyright © 2020-2023  润新知