This repository simulates a Mitsubishi PA-10 robotic arm in ROS 2 Jazzy using custom dynamic control based on operational space and null-space projection. The system visualizes joint trajectories in RViz and Gazebo and can be extended to simulate object pickup via markers.
- Symbolic + numerical dynamic model of the 7-DOF PA-10 arm using
roboticstoolbox - Multi-goal joint trajectory execution using
solve_ivp - Joint state publishing for real-time RViz visualization
- Modular design with clear separation between dynamics and ROS node
- Marker-based extension support to simulate object grasping in RViz
-
ROS 2 Jazzy and Gazebo
-
Ubuntu 24.04 with Python 3.12
-
Python 3.11 (Virtual env)
python3.11 -m venv ~/venvs/my_venvto run nodes that include roboticstoolbox-python, from here we can use pip to install our dependencies. -
Dependencies:
rclpyroboticstoolbox-pythonspatialmath-pythonscipymatplotlibnumpy
Install with:
pip install roboticstoolbox-python spatialmath scipy matplotlib numpy<2"Notes:
roboticstoolbox-python should be replaced in the future with better DH solvers out there if software doesn't get updated to be compatible with python 3.12.
- sudo apt install ros--moveit ros--moveit-common
- Containerization using Docker
- Dual Manipulation
