-
Notifications
You must be signed in to change notification settings - Fork 3
4.4 Key Factors and Constraints
There were a number of key factors that were carefully considered during the development and implementation of the Kiwifruit Orchard Robot Simulator. These included both resource and environmental factors as detailed below:
The project was required to be completed using ROS operating system, subsequently we were confronted with the decision to use one of two programming languages to complete the project: either python or C++. Virtually nobody on the team has prior experience with either of the languages, except Harry who had worked with Python before. After careful consideration, our team made an informed decision that Python had a smaller learning curb but was still a very functional and powerful language to use on ROS. We were also using python for another course SOFTENG 370, so we believed it would be beneficial to learn and use it in both.
We were constrained to use ROS Stage instead of a more powerful 3D simulator environment such as Gazebo, consequently our models and simulation are more primitive and constrained to Stage's limitations. One of Stage's main limitations were that it could not dynamically add or remove entities to the Stage after the program was loaded and initialized. We had to take this into account and work around this.
Time was the largest constraint for Team 8. We were given just under 6 weeks to completely plan, develop and implement the Kiwifruit Orchard Robot simulator in time for the Final Demo. It was therefore essential to plan and utilize all the time we had effectively. Project planning was done through Microsoft Project, with a Gantt Chart to indicate key tasks and milestones that had to be completed by a certain date. An obvious effect of the limited time afforded to use to complete the project meant that the project features had to be omitted in lieu of simpler alternatives. This included having less aesthetically pleasing and complex models on Stage.
Having never used ROS and python as previously mentioned meant that there was an overhead cost required to learn how to set up and learn how to use both the ROS environment and python programming language. As the project progressed however, we became more confident and competent in using both ROS and python and productivity increased dramatically.
##1.0 Introduction
##2.0 User Manual
##2.5 Testing
3.1 Launch Infrastructure
3.2 Entities and behaviours (Robots, humans, animals)
- 3.2.1 Entity Superclass
- 3.2.1.1 Entity Movement
- 3.2.2 Robot Entity
- 3.2.2.1 Robot Entity Detection
- 3.2.2.2 Robot Path Finding
- 3.2.3 Robot Pickers
- 3.2.4 Robot Carriers
- 3.2.4.1 Carrier Queue
- 3.2.5 Humans
- 3.2.6 Animals
- 3.2.7 Entity Topics
3.3 Special services and features
##4.0 Project Planning and management
- 4.1 Project plan
- 4.2 Git Branching and Merging Etiquette
- 4.3 Design Requirements, System requirements and Technical specifications
- 4.4 Key Factors and Constraints
- 4.5 System Design
- 4.6 Time spent
- 4.7 Testing and integration overview
- 4.8 Meeting minutes
##Miscellaneous resources