Skip to content

Latest commit

 

History

History
300 lines (243 loc) · 9.57 KB

README.md

File metadata and controls

300 lines (243 loc) · 9.57 KB

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 : singh.raj1997@gmail.com
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.