ToastBot Project Post

This commit is contained in:
Sharwin Patil 2025-01-11 15:27:08 -06:00
parent a39f15b42c
commit 3ca717332a
3 changed files with 17 additions and 6 deletions

View file

@ -10,21 +10,32 @@ menu:
name: Toastbot
identifier: ToastBot
weight: 2
tags: ["Python", "ROS", "Moveit API", "Intel Realsense"]
tags: ["Python", "ROS", "RViz", "Moveit API", "Intel Realsense"]
# categories: ["Basic"]
---
Using a 7-DoF Franka Emika Panda Robot Arm, we developed a pick and place sequence using an Intel Realsense camera for identifying april tags.
<!-- Embed this youtube video: https://www.youtube.com/watch?v=XGcdhWRo-iU&t=1s -->
<div align="center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/XGcdhWRo-iU" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
## Robot Arm Control
The Franka Emika Panda Robot Arm has a ROS package `franka_ros` which allows us to control the robot arm using the Moveit API.
The Moveit API offers services and action servers to faciliate trajectory planning, end-effector operation, and motion profiling.
Prior to the start of the project, we developed our own API that offered higher level tasks such as pose-to-pose motions, end-effector operations, and cartesian path planning.
This API enabled a ROS node to be connected to the MoveIt API and send motion requests.
## Computer Vision
The Intel Realsense camera has a ROS package `realsense` that enables the camera to publish depth and color images.
The Intel Realsense D435i camera has a ROS package `realsense` that enables the camera to publish depth and color images.
In order to identify april tags, we used the `apriltag_ros` package which subscribes to the camera images and publishes the detected tags which each
have a unique ID. The tags were used to locate the positions of objects in the scene as well as localize the camera frame from the robot's base frame.
## Robot Arm Control
The Franka Emika Panda Robot Arm has a ROS package `franka_ros` which allows us to control the robot arm using the Moveit API. The Moveit API offers services and action servers to faciliate trajectory planning, end-effector operation, and motion profiling. On top of the Moveit API, we developed our own Motion Planner that offers higher level tasks such as pose-to-pose motions, end-effector operations, and cartesian path planning.
## Scene planning
The scene around the robot was carefully planned to ensure every object that the robot needed to interact with was within its workspace.
Planning was done by hand and with simulation (RViz) to explore the robot's workspace.
<div align="center">
<img src="toastbot_rviz.jpg" alt="ToastBot in RViz" style="border-radius: 15px;">
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 KiB

View file

@ -37,7 +37,7 @@ projects:
repo: https://github.com/snydergi/ToastBot
url: "/posts/toastbot/"
summary: A system that toasts bread using a Franka Emika Panda robot arm and an Intel Realsense Camera.
tags: ["Python", "ROS", "Moveit API", "Intel Realsense"]
tags: ["Python", "ROS", "RViz", "Moveit API", "Intel Realsense"]
- name: Automated Poker Table
image: /images/bike_dealer.gif