Skip to content

Commit

Permalink
[Task 3.17] Update Readme and Doxygen webpage
Browse files Browse the repository at this point in the history
  • Loading branch information
HrushikeshBudhale committed Dec 14, 2021
1 parent ceadbc0 commit f2a74d9
Show file tree
Hide file tree
Showing 106 changed files with 8,815 additions and 75 deletions.
133 changes: 58 additions & 75 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,65 +8,21 @@
### Project Overview and Description
Since robots are being rapidly deployed for various domestic applications, Acme Robotics is looking to develop a domestic robot as a part of its 5-year product road-map. The robot called the "Domestic Decluttering Robot" will declutter the house floor by identifying different items, collecting them, and placing them at their desired location in the house. The robot will scout the house floor to detect and grasp the desired object. Once grasped, it will place the object at the predefined location. The robot will have a camera to identify the object, Lidar sensor to make a 3D map of the environment around it, and a 8 DOF robotic manipulator mounted on it.

### Presentation Video link
### Documentation
Doxygen generated documentation for developers can be found [here](https://hrushikeshbudhale.github.io/decluttering_domestic_robot/docs/html/index.html)

Video link: https://youtu.be/-lPjSiizmCI

### Presentation link

https://docs.google.com/presentation/d/1osl5vrxGRXqx1QkJhoWhC6rh83X2Kr2OMlprzH5XEH0/edit?userstoinvite=abhimah@umd.edu#slide=id.g107542cf1d8_6_10

### Robot Simulation link

Video link: https://youtu.be/NrRCCqRFqw4
- Robot demo [video](https://youtu.be/NrRCCqRFqw4)
- Presentation [video](https://youtu.be/-lPjSiizmCI)
- Presentation [slides](https://docs.google.com/presentation/d/1osl5vrxGRXqx1QkJhoWhC6rh83X2Kr2OMlprzH5XEH0/edit?userstoinvite=abhimah@umd.edu#slide=id.g107542cf1d8_6_10)
- Product backlog sheet [google sheet](https://docs.google.com/spreadsheets/d/1uLx1TDejwb_q-EkkCh65zcsgOdo6YiGDN0ZlcO-tUYo/edit?usp=sharing)
- Sprint planning notes [google docs](https://docs.google.com/document/d/1j18MeeHkREd-rwEOQwoSgQbipBhqeb5pdRHkQmvJkCU/edit?usp=sharing)

### Development Team
#### Sprint 1
* Driver - Hrushikesh Budhale
* Navigator - Abhijit Mahalle
* Design Keeper - Ameya Konkar

#### Sprint 1
* Driver - Abhijit Mahalle
* Navigator - Ameya Konkar
* Design Keeper - Hrushikesh Budhale

#### Sprint 1
* Driver - Ameya Konkar
* Navigator - Hrushikesh Budhale
* Design Keeper - Abhijit Mahalle


### Product Backlog
Product backlog can be found in [google sheet](https://docs.google.com/spreadsheets/d/1uLx1TDejwb_q-EkkCh65zcsgOdo6YiGDN0ZlcO-tUYo/edit?usp=sharing)

### Sprint planning notes
Sprint planning notes can found in [google docs](https://docs.google.com/document/d/1j18MeeHkREd-rwEOQwoSgQbipBhqeb5pdRHkQmvJkCU/edit?usp=sharing)

### Deliverables
* Developer level documentation using doxygen
* Build status using travis CI
* Code coverage using coveralls
* Accurate implementation using generated test cases in gtest
* Tests for ros nodes in rostest
* Steps showing how to build the repository
* Steps showing how to run test and demo applications
* Steps showing how to generate Doxygen documentation
* Valgrind output for memory leak check

### Activity Diagram
<p align="center">
<img src="https://github.com/HrushikeshBudhale/decluttering_domestic_robot/blob/sprint1/uml/initial/activity_diagram.png" alt="ACTIVITY DIAGRAM" width="400"/>
</p>

---

### UML Class Diagram
<p align="center">
<img src="https://github.com/HrushikeshBudhale/decluttering_domestic_robot/blob/sprint1/uml/initial/class_diagram.png" alt="UML Diagram" width="600"/>
</p>

---
Sprint | #1 | #2 | #3 |
--- | --- | --- | ---
Hrushikesh Budhale | Driver | Design Keeper | Navigator
Abhijit Mahalle | Navigator | Driver | Design Keeper
Ameya Konkar | Design Keeper | Navigator | Driver

### External Dependencies
- [ROS Melodic](http://wiki.ros.org/melodic/Installation/Ubuntu)
Expand All @@ -75,21 +31,8 @@ Sprint planning notes can found in [google docs](https://docs.google.com/documen
- [Moveit](https://moveit.ros.org/)
- [Opencv](https://github.com/opencv/opencv)

## Known Issues/Bugs

---
Picking the object at certain positions and orientation is not possible for the robot.

---

### Installing Tiago package

```
Install Tiago packages using the link: http://wiki.ros.org/Robots/TIAGo/Tutorials/Installation/InstallUbuntuAndROS
```

### Building and running the Program
### Installation instructions
Install Tiago packages from [wiki.ros.org](http://wiki.ros.org/Robots/TIAGo/Tutorials/Installation/InstallUbuntuAndROS)

```
cd <catkin workspace>/src
Expand All @@ -98,18 +41,58 @@ git clone --recursive https://github.com/HrushikeshBudhale/decluttering_domestic
cd ..
catkin build
source ./devel/setup.bash
roslaunch decluttering_domestic_robot simulation.launch
```
Copy the existing SLAM configuration files and world file from cloned repo to the tiago directory using following command.
```
sudo cp -r src/decluttering_domestic_robot/configuration/smallHouse/ ~/.pal/tiago_maps/configurations/
sudo cp src/decluttering_domestic_robot/world/smallHouse.world /tiago_public_ws/src/tiago_simulation/tiago_gazebo/worlds/
```

For launching the simulation demo run following command.
This will start a gazebo environment of a house with 5 rooms. Tiago robot will be spawned. Also a small blue color box will be spawned in a random location.
```
roslaunch decluttering_domestic_robot simulation.launch
```
### To Build the Tests

Launch file can be used to record a bag file by passing ```rocord_bag``` argument as follows
```
roslaunch decluttering_domestic_robot simulation.launch record_bag:=true
```
Using Catkin Make: catkin_make tests

### Tests
To Build the Tests using catkin_make run following command in your catkin workspace.
```
catkin_make tests
```
### To Run the Tests

To run the test execute following command.
```
rostest decluttering_domestic_robot main_test.test
```

### Generating documentation
Run the following command in folder's root directory to generate new documentation
```
doxygen docs/doxygen_config.conf
```
---

### Activity Diagram
<p align="center">
<img src="https://github.com/HrushikeshBudhale/decluttering_domestic_robot/blob/sprint1/uml/initial/activity_diagram.png" alt="ACTIVITY DIAGRAM" width="300"/>
</p>

---

### UML Class Diagram
<p align="center">
<img src="https://github.com/HrushikeshBudhale/decluttering_domestic_robot/blob/sprint1/uml/revised/class_diagram.png" alt="UML Diagram" width="600"/>
</p>

---

### Known Issues/Bugs
Picking the object at corner positions is not possible for the robot.



Binary file added docs/html/bc_s.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/html/bdwn.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/html/closed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
104 changes: 104 additions & 0 deletions docs/html/dcrobot_8cpp.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>decluttering_domestic_robot: src/dcrobot.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">decluttering_domestic_robot
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">dcrobot.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">

<p>LIbrary file for DCRobot class.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;dcrobot/dcrobot.hpp&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for dcrobot.cpp:</div>
<div class="dyncontent">
<div class="center"><img src="dcrobot_8cpp__incl.png" border="0" usemap="#src_2dcrobot_8cpp" alt=""/></div>
<map name="src_2dcrobot_8cpp" id="src_2dcrobot_8cpp">
<area shape="rect" title="LIbrary file for DCRobot class." alt="" coords="18,5,130,32"/>
<area shape="rect" title=" " alt="" coords="5,80,143,107"/>
</map>
</div>
</div><a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>LIbrary file for DCRobot class. </p>
<p>MIT License</p>
<p>Copyright(c) 2021</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files(the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p>
<p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p>
<p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<dl class="section author"><dt>Author</dt><dd>Driver: Ameya Konkar (ameyakonk), Navigator: Hrushikesh Budhale </dd></dl>
<dl class="section version"><dt>Version</dt><dd>0.1 </dd></dl>
<dl class="section date"><dt>Date</dt><dd>2021-11-29</dd></dl>
<dl class="section copyright"><dt>Copyright</dt><dd>Copyright (c) 2021 </dd></dl>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
4 changes: 4 additions & 0 deletions docs/html/dcrobot_8cpp__incl.map
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<map id="src/dcrobot.cpp" name="src/dcrobot.cpp">
<area shape="rect" id="node1" title="LIbrary file for DCRobot class." alt="" coords="18,5,130,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="5,80,143,107"/>
</map>
1 change: 1 addition & 0 deletions docs/html/dcrobot_8cpp__incl.md5
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3ba48d7c7985eab298ceb7082ad00fb7
Binary file added docs/html/dcrobot_8cpp__incl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit f2a74d9

Please sign in to comment.