Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Orientation/Motion Overhaul PR #24

Closed
wants to merge 22 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
ec7543b
Current_pose is now relative to target_frame. Transitions of target_f…
John-Bonnin Sep 15, 2022
8c95d44
Flipped orientation of peg tcp. Started debugging oriented motion com…
John-Bonnin Sep 21, 2022
01f4e33
Safety commit, started working on motionPolicy and conntroller
John-Bonnin Sep 23, 2022
531db73
Updated readme with results of the Pipeline Error Escapade, starring …
John-Bonnin Oct 1, 2022
942d5ac
Merge pull request #2 from John-Bonnin/feature/reorient_tcp
John-Bonnin Oct 11, 2022
8b337c0
Updated peg-in-hole demo task location; removed half-baked safety mea…
John-Bonnin Oct 12, 2022
12785ab
Started moving lead-limiting code into AssemblyUtils; increased contr…
John-Bonnin Oct 13, 2022
e1896a0
All code in; fixed some bad packing in publish_pose; ready to start t…
John-Bonnin Oct 13, 2022
1300d37
Fixed a bug in check_completion in ConnStep to eliminate a .9 second …
John-Bonnin Oct 18, 2022
d7aee20
Safety commit before overhauling publish_wrench and publish_pose pipe…
John-Bonnin Oct 18, 2022
ab3714e
Fixed exit condition math to remove a necessary 1 second delay; short…
John-Bonnin Oct 20, 2022
2d28a86
New lead limiter is in place; replacing erroneously-flipped quaternio…
John-Bonnin Oct 20, 2022
a8435c3
Safety commit; Im really going to do it this time. Got MovePolicy run…
John-Bonnin Oct 21, 2022
ea5ff5a
Moved ownership of move_policy to the Connstep object. This tidies up…
John-Bonnin Oct 25, 2022
579ee54
Simplified legacy support to interpret seeking_force and comply_axes …
John-Bonnin Oct 26, 2022
c441447
Fixed the create_policy_from_legacy method: Plane and line were swapped.
John-Bonnin Oct 26, 2022
56c5712
Fixing backward compatibility...
John-Bonnin Oct 26, 2022
f020bad
Removed the useless box from the urdf.
John-Bonnin Oct 27, 2022
893b47d
Runs perfectly. Question - do we want to move to this metapackage str…
John-Bonnin Nov 1, 2022
ac5c2b5
Fixed backwared-compat functions; I will now try removing them and se…
John-Bonnin Nov 1, 2022
080a4ea
Tested movepolicy without backward compatibility; works. Started sett…
John-Bonnin Nov 2, 2022
5d32560
Merged movepolicy and separate_spiral_search work.
John-Bonnin Nov 2, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed 2022-08-01-10-13-06.bag
Binary file not shown.
Binary file added 2022-09-23-14-58-14.bag
Binary file not shown.
8 changes: 8 additions & 0 deletions conntact/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
cmake_minimum_required(VERSION 3.0)
project(conntact)

find_package(catkin REQUIRED COMPONENTS)

catkin_package()

