Skip to content

4.4 Key Factors and Constraints

greg737 edited this page Aug 28, 2015 · 1 revision

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:

Environmental constraints:

ROS Operating System and Python (rospy)

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.

ROS Stage

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.

Resource constraints:

Time

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.

Team Technical Skills and Knowledge

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.

Clone this wiki locally