Skip to content

Latest commit

 

History

History
99 lines (73 loc) · 3.78 KB

File metadata and controls

99 lines (73 loc) · 3.78 KB

Closed-Chain Affordance Planning for Kinova Gen3 7DoF Arm

Overview

The cca_kinova_gen3_7dof package implements the Closed-Chain Affordance (CCA) planning framework for the Kinova Gen3 7DoF robotic arm using ROS2. This package provides comprehensive tools for joint trajectory planning, visualization, and execution.

Requirements

  • C++20
  • ROS Humble

Dependencies

Before installation, ensure you have the following dependencies:

  • CCA Libraries
  • CCA ROS Interface
  • ros2_kortex: For robot description and optional simulator. As of right now, it seems they have bugs in their binaries so, we recommend building the humble branch from source, which we have tested to work.

Installation

  1. Navigate to your ROS2 workspace src folder and clone the repository:

    cd ~/<ros2_ws_name>/src
    git clone -b main git@github.com:UTNuclearRoboticsPublic/closed_chain_affordance_kinova_gen3_7dof.git
  2. Build the package and source the workspace:

    cd ~/<ros2_ws_name>
    colcon build --packages-select cca_kinova_gen3_7dof --cmake-args -DCMAKE_BUILD_TYPE=Release
    source install/setup.bash

Usage

With Physical Robot

  1. Launch the Kinova driver:

    ros2 launch kinova_gen3_7dof_robotiq_2f_85_moveit_config robot.launch.py \
      robot_ip:=yyy.yyy.yyy.yyy

    Replace yyy.yyy.yyy.yyy with your robot's actual IP address

  2. Launch the CCA visualizer with interactive RVIZ plugin:

    ros2 launch cca_kinova_gen3_7dof cca_kinova_gen3_7dof_val_and_viz.launch.py

    This launches both the visualizer and an interactive RVIZ plugin for code-free planning and execution. To plan and execute trajectories using the RViz plugin, start the following action server:

    ros2 launch cca_kinova_gen3_7dof cca_kinova_gen3_7dof_action_server.launch.py

    At this point, you should be able to interactively plan and execute trajectories using the Rviz plugin.

  3. Alternatively, for programmatic task definition, launch the CCA planner which will plan for the tasks defined in src/cca_kinova_gen3_7dof_node.cpp:

    ros2 launch cca_kinova_gen3_7dof cca_kinova_gen3_7dof.launch.py

Without Physical Robot (Simulation)

  1. Launch the fake hardware simulator:

    ros2 launch kinova_gen3_7dof_robotiq_2f_85_moveit_config robot.launch.py \
      robot_ip:=yyy.yyy.yyy.yyy \
      use_fake_hardware:=true
  2. Launch the CCA visualizer with interactive RVIZ plugin:

    ros2 launch cca_kinova_gen3_7dof cca_kinova_gen3_7dof_val_and_viz.launch.py

    This launches both the visualizer and an interactive RVIZ plugin for code-free planning and execution. To plan and execute trajectories using the RViz plugin, start the following action server:

    ros2 launch cca_kinova_gen3_7dof cca_kinova_gen3_7dof_action_server.launch.py

    At this point, you should be able to interactively plan and execute trajectories using the Rviz plugin.

  3. Alternatively, run the CCA planner demo which will plan for the tasks defined in src/demo/cca_kinova_gen3_7dof_demo.cpp:

    ros2 launch cca_kinova_gen3_7dof cca_kinova_gen3_7dof_demo.launch.py

Task Examples

  • Refer to the package's README.md here for various planning examples.

Other Recommendations

  • Explore the interactive RVIZ plugin for code-free planning and execution
  • Modify demo node tasks to create custom trajectories

Author

Janak Panthi (aka Crasun Jans)

Support

For issues, feature requests, or contributions, please open an issue in the GitHub repository.