-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME_tutorials.txt
256 lines (177 loc) · 7.26 KB
/
README_tutorials.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
Tiago Installation:
https://wiki.ros.org/Robots/TIAGo/Tutorials/Installation/InstallUbuntuAndROS
rosinstall ./src /opt/ros/noetic tiago_public−noetic.rosinstall
Tutorial 2:
Tiago was used for all.
6.1 Simulation scenario:
roslaunch ics_gazebo tiago.launch world_suffix:=tutorial2
6.2 Rviz configuration file
roslaunch ics_gazebo tiago.launch world_suffix:=tutorial
6.3 Controller plugin
rosrun look_to_point look_to_point
TODO based on look_to_point rosrun:
roslaunch controllers_tutorials combined_resource_controller_tiago.launch
Tutorial 3:
Tiago was used for all.
1: Generate maps for two worlds using Tiago
roslaunch tiago_2dnav_gazebo tiago_mapping.launch public_sim:=true world:=tutorial_office
roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true lost:=true map:=$HOME/.pal/tiago_maps/configurations/tutorial3_1
*Change map path accordingly
2: Localization
roslaunch tiago_localization tiago_localization.launch
3: Navigate the Map, 4: Planning in Cartesian space with MoveIt!
roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true
roslaunch tiago_move tiago_move.launch
Tutorial 4:
Tiago was used for all.
1: Create a world for perception
roslaunch object_detection_world tiago.launch world_suffix:=objects
2: Object detection
Follow the installation on the Yolact repo.
cd YOLACT-mini-Instance-segmentation
python detect_tiago.py
object detection video:
https://youtu.be/Gstdm_uIWaY
3: Point cloud segmentation
roslaunch plane_segmentation plane_segmentation_tiago.launch
Find the right view with:
rosrun look_to_point look_to_point
table segmentation video:
https://youtu.be/O1RgS5MCy3w
object segmentation video:
https://youtu.be/WEavimqxH1s
4: TODO
Tutorial 5
1: Navigation
First move the src/object_detection_world/worlds/pick_place.world file to pal_gazebo_worlds/worlds
$ roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true world:=pick_place map:=$HOME/.pal/tiago_maps/configurations/pick_place_map
*Change map path according to your system, all maps are found under the ./maps/ directory in this repo.
$ rosservice call /global_localization "{}"
$ roslaunch tiago_localization tiago_localization.launch
2: Perception
3: Robot manipulation
$ roslaunch tiago_move_pick_place tiago_move.launch
if you want to use state machine you should start over
4: State
$ roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true world:=pick_place map:=$HOME/.pal/tiago_maps/configurations/pick_place_map
$ sudo apt-get install ros-noetic-smach-viewer
$ rosrun smach_viewer smach_viewer.py
$ roslaunch hsrb_task_manager task_manager.launch
Finial task
# Tiago is using UTC, so changing the time zone on your PC to UTC zone is better.
$ sudo timedatectl set-timezone UTC
source /opt/ros/noetic/setup.bash
export ROS_IP=192.168.1.105
export ROS_MASTER_URI=http://192.168.1.200:11311
ping 192.168.1.200
on web: 192.168.1.200
http://tiago-46c:8080/?&wtd=VtoPWd6ULoaYaohm
killall gzserver
killall gzclient
rqt_graph
rosrun key_teleop key_teleop.py
demo
roslaunch tiago_gazebo tiago_gazebo.launch public_sim:=true end_effector:=pal-gripper
roslaunch object_detection_world tiago.launch world_suffix:=empty
rosrun rqt_joint_trajectory_controller rqt_joint_trajectory_controller
use GUI to look objects :(controller--->head_controller head_1_joint:0 head_2_joint:-0.8)
1: Navigation
First move the src/object_detection_world/worlds/pick_place.world file to pal_gazebo_worlds/worlds
$ roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true world:=pick_place map:=$HOME/.pal/tiago_maps/configurations/pick_place_map
*Change map path according to your system, all maps are found under the ./maps/ directory in this repo.
$ rosservice call /global_localization "{}"
$ roslaunch tiago_localization tiago_localization.launch
2: Perception
3: Robot manipulation
$ roslaunch tiago_move_pick_place tiago_move.launch
if you want to use state machine you should start over
4: State
$ roslaunch tiago_2dnav_gazebo tiago_navigation.launch public_sim:=true world:=pick_place map:=$HOME/.pal/tiago_maps/configurations/pick_place_map
$ sudo apt-get install ros-noetic-smach-viewer
$ rosrun smach_viewer smach_viewer.py
/tiago_ws/src/hsrb_task_manager/script chmod + final_task.py
$ roslaunch hsrb_task_manager final_task.launch
rosparam set /move_base/local_planner/goal_tolerance 0.5
rosparam set /move_base/local_planner/yaw_goal_tolerance 0.1
rostopic echo /move_base/feedback
____________________________________________
Installation of the tmc ROS Noetic packages.
These are not free packages. Please install them in your remote workstation and do not distribute the instruction set. Open one terminal and run the following comands one by one.
$ sudo sh -c 'echo "deb [arch=amd64] https://hsr-user:[email protected]/ros/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/tmc.list'
$ sudo sh -c 'echo "deb [arch=amd64] https://hsr-user:[email protected]/tmc/ubuntu `lsb_release -cs` multiverse main" >> /etc/apt/sources.list.d/tmc.list'
$ sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
$ wget https://hsr-user:[email protected]/tmc.key -O - | sudo apt-key add -
$ wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc -O - | sudo apt-key add -
$ wget https://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
$ sudo sh -c 'mkdir -p /etc/apt/auth.conf.d'
$ sudo sh -c '/bin/echo -e "machine packages.hsr.io\nlogin hsr-user\npassword jD3k4G2e" >/etc/apt/auth.conf.d/auth.conf'
$ sudo apt-get update
$ sudo apt-get install ros-noetic-tmc-desktop-full
################### Command and message to publish to the mobile base
# For Tiago
rostopic pub /mobile_base_controller/cmd_vel geometry_msgs/Twist "linear:
x: 1.0
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0" -r 3
# For the HSRB
rostopic pub /base_velocity geometry_msgs/Twist "linear:
x: 0.5
y: 0.0
z: 0.0
angular:
x: 0.0
y: 0.0
z: 0.0" -r 3
################### Command and message to publish to the arm joints.
# For Tiago:
rostopic pub /arm_controller/command trajectory_msgs/JointTrajectory "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
joint_names: ['arm_1_joint', 'arm_2_joint', 'arm_3_joint', 'arm_4_joint', 'arm_5_joint', 'arm_6_joint', 'arm_7_joint']
points:
-
positions: [0.5, -1.34, -0.2, 1.94, -1.57, 1.37, 0.0]
velocities: []
accelerations: []
effort: []
time_from_start:
secs: 1
nsecs: 0"
# For HSRB:
$ rostopic pub /hsrb/arm_trajectory_controller/command trajectory_msgs/JointTrajectory "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
joint_names: [arm_flex_joint, arm_lift_joint, arm_roll_joint, wrist_flex_joint, wrist_roll_joint]
points:
-
positions: [0, 0, 0, 0, 0]
velocities: []
accelerations: []
effort: []
time_from_start:
secs: 1
nsecs: 0"
rostopic pub /hsrb/arm_trajectory_controller/command trajectory_msgs/JointTrajectory "header:
seq: 0
stamp:
secs: 0
nsecs: 0
frame_id: ''
joint_names: [arm_flex_joint, arm_lift_joint, arm_roll_joint, wrist_flex_joint, wrist_roll_joint]
points:
- positions: [0, 0, 0, 0, 0]
velocities: []
accelerations: []
effort: []
time_from_start: {secs: 1, nsecs: 0}"