Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration #32

Merged
merged 169 commits into from
Apr 28, 2020
Merged
Show file tree
Hide file tree
Changes from 146 commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
55a859d
Scaffold dynamic buttons
kekeblom Dec 12, 2019
3dfdc64
Messages, get scene cloud, publish message for instance labels
kekeblom Dec 12, 2019
713221c
Recover semantic button panel
kekeblom Jan 6, 2020
b769cd4
Semantic grasp selection action
kekeblom Jan 7, 2020
f024e08
Hook up semantic grasping to fetch commander script
kekeblom Jan 7, 2020
492648f
Use scipy.spatial.transform for quaternions
kekeblom Jan 8, 2020
b9abc4a
Depend on vpp_msgs package instead of voxblox++
kekeblom Jan 8, 2020
5414ab1
Minor typo
fjulian Jan 8, 2020
93d90bb
Generate messages before compiling rviz plugin
kekeblom Jan 9, 2020
890a8fd
Return from sequential run script if grasp planning fails
kekeblom Jan 9, 2020
ef310d0
Remove no longer needed service files
kekeblom Jan 9, 2020
949115d
Forgotten class inheritance
kekeblom Jan 9, 2020
69335e9
Refactor playbooks into roles
kekeblom Jan 9, 2020
b558bfe
Added separate config files for Yumi
mobmi Jan 9, 2020
bd03c01
Added dependencies to package.xml
mobmi Jan 9, 2020
63098fc
add gpd and gpd_ros as submodules
kekeblom Jan 9, 2020
632348c
Install gpd as part of moma ansible task
kekeblom Jan 9, 2020
a405ae8
Ignore ansible retry files
kekeblom Jan 9, 2020
c74ea62
Merge branch 'master' into semantic-grasping
kekeblom Jan 9, 2020
603fa8f
Update README.md to reflect changes in ansible scripts
kekeblom Jan 10, 2020
11a6255
Setup yumi task
kekeblom Jan 10, 2020
79df2dc
Launch Voxblox++
margaritaG Jan 10, 2020
6f5a90e
Merge remote-tracking branch 'origin/master' into yumi-grasp-demo
mobmi Jan 10, 2020
8b21f46
Improved ssh commands to launch remote nodes
fjulian Jan 10, 2020
d91f183
Install system and python dependencies in moma ansible role
kekeblom Jan 10, 2020
83d817b
Turn visualization off
fjulian Jan 10, 2020
136e4f8
Checked out earlier release of the ridgeback repo
mobmi Jan 10, 2020
19de654
Added table to Yumi's URDF
mobmi Jan 10, 2020
1e25c6e
Added option to load base in yumi moveit
mobmi Jan 10, 2020
651f1df
added yumi code as submodule
fjulian Jan 10, 2020
f3b0c9f
Add VI sensor to navigation launch file
fjulian Jan 10, 2020
7ec91df
Add map path in navigation launch file
fjulian Jan 10, 2020
5bc5345
Second rviz window for showing the localization results
fjulian Jan 10, 2020
c37e08e
Approach module: corrected conversion between pixels and meters
fjulian Jan 10, 2020
394f7e2
Approach module: verified coordinate transform again
fjulian Jan 11, 2020
1303e21
Checked out earlier release of the ridgeback repo
mobmi Jan 10, 2020
2aabb8f
Added EE to yumi_l
mobmi Jan 11, 2020
e8c8eb4
Increased allowed execution duration for Yumi
mobmi Jan 11, 2020
832416e
Small fix in yumi_commander
mobmi Jan 11, 2020
7889110
Map cleaned up
fjulian Jan 11, 2020
ac6a509
Fine tuned approach node. Added some maps.
fjulian Jan 13, 2020
2cd280f
ridgeback_docker: Override accessories launch file, merging lasers
kekeblom Jan 13, 2020
f6c7a3c
Maplab laser map and launch files
Jan 13, 2020
bf1f497
Merge branch 'integration' of github.com:ethz-asl/moma into integration
Jan 13, 2020
9997a81
rviz config default
fjulian Jan 13, 2020
bbdc1cc
Edited lasermap (cleared and table versions)
fjulian Jan 13, 2020
fa4162f
Added maplab to rviz
smauq Jan 13, 2020
a294118
Disable ekf_localization
kekeblom Jan 13, 2020
7a1e497
Merge branch 'abb-demo' into integration
kekeblom Jan 13, 2020
7e4400a
More rviz stuff
smauq Jan 13, 2020
5870552
Static tf
Jan 13, 2020
194bf38
Merge branch 'integration' of github.com:ethz-asl/moma into integration
Jan 13, 2020
b38bea5
Create waypoints script
kekeblom Jan 13, 2020
ed264d2
Corrected pixel to map frame conversion in approach node
fjulian Jan 13, 2020
2a1bdb5
Merge remote-tracking branch 'origin/integration' into integration
fjulian Jan 13, 2020
d94a15e
Adapted map for approach module
fjulian Jan 13, 2020
6c5055c
Approach and search actions now share the visit waypoint callback
kekeblom Jan 13, 2020
2483ba3
Merge branch 'integration' of github.com:ethz-asl/moma into integration
smauq Jan 13, 2020
3d28fde
update ridgeback
kekeblom Jan 13, 2020
abb5509
Updated submodule ridgeback
fjulian Jan 13, 2020
df341b1
Merge remote-tracking branch 'origin/integration' into semantic-grasping
kekeblom Jan 13, 2020
bd074e4
set search waypoints
kekeblom Jan 13, 2020
0efdc4a
Moved MovingActionServer to ts own file
fjulian Jan 13, 2020
8221189
Merge pull request #23 from ethz-asl/semantic-grasping
kekeblom Jan 13, 2020
c706ffa
Added requirements
mobmi Jan 13, 2020
6662874
Updated GPD config
mobmi Jan 13, 2020
1bd66dc
Increased trajectory execution time
mobmi Jan 13, 2020
81fd4d8
Minor tweaks
fjulian Jan 13, 2020
18e8900
Stop search on object detection message
kekeblom Jan 13, 2020
d1a4da3
Update ridgeback submodule
fjulian Jan 13, 2020
5492429
Merge branch 'integration' into yumi-grasp-demo
fjulian Jan 13, 2020
3493e36
Iterate on search and approach action state handling
fjulian Jan 13, 2020
048a850
Change yumi submodule to a different branch
mobmi Jan 13, 2020
5b3a0b5
Fixed variable name issue
fjulian Jan 13, 2020
e07e030
Merge remote-tracking branch 'origin/integration' into integration
fjulian Jan 13, 2020
5e6b9f7
Added ee to left_arm chain
mobmi Jan 13, 2020
2fa08f9
Added waypoints and rviz config for grasping
mobmi Jan 13, 2020
b41b68a
Added more dependencies and include robot bringup
mobmi Jan 13, 2020
7a85e36
Fix moveit reference frame for Yumi
mobmi Jan 13, 2020
6eb6da5
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 13, 2020
234b2f8
Cleanup up launch files
mobmi Jan 13, 2020
09fa203
Removed sequential script from user interface launch
mobmi Jan 13, 2020
3374b68
Minor launch file fix
mobmi Jan 13, 2020
4034c10
Generated moveit config for mobmi
mobmi Jan 13, 2020
307d4ae
Toward robot agnostic grasping
mobmi Jan 13, 2020
a0975a9
Proper pre-approach arm posture
mobmi Jan 13, 2020
ba9d44f
Fixed grasping sequence
mobmi Jan 13, 2020
a49da19
Select highest ranked grasp + GPD parameter tuning
mobmi Jan 13, 2020
b0de511
Increased allowed execution time
mobmi Jan 13, 2020
12d7adc
Add check whether the object was grasped
mobmi Jan 13, 2020
b51890b
Simple state machine for run_sequentially script
fjulian Jan 13, 2020
f1287c3
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 13, 2020
142aaee
Subscribe to correct object detection message
kekeblom Jan 14, 2020
deecf36
Script to go to joint target
fjulian Jan 14, 2020
bb1f441
Replaced gripper interface
mobmi Jan 14, 2020
ef3bc67
Added back search and approach
fjulian Jan 14, 2020
849d18b
Merge remote-tracking branch 'origin/integration' into integration
fjulian Jan 14, 2020
ee21314
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 14, 2020
b2d55a3
Added additional poses to voxbloxpp scan node
mobmi Jan 14, 2020
4a713b8
Playbook for deploying ridgeback container
kekeblom Jan 14, 2020
f349e19
Standardize hostnames (update ansible hosts file)
kekeblom Jan 14, 2020
bd6298f
New maplab laser maps
smauq Jan 14, 2020
78f08ba
Updated transform for new laser map
Jan 14, 2020
e7575c8
Merge branch 'integration' of github.com:ethz-asl/moma into integration
Jan 14, 2020
3322398
Changes for new laser map
fjulian Jan 14, 2020
dbe77a2
update search waypoints
kekeblom Jan 14, 2020
a5fdeaf
Launch camera with manipulation.launch
mobmi Jan 14, 2020
d18e085
update search waypoints
kekeblom Jan 14, 2020
1883c82
remove extra character
kekeblom Jan 14, 2020
4160a1d
Cleared hallway in map. New rviz config.
fjulian Jan 14, 2020
5c4852d
Merge remote-tracking branch 'origin/integration' into integration
fjulian Jan 14, 2020
dc9c954
add additional initial search waypoint
kekeblom Jan 14, 2020
16a4573
Removed unused print statement
mobmi Jan 14, 2020
63a4b4f
Return waypoint pose in search action result
kekeblom Jan 14, 2020
b81f4f5
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 14, 2020
af76e27
Access error in search action result
kekeblom Jan 14, 2020
f646456
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 14, 2020
b3c53f3
Further details of drop_move_node
fjulian Jan 14, 2020
1017ca8
Change W_waypoint to PointStamped message
kekeblom Jan 14, 2020
9b53c33
Fixed bug in drop_move_node
fjulian Jan 14, 2020
1cb45f9
Added object detection to perception launch file
mobmi Jan 14, 2020
5a74dbb
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 14, 2020
aeb01bb
Enlarged table
fjulian Jan 14, 2020
f509d87
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 14, 2020
0b5b4aa
Move backwards before navigating to the goal
mobmi Jan 14, 2020
07573ef
Cleaned up search waypoints. Added hack to approach node.
fjulian Jan 14, 2020
e5cbbc8
Fix log error, move closer to table
mobmi Jan 14, 2020
5d29a21
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 14, 2020
34c6cd5
Fixed issues with approach
fjulian Jan 14, 2020
a59794a
Updated waypoints
mobmi Jan 14, 2020
aa1ab76
Fix log message
mobmi Jan 14, 2020
8da7da7
Merge branch 'integration' of github.com:ethz-asl/moma into integration
mobmi Jan 14, 2020
5ce8bd9
Fix some things in drop action
fjulian Jan 14, 2020
19ad842
Improved visualisation
fjulian Jan 14, 2020
6bc205a
Added corrective motion to grasp selection
fjulian Jan 15, 2020
3cc66ed
Fixes on approach node
fjulian Jan 15, 2020
d0b51f0
More stuff
fjulian Jan 15, 2020
7418a5c
Map readme
fjulian Jan 20, 2020
1437cc7
Changed yumi submodule to ethz-asl fork
fjulian Jan 20, 2020
a78ccb2
Correct hostname in yumi setup playbook
kekeblom Jan 20, 2020
65e5e20
Merge pull request #31 from ethz-asl/ridgeback-docker-deploy
kekeblom Jan 20, 2020
4738b39
Correct Typo
kekeblom Jan 20, 2020
877b56f
Make search node more compatible with DRY
kekeblom Jan 22, 2020
96eab10
Use UInt16 message instead of separate instance message
kekeblom Jan 22, 2020
5c1143a
Added argument to select either Maplab or AMCL localization.
fjulian Feb 25, 2020
9eca623
Moved old maps to "retired" folder.
fjulian Feb 25, 2020
01c9cc7
Deleted old maps
fjulian Feb 26, 2020
a7401f0
Unified voxblox++ scan and simple pointcloud-stitching scan
fjulian Feb 26, 2020
5c4ba76
Read based frame depending on which robot is used
fjulian Feb 26, 2020
381e56a
Minor changes
fjulian Feb 26, 2020
854ea5c
Added separate config files for panda and yumi in fetch demo
fjulian Feb 26, 2020
aa7ced3
Fetch demo launch files robot agnostic
fjulian Feb 26, 2020
2fbb9c2
Switched to using our transform class
fjulian Feb 26, 2020
625901e
Made search node arm agnostic
fjulian Feb 26, 2020
ad2cc4d
Add argument when calling search node. Remove unused params.
fjulian Feb 26, 2020
d7cba77
Made grasp action robot arm agnostic
fjulian Feb 26, 2020
7b16df7
Moved parameters to where they make more sense
fjulian Feb 26, 2020
05e70db
Made drop node arm agnostic
fjulian Feb 26, 2020
0173d20
Made drop_move node robot arm agnostic
fjulian Feb 26, 2020
87aed8c
Only correct position if working with yumi
fjulian Feb 26, 2020
c6b4db4
Various bug fixes
aslpanda Mar 10, 2020
8959b5b
Minor
aslpanda Mar 10, 2020
ae2e3ad
Various changes to make grasp_demo work on panda
aslpanda Mar 10, 2020
7b35da6
Updated rviz config
fjulian Mar 10, 2020
3ab699d
rosmon to deps
fjulian Mar 10, 2020
d157d11
Attempt to launch ridgeback nodes in namespace, to avoid robot_descri…
fjulian Mar 10, 2020
e453e49
Revert this, didn't work
fjulian Mar 10, 2020
342d1cc
Added some instructions and updated dependencies
fjulian Apr 27, 2020
6369ea6
GPD config files are now completed with absolute paths at compile time
fjulian Apr 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,8 @@ venv
# Vim stuff
*.swp

