Skip to content

Commit 9f48c5c

Browse files
efernandezEnrique Fernandez
authored andcommitted
Add book source code
0 parents  commit 9f48c5c

File tree

314 files changed

+479218
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

314 files changed

+479218
-0
lines changed

README.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Learning ROS for Robotics Programming - Second Edition #
2+
3+
**Learning ROS for Robotics Programming - Second Edition** book tutorials source code.
4+
5+
## Authors ##
6+
7+
* Aaron Martínez
8+
* Anil Mahtani
9+
* Enrique Fernández
10+
* Luiz Sánchez
11+
12+
## Installation ##
13+
14+
Install **ROS Hydro** on a compatible **Ubuntu** distro following the official instructions provided [here](http://wiki.ros.org/hydro/Installation/Ubuntu).
15+
Note that **ROS Indigo** might also work for most of the source code.
16+
17+
Create a workspace:
18+
``` bash
19+
mkdir -p ~/dev/catkin_ws/src
20+
cd ~/dev/catkin_ws/src
21+
wstool init
22+
```
23+
24+
Download this repository:
25+
``` bash
26+
wstool set ROS_Book_Hydro --git git@github.com:AaronMR/ROS_Book_Hydro.git
27+
wstool up -j8
28+
```
29+
30+
Install the dependencies:
31+
``` bash
32+
cd ..
33+
rosdep install --from-paths src -iy
34+
```
35+
36+
source /opt/ros/$(rosversion -d)/setup.bash
37+
38+
Build the source code (alternatively, you can use `catkin build` instead of `catkin_make`):
39+
``` bash
40+
catkin_make -j4
41+
source devel/setup.bash
42+
```
43+
44+
## Tutorials ##
45+
46+
* **Chapter 1:** Getting started with ROS Hydro (no source code as it covers the installation)
47+
* **Chapter 2:** ROS Architecture and Concepts
48+
* **Chapter 3:** Visualization and Debug Tools
49+
* **Chapter 4:** Using Sensors and Actuators with ROS
50+
* **Chapter 5:** Computer Vision
51+
* **Chapter 6:** Point Clouds
52+
* **Chapter 7:** 3D Modeling and Simulation
53+
* **Chapter 8:** The Navigation Stack - Robot Setup
54+
* **Chapter 9:** The Navigation Stack - Beyond the Setup
55+
* **Chapter 10:** Manipulation with MoveIt!

chapter10_tutorials/LICENSE

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
Copyright (c) 2015, Enrique Fernandez, Anil Mahtani
2+
All rights reserved.
3+
4+
Redistribution and use in source and binary forms, with or without
5+
modification, are permitted provided that the following conditions are met:
6+
7+
1. Redistributions of source code must retain the above copyright notice, this
8+
list of conditions and the following disclaimer.
9+
2. Redistributions in binary form must reproduce the above copyright notice,
10+
this list of conditions and the following disclaimer in the documentation
11+
and/or other materials provided with the distribution.
12+
13+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
14+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
15+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
16+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
17+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20+
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23+
24+
The views and conclusions contained in the software and documentation are those
25+
of the authors and should not be interpreted as representing official policies,
26+
either expressed or implied, of the project.

chapter10_tutorials/README.md

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# ROS Book Hydro - Chapter 10 tutorials : ROS arm in MoveIt! #
2+
3+
## Launch MoveIt! ##
4+
5+
* For a kinematic version (very fast) without controllers:
6+
7+
``` bash
8+
roslaunch rosbook_arm_moveit_config demo.launch
9+
```
10+
11+
[![rosbook_arm_moveit_no_controllers.png](https://raw.githubusercontent.com/AaronMR/ROS_Book_Hydro/master/chapter10_tutorials/images/rosbook_arm_moveit_no_controllers.png)](http://youtu.be/aAihbFjSwBo)
12+
13+
* For a version using the simulated model of the arm:
14+
15+
``` bash
16+
roslaunch rosbook_arm_gazebo rosbook_arm_empty_world.launch
17+
roslaunch rosbook_arm_moveit_config moveit_rviz.launch config:=true
18+
```
19+
20+
[![rosbook_arm_moveit.png](https://raw.githubusercontent.com/AaronMR/ROS_Book_Hydro/master/chapter10_tutorials/images/rosbook_arm_moveit.png)](https://youtu.be/gZJDvElwqg0)
21+
22+
# Pick & Place #
23+
24+
Run the simulated model of the arm on the grasping world:
25+
26+
``` bash
27+
roslaunch rosbook_arm_gazebo rosbook_arm_grasping_world.launch
28+
roslaunch rosbook_arm_moveit_config moveit_rviz.launch config:=true
29+
roslaunch rosbook_arm_pick_and_place grasp_generator_server.launch
30+
rosrun rosbook_arm_pick_and_place pick_and_place.py
31+
```
32+
33+
This [video](http://youtu.be/GR0pmhgVq70) shows the grasping world, which also
34+
spawns the arm with an RGB-D sensor on top of it.
35+
36+
Note that the objects in the planning scene has been created manually, without
37+
perception, by using their dimensions from the SDF files in `~/.gazebo/models`
38+
or the `meshes/<model>.dae` in meshlab as with the coke_can model.
39+
40+
## Demo mode ##
41+
42+
Run the following instead:
43+
44+
``` bash
45+
roslaunch rosbook_arm_moveit_config demo.launch
46+
roslaunch rosbook_arm_pick_and_place grasp_generator_server.launch
47+
rosrun rosbook_arm_pick_and_place pick_and_place.py
48+
```
49+
50+
This [video](http://youtu.be/q2YBhHWuJS0) shows the arm doing a Pick and Place
51+
in demo mode.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
cmake_minimum_required(VERSION 2.8.3)
2+
project(chapter10_tutorials)
3+
find_package(catkin REQUIRED)
4+
catkin_metapackage()
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<?xml version="1.0"?>
2+
<package>
3+
<name>chapter10_tutorials</name>
4+
<version>0.0.0</version>
5+
<description>ROS book Chapter 10 tutorials - MoveIt!</description>
6+
7+
<maintainer email="enrique.fernandez.perdomo@gmail.com">Enrique Fernandez</maintainer>
8+
<author email="enrique.fernandez.perdomo@gmail.com">Enrique Fernandez</author>
9+
10+
<license>BSD</license>
11+
12+
<buildtool_depend>catkin</buildtool_depend>
13+
14+
<run_depend>rosbook_arm_gazebo</run_depend>
15+
<run_depend>rosbook_arm_pick_and_place</run_depend>
16+
17+
<export>
18+
<metapackage/>
19+
</export>
20+
</package>
143 KB
Loading
113 KB
Loading
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
cmake_minimum_required(VERSION 2.8.3)
2+
project(rosbook_arm_bringup)
3+
4+
find_package(catkin REQUIRED)
5+
6+
catkin_package()
7+
8+
foreach(dir config launch)
9+
install(DIRECTORY ${dir}/
10+
DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/${dir})
11+
endforeach()
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
approach_planner:
2+
planning_groups: # Sorted by order of preference
3+
- arm
4+
5+
exclude_from_planning_joints:
6+
- finger_1_joint
7+
- finger_2_joint
8+
9+
joint_tolerance: 0.01
10+
skip_planning_approach_vel: 0.5
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
play_motion:
2+
motions:
3+
grasp:
4+
joints: [shoulder_joint, rotor_0_joint, upper_arm_joint, rotor_1_joint, forearm_joint, rotor_2_joint, tool_joint,
5+
finger_1_joint, finger_2_joint]
6+
points:
7+
- positions: [0.0, 0.0, 0.0, 0.0, 1.57, 0.0, 0.0, 0.0, 0.0]
8+
time_from_start: 0.0
9+
meta:
10+
name: Grasp
11+
usage: posture
12+
description: Arm in grasping position, with elbow at 90 degrees.
13+
home:
14+
joints: [shoulder_joint, rotor_0_joint, upper_arm_joint, rotor_1_joint, forearm_joint, rotor_2_joint, tool_joint,
15+
finger_1_joint, finger_2_joint]
16+
points:
17+
- positions: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
18+
time_from_start: 0.0
19+
meta:
20+
name: Home
21+
usage: posture
22+
description: Arm up and completely stretched.

0 commit comments

Comments
 (0)