145067cbb48b34916b159e8ad65371b918a93670
sas_robot_driver_franka
Robot driver for the Franka Research 3 Robot.
Original Contributors
dependencies
SAS:
- sas_common
- sas_core
- sas_msgs
- sas_conversions
- sas_robot_driver
- 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:
"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
- <sas_robot_driver_franka_interfaces/srv/grasp.hpp>
- <sas_robot_driver_franka_interfaces/srv/move.hpp>
- <sas_robot_driver_franka_interfaces/msg/gripper_state.hpp>
node parameters:
"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:
"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": "PositionControl" # only use when in simulation node, aka using_real_robot==False, for simulating velocity control mode. (TODO: currently VelocityControl is not stable)
"robot_parameter_file_path": os.environ["ROBOT_3_JSON_PATH"] # Robot definition JSON path
Description
Languages
C++
91.1%
Python
5.1%
CMake
3.8%