Seven Dof

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

‘’’Creating the robot description for a seven DOF robot manipulator

In this part we will creat model URDF xacro of the manipulator robot , which has a seven dof
robotics arm that is a serial link manipulator with multiple serial links.Our robot has mor joints and
DOF than what we call kinematically redundant .he advantage of redundant manipulators is that we
can have more joint configuration for a desired goal position and orientation. It will improve the
flexibility and versatility of the robot movement and can implement effective collision-free motion
in a robotic workspace.

Joints and Links of seven DOF arm robot

Our robot arm specification has the following characteristics :

Degrees of freedom: 7
Length of the arm: 50 cm
Reach of the arm: 35 cm
Number of links: 12
Number of joints: 11

Here is the list of joints containing the joint name and its type of robot:
the xacro file that describes this robot contains the same instructions that we saw in the previous
part moreover we use constants inside this xacro to make it shorter using the follow property:
<xacro:property name="deg_to_rad" value="0.01745329251994329577"/>

In this file we are gonna create MACROs. They will help us creating inertial_matrix to avoid
repeatability.

The main feature of xacro is its support for macros. Define macros with the macro tag, and specify
the macro name and the list of parameters. The list of parameters should be whitespace separated.
They become macro-local properties
<xacro:macro name="inertial_matrix" params="mass">
<inertial>
<mass value="${mass}" />
<inertia ixx="1.0" ixy="0.0" ixz="0.0" iyy="0.5" iyz="0.0"
izz="1.0" />
</inertial>
</xacro:macro>

<xacro:macro name="transmission_block" params="joint_name">


<transmission name="tran1">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${joint_name}">
<hardwareInterface>PositionJointInterface</hardwareInterface>
</joint>
<actuator name="motor1">
<hardwareInterface>PositionJointInterface</hardwareInterface>
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
</xacro:macro>

We have 2 MACROs created. Each one with a name defined in the attribute name of the tags
xacro:macro. The next attribute is used to defined the parameters we want to make available in a
MACRO. These parameters are used in the following format: ${param_name}
And the transmission tag relates a joint to an actuator. It defines the type of transmission that
we are using in a particular joint, as well as the type of motor and its parameters. It also
defines the type of hardware interface we use when we interface with the ROS controllers

You can include other xacro files using the xacro:include tag:
<xacro:include filename="$(find mastering_ros_robot_description_pkg)/urdf/sensor
s/xtion_pro_live.urdf.xacro"/>

The file " xtion_pro_live.urdf.xacro ", will be included and expanded by xacro

Using "$(find mastering_ros_robot_description_pkg)/urdf/sensors/xtion_pro_live.urdf.x


acro", we can access the xacro definition of the sensor, where find is to locate the
current mastering_ros_robot_description_pkg package.

View urdf
Now we need to source the package path in our catkin workspace:

cd ~/robotic_setups
catkin_make
source devel/setup.bash

And then run:

$ roslaunch mastering_ros_robot_description_pkg view_arm.launch

Screenshot of RViz showing the SEVEN DOF arm.

screeeeeeeeeennnnnnnnnnnnnnshooooooooooott

You might also like