Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/daniel-m-campos/home-service-robot
https://github.com/daniel-m-campos/home-service-robot
ros udacity
Last synced: about 23 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/daniel-m-campos/home-service-robot
- Owner: daniel-m-campos
- Created: 2021-06-24T19:18:57.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-07-07T13:39:53.000Z (over 3 years ago)
- Last Synced: 2023-12-28T04:25:17.610Z (11 months ago)
- Topics: ros, udacity
- Language: Shell
- Homepage:
- Size: 5.31 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Home Service Robot Project
### Demo
## Goal
The goal of this project was to program a home-service-robot that will map its
environment and autonomously navigate to a pickup and drop-off locations. For this one
needed to:* Design robot's environment with the Building Editor in Gazebo.
* Tele-operate the robot and manually test SLAM.
* Use the ROS navigation stack and manually command the robot using the 2D Nav Goal
arrow in RViz to move to 2 different desired positions and orientations.
* Write a `pick_objects` node that commands the robot to move to the desired pickup and
drop off zones.
* Write an `add_markers` node that subscribes to the robot odometry and publishes
pick-up and drop-off markers to RViz.
* Modify the `add_markers` node to:
1. Drop-off the marker at given position
1. Detect marker pickup by tracking the robot's pose using `/amcl_pose`
1. Detect marker drop-off### Install Requirements
* Ubuntu 16.04 OS with cmake (>=3.11) and g++/gcc (>=9.0) packages
* Gazebo >= 7.0
* ROS Kinetic```sh
git clone https://github.com/daniel-m-campos/home-service-robot.git --recurse-submodules
cd home-service-robot
source install-ubuntu.sh
```### Build the workspace
```sh
cd /home-service-robot
cd src
catkin_init_workspace
cd ..
catkin_make
```### Launching
#### Testing SLAM
```sh
cd /home-service-robot
source devel/setup.sh
./scripts/test_slam.sh
```#### Testing Navigation
```sh
cd /home-service-robot
source devel/setup.sh
./scripts/test_navigation.sh
```#### Picking Objects
```sh
cd /home-service-robot
source devel/setup.sh
./scripts/pick_objects.sh
```#### Adding Markers
```sh
cd /home-service-robot
source devel/setup.sh
./scripts/add_markers.sh
```#### Home Servicing
```sh
cd /home-service-robot
source devel/setup.sh
./scripts/home_service.sh
```### Directory Tree
```
home-service-robot
├── img
│ ├── add_markers.png
│ ├── home_service.gif
│ ├── home_service.png
│ ├── pick_objects.gif
│ ├── test_navigation.png
│ └── test_slam.png
├── rviz_config
│ ├── add_markers.rviz
│ ├── home_service.rviz
│ ├── navigation.rviz
│ ├── test_navigation.rviz
│ └── test_slam.rviz
├── scripts
│ ├── add_marker.sh
│ ├── final_marker_pose.yaml
│ ├── home_service.sh
│ ├── initial_marker_pose.yaml
│ ├── initial_pose.yaml
│ ├── marker_dropped_pose.yaml
│ ├── pick_objects.sh
│ ├── test_navigation.sh
│ └── test_slam.sh
├── src
│ ├── add_markers
│ ├── my_robot
│ ├── pick_objects
│ ├── slam_gmapping
│ ├── turtlebot
│ ├── turtlebot_interactions
│ ├── turtlebot_simulator
│ └── CMakeLists.txt -> /opt/ros/melodic/share/catkin/cmake/toplevel.cmake
├── install-ubuntu.sh
├── README.md
└── upgrade_cmake.sh
```