Skip to content

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

License

Notifications You must be signed in to change notification settings

iamrajee/ros2eloquent_moveit_ws

Repository files navigation

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.

About

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published