Why pallet is not smooth enough ?
I want to attach a pallet to a robot. However, it is not smooth enough. Here you can find the https://youtu.be/wU0WEoQxzTo how it works. Any idea how could I improve the smoothness.
<?xml version="1.0"?>
<robot name="jackal" xmlns:xacro="http://www.ros.org/wiki/xacro">
<xacro:property name="PI" value="3.1415926535897931" />
<xacro:property name="wheelbase" value="0.262" />
<xacro:property name="track" value="0.37559" />
<xacro:property name="wheel_vertical_offset" value="0.0345" />
<xacro:property name="footprint_vertical_offset" value="-0.00" />
<xacro:property name="wheel_radius" value="0.065" />
<xacro:property name="wheel_width" value="0.040" />
<xacro:property name="chassis_length" value="0.420" />
<xacro:property name="chassis_width" value="0.310" />
<xacro:property name="chassis_height" value="0.184" />
<xacro:property name="dummy_inertia" value="1e-09"/>
<xacro:property name="mount_spacing" value="0.120" />
<xacro:arg name="gpu" default="true"/>
<xacro:property name="gpu" value="$(arg gpu)" />
<material name="dark_grey"><color rgba=" 0.2 0.2 0.2 1.0" /></material>
<material name="light_grey"><color rgba="0.4 0.4 0.4 1.0" /></material>
<material name="yellow"><color rgba="0.8 0.8 0.0 1.0" /></material>
<material name="black"><color rgba="0.15 0.15 0.15 1.0" /></material>
<xacro:macro name="wheel" params="prefix *joint_pose">
<link name="${prefix}_wheel_link">
<visual>
<origin xyz="0 0 0" rpy="${PI/2} 0 0"/>
<geometry>
<mesh filename="package://antboy_gazebo/meshes/jackal-wheel.stl"/>
</geometry>
<material name="black" />
</visual>
<collision>
<origin xyz="0 0 0" rpy="${PI/2} 0 0"/>
<geometry>
<cylinder radius="${wheel_radius}" length="${wheel_width}"/>
</geometry>
</collision>
<inertial>
<origin xyz="0 0 0" rpy="0 0 0"/>
<mass value="0.477"/>
<inertia
ixx="0.0013" ixy="0" ixz="0"
iyy="0.0024" iyz="0"
izz="0.0013"/>
</inertial>
</link>
<gazebo reference="${prefix}_wheel_link">
<material>Gazebo/DarkGrey</material>
</gazebo>
<joint name="${prefix}_wheel" type="continuous">
<parent link="chassis_link"/>
<child link="${prefix}_wheel_link" />
<xacro:insert_block name="joint_pose" />
<axis xyz="0 1 0" />
</joint>
<transmission name="${prefix}_wheel_trans">
<type>transmission_interface/SimpleTransmission</type>
<joint name="${prefix}_wheel">
<hardwareInterface>hardware_interface/VelocityJointInterface</hardwareInterface>
</joint>
<actuator name="${prefix}_actuator">
<mechanicalReduction>1</mechanicalReduction>
</actuator>
</transmission>
</xacro:macro>
<xacro:wheel prefix="front_left">
<origin xyz="${wheelbase/2} ${track/2} ${wheel_vertical_offset}" rpy="0 0 0" />
</xacro:wheel>
<xacro:wheel prefix="front_right">
<origin xyz="${wheelbase/2} ${-track/2} ${wheel_vertical_offset}" rpy="0 0 0" />
</xacro:wheel>
<xacro:wheel prefix="rear_left">
<origin xyz="${-wheelbase/2} ${track/2} ${wheel_vertical_offset}" rpy="0 0 0" />
</xacro:wheel>
<xacro:wheel prefix="rear_right">
<origin xyz="${-wheelbase/2} ${-track/2} ${wheel_vertical_offset}" rpy="0 0 0" />
</xacro:wheel>
<link name="base_link"></link>
<joint name="base_link_joint" type="fixed">
<origin xyz="0 0 0" rpy="0 0 0" />
<parent link="base_link"/>
<child link="chassis_link" />
</joint>
<link name="chassis_link">
<visual>
<origin xyz="0 0 ${footprint_vertical_offset}" rpy="0 0 0"/>
<geometry>
<mesh filename="package://antboy_gazebo/meshes/ant_boy.stl" scale="0.001 0.001 0.001"/>
</geometry>
<material name="yellow" />
</visual>
<collision>
<origin xyz="0 0 ${chassis_height/2}"/>
<geometry>
<box size="${chassis_length} ${chassis_width} ${chassis_height}"/>
</geometry>
</collision>
<inertial>
<origin xyz="0.012 0.002 0.067" rpy="0 0 0"/>
<mass value="30.523"/>
<inertia
ixx="0.3136" ixy="-0.0008" ixz="0.0164"
iyy="0.3922" iyz="-0.0009"
izz="0.4485"/>
</inertial>
</link>
<link name="imu_link">
<inertial>
<mass value="0.001"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<inertia ixx="${dummy_inertia}" ixy="0.0" ixz="0.0" iyy="${dummy_inertia}" iyz="0.0" izz="${dummy_inertia}"/>
</inertial>
</link>
<joint name="imu_joint" type="fixed">
<parent link="chassis_link" />
<child link="imu_link" />
</joint>
<link name="mid_mount"></link>
<joint name="mid_mount_joint" type="fixed">
<parent link="chassis_link" />
<child link="mid_mount" />
<origin xyz="0 0 ${chassis_height}" />
</joint>
<link name="rear_mount"></link>
<joint name="rear_mount_joint" type="fixed">
<parent link="mid_mount" />
<child link="rear_mount" />
<origin xyz="${-mount_spacing} 0 0" />
</joint>
<link name="front_mount"></link>
<joint name="front_mount_joint" type="fixed">
<parent link="mid_mount" />
<child link="front_mount" />
<origin xyz="${mount_spacing} 0 0" />
</joint>
<link name="camera_link">
<inertial>
<mass value="1"/>
<inertia ixx="0.001" ixy="0.0" ixz="0.0" iyy="0.001" iyz="0.0" izz="0.001"/>
</inertial>
</link>
<joint name="front_camera_joint" type="fixed">
<parent link="base_link"/>
<child link="camera_link"/>
<origin xyz="0.324 0.0 0.106" rpy="0.0 -0.61 0.0"/>
</joint>
<joint name="lidar_joint" type="fixed" >
<origin xyz="0.248 0.0 0.171" rpy="0 0 0" />
<parent link="base_link" />
<child link="lidar_link"/>
</joint>
<!-- _________JOINT_____________ -->
<link name="center_hinge_prismatic_link">
<inertial>
<mass value="0.1" />
<origin xyz="0 0 0.0" />
<inertia ixx="0.001" ixy="0.0" ixz="0.0"
iyy="0.001" iyz="0.0" izz="0.001" />
</inertial>
<visual>
<origin xyz="0 0 0.2" rpy="0 0.0 0"/>
<geometry>
<cylinder radius="0.05" length="0.32"/>
</geometry>
</visual>
</link>
<joint name="center_hinge_joint" type="prismatic">
<limit effort="1000.0" lower="-0.1" upper="0.15" velocity="2.5"/>
<origin xyz="-0.0 0.0 0.1" rpy="0 0 0" />
<parent link="chassis_link" />
<child link="center_hinge_prismatic_link"/>
<axis xyz="0 0 1" />
</joint>
<link name="center_hinge_link">
<inertial>
<mass value="0.1" />
<origin xyz="0 0 0.0" />
<inertia ixx="0.001" ixy="0.0" ixz="0.0"
iyy="0.001" iyz="0.0" izz="0.001" />
</inertial>
<visual>
<origin xyz="0 0 0.2" rpy="0 0.0 0"/>
<geometry>
<cylinder radius="0.05" length="0.32"/>
</geometry>
</visual>
</link>
<joint name="center_hinge_prismatic_joint" type="continuous">
<origin xyz="0.0 0.0 0.05" rpy="0 0 0" />
<parent link="center_hinge_prismatic_link" />
<child link="center_hinge_link"/>
<axis xyz="0 0 1" />
</joint>
<link name="base_arm_link">
<inertial>
<mass value="0.5" />
<origin xyz="0 0 0.0" />
<inertia ixx="-0.1" ixy="0.0" ixz="0.0"
iyy="0.001" iyz="0.0" izz="0.001" />
</inertial>
<visual>
<origin xyz="-0.0 0.0 0.3" rpy="1.57079 0.0 1.57079"/>
<geometry>
<cylinder radius="0.05" length="0.7"/>
</geometry>
</visual>
<collision>
<origin xyz="-0.0 0.0 0.3" rpy="1.57079 0.0 1.57079"/>
<geometry>
<cylinder radius="0.05" length="0.7"/>
</geometry>
</collision>
</link>
<joint name="base_arm_joint" type="fixed">
<origin xyz="-0.35 0.0 0.0" rpy="0 0 0" />
<parent link="center_hinge_link" />
<child link="base_arm_link"/>
<axis xyz="0 0 1" />
</joint>
<link name="fork_hinge_link">
<inertial>
<mass value="0.1" />
<origin xyz="0 0 0.0" />
<inertia ixx="0.001" ixy="0.0" ixz="0.0"
iyy="0.001" iyz="0.0" izz="0.001" />
</inertial>
<visual>
<origin xyz="-0.0 0.0 0.0" rpy="0 0.0 0.0"/>
<geometry>
<cylinder radius="0.05" length="0.1"/>
</geometry>
</visual>
</link>
<joint name="fork_hinge_joint" type="revolute">
<origin xyz="-0.35 0.0 0.3" rpy="0 0 0" />
<parent link="base_arm_link" />
<child link="fork_hinge_link"/>
<axis xyz="0 0 1" />
<limit effort="100.0" lower="-1.57" upper="1.57" velocity="2.5"/>
</joint>
<link name="fork_hinge_prism_link">
<inertial>
<mass value="0.1" />
<origin xyz="0 0 0.0" />
<inertia ixx="0.001" ixy="0.0" ixz="0.0"
iyy="0.001" iyz="0.0" izz="0.001" />
</inertial>
<visual>
<origin xyz="0 0 0.2" rpy="0 0.0 0"/>
<geometry>
<cylinder radius="0.05" length="0.32"/>
</geometry>
</visual>
</link>
<joint name="fork_hinge_prism_joint" type="prismatic">
<limit effort="1000.0" lower="-0.15" upper="0.15" velocity="2.5"/>
<origin xyz="0 0.0 -0.5" rpy="0 0 0" />
<parent link="fork_hinge_link" />
<child link="fork_hinge_prism_link"/>
<axis xyz="0 0 1" />
</joint>
<!-- _________FORKLIFT_____________ -->
<link name="base_fork">
<inertial>
<mass value="50.0" />
<origin xyz="0 0 0.0" />
<inertia ixx="0.05" ixy="0.0" ixz="0.0"
iyy="0.05" iyz="0.0" izz="0.05" />
</inertial>
<visual>
<origin xyz="0 0 0" rpy="0 0 0" />
<geometry>
<mesh filename="package://antboy_gazebo/meshes/fork.stl" scale="0.0008 0.0008 0.0004"/>
</geometry>
</visual>
<collision>
<origin xyz="0 0 0.1" rpy="0 0 0" />
<geometry>
<box size="0.9 0.55 0.02" />
</geometry>
</collision>
</link>
<joint name="fork_joint" type="fixed">
<origin xyz="-0.5 0.0 0.0" rpy="0 0 0" />
<parent link="fork_hinge_prism_link" />
<child link="base_fork"/>
<axis xyz="0 0 1" />
</joint>
<link name="joint1_imu">
<inertial>
<mass value="0.001"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<inertia ixx="${dummy_inertia}" ixy="0.0" ixz="0.0" iyy="${dummy_inertia}" iyz="0.0" izz="${dummy_inertia}"/>
</inertial>
<visual>
<origin xyz="-0.0 0.0 0.0" rpy="0 0.0 0.0"/>
<geometry>
<cylinder radius="0.006" length="0.01"/>
</geometry>
<material name="Gray">
<color rgba="0.1 0.1 1 1.0"/>
</material>
</visual>
</link>
<joint name="fork_hinge_imu_joint" type="fixed">
<origin xyz="-0.05 0.0 0.0" rpy="0 0 0" />
<parent link="fork_hinge_link" />
<child link="joint1_imu" />
</joint>
<link name="joint2_imu">
<inertial>
<mass value="0.001"/>
<origin xyz="0 0 0" rpy="0 0 0"/>
<inertia ixx="${dummy_inertia}" ixy="0.0" ixz="0.0" iyy="${dummy_inertia}" iyz="0.0" izz="${dummy_inertia}"/>
</inertial>
<visual>
<origin xyz="-0.0 0.0 0.0" rpy="0 0.0 0.0"/>
<geometry>
<cylinder radius="0.006" length="0.01"/>
</geometry>
<material name="Gray">
<color rgba="1 0 0 1.0"/>
</material>
</visual>
</link>
<joint name="center_hinge_imu_joint" type="fixed">
<origin xyz="0.0 0.0 0.365" rpy="0 0 0" />
<parent link="center_hinge_link" />
<child link="joint2_imu" />
</joint>
<!-- _________FORKLIFT WHEEL LEFT_____________ -->
<link name="fixed_left_wheel_link">
<inertial>
<mass value="0.5"/>
<inertia ixx="0.001" ixy="0" ixz="0" iyy="0.001" iyz="0" izz="0.001" />
<origin/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="1.57 0 0" />
<geometry>
<cylinder radius="0.05" length="0.1" />
</geometry>
<material name="gray"/>
</visual>
<collision>
<origin xyz="0 0 0.0" rpy="1.57 0 0" />
<geometry>
<cylinder radius="0.05" length="0.1" />
</geometry>
<surface>
<friction>
<ode>
<mu>1000.01</mu>
<mu2>1000.01</mu2>
</ode>
</friction>
</surface>
</collision>
</link>
<joint name="base2fixed_left_wheel_joint" type="continuous">
<parent link="base_fork"/>
<child link="fixed_left_wheel_link"/>
<origin xyz="-0.3 0.15 0.0" rpy="0 0 0" />
<axis xyz="0 1 0" />
</joint>
<!-- _________FORKLIFT WHEEL RIGHT_____________ -->
<link name="fixed_right_wheel_link">
<inertial>
<mass value="0.5"/>
<inertia ixx="0.1" ixy="0" ixz="0" iyy="0.1" iyz="0" izz="0.1" />
<origin/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="1.57 0 0" />
<geometry>
<cylinder radius="0.05" length="0.1" />
</geometry>
<material name="gray"/>
</visual>
<collision>
<origin xyz="0 0 0.0" rpy="1.57 0 0" />
<geometry>
<cylinder radius="0.05" length="0.1" />
</geometry>
<surface>
<friction>
<ode>
<mu>1000.01</mu>
<mu2>1000.01</mu2>
</ode>
</friction>
</surface>
</collision>
</link>
<joint name="base2fixed_right_wheel_joint" type="continuous">
<parent link="base_fork"/>
<child link="fixed_right_wheel_link"/>
<origin xyz="-0.3 -0.15 0.0" rpy="0 0 0" />
<axis xyz="0 1 0" />
</joint>
<!-- _________FORKLIFT WHEEL MIDDLE_____________ -->
<link name="fixed_middle_wheel_link">
<inertial>
<mass value="0.5"/>
<inertia ixx="0.1" ixy="0" ixz="0" iyy="0.1" iyz="0" izz="0.1" />
<origin/>
</inertial>
<visual>
<origin xyz="0 0 0" rpy="1.57 0 0" />
<geometry>
<sphere radius="0.06"/>
</geometry>
<material name="gray"/>
</visual>
<collision>
<origin xyz="0 0 0.0" rpy="1.57 0 0" />
<geometry>
<sphere radius="0.06"/>
</geometry>
<surface>
<friction>
<ode>
<mu>0.01</mu>
<mu2>0.01</mu2>
</ode>
</friction>
</surface>
</collision>
</link>
<joint name="base2fixed_middle_wheel_joint" type="continuous">
<parent link="base_fork"/>
<child link="fixed_middle_wheel_link"/>
<origin xyz="0.5 0.0 0.0" rpy="0 0 0" />
<axis xyz="1 1 0" />
</joint>
<xacro:include filename="$(find velodyne_description)/urdf/VLP-16.urdf.xacro"/>
<xacro:VLP-16 parent="base_link" name="lidar_link" topic="/velodyne_points" hz="10" samples="440" gpu="${gpu}">
<origin xyz="0.248 0.0 0.141" rpy="0 0 0" />
</xacro:VLP-16>
<xacro:include filename="antboy.gazebo" />
<xacro:include filename="base_accessories.urdf.xacro" />
</robot>
Asked by GPrathap on 2022-04-14 15:22:36 UTC
Comments