Giter Site home page Giter Site logo

amariucaitheodor / sphere-follower-robot Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 6.39 MB

A self-aware 4-link robot which follows a moving orange target (sphere) using two cameras.

CMake 12.14% Python 75.12% TeX 12.74%
robot-operating-system robotics python denavit-hartenberg kinematic-control sphere-follower-robot

sphere-follower-robot's Introduction

Sphere Follower Robot

Theodor Amariucai

I started the project with Sonia Marshall as part of our coursework for INFR09019 Introduction to Vision and Robotics. I then kept working on the project until I brought it from the state documented in folder 'Initial Assignment' up to the present state.

A very useful resource which helped me understand the Denavit-Hartenberg parameters was the Robotic Arm Kinematic GUI (part of MRPT). I used it to check my calculations which can be found here.

Before anything, make sure you:

source devel/setup.sh

Launch controller straight away:

roslaunch sphere-follower-robot control.launch

Launch the basic project:

roslaunch sphere-follower-robot spawn.launch

Run code on the basic project:

Activate temporary python environment with Python 2.7 needed for ROS

source temp-python/bin/activate

For basic functionality please run:

rosrun sphere-follower-robot BlobsEstimator.py rosrun sphere-follower-robot TargetEstimator.py rosrun sphere-follower-robot JointAnglesEstimator.py

To move the robot, please run:

rosrun sphere-follower-robot Controller.py

To get the results of forward kinematics, please run:

rosrun sphere-follower-robot ForwardKinematics.py

Manually move the robot:

rostopic pub -1 /robot/joint1_position_controller/command std_msgs/Float64 β€œdata: 1.0”

Produce graphs for the target estimates:

For each one, run the command, click on the arrow button to set axes (choose around 50 seconds) and save as an image.

  • rqt_plot /target_position_estimate/data[0] /target/x_position_controller/command/data
  • rqt_plot /target_position_estimate/data[1] /target/y_position_controller/command/data
  • rqt_plot /target_position_estimate/data[2] /target/z_position_controller/command/data

Produce graphs for control accuracy:

  • rqt_plot /target_position_estimate/data[0] /blobs_pos/data[9]
  • rqt_plot /target_position_estimate/data[1] /blobs_pos/data[10]
  • rqt_plot /target_position_estimate/data[2] /blobs_pos/data[11]

Sphere Follower Robot Demo, captured in Gazebo

Sphere Follower Robot Demo

sphere-follower-robot's People

Contributors

amariucaitheodor avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.