sns_ik_examples package from sns-ik reposns_ik sns_ik_examples sns_ik_lib |
|
Package Summary
Tags | No category tags. |
Version | 0.2.3 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/RethinkRobotics-opensource/sns_ik.git |
VCS Type | git |
VCS Version | kinetic-devel |
Last Updated | 2018-07-23 |
Dev Status | MAINTAINED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Package Description
Additional Links
Maintainers
- Rethink Robotics Inc.
Authors
- Fabrizio Flacco
- Ian McMahon
- Forrest Rogers-Marcovitz
README: sns_ik_examples
This directory contains scripts that run some tests of the SNS-IK library using the Sawyer and Baxter robot models.
Tutorial: how to run these scripts
First you need to setup your catkin workspace. If you are unfamiliar with this process then you should refer to the ROS tutorial page: http://wiki.ros.org/catkin/Tutorials/create_a_workspace
Once you set up the catkin workspace it should look something like:
ros_ws/
- src/
- sns_ik/
- baxter_robot/
- sawyer_robot/
The sns_ik/
directory contains this repository, cloned from:
https://github.com/RethinkRobotics-opensource/sns_ik.
The baxter_robot/
director contains the open-source model of the Baxter robot, cloned from:
https://github.com/RethinkRobotics/baxter_common.git.
The sawyer_robot/
directory contains the open-source model of the Sawyer robot, cloned from:
https://github.com/RethinkRobotics/sawyer_robot.
Once the directory structure is in place you will need to setup the catkin workspace. The commands will look something like this:
$ cd ros_ws
$ source /opt/ros/indigo/setup.sh
$ catkin_make
$ source devel/setup.bash
Now you can run the test scripts:
$ roslaunch sns_ik_examples test_baxter.launch
$ roslaunch sns_ik_examples test_sawyer.launch
Test architecture and parameters:
The file test_ik_solvers.launch
is the generic launch file and is called by
both of the test scripts above. The launch file then passes a set of arguments
into the all_ik_tests
executable. The source code for all_ik_tests
is in
src/ik_tests.cpp
. You can read more about ROS launch scripts here:
http://wiki.ros.org/roslaunch/XML.
How can I run the test on a different robot?
One way to do this would be to create a test_yourNewRobot.launch
file that is
similar to either the Sawyer or Baxter test scripts that are in this package.
Changelog for package sns_ik_examples
0.2.3 (2017-10-29)
- CMakeLists Eigen cleanup In ROS Kinetic, cmake_modules is deprecated, so we will use some alternative CMakeLists strategies to find_package the Eigen 3.x library.
- Contributors: Ian McMahon
0.2.1 (2016-10-25)
- No Updates
0.2.0 (2016-09-06)
- Fixes for stricter build rules
- Contributors: Forrest Rogers-Marcovitz
0.1.1 (2016-04-28)
- No updates
0.1.0 (2016-04-22)
- Fixed nullspace evalution bugs
- Updated per review comments for Nullspace Tests
- Added nullspace influence calculation
- Added position limit checks on IK solvers
- Added final pose checks for position solvers
- Nullspace testing wip
- Basic nullspace bias task functionality
- Output time std deviation with plus/minus sign. Increased number of position tests.
- Turned on compile optimization -O2. Huge speed increase ~20X
- For the velocity solver in sns_ik, changed the name to CartToJntVel to minimize name confusion.
- Merge with origin/master
- First pass at nullspace bias tasks for position IK. Not optimized yet.
- Added Pos Solver Time Standard Deviation This commit adds Standard Deviation calculation for the time each position solver takes to run, for KDL, Trac & all SNS solvers.
- Added Launch file heierchy for multiple robots Now the test_ik_solvers.launch is expecting a URDF to have already been loaded into /robot_description or the specfied urdf_param location.
- Standardized seed-testing interface
- First pass at nullspace bias tasks for velocity IK. Fixed P matrix for secondary tasks in fsns and fosns. Also turned off singularity logging.
- Updated based on review comments
-
Adds close delta seeds for Position IK Testing Adds a seed that is close to the random joint angle used in constructing an inverse kinematic solition. This should simulate the most favorable (and realistic) conditions for using the solver in cartesian movement. TBD: - Parametrize the 0.2 radian delta for the seed - Test how close the resulting joint solutions are to the delta seed
- Better time comparison.
- Allow random seeds and logging cleanup
- Check rotational speed scaling
- Cleaner test output.
- Fixed Interface breakage & invalid function call
- Updates Position IK interface based on review comments
- Adds SharedPtr Get interface for Pos & Vel solvers
- Additional tracking of if Cartesian velocities are scaled correctly.
- Fast optimal SNS. There is still probably a bug in the code.
- Fast SNS algorithm
- A few minor changes with parameters and logging. Random seed based on time. Small parameter changes.
- Added testing and infra for Velocity SNS tests
- Adds SNS_IK() class for using URDF & limits This changes adds the SNS_IK class which will construct a KDL chain from the specified robot_description parameter. Position and velocity limits can be read from the URDF, and overridden by including a standard robot_description_planning/joint_limits yaml file of lower position, upper position, max velocity and max acceleration limits. Finally, a new testing executable has been included which is based largely off of trac_ik_examples tests. This will compare sns_ik against KDL and trac_ik position solvers.
- Fixed Cartesian error math which was different from Eigen
- Renamend sm class
- Merged from master
- Fixed a number of bugs in the position ik solver, though still not converging correctly
- Added Optimal SNS velocity solver with scale margin
- Correct inheritance
- Created a class for the optimal SNS velocity IK solver
- Fixed crash related to un-initialized variables
- Attemp to add position ik test, but causing fault in velocity ik solver.
- Better checks for input sizes
- Merged in massive library formatting
- Converts sns lib into package framework This commit lays the
foundation for a collection of SNS IK packages:
- sns_ik : Metapackage for SNS IK solver, plugins, examples
- sns_ik_lib: SNS IK solver library
- sns_ik_examples: Tests and examples for SNS IK library
- sns_ik_kinematic_plugins: A package for integrating SNS IK with moveit_ros Also, added Fabrezio, Ian, and Forrest as authors of these packages.
- Contributors: Forrest Rogers-Marcovitz, Ian McMahon
Wiki Tutorials
Dependant Packages
Name | Deps |
---|---|
sns_ik |
Launch files
- launch/test_sawyer.launch
- Requires the catkin packages intera_common and sawyer_robot
-
- urdf_param [default: /robot_description]
- load_robot_description [default: true]
- launch/test_ik_solvers.launch
-
- num_samples_pos [default: 1000]
- num_samples_vel [default: 1000]
- chain_start [default: base]
- chain_end [default: right_hand]
- timeout [default: 0.005]
- loop_period [default: 0.005]
- urdf_param [default: /robot_description]
- use_random_position_seed [default: false]
- use_delta_position_seed [default: false]
- delta_position_seed_value [default: 0.2]
- use_nullspace_bias_task [default: false]
- nullspace_gain [default: 0.3]
- nominal_nullspace [default: false]
- delta_nullspace [default: true]
- delta_nullspace_value [default: 0.2]
- launch/test_baxter.launch
- Requires the catkin package baxter_common
-
- urdf_param [default: /robot_description]
- load_robot_description [default: true]