代做 program、代写 Python/c++编程
- 首页 >> Python编程 Catch Turtle All
In this project, you are required to develop and implement an interactive simulation in the Turtlesim environment using ROS2. Your main objective is to program a master turtle to "catch" other turtles that appear randomly within the environment. This project aims to test your proficiency with ROS2, focusing on topics, services, and action clients, and your ability to devise efficient algorithms for real-time robotic interaction in the Turtlesim simulation environment.
Task Requirements
System Requirements: The project must be implemented using ROS2 in conjunction with the Turtlesim simulation.
Turtle Generation: A new turtle should be spawned in a random location every 3 seconds.
Master Turtle Behavior: The master turtle should autonomously navigate towards and catch the nearest available turtle.
Turtle Chain Formation: Once a turtle is caught, it should automatically follow directly behind the master turtle, effectively joining a growing chain of turtles.
Simulation Loop: The nodes should run in an endless loop, and the entire simulation should be controllable via a launch file to start or stop the simulation.
Sub-tasks Breakdown
Sub-task A (20 Points): Implement the functionality to spawn a new turtle at a random location every 3 seconds.
Sub-task B (50 Points): Develop and integrate the autonomous path planning for the master turtle to catch the nearest turtle. This includes dynamic decision-making as new turtles spawn. NB: The turtle's actions only support left turn, right turn, and forward and backward movement, so the turtle's behaviours need to be planned according to the destination.
Sub-task C (30 Points): Program the behaviour for the caught turtles to follow the master turtle in a chain formation, maintaining close proximity to the turtle directly in front of them in the chain.
Evaluation Criteria
Turtle Catching Efficiency: The master turtle must successfully identify and move towards the nearest turtle.
Chain Formation: The caught turtles must successfully attach and maintain formation directly behind the master turtle, forming a coherent chain.
Submission Requirements
Code Submission: Submit the project with all source code files used in the project.
Video Evidence: Provide a video recorded on a mobile phone or camera that captures the
following elements (NB: video evidence cannot be edited and must be shot to the end.):
l Team Members: The video must include footage of all team members who contributed to the project.
l Robot Setup: Record the equipment running the Turtlesim simulation.
l Startup Process: Record the sequence of actions taken to start the robot.
l Main Functionalities: Showcase the primary functions of the robot as it operates.
Showing how the robot fulfills each sub-task. Project Report: Submit a detailed report that includes:
l An overview of your project and its objectives.
l A description of the robotic system and each of its components.
l An explanation of how each component contributes to the project objectives.
Group workload profile: Detail the contributions of each group member including:
l Name, student Id, and signature of each group member l Specifying roles and responsibilities
l Individual contribution level i.e.:
n 0%-Icontributedthesameasmyteammembers
n +X%IcontributedmorethanmyteammembersbyaspecificamountX%(seebelow) n -X%IcontributedlessthanmyteammembersbyaspecificamountX%(seebelow) n X%=10%,25%,50%,100%
In this project, you are required to develop and implement an interactive simulation in the Turtlesim environment using ROS2. Your main objective is to program a master turtle to "catch" other turtles that appear randomly within the environment. This project aims to test your proficiency with ROS2, focusing on topics, services, and action clients, and your ability to devise efficient algorithms for real-time robotic interaction in the Turtlesim simulation environment.
Task Requirements
System Requirements: The project must be implemented using ROS2 in conjunction with the Turtlesim simulation.
Turtle Generation: A new turtle should be spawned in a random location every 3 seconds.
Master Turtle Behavior: The master turtle should autonomously navigate towards and catch the nearest available turtle.
Turtle Chain Formation: Once a turtle is caught, it should automatically follow directly behind the master turtle, effectively joining a growing chain of turtles.
Simulation Loop: The nodes should run in an endless loop, and the entire simulation should be controllable via a launch file to start or stop the simulation.
Sub-tasks Breakdown
Sub-task A (20 Points): Implement the functionality to spawn a new turtle at a random location every 3 seconds.
Sub-task B (50 Points): Develop and integrate the autonomous path planning for the master turtle to catch the nearest turtle. This includes dynamic decision-making as new turtles spawn. NB: The turtle's actions only support left turn, right turn, and forward and backward movement, so the turtle's behaviours need to be planned according to the destination.
Sub-task C (30 Points): Program the behaviour for the caught turtles to follow the master turtle in a chain formation, maintaining close proximity to the turtle directly in front of them in the chain.
Evaluation Criteria
Turtle Catching Efficiency: The master turtle must successfully identify and move towards the nearest turtle.
Chain Formation: The caught turtles must successfully attach and maintain formation directly behind the master turtle, forming a coherent chain.
Submission Requirements
Code Submission: Submit the project with all source code files used in the project.
Video Evidence: Provide a video recorded on a mobile phone or camera that captures the
following elements (NB: video evidence cannot be edited and must be shot to the end.):
l Team Members: The video must include footage of all team members who contributed to the project.
l Robot Setup: Record the equipment running the Turtlesim simulation.
l Startup Process: Record the sequence of actions taken to start the robot.
l Main Functionalities: Showcase the primary functions of the robot as it operates.
Showing how the robot fulfills each sub-task. Project Report: Submit a detailed report that includes:
l An overview of your project and its objectives.
l A description of the robotic system and each of its components.
l An explanation of how each component contributes to the project objectives.
Group workload profile: Detail the contributions of each group member including:
l Name, student Id, and signature of each group member l Specifying roles and responsibilities
l Individual contribution level i.e.:
n 0%-Icontributedthesameasmyteammembers
n +X%IcontributedmorethanmyteammembersbyaspecificamountX%(seebelow) n -X%IcontributedlessthanmyteammembersbyaspecificamountX%(seebelow) n X%=10%,25%,50%,100%