aswathselvam / enpm662_final_project

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Enpm662 Final Project - Omni Directional Bot with UR5 Arm

Documents:

  1. Link to report, discussions are here
  2. Jacobian calculation was done in MATLAB file which can be found here.

Setup

  • Clone this repository into your catkin_ws:

    git clone https://github.com/aswathselvam/enpm662_final_project.git
    catkin_make
    source devel/setup.bash
    
  • If running ROS Noetic, you might have to run this command in the terminals you open:

    mkdir ~/bin
    PATH=~/bin:$PATH
    ln -s /usr/bin/python3 ~/bin/python
    

    Subsequently, you can add PATH=~/bin:$PATH to ~/.bashrc.

  • The python reqirements.txt file can be used to install the required python library dependencies.
    Install the libraries by using the following command:

    pip install -r requirements.txt
    

Unit Test

Video shows the arm's End effector is moved in X,Y and Z coordinates using Inverse Jacobian method.

Test

  1. Gazebo simulation:

    Vegetation Full Video Youtube link

  • Run Vegetation pest survey Environment:
    # Vegetation word Gazebo launch
    roslaunch enpm662_final_project gazebo_test_robot.launch
    • Attend to pests on bushes in the field using the command:
    # Run Attend to Pests node
    rosrun enpm662_final_project attend_to_pests.py
  1. Run sample world file:

    Object world

  • Launch the sample world file:

    # Objects world Gazebo launch
    roslaunch enpm662_final_project gazebo_test_robot.launch argworld:=objects
    • Touch objects in environment using these commands:
    # Run Go to Goals node
    rosrun enpm662_final_project go_to_goals.py
  1. Run Teleop for UR5 Arm using Inverse Jacobian using:

    # Mecanum control node listener node
    rosrun enpm662_final_project teleop_arm.py
  2. For Teleop for chassis run these 2 nodes:

    # Mecanum control node listener node
    rosrun enpm662_final_project test_mecanum_robot.py
    # Teleop control node
    rosrun enpm662_final_project test_publisher.py

Data visualization:

Plot joint angles with RQT:

Rviz

roslaunch enpm662_final_project rqt_vis.launch  

Visualize in Rviz:

Rviz

# Rviz visualization:
roslaunch enpm662_final_project rviz.launch

World file & Models:

  1. The bush model is taken from this repository.
  2. The world file is take from Agribot repository.
  3. Mecanum Wheel FM202-205-15U-R/L (FUJI) gazebo model description.

About


Languages

Language:Python 91.0%Language:CMake 9.0%