Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

26 Commits

Folders and files

Repository files navigation

ROS2 + Gazebo Robotic Arm Project

This project is currently a work in progress, the goal is to implement forward and inverse kinematics in a 4-dof using calculations and code written by hand.

Preferred specs:

  • Ubuntu 24.04 64-bit (bare metal, VM, or WSL)
  • Quad core Intel i5 or equivalent
  • 4-8GB of ram or more
  • Dedicated GPU with at least 1GB VRAM (Highly reccomended)
  • It's not reccomended to run both Gazebo and Rviz with GUI if using WSL due to performance bottlenecks

If using WSL, make sure OpenGL is rendering using your GPU, these commands may help

echo 'export GALLIUM_DRIVER=d3d12' >> ~/.bashrc
echo 'export MESA_D3D12_DEFAULT_ADAPTER_NAME="NVIDIA"' >> ~/.bashrc

Then either shutdown wsl or "source ~/.bashrc" and check that the GPU shows up in nvidia-smi that OpenGL is configured to use it

nvidia-smi
glxinfo | grep "OpenGL renderer"

Run this in the directory you want to use for this project

mkdir arm_ws
cd arm_ws
git clone [link-to-this-repo]

Instructions to install ROS2 deb packages on Ubuntu (Make sure you have ROS2 Jazzy installed)
LINK: ROS2 Jazzy Installation

Run this command on every new shell to have access to ROS 2 commands

source /opt/ros/jazzy/setup.bash

Or copy/paste this line into your CLI, everytime you open a new shell this command will run automatically

echo "source /opt/ros/jazzy/setup.bash" >> ~/.bashrc

Install the build tool for ROS2

sudo apt install python3-colcon-common-extensions

Install Gazebo

sudo apt-get install ros-${ROS_DISTRO}-ros-gz

Run this command inside arm_ws directory to compile the workspace packages

colcon build

Run this command inside the workspace directory to make ROS aware of the newly compiled packages

source install/setup.bash

Run this command inside the workspace directory to launch packages

ros2 launch [package-name] [launch-file.py]

Example for launching Rviz from the bringup package:

ros2 launch arm_bringup arm_rviz_launch.py

Resources for completing the project:

AI

AI was used to plan the overall file structure of the project and to verify that the codebase is following the best software engineering practices. AI was also used to expedite the debugging process, but all code was written by hand (besides some ros boilerplate). Model used: Anthropic's Claude Opus 4.8 High (web)

sdf and urdf

All sdf and urdf files were written using online documentation, sdformat.org was the main resource used for the sdf files ( sdformat-website). Official ROS2 docs were used to create the urdf files (ros2-urdf-docs).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages