SoMo Manipulators

SoMo provides an easy way to generate continuum manipulators. Manipulators can be comprised of several serially-chained actuators (SMActuatorDefinition), made up of a series of links (SMLinkDefinition) connected by spring-loaded joints (SMJointDefinition),

To actually implement a manipulator, you can define it in a dictionary or yaml/json file, and load the definition as a SMManipulatorDefinition object. The lower-level definitions are taken care of internally.

SMLinkDescription is correct upon instantiation.

Example json representation: link_example.json # todo update example presentation {

shape_type: xx finish, dimensions: xx finish, mass: xx, inertial_values: xx, material_color: xx, material_name: ,

}

class somo.sm_joint_definition.SMJointDefinition(joint_type: str, axis: Union[None, List] = None, limits: Optional[List] = None, spring_stiffness: Optional[Union[float, int]] = None, joint_neutral_position: Optional[Union[float, int]] = None, neutral_axis_offset: [Union[float, int, NoneType]] = None, joint_control_limit_force: [Union[float, int, NoneType]] = None)

SMJointDefinition is correct upon instantiation.

Example json representation: link_example.json # todo fix {

xx

}

static assert_required_fields(dict_definition: dict)
static from_file(file_path: str) somo.sm_joint_definition.SMJointDefinition
static from_json(json_file_path: str) somo.sm_joint_definition.SMJointDefinition
to_json()
class somo.sm_actuator_definition.SMActuatorDefinition(actuator_length: Union[float, int], n_segments: int, link_definition: Union[somo.sm_link_definition.SMLinkDefinition, Dict, str], joint_definitions: [Union[somo.sm_joint_definition.SMJointDefinition, Dict, str]], planar_flag: Union[bool, int])
static assert_required_fields(dict_definition: dict)
static from_file(file_path: str) somo.sm_actuator_definition.SMActuatorDefinition
static from_json(json_file_path: str) somo.sm_actuator_definition.SMActuatorDefinition
to_json()
class somo.sm_manipulator_definition.SMManipulatorDefinition(n_act: Union[float, int], base_definition: Optional[somo.sm_link_definition.SMLinkDefinition], actuator_definitions: [Union[somo.sm_actuator_definition.SMActuatorDefinition, Dict, str]], manipulator_name: str, tip_definition: Optional[somo.sm_link_definition.SMLinkDefinition] = None, urdf_filename: Optional[str] = None, tip_definitions: Union[None, List] = None)
static assert_required_fields(dict_definition: dict)
static from_file(file_path: str) somo.sm_manipulator_definition.SMManipulatorDefinition
static from_json(json_file_path: str) somo.sm_manipulator_definition.SMManipulatorDefinition
to_json()