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.
- class somo.sm_link_definition.SMLinkDefinition(shape_type: str, dimensions: [Union[float, int]], mass: Union[float, int], inertial_values: [Union[float, int]], material_color: [Union[float, int]], material_name: str, origin_offset: [Union[float, int]] = None, visual_geometry_scaling_factor=1.0)
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: ,
}
- static assert_required_fields(dict_definition: dict)
- static from_file(file_path: str) somo.sm_link_definition.SMLinkDefinition
- static from_json(json_file_path: str) somo.sm_link_definition.SMLinkDefinition
- reduce_height(height_scaling_factor)
- to_json()
- 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()