Home - peer52437/Husky-pick-place GitHub Wiki

Welcome to the Husky-pick-place wiki!

Downloading the required packages:

First off, we need to download the right packages, we assume that ROS, Gazebo and RViz are already installed. This project requires the following packages:

sudo apt-get install ros-indigo-husky-* && ros-indigo-ur-kinematics && ros-indigo-husky-ur5-moveit-config && ros-indigo-ur-description && ros-indigo-ros-planning && ros-indigo-turtlebot-rviz-launchers

Changing urdf

The urdf file needs to be changed in order for the simulations to work. Enter the Following commands in the terminal to open the urdf file.

roscd husky_description/urdf

sudo gedit husky.urdf.xacro

Then look for the joint of the ur5_arm_base and change the origin values to the values shown below.

  <joint name="ur5_arm_base" type="fixed">
    <parent link="top_plate_link" />
    <child link="ur5_arm_base_link" />
    <origin xyz="-0.2 0 0.0065" rpy="0.0 0.0 -1.57" />
  </joint>

Launching simulation

Enter the following command in the terminal to start the simulations in gazebo and rviz (por is the package name).

roslaunch por por_lvl3.launch

To visualize a frame that represents the object, the following line needs to be entered in the terminal. For this you will also need to add the tf in RViz.

rosrun por create_tf.py

The following command runs the program to pick and place an object. The program is explained here.

rosrun por VeelWaypoints.py

Kinematics

To understand how the UR5 moves, the forward kinematics of the system were calculated.

The results of this can be found in the Forward kinematics of the UR5 file.

The path planning

The project uses the Navigation stack that is implemented in ROS. This stack uses Dijkstra's algorithm for path planning. This algorithm will calculate the shortest path based on the initial pose and the goal pose. It will calulate step by step every possible path and determines the shortest.

alt text

The localization in this project is done using Adaptive Monte Carlo Localization. This localization algorithm will determine its location based on odomotery and laserscan data. It compares this data to the known map and calculates it's position based on this.

⚠️ **GitHub.com Fallback** ⚠️