ROS1与Interbotix系列机械臂教程-真机-moveit控制
文章说明
- 本教程主要介绍在真机中使用moveit控制机械臂
- 测试环境:Ubuntu 2004 + ROS1 Noetic + WidowX-250 6DOF
操作步骤
- 启动moveit例程
$ roslaunch interbotix_xsarm_moveit_interface xsarm_moveit_interface.launch robot_model:=wx250s use_cpp_interface:=true use_actual:=true dof:=6
logging to /home/ubuntu/.ros/log/b31502d2-cfa2-11ee-abed-0fba7aa2be70/roslaunch-TB3-R12V302-VM-5136.log
Checking log directory for disk usage. This may take a while.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.
started roslaunch server http://localhost:38255/
SUMMARY
========
PARAMETERS
* /rosdistro: noetic
* /rosversion: 1.16.0
* /wx250s/arm_controller/constraints/goal_time: 1
* /wx250s/arm_controller/constraints/stopped_velocity_tolerance: 0.02
* /wx250s/arm_controller/joints: ['waist', 'should...
* /wx250s/arm_controller/type: position_controll...
* /wx250s/gripper_controller/joints: ['left_finger']
* /wx250s/gripper_controller/type: position_controll...
* /wx250s/hardware_interface/gripper_name: gripper
* /wx250s/hardware_interface/group_name: arm
* /wx250s/hardware_interface/joint_states_topic: joint_states
* /wx250s/hardware_interface/loop_hz: 10
* /wx250s/move_group/allow_trajectory_execution: True
* /wx250s/move_group/capabilities:
* /wx250s/move_group/controller_list: [{'name': 'arm_co...
* /wx250s/move_group/disable_capabilities:
* /wx250s/move_group/interbotix_arm/default_planner_config: RRTConnect
* /wx250s/move_group/interbotix_arm/planner_configs: ['SBL', 'EST', 'L...
* /wx250s/move_group/interbotix_gripper/default_planner_config: RRTConnect
* /wx250s/move_group/interbotix_gripper/planner_configs: ['SBL', 'EST', 'L...
* /wx250s/move_group/jiggle_fraction: 0.05
* /wx250s/move_group/max_range: 5.0
* /wx250s/move_group/max_safe_path_cost: 1
* /wx250s/move_group/moveit_controller_manager: moveit_simple_con...
* /wx250s/move_group/moveit_manage_controllers: True
* /wx250s/move_group/octomap_resolution: 0.025
* /wx250s/move_group/planner_configs/BFMT/balanced: 0
* /wx250s/move_group/planner_configs/BFMT/cache_cc: 1
* /wx250s/move_group/planner_configs/BFMT/extended_fmt: 1
* /wx250s/move_group/planner_configs/BFMT/heuristics: 1
* /wx250s/move_group/planner_configs/BFMT/nearest_k: 1
* /wx250s/move_group/planner_configs/BFMT/num_samples: 1000
* /wx250s/move_group/planner_configs/BFMT/optimality: 1
* /wx250s/move_group/planner_configs/BFMT/radius_multiplier: 1.0
* /wx250s/move_group/planner_configs/BFMT/type: geometric::BFMT
* /wx250s/move_group/planner_configs/BKPIECE/border_fraction: 0.9
* /wx250s/move_group/planner_configs/BKPIECE/failed_expansion_score_factor: 0.5
* /wx250s/move_group/planner_configs/BKPIECE/min_valid_path_fraction: 0.5
* /wx250s/move_group/planner_configs/BKPIECE/range: 0.0
* /wx250s/move_group/planner_configs/BKPIECE/type: geometric::BKPIECE
* /wx250s/move_group/planner_configs/BiEST/range: 0.0
* /wx250s/move_group/planner_configs/BiEST/type: geometric::BiEST
* /wx250s/move_group/planner_configs/BiTRRT/cost_threshold: 1e300
* /wx250s/move_group/planner_configs/BiTRRT/frountier_node_ratio: 0.1
* /wx250s/move_group/planner_configs/BiTRRT/frountier_threshold: 0.0
* /wx250s/move_group/planner_configs/BiTRRT/init_temperature: 100
* /wx250s/move_group/planner_configs/BiTRRT/range: 0.0
* /wx250s/move_group/planner_configs/BiTRRT/temp_change_factor: 0.1
* /wx250s/move_group/planner_configs/BiTRRT/type: geometric::BiTRRT
* /wx250s/move_group/planner_configs/EST/goal_bias: 0.05
* /wx250s/move_group/planner_configs/EST/range: 0.0
* /wx250s/move_group/planner_configs/EST/type: geometric::EST
* /wx250s/move_group/planner_configs/FMT/cache_cc: 1
* /wx250s/move_group/planner_configs/FMT/extended_fmt: 1
* /wx250s/move_group/planner_configs/FMT/heuristics: 0
* /wx250s/move_group/planner_configs/FMT/nearest_k: 1
* /wx250s/move_group/planner_configs/FMT/num_samples: 1000
* /wx250s/move_group/planner_configs/FMT/radius_multiplier: 1.1
* /wx250s/move_group/planner_configs/FMT/type: geometric::FMT
* /wx250s/move_group/planner_configs/KPIECE/border_fraction: 0.9
* /wx250s/move_group/planner_configs/KPIECE/failed_expansion_score_factor: 0.5
* /wx250s/move_group/planner_configs/KPIECE/goal_bias: 0.05
* /wx250s/move_group/planner_configs/KPIECE/min_valid_path_fraction: 0.5
* /wx250s/move_group/planner_configs/KPIECE/range: 0.0
* /wx250s/move_group/planner_configs/KPIECE/type: geometric::KPIECE
* /wx250s/move_group/planner_configs/LBKPIECE/border_fraction: 0.9
* /wx250s/move_group/planner_configs/LBKPIECE/min_valid_path_fraction: 0.5
* /wx250s/move_group/planner_configs/LBKPIECE/range: 0.0
* /wx250s/move_group/planner_configs/LBKPIECE/type: geometric::LBKPIECE
* /wx250s/move_group/planner_configs/LBTRRT/epsilon: 0.4
* /wx250s/move_group/planner_configs/LBTRRT/goal_bias: 0.05
* /wx250s/move_group/planner_configs/LBTRRT/range: 0.0
* /wx250s/move_group/planner_configs/LBTRRT/type: geometric::LBTRRT
* /wx250s/move_group/planner_configs/LazyPRM/range: 0.0
* /wx250s/move_group/planner_configs/LazyPRM/type: geometric::LazyPRM
* /wx250s/move_group/planner_configs/LazyPRMstar/type: geometric::LazyPR...
* /wx250s/move_group/planner_configs/PDST/type: geometric::PDST
* /wx250s/move_group/planner_configs/PRM/max_nearest_neighbors: 10
* /wx250s/move_group/planner_configs/PRM/type: geometric::PRM
* /wx250s/move_group/planner_configs/PRMstar/type: geometric::PRMstar
* /wx250s/move_group/planner_configs/ProjEST/goal_bias: 0.05
* /wx250s/move_group/planner_configs/ProjEST/range: 0.0
* /wx250s/move_group/planner_configs/ProjEST/type: geometric::ProjEST
* /wx250s/move_group/planner_configs/RRT/goal_bias: 0.05
* /wx250s/move_group/planner_configs/RRT/range: 0.0
* /wx250s/move_group/planner_configs/RRT/type: geometric::RRT
* /wx250s/move_group/planner_configs/RRTConnect/range: 0.0
* /wx250s/move_group/planner_configs/RRTConnect/type: geometric::RRTCon...
* /wx250s/move_group/planner_configs/RRTstar/delay_collision_checking: 1
* /wx250s/move_group/planner_configs/RRTstar/goal_bias: 0.05
* /wx250s/move_group/planner_configs/RRTstar/range: 0.0
* /wx250s/move_group/planner_configs/RRTstar/type: geometric::RRTstar
* /wx250s/move_group/planner_configs/SBL/range: 0.0
* /wx250s/move_group/planner_configs/SBL/type: geometric::SBL
* /wx250s/move_group/planner_configs/SPARS/dense_delta_fraction: 0.001
* /wx250s/move_group/planner_configs/SPARS/max_failures: 1000
* /wx250s/move_group/planner_configs/SPARS/sparse_delta_fraction: 0.25
* /wx250s/move_group/planner_configs/SPARS/stretch_factor: 3.0
* /wx250s/move_group/planner_configs/SPARS/type: geometric::SPARS
* /wx250s/move_group/planner_configs/SPARStwo/dense_delta_fraction: 0.001
* /wx250s/move_group/planner_configs/SPARStwo/max_failures: 5000
* /wx250s/move_group/planner_configs/SPARStwo/sparse_delta_fraction: 0.25
* /wx250s/move_group/planner_configs/SPARStwo/stretch_factor: 3.0
* /wx250s/move_group/planner_configs/SPARStwo/type: geometric::SPARStwo
* /wx250s/move_group/planner_configs/STRIDE/degree: 16
* /wx250s/move_group/planner_configs/STRIDE/estimated_dimension: 0.0
* /wx250s/move_group/planner_configs/STRIDE/goal_bias: 0.05
* /wx250s/move_group/planner_configs/STRIDE/max_degree: 18
* /wx250s/move_group/planner_configs/STRIDE/max_pts_per_leaf: 6
* /wx250s/move_group/planner_configs/STRIDE/min_degree: 12
* /wx250s/move_group/planner_configs/STRIDE/min_valid_path_fraction: 0.2
* /wx250s/move_group/planner_configs/STRIDE/range: 0.0
* /wx250s/move_group/planner_configs/STRIDE/type: geometric::STRIDE
* /wx250s/move_group/planner_configs/STRIDE/use_projected_distance: 0
* /wx250s/move_group/planner_configs/TRRT/frountierNodeRatio: 0.1
* /wx250s/move_group/planner_configs/TRRT/frountier_threshold: 0.0
* /wx250s/move_group/planner_configs/TRRT/goal_bias: 0.05
* /wx250s/move_group/planner_configs/TRRT/init_temperature: 10e-6
* /wx250s/move_group/planner_configs/TRRT/k_constant: 0.0
* /wx250s/move_group/planner_configs/TRRT/max_states_failed: 10
* /wx250s/move_group/planner_configs/TRRT/min_temperature: 10e-10
* /wx250s/move_group/planner_configs/TRRT/range: 0.0
* /wx250s/move_group/planner_configs/TRRT/temp_change_factor: 2.0
* /wx250s/move_group/planner_configs/TRRT/type: geometric::TRRT
* /wx250s/move_group/planning_plugin: ompl_interface/OM...
* /wx250s/move_group/planning_scene_monitor/publish_geometry_updates: True
* /wx250s/move_group/planning_scene_monitor/publish_planning_scene: True
* /wx250s/move_group/planning_scene_monitor/publish_state_updates: True
* /wx250s/move_group/planning_scene_monitor/publish_transforms_updates: True
* /wx250s/move_group/request_adapters: default_planner_r...
* /wx250s/move_group/sensors: []
* /wx250s/move_group/start_state_max_bounds_error: 0.1
* /wx250s/move_group/trajectory_execution/allowed_execution_duration_scaling: 4.0
* /wx250s/move_group/trajectory_execution/allowed_goal_duration_margin: 0.5
* /wx250s/move_group/trajectory_execution/allowed_start_tolerance: 0.01
* /wx250s/robot_description: <?xml version="1....
* /wx250s/robot_description_kinematics/interbotix_arm/kinematics_solver: lma_kinematics_pl...
* /wx250s/robot_description_kinematics/interbotix_arm/kinematics_solver_search_resolution: 0.005
* /wx250s/robot_description_kinematics/interbotix_arm/kinematics_solver_timeout: 0.005
* /wx250s/robot_description_kinematics/interbotix_arm/position_only_ik: False
* /wx250s/robot_description_planning/default_acceleration_scaling_factor: 1.0
* /wx250s/robot_description_planning/default_velocity_scaling_factor: 1.0
* /wx250s/robot_description_planning/joint_limits/elbow/has_acceleration_limits: True
* /wx250s/robot_description_planning/joint_limits/elbow/has_velocity_limits: True
* /wx250s/robot_description_planning/joint_limits/elbow/max_acceleration: 5
* /wx250s/robot_description_planning/joint_limits/elbow/max_velocity: 2.35
* /wx250s/robot_description_planning/joint_limits/forearm_roll/has_acceleration_limits: True
* /wx250s/robot_description_planning/joint_limits/forearm_roll/has_velocity_limits: True
* /wx250s/robot_description_planning/joint_limits/forearm_roll/max_acceleration: 5
* /wx250s/robot_description_planning/joint_limits/forearm_roll/max_velocity: 2.35
* /wx250s/robot_description_planning/joint_limits/left_finger/has_acceleration_limits: True
* /wx250s/robot_description_planning/joint_limits/left_finger/has_velocity_limits: True
* /wx250s/robot_description_planning/joint_limits/left_finger/max_acceleration: 0.01
* /wx250s/robot_description_planning/joint_limits/left_finger/max_velocity: 1
* /wx250s/robot_description_planning/joint_limits/right_finger/has_acceleration_limits: True
* /wx250s/robot_description_planning/joint_limits/right_finger/has_velocity_limits: True
* /wx250s/robot_description_planning/joint_limits/right_finger/max_acceleration: 0.01
* /wx250s/robot_description_planning/joint_limits/right_finger/max_velocity: 1
* /wx250s/robot_description_planning/joint_limits/shoulder/has_acceleration_limits: True
* /wx250s/robot_description_planning/joint_limits/shoulder/has_velocity_limits: True
* /wx250s/robot_description_planning/joint_limits/shoulder/max_acceleration: 5
* /wx250s/robot_description_planning/joint_limits/shoulder/max_velocity: 2.35
* /wx250s/robot_description_planning/joint_limits/waist/has_acceleration_limits: True
* /wx250s/robot_description_planning/joint_limits/waist/has_velocity_limits: True
* /wx250s/robot_description_planning/joint_limits/waist/max_acceleration: 5
* /wx250s/robot_description_planning/joint_limits/waist/max_velocity: 2.35
* /wx250s/robot_description_planning/joint_limits/wrist_angle/has_acceleration_limits: True
* /wx250s/robot_description_planning/joint_limits/wrist_angle/has_velocity_limits: True
* /wx250s/robot_description_planning/joint_limits/wrist_angle/max_acceleration: 5
* /wx250s/robot_description_planning/joint_limits/wrist_angle/max_velocity: 2.35
* /wx250s/robot_description_planning/joint_limits/wrist_rotate/has_acceleration_limits: True
* /wx250s/robot_description_planning/joint_limits/wrist_rotate/has_velocity_limits: True
* /wx250s/robot_description_planning/joint_limits/wrist_rotate/max_acceleration: 5
* /wx250s/robot_description_planning/joint_limits/wrist_rotate/max_velocity: 2.35
* /wx250s/robot_description_semantic: <?xml version="1....
* /wx250s/rviz_TB3_R12V302_VM_5136_2497281819209123192/interbotix_arm/kinematics_solver: lma_kinematics_pl...
* /wx250s/rviz_TB3_R12V302_VM_5136_2497281819209123192/interbotix_arm/kinematics_solver_search_resolution: 0.005
* /wx250s/rviz_TB3_R12V302_VM_5136_2497281819209123192/interbotix_arm/kinematics_solver_timeout: 0.005
* /wx250s/rviz_TB3_R12V302_VM_5136_2497281819209123192/interbotix_arm/position_only_ik: False
* /wx250s/xs_sdk/load_configs: True
* /wx250s/xs_sdk/mode_configs: /home/ubuntu/inte...
* /wx250s/xs_sdk/motor_configs: /home/ubuntu/inte...
NODES
/wx250s/
controller_spawner (controller_manager/controller_manager)
move_group (moveit_ros_move_group/move_group)
moveit_interface (interbotix_moveit_interface/moveit_interface)
moveit_interface_gui (interbotix_moveit_interface/moveit_interface_gui)
robot_state_publisher (robot_state_publisher/robot_state_publisher)
rviz_TB3_R12V302_VM_5136_2497281819209123192 (rviz/rviz)
xs_hardware_interface (interbotix_xs_ros_control/xs_hardware_interface)
xs_sdk (interbotix_xs_sdk/xs_sdk)
auto-starting new master
process[master]: started with pid [5148]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to b31502d2-cfa2-11ee-abed-0fba7aa2be70
process[rosout-1]: started with pid [5158]
started core service [/rosout]
process[wx250s/robot_state_publisher-2]: started with pid [5165]
process[wx250s/xs_sdk-3]: started with pid [5166]
process[wx250s/controller_spawner-4]: started with pid [5167]
process[wx250s/xs_hardware_interface-5]: started with pid [5168]
process[wx250s/move_group-6]: started with pid [5170]
[ INFO] [1708400820.337609655]: [xs_sdk] Loaded mode configs from '/home/ubuntu/interbotix_ws/src/interbotix_ros_manipulators/interbotix_ros_xsarms/examples/interbotix_xsarm_moveit_interface/config/modes.yaml'.
[ INFO] [1708400820.338727254]: [xs_sdk] Loaded motor configs from '/home/ubuntu/interbotix_ws/src/interbotix_ros_manipulators/interbotix_ros_xsarms/interbotix_xsarm_control/config/wx250s.yaml'.
process[wx250s/rviz_TB3_R12V302_VM_5136_2497281819209123192-7]: started with pid [5179]
[ INFO] [1708400820.340914196]: [xs_sdk] Pinging all motors specified in the motor_config file. (Attempt 1/3)
process[wx250s/moveit_interface-8]: started with pid [5182]
[ INFO] [1708400820.349841370]: waitForService: Service [/wx250s/get_robot_info] has not been advertised, waiting...
process[wx250s/moveit_interface_gui-9]: started with pid [5188]
[ INFO] [1708400820.376399028]: [xs_sdk] Found DYNAMIXEL ID: 8, Model: 'XL430-W250', Joint Name: 'wrist_rotate'.
[ WARN] [1708400820.393842869]: Falling back to using the move_group node's namespace (deprecated Melodic behavior).
[ INFO] [1708400820.402931382]: Loading robot model 'wx250s'...
[ INFO] [1708400820.402980029]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1708400820.422477384]: [xs_sdk] Found DYNAMIXEL ID: 7, Model: 'XM430-W350', Joint Name: 'wrist_angle'.
[ INFO] [1708400820.433442516]: waitForService: Service [/wx250s/get_planning_scene] has not been advertised, waiting...
[ INFO] [1708400820.468555291]: [xs_sdk] Found DYNAMIXEL ID: 5, Model: 'XM430-W350', Joint Name: 'elbow_shadow'.
[ INFO] [1708400820.511581426]: Publishing maintained planning scene on 'monitored_planning_scene'
[ INFO] [1708400820.513417096]: Listening to 'joint_states' for joint states
[ INFO] [1708400820.516747625]: Listening to '/wx250s/attached_collision_object' for attached collision objects
[ INFO] [1708400820.516792897]: Starting planning scene monitor
[ INFO] [1708400820.518603256]: Listening to '/wx250s/planning_scene'
[ INFO] [1708400820.518638086]: [xs_sdk] Found DYNAMIXEL ID: 4, Model: 'XM430-W350', Joint Name: 'elbow'.
[ INFO] [1708400820.518660986]: Starting world geometry update monitor for collision objects, attached objects, octomap updates.
[ INFO] [1708400820.520119516]: Listening to '/wx250s/collision_object'
[ INFO] [1708400820.521538632]: Listening to '/wx250s/planning_scene_world' for planning scene world geometry
[ INFO] [1708400820.525906271]: Loading planning pipeline ''
[ INFO] [1708400820.565059358]: rviz version 1.14.20
[ INFO] [1708400820.565106329]: compiled against Qt version 5.12.8
[ INFO] [1708400820.565130482]: compiled against OGRE version 1.9.0 (Ghadamon)
[ INFO] [1708400820.565752714]: [xs_sdk] Found DYNAMIXEL ID: 6, Model: 'XM430-W350', Joint Name: 'forearm_roll'.
[ INFO] [1708400820.576297934]: Forcing OpenGl version 0.
[ INFO] [1708400820.581980529]: Using planning interface 'OMPL'
[ INFO] [1708400820.585528475]: Param 'default_workspace_bounds' was not set. Using default value: 10
[ INFO] [1708400820.586741394]: Param 'start_state_max_bounds_error' was set to 0.1
[ INFO] [1708400820.587060733]: Param 'start_state_max_dt' was not set. Using default value: 0.5
[ INFO] [1708400820.587384628]: Param 'start_state_max_dt' was not set. Using default value: 0.5
[ INFO] [1708400820.587685640]: Param 'jiggle_fraction' was set to 0.05
[ INFO] [1708400820.587948572]: Param 'max_sampling_attempts' was not set. Using default value: 100
[ INFO] [1708400820.588008122]: Using planning request adapter 'Add Time Parameterization'
[ INFO] [1708400820.588073411]: Using planning request adapter 'Fix Workspace Bounds'
[ INFO] [1708400820.588109615]: Using planning request adapter 'Fix Start State Bounds'
[ INFO] [1708400820.588123786]: Using planning request adapter 'Fix Start State In Collision'
[ INFO] [1708400820.588131852]: Using planning request adapter 'Fix Start State Path Constraints'
[ INFO] [1708400820.612412029]: [xs_sdk] Found DYNAMIXEL ID: 2, Model: 'XM430-W350', Joint Name: 'shoulder'.
[ INFO] [1708400820.658500250]: [xs_sdk] Found DYNAMIXEL ID: 9, Model: 'XL430-W250', Joint Name: 'gripper'.
[ INFO] [1708400820.705615570]: [xs_sdk] Found DYNAMIXEL ID: 3, Model: 'XM430-W350', Joint Name: 'shoulder_shadow'.
[ INFO] [1708400820.752724291]: [xs_sdk] Found DYNAMIXEL ID: 1, Model: 'XM430-W350', Joint Name: 'waist'.
[ INFO] [1708400820.765155612]: [xs_sdk] Writing startup register values to EEPROM. This only needs to be done once on a robot. Set the `~load_configs` parameter to false from now on.
[ INFO] [1708400821.530556909]: Stereo is NOT SUPPORTED
[ INFO] [1708400821.530635288]: OpenGL device: SVGA3D; build: RELEASE; LLVM;
[ INFO] [1708400821.530669629]: OpenGl version: 3.3 (GLSL 3.3) limited to GLSL 1.4 on Mesa system.
[ INFO] [1708400821.876465046]: [xs_sdk] The operating mode for the 'arm' group was changed to position.
[ INFO] [1708400821.936900421]: [xs_sdk] The operating mode for the 'gripper' joint was changed to linear_position.
[ INFO] [1708400821.978956331]: waitForService: Service [/wx250s/get_robot_info] is now available.
[ INFO] [1708400822.180409053]: [xs_sdk] Interbotix 'xs_sdk' node is up!
Loaded 'arm_controller'
Loaded 'gripper_controller'
[ INFO] [1708400823.012210755]: Added FollowJointTrajectory controller for arm_controller
Started ['arm_controller'] successfully
Started ['gripper_controller'] successfully
[ INFO] [1708400823.318173738]: Added FollowJointTrajectory controller for gripper_controller
[ INFO] [1708400823.318289111]: Returned 2 controllers in list
[ INFO] [1708400823.329579464]: Trajectory execution is managing controllers
[ INFO] [1708400823.329640927]: MoveGroup debug mode is OFF
Loading 'move_group/ApplyPlanningSceneService'...
Loading 'move_group/ClearOctomapService'...
Loading 'move_group/MoveGroupCartesianPathService'...
Loading 'move_group/MoveGroupExecuteTrajectoryAction'...
Loading 'move_group/MoveGroupGetPlanningSceneService'...
Loading 'move_group/MoveGroupKinematicsService'...
Loading 'move_group/MoveGroupMoveAction'...
[ INFO] [1708400823.363492626]: waitForService: Service [/wx250s/get_planning_scene] is now available.
Loading 'move_group/MoveGroupPickPlaceAction'...
[ INFO] [1708400823.373471598]: Loading robot model 'wx250s'...
[ INFO] [1708400823.373529296]: No root/virtual joint specified in SRDF. Assuming fixed joint
Loading 'move_group/MoveGroupPlanService'...
Loading 'move_group/MoveGroupQueryPlannersService'...
Loading 'move_group/MoveGroupStateValidationService'...
[ INFO] [1708400823.390171361]:
********************************************************
* MoveGroup using:
* - ApplyPlanningSceneService
* - ClearOctomapService
* - CartesianPathService
* - ExecuteTrajectoryAction
* - GetPlanningSceneService
* - KinematicsService
* - MoveAction
* - PickPlaceAction
* - MotionPlanService
* - QueryPlannersService
* - StateValidationService
********************************************************
[ INFO] [1708400823.390563665]: MoveGroup context using planning plugin ompl_interface/OMPLPlanner
[ INFO] [1708400823.390634245]: MoveGroup context initialization complete
You can start planning now!
[wx250s/controller_spawner-4] process has finished cleanly
log file: /home/ubuntu/.ros/log/b31502d2-cfa2-11ee-abed-0fba7aa2be70/wx250s-controller_spawner-4*.log
[ INFO] [1708400824.630381297]: Ready to take commands for planning group interbotix_arm.
[ INFO] [1708400824.806189679]: Loading robot model 'wx250s'...
[ INFO] [1708400824.806281645]: No root/virtual joint specified in SRDF. Assuming fixed joint
[ INFO] [1708400824.909820073]: Starting planning scene monitor
[ INFO] [1708400824.911962093]: Listening to '/wx250s/move_group/monitored_planning_scene'
[ INFO] [1708400824.952131682]: Constructing new MoveGroup connection for group 'interbotix_arm' in namespace ''
[ INFO] [1708400825.129784569]: Reference frame: world
[ INFO] [1708400825.129988308]: End effector link: wx250s/ee_gripper_link
[ERROR] [1708400825.328530157]: [xs_sdk] [TxRxResult] Incorrect status packet!
[ERROR] [1708400825.328853929]: [xs_sdk] groupSyncRead getdata failed
[ERROR] [1708400825.329065207]: [xs_sdk] groupSyncRead getdata failed
[ERROR] [1708400825.329213089]: [xs_sdk] groupSyncRead getdata failed
[ INFO] [1708400826.146980010]: Ready to take commands for planning group interbotix_arm.
请注意,启动文件中默认机械臂自由度参数为5,若使用4或6自由度的机械臂,则需要像以上示例一样设置
dof
启动参数
- moveit启动成功之后,会弹出一个gui窗口
可以通过调整gui中滑块来指定夹具的位置和方向
Plan Pose
- MoveIt尝试规划夹具移动所需位置和方向的轨迹Plan Position
- MoveIt尝试规划夹具移动所需位置的轨迹,忽略具体方向Plan Orientation
-MoveIt尝试规划夹具移动所需方向的轨迹,忽略具体位置Execute
- 执行规划到的轨迹Reset
- 重置gui中的所有参数值为0
有时候MoveIt会出现无法成功有效轨迹的情况。其主要有两个可能:一是机械臂无法在物理上到达所需的位置,二是MoveIt生成的随机轨迹是不能执行的。如果很明显该位置在物理上可以到达,请多点击按钮重新规划轨迹
指定位置和方向先比较于仅是指定位置时,那找到有效的轨迹要困难得多,特别是对于较低自由度的机械臂
- 通过下面列表,可更一步了解启动文件的其他参数
参数名称 | 描述 | 默认值 |
---|---|---|
robot_model | Interbotix机械臂的型号,比如‘wx200’ or ‘rx150’ | "" |
robot_name | 机器人名称 | $(arg robot_model) |
base_link_frame | 机械臂的base_link帧,默认为base_link;若将机械臂添加到带有已有base_link帧的底盘,则可以进行对应的修改 | base_link |
show_ar_tag | 若为true,‘robot_description’参数中将包含AR标签的安装位置,反之则没有 | false |
use_world_frame | 若为true,robot_description下会添加world的TF帧,作为base_link的父帧,如果使用的多机械臂或者是想将机械臂添加到其他底座下,则需要设置为false | true |
external_urdf_loc | 加载额外的自定义urdf.xacro文件的路径 | “” |
external_srdf_loc | 加载额外的自定义srdf.xacro文件的路径 | “” |
mode_configs | `mode config`的yaml文件的路径 | refer to xsarm_control.launch |
use_moveit_rviz | 若为true,打开moveit对应的rviz,反之则不打开 | true |
rviz_frame | 定义rviz中默认的固定帧,如果use_world_frame参数设置为false,则需要更改该参数为对应的tf帧 | world |
use_gazebo | 是否使用gazebo模拟机械臂启动moveit | false |
use_actual | 是否使用真实机械臂启动moveit | false |
use_fake | 是否使用moveit生成的仿真机械臂启动movei | false |
dof | 机械臂自由度,默认为 | 5 |
world_name | gezebo仿真中需要加载到的world场景的文件路径 | refer to xsarm_control.launch |
use_cpp_interface | 是否启动自定义的moveit_interface C++ API节点 | false |
moveit_interface_gui | 是否启动自定义 GUI 与moveit_interface节点交互,以便使用者能指定夹具的位置和方向(由“ee_gripper_link”定义)t | true |
use_python_interface | 是否使用python接口 | false |
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号