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.