AutoRef honors 2019: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
 
(121 intermediate revisions by 3 users not shown)
Line 7: Line 7:
<font size="8"> '''AutoRef Honors 2019/20''' </font>
<font size="8"> '''AutoRef Honors 2019/20''' </font>
</div>
</div>
__TOC__




=Vision=
info about vision goes here


=Tutorial Simulation=
After following this tutorial the reader should be able to understand how to run a basic simulation of a drone following a yellow object (ball) on a soccer field. Firstly, the system  and architecture will be explained so the reader understands the concepts of what is happening and how to make adjustments himself. Secondly, a step by step setup will be presented so that the reader can implement and run everything himself.


The simulation environment chosen for this project was CoppeliaSim (also known as V-rep). This environment was chosen because of its intuitive API and the ability of its internal object scripts, more information about how CoppeliaSim deals with scripts can be found here https://www.coppeliarobotics.com/helpFiles/en/scripts.htm. It should be noted that the reader should also be familiar with the beginner concepts of the Robot Operating System (ROS). If unfamiliar with ROS, skills can be obtained by following tutorials found on there site: http://wiki.ros.org/ROS/Tutorials. The next figure gives a sense of what is achieved after this tutorial.
=Introduction=
[[File:Simulator inaction honors.jpg|500 px]]
[[File:CF_on_laptop.jpg|right|300px|]]
This wiki is the documentation of work delivered by the AutoRef Honors students from the High Tech Systems track in the academic year 2019/2020.


*software architecture
The goal of this project is to develop an autonomous robot capable of refereeing a robot football play. Such a system can be of benefit by eliminating human error and by using factual data from more sources to make better-evaluated decisions. For this project we have decided to use a drone (quadcopter) as a robot. Most drones are fast and they can change altitude easily, this agility enables a drone to quickly move to a position with a good view, this is a large advantage for a referee. Robot soccer is played on fields of different sizes, and a system using a drone is scalable, whereas for instance a camera on a rail next to a field would not be so scalable. Another reason for using a drone is that it is easy to carry around and it is a small object to work on.  
Using the ROS command ''rqt_graph'' the high-level system can be depicted as a few topics and nodes connected by messages, this can be seen in the following figure. [[File:Rqt drone follow.jpg|750 px|system]]
 
The following text will briefly explain what everything in the figure means. More in-depth information will come later. The sim_ros_interface is the node which is created by the simulator itself and serves as a communication path between the simulator scripts and the rest of the system. It will publish camera footage from the camera mounted on the drone to the topic /txCam. The ''image_processor'' node will subscribe to /txCam and will subsequently get the image from the simulator. It will then extract the relative ball position and size (in pixels) out of each frame and stores it in an object (message type). This message will then be published to the /ballPos topic. The simulator node will subscribe to this topic, get the position of the ball relative to the drone and decide what to do with this information i.e. move in an appropriate manner. This loop will run at approximately 24Hz.
We made the project goal more specific into the following:
 
''''' "Autonomously assist a football referee in a 2 versus 2 robot soccer match using a drone by enforcing three main rules: out of bounds, free kick, and goal."'''''
 
A large obstacle we faced during the project was that the university had to close due to the Covid-19 virus outbreak from March 2020 until the end of the project year. The effects on this project are that the team has not been able to test hardware on the university or work together physically. Considering these changes the team has decided to move our system to a simulation environment, and the work on the hardware has not been finalized.
 
=Team=
This project was made by the following Honors student in the academic year 2019/2020:
*Alvaro Gonzalez
*Jake Rap
*Wolff Voss
 
=References=
 
Rosebrock, A. (2015). Ball Tracking with OpenCV - PyImageSearch. Retrieved 24 May 2020, from https://www.pyimagesearch.com/2015/09/14/ball-tracking-with-opencv/

Latest revision as of 19:00, 24 May 2020



AutoRef Honors 2019/20



Introduction

CF on laptop.jpg

This wiki is the documentation of work delivered by the AutoRef Honors students from the High Tech Systems track in the academic year 2019/2020.

The goal of this project is to develop an autonomous robot capable of refereeing a robot football play. Such a system can be of benefit by eliminating human error and by using factual data from more sources to make better-evaluated decisions. For this project we have decided to use a drone (quadcopter) as a robot. Most drones are fast and they can change altitude easily, this agility enables a drone to quickly move to a position with a good view, this is a large advantage for a referee. Robot soccer is played on fields of different sizes, and a system using a drone is scalable, whereas for instance a camera on a rail next to a field would not be so scalable. Another reason for using a drone is that it is easy to carry around and it is a small object to work on.

We made the project goal more specific into the following:

"Autonomously assist a football referee in a 2 versus 2 robot soccer match using a drone by enforcing three main rules: out of bounds, free kick, and goal."

A large obstacle we faced during the project was that the university had to close due to the Covid-19 virus outbreak from March 2020 until the end of the project year. The effects on this project are that the team has not been able to test hardware on the university or work together physically. Considering these changes the team has decided to move our system to a simulation environment, and the work on the hardware has not been finalized.

Team

This project was made by the following Honors student in the academic year 2019/2020:

  • Alvaro Gonzalez
  • Jake Rap
  • Wolff Voss

References

Rosebrock, A. (2015). Ball Tracking with OpenCV - PyImageSearch. Retrieved 24 May 2020, from https://www.pyimagesearch.com/2015/09/14/ball-tracking-with-opencv/