|
| 1 | +# Please do e.g. refer to |
| 2 | +# - https://github.com/moveit/moveit2/blob/humble/moveit_ros/moveit_servo/config/panda_simulated_config.yaml |
| 3 | +# - https://github.com/moveit/moveit2/blob/humble/moveit_ros/moveit_servo/config/panda_simulated_config_pose_tracking.yaml |
| 4 | +/**/servo_node: |
| 5 | + ros__parameters: |
| 6 | + moveit_servo: |
| 7 | + ## Properties of incoming commands |
| 8 | + command_in_type: "unitless" # "unitless"> in the range [-1:1], as if from joystick. "speed_units"> cmds are in m/s and rad/s |
| 9 | + scale: |
| 10 | + # Scale parameters are only used if command_in_type=="unitless" |
| 11 | + linear: 0.4 # Max linear velocity. Unit is [m/s]. Only used for Cartesian commands. |
| 12 | + rotational: 0.8 # Max angular velocity. Unit is [rad/s]. Only used for Cartesian commands. |
| 13 | + # Max joint angular/linear velocity. Only used for joint commands on joint_command_in_topic. |
| 14 | + joint: 0.5 |
| 15 | + |
| 16 | + # Optionally override Servo's internal velocity scaling when near singularity or collision (0.0 = use internal velocity scaling) |
| 17 | + # override_velocity_scaling_factor = 0.0 # valid range [0.0:1.0] |
| 18 | + |
| 19 | + ## Properties of outgoing commands |
| 20 | + publish_period: 0.034 # 1/Nominal publish rate [seconds] |
| 21 | + low_latency_mode: false # Set this to true to publish as soon as an incoming Twist command is received (publish_period is ignored) |
| 22 | + |
| 23 | + # What type of topic does your robot driver expect? |
| 24 | + # Currently supported are std_msgs/Float64MultiArray or trajectory_msgs/JointTrajectory |
| 25 | + command_out_type: trajectory_msgs/JointTrajectory |
| 26 | + |
| 27 | + # What to publish? Can save some bandwidth as most robots only require positions or velocities |
| 28 | + publish_joint_positions: true |
| 29 | + publish_joint_velocities: true |
| 30 | + publish_joint_accelerations: false |
| 31 | + |
| 32 | + ## Plugins for smoothing outgoing commands |
| 33 | + smoothing_filter_plugin_name: "online_signal_smoothing::ButterworthFilterPlugin" |
| 34 | + |
| 35 | + # If is_primary_planning_scene_monitor is set to true, the Servo server's PlanningScene advertises the /get_planning_scene service, |
| 36 | + # which other nodes can use as a source for information about the planning environment. |
| 37 | + # NOTE: If a different node in your system is responsible for the "primary" planning scene instance (e.g. the MoveGroup node), |
| 38 | + # then is_primary_planning_scene_monitor needs to be set to false. |
| 39 | + is_primary_planning_scene_monitor: true |
| 40 | + |
| 41 | + ## MoveIt properties |
| 42 | + move_group_name: arm # Often 'manipulator' or 'arm' |
| 43 | + planning_frame: link_0 # The MoveIt planning frame. Often 'base_link' or 'world' |
| 44 | + |
| 45 | + ## Other frames |
| 46 | + ee_frame_name: link_ee # The name of the end effector link, used to return the EE pose |
| 47 | + robot_link_command_frame: link_0 # commands must be given in the frame of a robot link. Usually either the base or end effector |
| 48 | + |
| 49 | + ## Stopping behaviour |
| 50 | + incoming_command_timeout: 0.1 # Stop servoing if X seconds elapse without a new command |
| 51 | + # If 0, republish commands forever even if the robot is stationary. Otherwise, specify num. to publish. |
| 52 | + # Important because ROS may drop some messages and we need the robot to halt reliably. |
| 53 | + num_outgoing_halt_msgs_to_publish: 4 |
| 54 | + |
| 55 | + ## Configure handling of singularities and joint limits |
| 56 | + lower_singularity_threshold: 17.0 # Start decelerating when the condition number hits this (close to singularity) |
| 57 | + hard_stop_singularity_threshold: 30.0 # Stop when the condition number hits this |
| 58 | + joint_limit_margin: 0.1 # added as a buffer to joint limits [radians]. If moving quickly, make this larger. |
| 59 | + leaving_singularity_threshold_multiplier: 2.0 # Multiply the hard stop limit by this when leaving singularity (see https://github.com/ros-planning/moveit2/pull/620) |
| 60 | + |
| 61 | + ## Topic names |
| 62 | + cartesian_command_in_topic: ~/delta_twist_cmds # Topic for incoming Cartesian twist commands |
| 63 | + joint_command_in_topic: ~/delta_joint_cmds # Topic for incoming joint angle commands |
| 64 | + joint_topic: /lbr/joint_states |
| 65 | + status_topic: ~/status # Publish status to this topic |
| 66 | + command_out_topic: /lbr/joint_trajectory_controller/joint_trajectory # Publish outgoing commands here |
| 67 | + |
| 68 | + ## Collision checking for the entire robot body |
| 69 | + check_collisions: true # Check collisions? |
| 70 | + collision_check_rate: 10.0 # [Hz] Collision-checking can easily bog down a CPU if done too often. |
| 71 | + self_collision_proximity_threshold: 0.01 # Start decelerating when a self-collision is this far [m] |
| 72 | + scene_collision_proximity_threshold: 0.02 # Start decelerating when a scene collision is this far [m] |
0 commit comments