This project is part of a Master's thesis conducted at the WZL department in the Robotic Systems Engineering program at RWTH Aachen University. The aim is to develop a controller for mobile robot navigation using motion capture system. The following symulation is part of the pilot testing with controller capable of obstacle avoidace for mobile robot navigation.
- ROS2 Version: Humble
- Gazebo Version: 11.11.0
The project comprises two main packages:
-
Simulation Package "my_bot":
- This package serves as the core application, running simulations in Gazebo.
- It simulates the mobile robot in an empty world environment with a predefined setup.
-
Controller Package "my_controller":
- This package includes the
trial_controller_diff.py
node responsible for publishing topics to the mobile robot and controlling its movements.
- This package includes the
-
Clone Repositories:
- Clone the repository into your directory.
-
*Build and Launch:
-
Build the docker image
-
Launch the simulation along with the controller for that inside the directory execute:
cd docker_run
./run_mocap.driver.sh
-
-
Launch Simulation Package kairos locally:
-
We can also run the nodes and the launch file locally, by runnning the container and then executing the following:
-
A) For differential robot:
-
Execute the following command:
ros2 launch my_bot launch_sim.launch.py
-
Gazebo will launch, displaying the mobile robot in the world environment.
-
-
Run Controller Node from the second package my_controller:
- Execute the following command:
ros2 run my_controller trial_controller_diff
- The terminal will prompt you to enter the start pose, desired goal pose, and velocity. Enter each value in float format and press enter after each.
- Execute the following command:
-
Upon launching the simulation package, Gazebo will display the mobile robot in the world environment. The robot is already subscribed to the topic messages.
-
Running the controller node allows the user to input the start pose, desired goal pose, and velocity. Follow the prompts in the terminal, entering float values for each parameter and pressing enter.