-
 

Package Summary

Tags No category tags.
Version 1.1.16
License BSD 3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-planning/moveit.git
VCS Type git
VCS Version master
Last Updated 2024-11-19
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Provides real-time manipulator Cartesian and joint servoing.

Additional Links

Maintainers

  • Blake Anderson
  • Andy Zelenak

Authors

  • Brian O'Neil
  • Andy Zelenak
  • Blake Anderson
  • Alexander Rössler
  • Tyler Weaver

MoveIt Servo

Quick Start Guide for UR5 example

Clone the universal_robot repo into your catkin workspace:

git clone https://github.com/ros-industrial/universal_robot.git

Run rosdep install from the src folder to install dependencies.

rosdep install --from-paths . --ignore-src -y

Build and subsequently source the catkin workspace. Startup the robot and MoveIt:

roslaunch ur_gazebo ur5.launch

roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true

roslaunch ur5_moveit_config moveit_rviz.launch config:=true

In RViz, “plan and execute” a motion to a non-singular position (not all zero joint angles) that is not close to a joint limit.

Switch to a compatible type of ros-control controller. It should be a JointGroupVelocityController or a JointGroupPositionController, not a trajectory controller like MoveIt usually requires.

rosservice call /controller_manager/switch_controller "start_controllers:
- 'joint_group_position_controller'
stop_controllers:
- 'arm_controller'
strictness: 2"

Launch the servo node. This example uses commands from a SpaceNavigator joystick-like device:

roslaunch moveit_servo spacenav_cpp.launch

If you dont have a SpaceNavigator, send commands like this:

rostopic pub -r 100 /servo_server/delta_twist_cmds geometry_msgs/TwistStamped "header: auto
twist:
  linear:
    x: 0.0
    y: 0.01
    z: -0.01
  angular:
    x: 0.0
    y: 0.0
    z: 0.0"

If you see a warning about “close to singularity”, try changing the direction of motion.

Running Tests

Run tests from the moveit_servo folder:

catkin run_tests --no-deps --this
CHANGELOG

Changelog for package moveit_servo

1.1.16 (2024-10-07)

