Skip to content
Snippets Groups Projects
Select Git revision
  • 2d3fcc4861e7eda27c83b86c0b335e8b6423dc63
  • main default protected
  • rosification
  • refactoring
  • pp
  • mpc
  • realtimelogplotter
  • alv
  • gitlab_ci_podman
  • restructuring
  • viz_fix
11 results

clik.py

Blame
  • user avatar
    m-guberina authored
    2d3fcc48
    History
    clik.py 1.81 KiB
    # PYTHON_ARGCOMPLETE_OK
    import numpy as np
    import time
    import pinocchio as pin
    import argcomplete, argparse
    from functools import partial
    from ur_simple_control.managers import getMinimalArgParser, ControlLoopManager, RobotManager
    from ur_simple_control.clik.clik import getClikArgs, getClikController, controlLoopClik, moveL, compliantMoveL, moveLDualArm
    from ur_simple_control.util.define_random_goal import getRandomlyGeneratedGoal
    
    
    def get_args():
        parser = getMinimalArgParser()
        parser.description = 'Run closed loop inverse kinematics \
        of various kinds. Make sure you know what the goal is before you run!'
        parser = getClikArgs(parser)
        parser.add_argument('--randomly-generate-goal', action=argparse.BooleanOptionalAction,
                             default=False, help="if true, rand generate a goal, if false you type it in via text input")
        argcomplete.autocomplete(parser)
        args = parser.parse_args()
        return args
    
    if __name__ == "__main__": 
        args = get_args()
        robot = RobotManager(args)
        if args.randomly_generate_goal:
            Mgoal = getRandomlyGeneratedGoal(args)
            if args.visualize_manipulator:
                robot.visualizer_manager.sendCommand(
                        {"Mgoal" : Mgoal})
        else:
            Mgoal = robot.defineGoalPointCLI()
        #compliantMoveL(args, robot, Mgoal)
        if robot.robot_name != "yumi":
            moveL(args, robot, Mgoal)
        else:
            goal_transform = pin.SE3.Identity()
            #goal_transform.translation[1] = 0.1
            moveLDualArm(args, robot, Mgoal, goal_transform)
        robot.closeGripper()
        robot.openGripper()
        if not args.pinocchio_only:
            robot.stopRobot()
    
        if args.visualize_manipulator:
            robot.killManipulatorVisualizer()
        
        if args.save_log:
            robot.log_manager.saveLog()
        #loop_manager.stopHandler(None, None)