This repository contains multiple robotics projects implemented in both Python and C++. Each project is organized into its respective directory with the following structure:
This directory contains Python implementations of various action-related functionalities, including clients and servers for different challenges and counting tasks.
actions_challenge_client.py: Client for actions challenge.actions_challenge_server.py: Server for actions challenge.count_until_client.py: Client for counting until a certain number.count_until_server.py: Server for counting until a certain number.
This directory contains C++ implementations for action-related tasks.
count_until_client.cpp: C++ client for counting tasks.count_until_server.cpp: C++ server for counting tasks.count_until_server_queue_goals.cpp: C++ server with goal queuing functionality.
This directory contains Python nodes for various activities.
batteryNode.py: Node to monitor battery status.ledPanelNode.py: Node to control an LED panel.number_counter.py: Node for counting numbers.number_publisher.py: Node to publish numbers.
This directory contains C++ components for various functionalities.
manual_composition.cpp: Example of manual component composition.number_publisher.cpp: Component to publish numbers.
This directory contains Python components for various functionalities.
manual_composition.py: Example of manual component composition.node1.py: First example node.node2.py: Second example node.
This directory contains C++ executors.
multi_threaded_executor.cpp: Multi-threaded executor example.single_threaded_executor.cpp: Single-threaded executor example.
This directory contains Python executors.
multi_threaded_executor.py: Multi-threaded executor example.single_threaded_executor.py: Single-threaded executor example.number_publisher.py: Example of a node publishing numbers.
This directory contains the final project implementations in C++.
final_project.cpp: Main final project implementation.final_project_step1.cpp: Step 1 of the final project.final_project_step2.cpp: Step 2 of the final project.final_project_step3.cpp: Step 3 of the final project.final_project_turtlebot.cpp: Final project for Turtlebot.
This directory contains C++ lifecycle nodes.
number_publisher.cpp: Lifecycle node to publish numbers.
This directory contains Python lifecycle nodes.
actions_challenge_client.py: Lifecycle client for actions challenge.actions_challenge_server.py: Lifecycle server for actions challenge.lifecycle_node_manager.py: Node manager for lifecycle nodes.number_publisher.py: Lifecycle node to publish numbers.
This directory contains custom C++ packages.
add_two_ints_client.cpp: Client for adding two integers.add_two_ints_server.cpp: Server for adding two integers.cpp_publisher.cpp: Publisher node in C++.cpp_subscriber.cpp: Subscriber node in C++.
This directory contains custom Python packages.
add_two_ints_client.py: Client for adding two integers.add_two_ints_server.py: Server for adding two integers.py_publisher.py: Publisher node in Python.py_subscriber.py: Subscriber node in Python.
This directory contains launch files and configurations for bringing up the robot.
-
components.launch.py: Launch file for components. -
final_project.launch.xml: Launch file for the final project. -
my_robot_gazebo.launch.xml: Launch file for Gazebo simulation.
This directory contains URDF and configuration files for robot description.
my_robot.urdf.xacro: URDF file for the robot.mobile_base.xacro: URDF file for the mobile base.arm.xacro: URDF file for the robotic arm.
This directory contains custom message, service, and action definitions.
CountUntil.action: Action to count until a certain number.MoveRobot.action: Action to move the robot.HardwareStatus.msg: Message for hardware status.SetLed.srv: Service to set the LED state.
This directory contains a project for catching turtles in the Turtlesim simulator.
turtle_controller.py: Python script to control the turtle.turtle_spawner.py: Python script to spawn turtles.