Arm

Work in progress

There are many different types of robotic arm categorized by their mechanical structure:

  • Cartesian robot / Gantry robot: robots have three joints that are coincident with the standard X-Y-Z Cartesian axes. (brigde crane is included)
  • Cylindrical robot: have any number of joints that operate on a cylindrical axis, normally rotating about one fixed rod.
  • Spherical robot / Polar robot: are those with joints that allow it full rotation throughout a spherical range.
  • SCARA robot: have two parallel rotary joints to allow full movement throughout a plane, typically for pick-and-place work.
  • Articulated robot: are used for complex assembly operations, and consist of three or more rotary joints.
  • Parallel robot:have three concurrent prismatic or rotary joints, and allow for tilting of heavy or sensitive platforms.
  • Anthropomorphic robot: It is shaped in a way that resembles a human hand, i.e. with independent fingers and thumbs.
HRIM defines an arm as
A mechanism with similar functions to a human arm.

Although there are different types, they all have the same objective, so, apart from the common requirements (ID, Status, Power, Specs and Simulation, detailed in HRIM component model section), all the arms will contain a topic referring to reach a point regarding its own origin.

  • Fix the origin: The standarization requires that all the arms has the same started point. Discover the defined point of origin for each type of robot. As each manufacturer fix a origin point wherever he want, the first step that the user has to do is verify the origin on the specifications. In case they are different from those proposed by us, the user will has to change it using the mandatory parameters, to understand it better see fix the origin example.
HRIM component model: Arm
/hrim_composite_arm_<instance_id>/id hrim_generic_msgs/msg/ID.msg topic (Sub) M Component identification.
/hrim_composite_arm_<instance_id>/status hrim_generic_msgs/msg/Status.msg topic (Sub) M How the module is working.
/hrim_composite_arm_<instance_id>/power hrim_generic_msgs/msg/Power.msg topic (Sub) M Describes the power supply type and give the information about the module power consumption.
/hrim_composite_arm_<instance_id>/specs_comm hrim_generic_msgs/msg/SpecsCommunication.msg topic (Sub) M Published the capabilities in term of communicaction that the component offers.
/hrim_composite_arm_<instance_id>/state_comm hrim_generic_msgs/msg/StateCommunication.msg topic (Sub) M Published the resources that the component is using at the moment.
/hrim_composite_arm_<instance_id>/module_3d hrim_generic_msgs/msg/Simulation3D.msg topic (Sub) M Ask for the 3D model of the HRIM component.
/hrim_composite_arm_<instance_id>/module_urdf hrim_generic_msgs/msg/SimulationURDF.msg topic (Sub) M Ask for the information of,3D model of the HRIM component.
/hrim_composite_arm_<instance_id>/specs hrim_composite_arm_msgs/msg/SpecsArm.msg topic (Sub) M Arm robot general characteristics.
/hrim_composite_arm_<instance_id>/goal_position hrim_composite_arm_srvs/srv/GoalArmPosition.srv service M End-effector position.
/hrim_composite_arm_<instance_id>/joint_states hrim_composite_arm_msgs/msg/StateJoints.msg topic (Sub) M State of the joints
/hrim_composite_arm_<instance_id>/joint_movement hrim_composite_arm_srvs/srv/GoalJointMovement.srv service M Move the joints.
/hrim_composite_arm_<instance_id>/joint_trajectory hrim_composite_arm_srvs/srv/GoalJointTrajectory.srv service M Create a joint trajectory
/hrim_composite_arm_<instance_id>/rc hrim_ui_rc_msgs/msg/RC.msg topic (Sub) O Conect to remote control.
/hrim_composite_arm_<instance_id>/reconfiguration hrim_sensor_imu_msgs/msg/Reconfiguration.msg topic (Sub) O Dynamic reconfiguration of H-ROS systems. The integration of an IMU sensor is needed.
Parameters
arm_name string - M The name of the arm.
joint_names string[] - M Names of the joint of the arm.
x_angle_y_direction float64 rad M Related to fix the origin
Turn the X axis in the direction where the Y axis is.
x_angle_z_direction float64 rad M Related to fix the origin
Turn the X axis in the direction where the Z axis is.
y_angle_x_direction float64 rad M Related to fix the origin
Turn the Y axis in the direction where the X axis is.
y_angle_z_direction float64 rad M Related to fix the origin
Turn the Y axis in the direction where the Z axis is.
z_direction bool [true/false] M Related to fix the origin
True: the z-axis direction is okey/ False: reverse direction.
x_position double m M Related to fix the origin
X axis position according to the marked origin
y_position double m M Related to fix the origin
Y axis position according to the marked origin
z_position double m M Related to fix the origin
Z axis position according to the marked origin
rc_max_velocity double rad/s O Related to RC.msg
Joistik maximum angular velocity value.
NOTE: Mandatory if RC.msg is added.
rc_max_yaw double rad/s O Related to RC.msg
Joistik maximum vehicle's turning angle.
NOTE: Mandatory if RC.msg is added.

NOTE: with tha parameters related to fix the origin take into account that the first damage the following