1.1.15 (2024-09-09)

  • Init joint trajectory with actual robot pose (#3642)
  • Use ACM consistently (#3641)
  • Contributors: Davide Torielli, Michael Görner

1.1.14 (2024-05-27)

1.1.13 (2023-07-28)

1.1.12 (2023-05-13)

  • Simplify servo config + reusable launch files (#3326)
  • Contributors: Robert Haschke

1.1.11 (2022-12-21)

1.1.10 (2022-09-13)

1.1.9 (2022-03-06)

1.1.8 (2022-01-30)

1.1.7 (2021-12-31)

1.1.6 (2021-11-06)

  • Backport position limit enforcement from MoveIt2 (#2898)
  • Use newly introduced cmake macro moveit_build_options() from moveit_core
  • Minor fixups (#2759)
  • Remove gtest include from non-testing source (#2747)
  • Fix an off-by-one error in servo_calcs.cpp (#2740)
  • Refactor moveit_servo::LowPassFilter to be assignable (#2722)
  • Contributors: Griswald Brooks, Michael Görner, Michael Wiznitzer, Robert Haschke, luisrayas3, toru-kuga

1.1.5 (2021-05-23)

1.1.4 (2021-05-12)

1.1.3 (2021-04-29)

  • Avoid joint jump when SuddenHalt() is called in velocity mode (#2594)
  • Contributors: Nathan Brooks

1.1.2 (2021-04-08)

  • Fix formatting errors
  • Halt Servo command on Pose Tracking stop (#2501)
  • stop_requested_ flag clearing fix (#2537)
  • Add missing include (#2519)
  • Refactor Servo velocity bounds enforcement (#2471)
  • Protect paused_ flag, for thread safety (#2494)
  • Do not break out of loop -- need to update low pass filters (#2496)
  • Fix initial angle error is always 0 (#2464)
  • Add an important sleep in Servo pose tracking (#2463)
  • Prevent moveit_servo transforms between fixed frames from causing timeout (#2418)
  • Low latency mode (#2401)
  • Move timer initialization down to fix potential race condition
  • Fix pose tracking race condition (#2395)
  • Cleanup current state handling in servo (#2372)
  • Change servo namespacing logic (#2354)
  • Fix servo trajectory point timestamping (#2375)
  • Fix ordering of windup args to control_toolbox::Pid (#2370)
  • Contributors: AdamPettinger, AndyZe, Jere Liukkonen, Michael Görner, Nathan Brooks, Tyler Weaver, parunapu

1.1.1 (2020-10-13)

  • [feature] A library for servoing toward a moving pose (#2203)
  • [feature] Refactor velocity limit enforcement and add a unit test (#2260)
  • [fix] Servo thread interruption (#2314)
  • [fix] Servo heap-buffer-overflow bug (#2307)
  • [maint] Cleanup MSA includes (#2351)
  • Contributors: AndyZe, Robert Haschke, Tyler Weaver

1.1.0 (2020-09-04)

  • [feature] Update last_sent_command_ at ServoCalcs start (#2249)
  • [feature] Add a utility to print collision pairs (#2275)
  • [fix] Various fixes for upcoming Noetic release (#2180)
  • [maint] add soname version to moveit_servo (#2266)
  • [maint] delete python integration tests (#2186)
  • Contributors: AdamPettinger, AndyZe, Robert Haschke, Ruofan Xu, Tyler Weaver, v4hn

1.0.6 (2020-08-19)

  • [feature] A ROS service to reset the Servo status (#2246)
  • [feature] Check collisions during joint motions, too (#2204)
  • [fix] Correctly set velocities to zero when stale (#2255)
  • [maint] Remove unused yaml param (#2232)
  • [maint] Adapt repository for splitted moveit_resources layout (#2199)
  • [maint] Migrate to clang-format-10
  • Contributors: AndyZe, Robert Haschke, Ruofan Xu, Michael Görner

1.0.5 (2020-07-08)

  • [maint] Minor moveit_servo header cleanup (#2173)
  • [maint] Move and rename to moveit_ros/moveit_servo (#2165)
  • [maint] Changes before porting to ROS2 (#2151)
    • throttle warning logs
    • ROS1 Basic improvements and changes
    • Fixes to drift dimensions, singularity velocity scaling
    • tf name changes, const fixes, slight logic changes
    • Move ROS_LOG_THROTTLE_PERIOD to cpp files
    • Track staleness of joint and twist seperately
    • Ensure joint_trajectory output is always populated with something, even when no jog
    • Fix joint trajectory redundant points for gazebo pub
    • Fix crazy joint jog from bad Eigen init
    • Fix variable type in addJointIncrements()
    • Initialize last sent command in constructor
    • More explicit joint_jog_cmdand twist_stamped_cmdnames
    • Add comment clarying transform calculation / use
  • [fix] Fix access past end of array bug (#2155)
  • [maint] Remove duplicate line (#2154)
  • [maint] pragma once in jog_arm.h (#2152)
  • [feature] Simplify communication between threads (#2103)
    • get latest joint state c++ api
    • throttle warning logs
    • publish from jog calcs timer, removing redundant timer and internal messaging to main timer
    • outgoing message as pool allocated shared pointer for zero copy
    • replace jog_arm shared variables with ros pub/sub
    • use built in zero copy message passing instead of spsc_queues
    • use ros timers instead of threads in jog_arm
  • [feature] Added throttle to jogarm accel limit warning (#2141)
  • [feature] Time-based collision avoidance (#2100)
  • [fix] Fix crash on empty jog msgs (#2094)
  • [feature] Jog arm dimensions (#1724)
  • [maint] Clang-tidy fixes (#2050)
  • [feature] Keep updating joints, even while waiting for a valid command (#2027)
  • [fix] Fix param logic bug for self- and scene-collision proximity thresholds (#2022)
  • [feature] Split collision proximity threshold (#2008)
    • separate proximity threshold values for self-collisions and scene collisions
    • increase default value of scene collision proximity threshold
    • deprecate old parameters
  • [fix] Fix valid command flags (#2013)
    • Rename the 'zero command flag' variables for readability
    • Reset flags when incoming commands timeout
    • Remove debug line, clang format
  • [maint] Use default move constructor + assignment operators for MoveItCpp. (#2004)
  • [fix] Fix low-pass filter initialization (#1982)
    • Pause/stop JogArm threads using shared atomic bool variables
    • Add pause/unpause flags for jog thread
    • Verify valid joints by filtering for active joint models only
    • Remove redundant joint state increments
    • Wait for initial jog commands in main loop
  • [fix] Remove duplicate collision check in JogArm (#1986)
  • [feature] Add a binary collision check (#1978)
  • [feature] Publish more detailed warnings (#1915)
  • [feature] Use wait_for_service() to fix flaky tests (#1946)
  • [maint] Fix versioning (#1948)
  • [feature] SRDF velocity and acceleration limit enforcement (#1863)
  • [maint] Replace namespaces robot_state and robot_model with moveit::core (#1924)
  • [fix] JogArm C++ API fixes (#1911)
  • [feature] A ROS service to enable task redundancy (#1855)
  • [fix] Fix segfault with uninitialized JogArm thread (#1882)
  • [feature] Add warnings to moveit_jog_arm low pass filter (#1872)
  • [maint] Use CMAKE_CXX_STANDARD to enforce c++14 for portability (#1607)
  • [fix] Fix initial end effector transform jump (#1871)
  • [feature] Rework the halt msg functionality (#1868)
  • [fix] Various small fixes (#1859)
  • [maint] Improve formatting in comments
  • [fix] Prevent a crash at velocity limit (#1837)
  • [feature] Remove scale/joint parameter (#1838)
  • [feature] Pass planning scene monitor into cpp interface (#1849)
  • [maint] Move attribution below license file, standardize with MoveIt (#1847)
  • [maint] Reduce console output warnings (#1845)
  • [fix] Fix command frame transform computation (#1842)
  • [maint] Fix dependencies + catkin_lint issues
  • [feature] Update link transforms before calling checkCollision on robot state in jog_arm (#1825)
  • [feature] Add atomic bool flags for terminating JogArm threads gracefully (#1816)
  • [feature] Get transforms from RobotState instead of TF (#1803)
  • [feature] Add a C++ API (#1763)
  • [maint] Fix unused parameter warnings (#1773)
  • [maint] Update license formatting (#1764)
  • [maint] Unify jog_arm package to be C++14 (#1762)
  • [fix] Fix jog_arm segfault (#1692)
  • [fix] Fix double mutex unlock (#1672)
  • [maint] Rename jog_arm->moveit_jog_arm (#1663)
  • [feature] Do not wait for command msg to start spinning (#1603)
  • [maint] Update jog_arm README with rviz config (#1614)
  • [maint] Switch from include guards to pragma once (#1615)
  • [maint] Separate moveit_experimental packages (#1606)
  • [feature] Use UR5 example (#1605)
  • [feature] Sudden stop for critical issues, filtered deceleration otherwise (#1468)
  • [feature] Change 2nd order Butterworth low pass filter to 1st order (#1483)
  • [maint] Remove ! from MoveIt name (#1590)
  • [feature] JogArm: Remove dependency on move_group node (#1569)
  • [fix] Fix jog arm CI integration test (#1466)
  • [feature] A jogging PR for Melodic. (#1360)
    • Allow for joints in the msg that are not part of the MoveGroup.
    • Switching to the Panda robot model for tests.
    • Blacklist the test as I can't get it to pass Travis (fine locally).
    • Throttling all warnings. Fix build warning re. unit vs int comparison.
    • Continue to publish commands even if stationary
    • Scale for 'unitless' commands is not tied to publish_period.
    • New function name for checkIfJointsWithinBounds()
    • Configure the number of msgs to publish when stationary.
    • Run jog_calcs at the same rate as the publishing thread.
    • Better comments in config file, add spacenav_node dependency
    • Add spacenav_node to CMakeLists.
  • Contributors: AdamPettinger, AndyZe, Ayush Garg, Dale Koenig, Dave Coleman, Jonathan Binney, Paul Verhoeckx, Henning Kayser, Jafar Abdi, John Stechschulte, Mike Lautman, Robert Haschke, SansoneG, jschleicher, Tyler Weaver, rfeistenauer

1.0.1 (2019-03-08)

1.0.0 (2019-02-24)

0.10.8 (2018-12-24)

0.10.5 (2018-11-01)

0.10.4 (2018-10-29 19:44)

0.10.3 (2018-10-29 04:12)

0.10.2 (2018-10-24)

0.10.1 (2018-05-25)

0.10.0 (2018-05-22)

0.9.11 (2017-12-25)

0.9.10 (2017-12-09)

0.9.9 (2017-08-06)

0.9.8 (2017-06-21)

0.9.7 (2017-06-05)

0.9.6 (2017-04-12)

0.9.5 (2017-03-08)

0.9.4 (2017-02-06)

0.9.3 (2016-11-16)

0.9.2 (2016-11-05)

0.9.1 (2016-10-21)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged moveit_servo at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 1.0.11
License BSD 3-Clause
Build type CATKIN
Use RECOMMENDED

Repository Summary

Checkout URI https://github.com/ros-planning/moveit.git
VCS Type git
VCS Version melodic-devel
Last Updated 2022-09-13
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

Provides real-time manipulator Cartesian and joint servoing.

Additional Links

Maintainers

  • Blake Anderson
  • Andy Zelenak

Authors

  • Brian O'Neil
  • Andy Zelenak
  • Blake Anderson
  • Alexander Rössler
  • Tyler Weaver

Moveit Servo

Quick Start Guide for UR5 example

Clone the universal_robot repo into your catkin workspace:

git clone https://github.com/ros-industrial/universal_robot.git

Run rosdep install from the src folder to install dependencies.

rosdep install --from-paths . --ignore-src -y

Build and subsequently source the catkin workspace. Startup the robot and MoveIt:

roslaunch ur_gazebo ur5.launch

roslaunch ur5_moveit_config ur5_moveit_planning_execution.launch sim:=true

roslaunch ur5_moveit_config moveit_rviz.launch config:=true

In RViz, “plan and execute” a motion to a non-singular position (not all zero joint angles) that is not close to a joint limit.

Switch to a compatible type of ros-control controller. It should be a JointGroupVelocityController or a JointGroupPositionController, not a trajectory controller like MoveIt usually requires.

rosservice call /controller_manager/switch_controller "start_controllers:
- 'joint_group_position_controller'
stop_controllers:
- 'arm_controller'
strictness: 2"

Launch the servo node. This example uses commands from a SpaceNavigator joystick-like device:

roslaunch moveit_servo spacenav_cpp.launch

If you dont have a SpaceNavigator, send commands like this:

rostopic pub -r 100 /servo_server/delta_twist_cmds geometry_msgs/TwistStamped "header: auto
twist:
  linear:
    x: 0.0
    y: 0.01
    z: -0.01
  angular:
    x: 0.0
    y: 0.0
    z: 0.0"

If you see a warning about “close to singularity”, try changing the direction of motion.

Running Tests

Run tests from the moveit_servo folder:

catkin run_tests --no-deps --this
CHANGELOG

Changelog for package moveit_servo

1.0.11 (2022-09-13)

1.0.10 (2022-03-06)

1.0.9 (2022-01-09)

  • Fix an off-by-one error in servo_calcs.cpp (#2908)
  • Contributors: Michael Görner

1.0.8 (2021-05-23)

  • Avoid joint jump when SuddenHalt() is called in velocity mode (#2594)
  • Halt Servo command on Pose Tracking stop (#2501)
  • stop_requested_ flag clearing fix (#2537)
  • Refactor Servo velocity bounds enforcement (#2471)
  • Protect paused_ flag, for thread safety (#2494)
  • Do not break out of loop -- need to update low pass filters (#2496)
  • Fix initial angle error is always 0 (#2464)
  • Add an important sleep in Servo pose tracking (#2463)
  • Prevent moveit_servo transforms between fixed frames from causing timeout (#2418)
  • Low latency mode (#2401)
  • Move timer initialization down to fix potential race condition
  • Fix pose tracking race condition (#2395)
  • Contributors: AdamPettinger, AndyZe, Jere Liukkonen, Michael Görner, Nathan Brooks, Tyler Weaver, parunapu

1.0.7 (2020-11-20)

  • [feature] Cleanup current state handling in servo (#2372)
  • [feature] Servo namespacing logic (#2354)
  • [feature] A library for servoing toward a moving pose (#2203)
  • [feature] Refactor velocity limit enforcement and add a unit test (#2260)
  • [feature] Add a utility to print collision pairs (#2275)
  • [feature] Update last_sent_command_ at ServoCalcs start (#2249)
  • [fix] Fix servo trajectory point timestamping (#2375)
  • [fix] Fix ordering of windup args to control_toolbox::Pid (#2370)
  • [fix] Fix Servo thread interruption (#2314)
  • [fix] Servo heap-buffer-overflow bug (#2307)
  • [maint] add soname version to moveit_servo (#2266)
  • Contributors: AdamPettinger, AndyZe, Jere Liukkonen, Nathan Brooks, Robert Haschke, Tyler Weaver

1.0.6 (2020-08-19)

  • [feature] A ROS service to reset the Servo status (#2246)
  • [feature] Check collisions during joint motions, too (#2204)
  • [fix] Correctly set velocities to zero when stale (#2255)
  • [maint] Remove unused yaml param (#2232)
  • [maint] Adapt repository for splitted moveit_resources layout (#2199)
  • [maint] Migrate to clang-format-10
  • Contributors: AndyZe, Robert Haschke, Ruofan Xu, Michael Görner

1.0.5 (2020-07-08)

  • [maint] Minor moveit_servo header cleanup (#2173)
  • [maint] Move and rename to moveit_ros/moveit_servo (#2165)
  • [maint] Changes before porting to ROS2 (#2151)
    • throttle warning logs
    • ROS1 Basic improvements and changes
    • Fixes to drift dimensions, singularity velocity scaling
    • tf name changes, const fixes, slight logic changes
    • Move ROS_LOG_THROTTLE_PERIOD to cpp files
    • Track staleness of joint and twist seperately
    • Ensure joint_trajectory output is always populated with something, even when no jog
    • Fix joint trajectory redundant points for gazebo pub
    • Fix crazy joint jog from bad Eigen init
    • Fix variable type in addJointIncrements()
    • Initialize last sent command in constructor
    • More explicit joint_jog_cmdand twist_stamped_cmdnames
    • Add comment clarying transform calculation / use
  • [fix] Fix access past end of array bug (#2155)
  • [maint] Remove duplicate line (#2154)
  • [maint] pragma once in jog_arm.h (#2152)
  • [feature] Simplify communication between threads (#2103)
    • get latest joint state c++ api
    • throttle warning logs
    • publish from jog calcs timer, removing redundant timer and internal messaging to main timer
    • outgoing message as pool allocated shared pointer for zero copy
    • replace jog_arm shared variables with ros pub/sub
    • use built in zero copy message passing instead of spsc_queues
    • use ros timers instead of threads in jog_arm
  • [feature] Added throttle to jogarm accel limit warning (#2141)
  • [feature] Time-based collision avoidance (#2100)
  • [fix] Fix crash on empty jog msgs (#2094)
  • [feature] Jog arm dimensions (#1724)
  • [maint] Clang-tidy fixes (#2050)
  • [feature] Keep updating joints, even while waiting for a valid command (#2027)
  • [fix] Fix param logic bug for self- and scene-collision proximity thresholds (#2022)
  • [feature] Split collision proximity threshold (#2008)
    • separate proximity threshold values for self-collisions and scene collisions
    • increase default value of scene collision proximity threshold
    • deprecate old parameters
  • [fix] Fix valid command flags (#2013)
    • Rename the 'zero command flag' variables for readability
    • Reset flags when incoming commands timeout
    • Remove debug line, clang format
  • [maint] Use default move constructor + assignment operators for MoveItCpp. (#2004)
  • [fix] Fix low-pass filter initialization (#1982)
    • Pause/stop JogArm threads using shared atomic bool variables
    • Add pause/unpause flags for jog thread
    • Verify valid joints by filtering for active joint models only
    • Remove redundant joint state increments
    • Wait for initial jog commands in main loop
  • [fix] Remove duplicate collision check in JogArm (#1986)
  • [feature] Add a binary collision check (#1978)
  • [feature] Publish more detailed warnings (#1915)
  • [feature] Use wait_for_service() to fix flaky tests (#1946)
  • [maint] Fix versioning (#1948)
  • [feature] SRDF velocity and acceleration limit enforcement (#1863)
  • [maint] Replace namespaces robot_state and robot_model with moveit::core (#1924)
  • [fix] JogArm C++ API fixes (#1911)
  • [feature] A ROS service to enable task redundancy (#1855)
  • [fix] Fix segfault with uninitialized JogArm thread (#1882)
  • [feature] Add warnings to moveit_jog_arm low pass filter (#1872)
  • [maint] Use CMAKE_CXX_STANDARD to enforce c++14 for portability (#1607)
  • [fix] Fix initial end effector transform jump (#1871)
  • [feature] Rework the halt msg functionality (#1868)
  • [fix] Various small fixes (#1859)
  • [maint] Improve formatting in comments
  • [fix] Prevent a crash at velocity limit (#1837)
  • [feature] Remove scale/joint parameter (#1838)
  • [feature] Pass planning scene monitor into cpp interface (#1849)
  • [maint] Move attribution below license file, standardize with MoveIt (#1847)
  • [maint] Reduce console output warnings (#1845)
  • [fix] Fix command frame transform computation (#1842)
  • [maint] Fix dependencies + catkin_lint issues
  • [feature] Update link transforms before calling checkCollision on robot state in jog_arm (#1825)
  • [feature] Add atomic bool flags for terminating JogArm threads gracefully (#1816)
  • [feature] Get transforms from RobotState instead of TF (#1803)
  • [feature] Add a C++ API (#1763)
  • [maint] Fix unused parameter warnings (#1773)
  • [maint] Update license formatting (#1764)
  • [maint] Unify jog_arm package to be C++14 (#1762)
  • [fix] Fix jog_arm segfault (#1692)
  • [fix] Fix double mutex unlock (#1672)
  • [maint] Rename jog_arm->moveit_jog_arm (#1663)
  • [feature] Do not wait for command msg to start spinning (#1603)
  • [maint] Update jog_arm README with rviz config (#1614)
  • [maint] Switch from include guards to pragma once (#1615)
  • [maint] Separate moveit_experimental packages (#1606)
  • [feature] Use UR5 example (#1605)
  • [feature] Sudden stop for critical issues, filtered deceleration otherwise (#1468)
  • [feature] Change 2nd order Butterworth low pass filter to 1st order (#1483)
  • [maint] Remove ! from MoveIt name (#1590)
  • [feature] JogArm: Remove dependency on move_group node (#1569)
  • [fix] Fix jog arm CI integration test (#1466)
  • [feature] A jogging PR for Melodic. (#1360)
    • Allow for joints in the msg that are not part of the MoveGroup.
    • Switching to the Panda robot model for tests.
    • Blacklist the test as I can't get it to pass Travis (fine locally).
    • Throttling all warnings. Fix build warning re. unit vs int comparison.
    • Continue to publish commands even if stationary
    • Scale for 'unitless' commands is not tied to publish_period.
    • New function name for checkIfJointsWithinBounds()
    • Configure the number of msgs to publish when stationary.
    • Run jog_calcs at the same rate as the publishing thread.
    • Better comments in config file, add spacenav_node dependency
    • Add spacenav_node to CMakeLists.
  • Contributors: AdamPettinger, AndyZe, Ayush Garg, Dale Koenig, Dave Coleman, Jonathan Binney, Paul Verhoeckx, Henning Kayser, Jafar Abdi, John Stechschulte, Mike Lautman, Robert Haschke, SansoneG, jschleicher, Tyler Weaver, rfeistenauer

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged moveit_servo at Robotics Stack Exchange