Giter Site home page Giter Site logo

roboticsgeek101 / ros2eloquent_moveit_ws Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iamrajee/ros2eloquent_moveit_ws

0.0 0.0 0.0 2.62 MB

This ROS2 eloquent workspace is created on Ubuntu 18.04. Here I have worked on some moveit2 related projects.

License: MIT License

Shell 0.24% C++ 93.28% Python 3.96% C 0.11% Makefile 0.01% HTML 0.02% CMake 2.28% Dockerfile 0.07% NASL 0.03%

ros2eloquent_moveit_ws's Introduction

ROS2 Eloquent Workspace

Build Status Coverage Status MIT License GitHub Issues GitHub Pull Requests Gitter Join our Slack Workspace

This ROS2 eloquent workspace is created on Ubuntu 18.04. Here I have worked on some moveit2 related projects.

Table of content


Installation

All the code required to get started

  • Prerequisite

    • You should have ROS2 eloquent on your ubuntu 18.04.
    • All ROS dependency is satisfied.
  • Clone

    git clone https://github.com/iamrajee/ros2eloquent_moveit_ws.git
    
  • Setup

    cd ros2eloquent_moveit_ws/
    ./refresh.sh
    make
    

Package description

  • It is package about usage moveit2 for motion planning,

    • Run

      ros2 launch run_moveit_cpp run_moveit_cpp2.launch.py
      
  • It is package about moveit_task_constructor for motion planning,

    Run

    ros2 launch moveit_task_constructor plan_pick
    
    ros2 launch moveit_task_constructor test_plan_current_state
    
    ros2 launch moveit_task_constructor test_plan_gripper
    
    ros2 launch moveit_task_constructor test_plan_generate_grasp_pose
    
  • It is package about: cpp pub sub

    Terminal 1:

    $ ros2 run cpp_pubsub talker
    

    Terminal 2:

    $ ros2 run  cpp_pubsub listener
    
  • It is package about: python pub sub

    Terminal 1:

    $ ros2 run py_pubsub talker
    

    Terminal 2:

    $ ros2 run py_pubsub listener
    
  • It is package about: cpp service and client

    Terminal 1:

    $ ros2 run cpp_srvcli server
    [INFO] [rclcpp]: Ready to add two ints.
    [INFO] [rclcpp]: Incoming request
    a: 14 b: 3
    [INFO] [rclcpp]: sending back response: [17]
    

    Terminal 2:

    $ ros2 run cpp_srvcli client 14 3
    [INFO] [rclcpp]: Sum: 17
    
  • It is package about: python service and client

    Terminal 1:

    $ ros2 run py_srvcli server
    [INFO] [minimal_service]: Incoming request
    a: 14 b: 3
    

    Terminal 2:

    $ ros2 run py_srvcli client 14 3
    [INFO] [minimal_client_async]: Result of add_two_ints: for 14 + 3 = 17
    
  • It is package about: costum msg and srv, and testing with cpp pub&sub and srv&cli

    Terminal 1:

    $ ros2 run costum_msg_srv server
    

    Terminal 2:

    $ ros2 run costum_msg_srv client 2 3 1
    

    &

    Terminal 1:

    $ ros2 run costum_msg_srv talker
    

    Terminal 2:

    $ ros2 run  costum_msg_srv listener
    
  • It is package created using: git clone https://github.com/ros/ros_tutorials.git -b eloquent-devel

  • It is package created using: ros2 pkg create --build-type ament_cmake --node-name cpp_node testpkg_cmake

    Terminal:

    $ ros2 run testpkg_cmake cpp_node
    
  • It is package created using: ros2 pkg create --build-type ament_cmake testpkg_cmake

  • It is package created using: ros2 pkg create --build-type ament_python --node-name py_node testpkg_python

    Terminal:

    $ ros2 run testpkg_python py_node
    
  • It is package created using: ros2 pkg create --build-type ament_python testpkg_python

  • It is package created using: ros2 pkg create testpkg_simple




Helper Scripts

  • refresh.sh

    #!/bin/bash
    source /opt/ros/eloquent/setup.bash
    source install/local_setup.bash
    source install/setup.bash
    clear
    

    It will source the workspace after buiding workspace or after creating new pkg. Run it as ./refresh.sh

  • makefile

    SHELL=/bin/bash
    all:
        make run
    run:
        colcon build --symlink-install
        bash refresh.sh
    

    It will build the workspace . Run it as make

  • createpkg.sh

    #!/bin/bash
    cd src/
    ros2 pkg create $1 --build-type ament_cmake --node-name cpp_node
    cd ../
    #ls src/
    make
    source refresh.sh
    

    It will create new package . Run it as ./createpkg.sh newpkg_name

  • tftree.sh

    #!/bin/bash
    ros2 run rqt_tf_tree rqt_tf_tree
    

    It will launch the gui to visvualise the tf tree. Run it as ./tftree.sh

  • printenv.sh

    #!/bin/bash
    printenv | grep -i ROS
    

    It will print the ROS related environment variable . Run it as ./printenv.sh

  • rosdep.sh

    sudo rosdep install -i --from-path src --rosdistro $ROS_DISTRO -y
    

    It will install dependencies of all pkg in the workspace. Run it in the workspace as ./rosdep.sh

  • ssh_into_another_computer.sh

    #!/bin/bash
    ssh rajendra@rajendra
    

    It will ssh into another system. Useful when using multiple ros masters. Run it as ./rajendra.sh




Team

Or Contributors/supporters/mentors/guides who helped me out in these projects.

Abhinand A S Sachin Rustagi Swami Prasad

Contributing

To get started...

Step 1

  • Option 1

    • ๐Ÿด Fork this repo!
  • Option 2

    • ๐Ÿ‘ฏ Clone this repo to your local machine using https://github.com/iamrajee/ros2eloquent_moveit_ws.git

Step 2

  • HACK AWAY! ๐Ÿ”จ๐Ÿ”จ๐Ÿ”จ

Step 3


FAQ

  • I ran into some issue while running above package, what to do now?
    • Simply contact me!

Support

Reach out to me for any help!

Name : Rajendra Singh
Email : [email protected]
Web : https://iamrajee.github.io/
LinkedIn : https://www.linkedin.com/in/rajendra-singh-6b0b3a13a/
Twitter: @i_am_rajee

License

MIT License


Acknowledgments

  • Hat tip to anyone whose code was used and thanks to everyone who inspired and supported me in this project.

ros2eloquent_moveit_ws's People

Contributors

iamrajee 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.