catkin_python_setup()
File renamed without changes.
9 changes: 9 additions & 0 deletions ReadMe.md → conntact/ReadMe.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,15 @@ Development of framework was done under Ubuntu Focal (20.04) using [ROS Noetic](
- Install ROS package dependencies: `rosdep install --rosdistro noetic --ignore-src --from-paths .`
- Source ROS and build the workspace: `. /opt/ros/noetic/setup.bash`, `catkin build`

It may be required to uninstall the ROS-default `ros-noetic-ur-client-library`, which uses old debs which lack major performance improvements. Even when running on a highly-performant computer, the RTDE buffer may overflow, giving `Pipeline Producer overflowed! <RTDE Pipeline>` errors. This causes major instability in robot performance.

Fix this by building the more recent versions from source:

- `sudo apt remove ros-noetic-ur-client-library`
- `sudo apt install ccache`
- `git clone https://github.com/UniversalRobots/Universal_Robots_Client_Library.git`
- `catkin config -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_C_COMPILER_LAUNCHER=ccache`

## Structure

![Detailed block diagram](resource/Conntact_Detail_Diagram.png)
Expand Down
117 changes: 117 additions & 0 deletions conntact/config/ur10e_controllers_template.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
# Settings for ros_control control loop
hardware_control_loop:
loop_hz: 500

# Settings for ros_control hardware interface
ur_hardware_interface:
joints: &robot_joints
- shoulder_pan_joint
- shoulder_lift_joint
- elbow_joint
- wrist_1_joint
- wrist_2_joint
- wrist_3_joint

# Publish all joint states ----------------------------------
joint_state_controller:
type: joint_state_controller/JointStateController
publish_rate: 200

# Publish wrench ----------------------------------
force_torque_sensor_controller:
type: force_torque_sensor_controller/ForceTorqueSensorController
publish_rate: 200

# Publish speed_scaling factor
speed_scaling_state_controller:
type: ur_controllers/SpeedScalingStateController
publish_rate: 200

# Joint Trajectory Controller - position based -------------------------------
# For detailed explanations of parameter see http://wiki.ros.org/joint_trajectory_controller
scaled_pos_joint_traj_controller:
type: position_controllers/ScaledJointTrajectoryController
joints: *robot_joints
constraints:
goal_time: 0.6
stopped_velocity_tolerance: 0.05
shoulder_pan_joint: {trajectory: 0.2, goal: 0.1}
shoulder_lift_joint: {trajectory: 0.2, goal: 0.1}
elbow_joint: {trajectory: 0.2, goal: 0.1}
wrist_1_joint: {trajectory: 0.2, goal: 0.1}
wrist_2_joint: {trajectory: 0.2, goal: 0.1}
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
stop_trajectory_duration: 0.5
state_publish_rate: 500
action_monitor_rate: 10

pos_joint_traj_controller:
type: position_controllers/JointTrajectoryController
joints: *robot_joints
constraints:
goal_time: 0.6
stopped_velocity_tolerance: 0.05
shoulder_pan_joint: {trajectory: 0.2, goal: 0.1}
shoulder_lift_joint: {trajectory: 0.2, goal: 0.1}
elbow_joint: {trajectory: 0.2, goal: 0.1}
wrist_1_joint: {trajectory: 0.2, goal: 0.1}
wrist_2_joint: {trajectory: 0.2, goal: 0.1}
wrist_3_joint: {trajectory: 0.2, goal: 0.1}
stop_trajectory_duration: 0.5
state_publish_rate: 500
action_monitor_rate: 10

joint_group_position_controller:
type: position_controllers/JointGroupPositionController
joints: *robot_joints

cartesian_force_controller:
type: "position_controllers/CartesianForceController"
end_effector_link: "tool0"
robot_base_link: "base_link"
ft_sensor_ref_link: "tool0"
joints: *robot_joints
pd_gains:
trans_x: {p: 0.006}
trans_y: {p: 0.006}
trans_z: {p: 0.001}
rot_x: {p: 0.09}
rot_y: {p: 0.09}
rot_z: {p: 0.09}

cartesian_compliance_controller:
type: "position_controllers/CartesianComplianceController"
end_effector_link: "tool0"
robot_base_link: "base_link"
ft_sensor_ref_link: "tool0"
compliance_ref_link: "tool0"
target_frame_topic: "target_frame"
joints: *robot_joints
stiffness:
trans_x: 1200
trans_y: 1200
trans_z: 1200
rot_x: 150
rot_y: 150
rot_z: 150
pd_gains:
trans_x: {p: 0.0025}
trans_y: {p: 0.0025}
trans_z: {p: 0.0025}
rot_x: {p: 0.06}
rot_y: {p: 0.06}
rot_z: {p: 0.06}

# cartesian_force_controller:
# type: "position_controllers/CartesianForceController"
# end_effector_link: "tool0"
# robot_base_link: "base_link"
# ft_sensor_ref_link: "tool0"
# joints: *robot_joints
# pd_gains:
# trans_x: {p: 0.05}
# trans_y: {p: 0.05}
# trans_z: {p: 0.05}
# rot_x: {p: 0.01}
# rot_y: {p: 0.01}
# rot_z: {p: 0.01}
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
Loading