AutoRef honors 2019: Difference between revisions
No edit summary |
No edit summary |
||
Line 10: | Line 10: | ||
=note= | =note= | ||
focus on simulation due to corona | focus on simulation due to corona | ||
=software architecture= | |||
archi | |||
=Vision= | =Vision= |
Revision as of 14:01, 6 May 2020
AutoRef Honors 2019/20
note
focus on simulation due to corona
software architecture
archi
Vision
info about vision goes here
hardware
cf bolt flowdeck
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.
- software architecture
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. 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.