# Advanced Robotics Lab 3 – ROS / Kinematics This repository contains the source code and supporting files for **Lab 3** of the Advanced Robotics course. The lab focuses on controlling a custom Poppy Ergo Jr robot arm using ROS Noetic to explore direct and inverse kinematics. ## Overview The main objectives of this lab are: 1. To control the robot arm using ROS nodes and topics. 2. To implement forward and inverse kinematics for precise positioning of the end-effector. 3. To develop a ROS node capable of building a tower of soft coloured cubes based on Cartesian positions. ## Setup The setup includes: - **Hardware**: Custom Poppy Ergo Jr robot arm (4 revolute joints powered by Dynamixel XL-320 servomotors). - **Software**: ROS Noetic running on Ubuntu 20.04, with dependencies on `ros_cpp` and `std_msgs`. ## Contents - **src/**: Contains the ROS nodes for robot control and kinematics. - **msg/**: Custom message types for joint and gripper control. - **srv/**: Custom service for inverse kinematics. - **launch/**: Launch files for testing and running the system.