Skip to content

SPARC is an intelligent ROS2 Humble-based pick-and-place robotic system integrating MoveIt, YOLOv8-OBB, and Isaac Sim. It enables real-time object detection, motion planning for Franka Panda and UR5 arms, and natural language control via an Ollama-powered chatbot—making robotic manipulation smart, interactive, and human-friendly.

Notifications You must be signed in to change notification settings

sahilrajpurkar03/nlp-pnp-robotic-arm

Repository files navigation

SPARC 🤖

ROS2 Humble Python 3.10 MoveIt YOLOv8

Smart Pick-n-Place with AI Robotics and Chatbot

SPARC Demo


🌟 Overview

SPARC is an intelligent pick-and-place robotic system built on ROS2 Humble, Isaac Sim, and MoveIt. It integrates:

  • YOLOv8-OBB object detection for real-time perception
  • Franka Emika Panda / UR5 robot arms for precise manipulation
  • Chatbot interface powered by Ollama LLMs for natural language control

This allows users to command the robot in plain English, enabling smart and interactive task execution in simulation.


🚀 Features

  • 🔍 Real-time object detection (YOLOv8 Oriented Bounding Boxes)
  • 🦾 Robotic arm control using MoveIt + ROS2
  • 🧠 Natural language chatbot interface (Ollama)
  • 🖼️ Camera calibration from Isaac Sim (fx, fy, cx, cy extraction)
  • 🛠️ Compatible with both Franka Panda and UR5 arms
  • 🎯 Target point publishing for perception → planning integration

📦 Dependencies

  • ROS2 Humble
  • MoveIt (ros-humble-moveit-py, moveit package)
  • UR5 MoveIt config
  • Ultralytics (YOLOv8)
  • ROS2 Control + Controllers
    • ros-humble-ros2-control
    • ros-humble-ros2-controllers
    • ros-humble-gripper-controllers
  • Ollama (for chatbot LLMs)
  • Conda environments

🤖 Running the Demo

  1. Clone the directory and navigate into the project folder:
   git clone https://github.com/sahilrajpurkar03/nlp-pnp-robotic-arm.git
   cd ~/nlp-pnp-robotic-arm
   source /opt/ros/humble/setup.bash
   colcon build && source install/setup.bash
  1. Create a new conda environment named ros2_humble_py310 with Python 3.10

  2. Install dependencies from requirements.txt inside the environment, as it is required for the Chatbot:

   pip install -r requirements.txt
  1. Open Isaac Sim.

  2. Load the simulation file: SPARC.usd

  3. Play the simulation

  4. Launch the script to open RVIZ, MoveIt, and the control script for the robot:

   chmod +x main_launch.sh
   ./main_launch.sh

Note: Bring the Robot to the arm_ready pose through the RVIZ GUI

  1. To open the Chatbot (in new Terminal window)
   cd ~/Team7_SPARC
   conda activate ros2_humble_py310
   ./pick_place_chatbot_ui/launch.sh
  1. Start typing commands in the chatbot and see the magic ✨🤖🚀

SPARC will handle the rest automatically 🚀


🛠️ Debugging

RVIZ + MoveIt Launch

cd ~/nlp-pnp-robotic-arm
source /opt/ros/humble/setup.bash
colcon build
source install/setup.bash  
ros2 launch ur5_moveit_config demo.launch.py 

UR5 Arm Demo

cd ~/nlp-pnp-robotic-arm
source /opt/ros/humble/setup.bash
colcon build
source install/setup.bash
ros2 launch ur5_moveit_config demo.launch.py
ros2 run ur5_moveit_config ur5_pick_place_cpp_r

Object Detection (YOLOv8-OBB)

ros2 run yolov8obb_object_detection yolov8_obb_publisher
ros2 run yolov8obb_object_detection yolov8_obb_subscriber

Chatbot Control

cd ~/nlp-pnp-robotic-arm
conda activate ros2_humble_py310
source /opt/ros/humble/setup.bash
source install/setup.bash
./pick_place_chatbot_ui/launch.sh

Check Published Target Points

source /opt/ros/humble/setup.bash
ros2 topic echo /target_point

🎯 Competition Relevance

SPARC demonstrates seamless integration of AI and Robotics, showcasing how natural language can be used to control intelligent robotic arms for pick-and-place tasks. This bridges perception, planning, and interaction—making robots more intuitive, adaptable, and human-friendly.


About

SPARC is an intelligent ROS2 Humble-based pick-and-place robotic system integrating MoveIt, YOLOv8-OBB, and Isaac Sim. It enables real-time object detection, motion planning for Franka Panda and UR5 arms, and natural language control via an Ollama-powered chatbot—making robotic manipulation smart, interactive, and human-friendly.

Topics

Resources

Stars

Watchers

Forks

Contributors 2

  •  
  •