Coder Social home page Coder Social logo

thenoobinventor / akabot Goto Github PK

View Code? Open in Web Editor NEW
13.0 2.0 0.0 42.25 MB

A 6 degree of freedom (DOF) robot arm is controlled using the ROS2 robotic manipulation platform, MoveIt 2. The ROS2 Humble version of MoveIt 2 is used, which runs in a Docker container on an Nvidia Jetson Nano board. The robot arm is equipped with an Intel Realsense D415 depth camera used to detect ArUco markers on objects to be picked up.

License: BSD 3-Clause "New" or "Revised" License

CMake 7.46% Python 49.75% Dockerfile 9.78% C++ 33.02%
6dof-robot-kinematics aruco-markers d415 docker jetson-nano moveit2 robot-arm ros2-control ros2-humble pca9685

akabot's Introduction

Akabot

Akabot, a 6 degree of freedom (DOF) robot arm, is controlled using the ROS2 robotic manipulation platform, MoveIt 2. The ROS2 Humble version of MoveIt 2 is used, which runs in a Docker container on an Nvidia Jetson Nano board. The robot arm is equipped with an Intel Realsense D415 depth camera used to detect ArUco markers on objects to be picked up.


(Work in Progress)

Package Overview

  • akabot_aruco : Contains configuration, launch and node files to use ArUco markers with akabot.
  • akabot_bringup : Contains ros2_control hardware component for PCA985 servo driver, launch files to bring up the depth camera and the real akabot.
  • akabot_description : Contains the URDF description files for akabot, sensors and ros2_control.
  • akabot_gazebo : Contains configuration, launch and world files needed to simulate akabot in Gazebo Harmonic.
  • akabot_gazebo_classic : Contains configuration, launch and world files needed to simulate akabot in Gazebo Classic.
  • akabot_moveit_config : Contains configuration files for MoveIt2.

Hardware

Part list

The following components were used in this project:

Part
1 Robot arm kit
2 Nvidia Jetson Nano 4GB
3 Nvidia Jetson Nano case (optional)
4 SanDisk 64 GB SD Card
5 PCA9685 16 channel PWM Servo Driver
5 5V 5A (minimum) regulated power supply
6 Toggle switch

Note: The robot arm kit does not include a 5V regulated power supply, thus 18650 batteries were initially used as seen in the pictures above and the media in the calibration section. However, this was replaced with a 5V regulated power supply to make regulated power available to the servo motors.

Some other tools or parts used in the project are as follows:

Tool/Part
1 Wooden plank / base
2 Drill and a 3mm drill bit
3 M4 screws (length dependent on plank thickness)
4 4x M3 standoffs (minimum 10mm in length)
5 Duck tape
5 Double-sided tape

There are different choices available for the servo motors when purchasing the robot arm kit. This project uses 4 M996R servos and 2 YF6125MG servo motors.

Calibrating servos

The servo motors will need to be calibrated to ensure that servos move in the expected range when rotating. For calibration, the electronic components are connected as shown in the wiring digram below.

The PWM Servo driver board pins are connected to the Jetson Nano GPIO pins to use the i2c interface as follows:

PWM servo driver board Jetson Nano pins
VCC 5V
GND GND
SCL 5
SDA 3

The servo motors are plugged into channels 1 to 6 on the PWM servo motor driver board.

The following image shows the components connected for servo calibration - the first two servo motors are YF6125MG type servo motors, while the remaining 4 are M996R type servo motors.

Project Assembly

The electronic connections for Akabot are the same as detailed in the calibration process, apart from using the 18650 batteries to power the servo motors. The robot arm is assembled according to this guide; some patience is required to complete the assembly.

The assembled robot arm is shown again below.

The PWM servo driver board is stuck to the robot arm base with double-sided tape and the robot arm base is attached to a wooden plank with M4 screws, for stability when Akabot is in motion.

Four M3 10mm brass standoffs were screwed into the ones provided in the robot arm kit. This is done to create an allowance to mount the D415 depth camera to the base with double-sided tape.

Finally, the D415 depth camera is plugged into one of the USB ports of the Jetson Nano.

Installation

Docker Setup

TODO:

  • Upload docker image to DockerHub

In the Nvidia Jetson Nano, navigate to the source folder in the ROS2 workspace, akabot_ws in this case:

cd akabot_ws/src

Then run the following command to spin up a Docker container in detached mode:

docker compose up -d

Run this command to attach to the container:

docker attach src-akabot-container-1

Inside the container, navigate to the source directory to start development:

cd /home/akabot_ws/src

Rviz

Acknowledgment

akabot's People

Contributors

thenoobinventor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.