# Ansible stuff
*.retry

# Catkin stuff
CATKIN_IGNORE
10 changes: 10 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,13 @@
[submodule "realsense-ros"]
path = submodules/realsense-ros
url = [email protected]:IntelRealSense/realsense-ros.git
[submodule "submodules/gpd"]
path = submodules/gpd
url = https://github.com/kekeblom/gpd
[submodule "submodules/gpd_ros"]
path = submodules/gpd_ros
url = ssh://[email protected]/kekeblom/gpd_ros
[submodule "submodules/yumi"]
path = submodules/yumi
url = [email protected]:ethz-asl/yumi.git
branch = asl-devel
17 changes: 7 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,15 @@ More detailed instructions on the setup and operation of our robotic platforms,

## Ansible Playbooks

This section needs to be updated.
The `operations/` directory contains some Ansible playbooks which are there to automate and document how to set up a computer.

The `playbooks/` directory contains some Ansible playbooks which are there to automate and document how to set up the machine. `playbooks/setup_ros.yaml` will install ROS. `playbooks/setup_repo.yaml` will create a catkin workspace and clone this repository on the machine. `playbooks/setup_realsense.yaml` will install realsense dependencies and clone the [realsense-ros](https://github.com/IntelRealSense/realsense-ros) repository.
To run a playbook, first install Ansible (`pip install --user ansible`). Copy the hosts file `operations/hosts` to `/etc/ansible/hosts`.

To run a playbook, first install Ansible (`pip install --user ansible`). Copy the file `playbooks/hosts` to `/opt/ansible/hosts` or specify the inventory file with the `-i` option every time you run `ansible-playbook` (e.g. `ansible-playbook playbooks/setup_ros.yaml -i playbooks/hosts --ask-pass --ask-become-pass`.

The hosts file is an inventory file specifying which machines the playbooks are run against. Currently it only contains one group `franka-box` which's ip should point to the ubuntu machine controlling the Franka arm.

Setting up the machine is done by running the commands:
The hosts file is an inventory file specifying groups of hosts. A playbook is always run against a group and all the commands will be run on all machines in that group.

To set up the franka control computer, run:
```
ansible-playbook playbooks/setup_ros.yaml --ask-pass --ask-become-pass
ansible-playbook playbooks/setup_repo.yaml --ask-pass --ask-become-pass
ansible-playbook playbooks/setup_realsense.yaml --ask-pass --ask-become-pass
ansible-playbook operations/setup_franka.yaml --ask-pass --ask-become-pass
```
The `--ask-pass` flag is not needed if ssh authentication is being used.

28 changes: 28 additions & 0 deletions moma_bringup/launch/mobmi_control_moveit_rviz.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" ?>
<launch>

<arg name="launch_rviz" default="true"/>

<!-- Load robot description -->
<param name="robot_description" command="$(find xacro)/xacro '$(find moma_description)/urdf/mobmi.urdf.xacro'" />

<!-- Launch Yumi drivers -->
<include file="$(find yumi_support)/launch/robot_interface.launch"/>

<!-- Launch MoveIt -->
<include file="$(find mobmi_moveit_config)/launch/move_group.launch">
<arg name="load_robot_description" value="false" />
<arg name="allow_trajectory_execution" value="true" />
<arg name="fake_execution" value="false"/>
<arg name="info" value="true"/>
</include>

<!-- Launch state publisher -->
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen"/>

<!-- Launch rviz if requested -->
<include if="$(arg launch_rviz)" file="$(find mobmi_moveit_config)/launch/moveit_rviz.launch">
<arg name="rviz_config" value="$(find mobmi_moveit_config)/launch/moveit.rviz" />
</include>

</launch>
10 changes: 7 additions & 3 deletions moma_bringup/launch/yumi_control_moveit_rviz.launch
Original file line number Diff line number Diff line change
@@ -1,14 +1,18 @@
<?xml version="1.0" ?>
<launch>

<arg name="rviz" default="true"/>
<arg name="launch_rviz" default="true"/>

<!-- Load robot description -->
<param name="robot_description" command="$(find xacro)/xacro '$(find moma_description)/urdf/yumi.urdf.xacro'" />

<!-- Launch Yumi drivers -->
<include file="$(find yumi_support)/launch/robot_interface.launch"/>

<!-- Launch MoveIt -->
<include file="$(find yumi_moveit_config)/launch/move_group.launch">
<arg name="allow_trajectory_execution" value="true"/>
<arg name="load_robot_description" value="false" />
<arg name="allow_trajectory_execution" value="true" />
<arg name="fake_execution" value="false"/>
<arg name="info" value="true"/>
</include>
Expand All @@ -17,7 +21,7 @@
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" respawn="true" output="screen"/>

<!-- Launch rviz if requested -->
<include if="$(arg rviz)" file="$(find yumi_moveit_config)/launch/moveit_rviz.launch">
<include if="$(arg launch_rviz)" file="$(find yumi_moveit_config)/launch/moveit_rviz.launch">
<arg name="rviz_config" value="$(find yumi_moveit_config)/launch/moveit.rviz" />
</include>

Expand Down
41 changes: 30 additions & 11 deletions moma_demos/fetch_demo/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,34 +3,26 @@

## Launching the demo on the multi-machine setup

### As a single launch file

On the machine used for the user interface, run the following command to distribute the nodes.

```bash
roslaunch fetch_demo single_command.launch
```

### Via SSH

There is one launch file for each machine in the setup. They can all be launch from the user interface laptop via SSH as follows.

Navigation nodes on ridgeback machine:

```bash
ssh asl-admin@asl-ridgeback "source /home/asl-admin/catkin_ws/devel/setup.zsh && roslaunch fetch_demo navigation.launch"
ssh -t asl-admin@asl-ridgeback "source /home/asl-admin/.zshrc && roslaunch fetch_demo navigation.launch"
```

Manipulation nodes on YuMi machine:

```bash
ssh asl-admin@asl-yumi "source /home/asl-admin/catkin_ws/devel/setup.zsh && roslaunch fetch_demo manipulation.launch"
ssh -t asl-admin@asl-yumi "source /home/asl-admin/.zshrc && roslaunch fetch_demo manipulation.launch"
```

Perception nodes on moma-laptop:

```bash
ssh asl-admin@moma-laptop "source /home/asl-admin/catkin_ws/devel/setup.zsh && roslaunch fetch_demo perception.launch"
ssh -t asl-admin@moma-laptop "source /home/asl-admin/.zshrc && roslaunch fetch_demo perception.launch"
```

On local user interface machine:
Expand All @@ -40,3 +32,30 @@ roslaunch fetch_demo user_interface.launch
```

Each of these commands is blocking, they should be run in separate terminals.

### As a single launch file

On the machine used for the user interface, run the following command to distribute the nodes.

```bash
roslaunch fetch_demo single_command.launch
```

This only works if all nodes in this launch file are also installed on the local machine.


## Useful commands

### Test the approach node

Send goals directly to move_base:

``bash
rosrun actionlib axclient.py move_base move_base_msgs/MoveBaseAction
```

Send goals to the approach action:

```bash
rosrun actionlib axclient.py approach_action fetch_demo/ApproachAction
```
11 changes: 11 additions & 0 deletions moma_demos/fetch_demo/config/joint_configurations.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
home_joints_l: [0, -2.26893, 0.5235, 0, 0.698132, 0, 2.35619]
ready_joints_l: [0.15707963, -1.58824962, 0.55850536, 0.31415927, 1.23918377, -0.78539816, 0.54105207]
grasp_waypoint_l: [ 0.45378561, -0.64577182, 0.34906585, 0.68067841, 0.9424778 , -0.78539816, -0.38397244]

search_joints_r: [-0.36651914, -1.79768913, 1.04719755, 1.79768913, 0.27925268, 0.2443461 , 1.34390352]

scan_joint_values:
- [ 0.01745329, -1.36135682, -0.12217305, -0.12217305, 2.12930169, 1.44862328, -0.31415927]
- [-0.34906585, -0.76794487, -0.41887902, -0.2268928 , 2.16420827, 1.44862328, 0.2443461 ]
- [-1.25663706, -1.02974426, -0.48869219, 0.19198622, 2.25147474, 1.57079633, 0.52359878]
- [-1.46607657, -1.20427718, -0.45378561, -0.17453293, 2.11184839, 1.57079633, 1.27409035]
Loading