I have an ABB IRB 1200 robotic arm that I'm controlling with MoveIt in ROS Noetic. Using `move_group.set_pose_target(pose)`, I'm getting weird inefficient motions sometimes. Using `move_group.set_joint_value_target(pose,True)`, I'm ***not*** getting weird motions. However, obstacle avoidance is only supported using `set_pose_target()`, because it plans in cartesian space. How can I get the best of both worlds, ie. efficient motions and obstacle avoidance? ### I tried: - increasing planning attempts: `move_group.set_num_planning_attempts(20)` - didn't work - increase tolerance: `move_group.set_goal_tolerance(0.01)` - weird motions occurred less often. ### I'm using the Trac solver: - kinematics_solver: trac_ik_kinematics_plugin/TRAC_IKKinematicsPlugin - kinematics_solver_search_resolution: 0.005 - kinematics_solver_timeout: 0.005 - solve_type: Distance ### And BiTRRT for path planning: ``` planner_configs: BiTRRT: type: geometric::BiTRRT range: 0.0 temp_change_factor: 0.1 init_temperature: 100 frountier_threshold: 0.0 frountier_node_ratio: 0.1 cost_threshold: 1e300 manipulator: default_planner_config: BiTRRT planner_configs: - BiTRRT - etc projection_evaluator: joints(joint_1,joint_2) longest_valid_segment_fraction: 0.005 ```