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.
C++20ROS Humble
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
humblebranch from source, which we have tested to work.
-
Navigate to your ROS2 workspace
srcfolder and clone the repository:cd ~/<ros2_ws_name>/src git clone -b main [email protected]:UTNuclearRoboticsPublic/closed_chain_affordance_kinova_gen3_7dof.git
-
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
-
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.yyywith your robot's actual IP address -
Launch the CCA visualizer with interactive RVIZ plugin:
ros2 launch cca_kinova_gen3_7dof cca_kinova_gen3_7dof_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.
-
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
-
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
-
Launch the CCA visualizer with interactive RVIZ plugin:
ros2 launch cca_kinova_gen3_7dof cca_kinova_gen3_7dof_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.
-
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
- Explore the interactive RVIZ plugin for code-free planning and execution
- Modify demo node tasks to create custom trajectories
- Refer to the package's
README.mdfor additional task examples
Janak Panthi (aka Crasun Jans)
For issues, feature requests, or contributions, please open an issue in the GitHub repository.