From 31ac91347a3f1f53fbda84964aace253fcacd60f Mon Sep 17 00:00:00 2001 From: qlin960618 Date: Fri, 10 Jan 2025 09:43:58 +0900 Subject: [PATCH] update readme with basic documentations --- README.md | 83 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b30ae3c..fa8d05d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,84 @@ -![](https://img.shields.io/github/license/juanjqo/sas_robot_driver_franka)![](https://img.shields.io/github/contributors/juanjqo/sas_robot_driver_franka)![](https://img.shields.io/github/last-commit/juanjqo/sas_robot_driver_franka)![](https://img.shields.io/github/last-commit/juanjqo/sas_robot_driver_franka/master)![](https://img.shields.io/badge/status-experimental-red) +![](https://img.shields.io/github/license/qlin960618/sas_robot_driver_franka)![](https://img.shields.io/github/contributors/qlin960618/sas_robot_driver_franka)![](https://img.shields.io/github/last-commit/qlin960618/sas_robot_driver_franka)![](https://img.shields.io/github/last-commit/qlin960618/sas_robot_driver_franka/ros2_jazzy)![](https://img.shields.io/badge/status-experimental-red) # sas_robot_driver_franka +![ezgif com-video-to-gif (1)](https://github.com/SmartArmStack/sas_robot_driver/assets/23158313/b4e1efa7-8d93-4a67-ab87-a74c41d8f4bc) +Robot driver for the Franka Research 3 Robot. +## Original Contributors +- [Juan José Quiroz Omaña](https://github.com/juanjqo/sas_robot_driver_franka) + +## dependencies +SAS: +- sas_common +- sas_core +- sas_msgs +- sas_conversions +- sas_robot_driver +- [sas_robot_driver_franka_interfaces](https://www.github.com/qlin960618/sas_robot_driver_franka_interfaces) + +Misc: +- geometry_msgs +- std_msgs +- std_srvs +- tf2_ros +- tf2 + +Franka Related + +- Franka (libfranka) +- pinocchio + +## Components + +### sas_robot_driver_franka +Kernel-space real-time robot driver for the SmartArm compatible control + +#### node parameters: +```yaml +"robot_ip_address": "172.16.0.x" # robot ip address +"thread_sampling_time_sec": 0.004 # control sampling time (1.0/loop_rate) +"q_min": [-2.3093, -1.5133, -2.4937, -2.7478, -2.4800, 0.8521, -2.6895] # joint limit minimum, if not define will obtain from [ROBOT_JSON] +"q_max": [2.3093, 1.5133, 2.4937, -0.4461, 2.4800, 4.2094, 2.6895] # joint limit maximum, if not define will obtain from [ROBOT_JSON] +"force_upper_limits_scaling_factor": 4.0 # force and torque error limit scaling factor from default, (if any of the below is not defined) +"upper_torque_threshold": [40.0, 40.0, 40.0, 40.0, 40.0, 40.0, 40.0] # joint torque safety threshold, [j1, j2, ..., j7] +"upper_force_threshold": [40.0, 40.0, 40.0, 40.0, 40.0, 40.0] # end-effector frame safety force threshold [x, y, z, rx, ry, rz] +"robot_mode": "VelocityControl" # control mode [VelocityControl/PositionControl]: currently PositionControl can be unstable +"robot_parameter_file_path": os.environ["ROBOT_3_JSON_PATH"] # Robot definition JSON path +``` + +### sas_robot_driver_franka_hand +Franka Hand driver for basic control of gripping functionality. + +#### special dependencies +- sas_robot_driver_franka_interfaces + - + - + - + +#### node parameters: +```yaml +"robot_ip_address": "172.16.0.x" # robot ip address +"thread_sampling_time_sec": 0.02 # control sampling time, (1.0/status update rate) +"default_force": 2.0 # default gripping force (overridable from service call) +"default_speed": 0.07 # default gripping speed (overridable from service call) +"default_epsilon_inner": 0.007 # default grip call position epsilon (overridable from service call) +"default_epsilon_outer": 0.007 # default grip call position epsilon (overridable from service call) +``` + + +### sas_robot_driver_coppelia_node +Digital twin mirroring node for driver node to CoppeliaSim + + +#### node parameters: +```yaml +"thread_sampling_time_sec": 0.008 # control sampling time (1.0/loop_rate) +"vrep_ip": os.environ["VREP_IP"] # ip of the vrep computer +"vrep_port": 20012 # vrep port +"vrep_dynamically_enabled": True # if vrep scene is dynamically enabled +"using_real_robot": True # if node should read-only from real robot driver, False for simulation mode +"vrep_joint_names": ["Franka_joint1#1", "Franka_joint2#1", "Franka_joint3#1", "Franka_joint4#1", + "Franka_joint5#1", "Franka_joint6#1", "Franka_joint7#1"] # coppelia scene joint names +"robot_topic_prefix": "/arm3" # robot driver namespace +"robot_mode": "VelocityControl" # only use when in simulation node, aka using_real_robot==False, for simulating velocity control mode. (TODO: currently not stable) +"robot_parameter_file_path": os.environ["ROBOT_3_JSON_PATH"] # Robot definition JSON path +```