You can find an introduction and the citation information of RelaxedIK in the README of RelaxedIK Core which is a submodule of this repo. It is recommended to look at RelaxedIK Core before working with this wrapper.
[Introduction place holder]
readchar:
sudo pip install readchar
Pyyaml:
sudo pip install PyYaml
To use this wrapper, you will first need to install Rust. Please go to https://www.rust-lang.org/learn/get-started for more infomation.
-
Compile relaxed_ik_core
-
Download mesh files for robots:
UR5: https://github.com/ros-industrial/universal_robot
Sawyer: https://github.com/RethinkRobotics/sawyer_robot
Spot arm: https://github.com/heuristicus/spot_ros
-
catkin_make
-
Start a demo with the Sawyer robot
roslaunch relaxed_ik_ros1 demo.launch
if you want use a different robot, pass the absolute path to the setting file as an argument
roslaunch relaxed_ik_ros1 demo.launch setting_file_path:=<your absolute path to the setting file>
5a. To move the robot using keyboard, open a new terminal
rosrun relaxed_ik_ros1 keyboard_input.py
And then use the folloing commands to move the robot.
c - kill the controller controller script
w - move chain 1 along +X
x - move chain 1 along -X
a - move chain 1 along +Y
d - move chain 1 along -Y
q - move chain 1 along +Z
z - move chain 1 along -Z
1 - rotate chain 1 around +X
2 - rotate chain 1 around -X
3 - rotate chain 1 around +Y
4 - rotate chain 1 around -Y
5 - rotate chain 1 around +Z
6 rotate chain 1 around -Z
5b. TO trace a predefined trajectory
rosrun relaxed_ik_ros1 line_tracing.py _tolerances:=[0,0,0,0,0,999]
which allows the end-effector to freely rotate allow the z axis.
If you don't want to use tolerances, set the _tolerances arguments to all zeros.
The script use ROS service by default. To use ROS topic, set parameter _use_topic_not_service:=True