Rename Folder, Remove Submodules, & GEAR Container

- Update gitignore to ignore build, devel, and install folders in rrrobot_ws
- Remove git submodules
- Rename rrrobot_src to rrrobot_ws indicating that this is a catkin workspace
- Create GEAR docker container
- Move GEAR specific documentation to its own page
- Add link to overleaf report on home page
- Add tips & tricks section to home page
This commit is contained in:
Sravan Balaji
2020-04-13 00:59:15 -04:00
parent 432b0b7e3d
commit aa19a69917
31 changed files with 180 additions and 107 deletions

85
docs/gear.md Normal file
View File

@@ -0,0 +1,85 @@
# GEAR Simulation
## Running GEAR Container
1. Go to `docker_env` folder
- `cd /PATH/TO/RRRobot/docker_env`
2. Start GEAR docker container
- `docker-compose run --rm gear`
## Building & Running Sample Environment
1. Source ROS Setup
- `source /opt/ros/melodic/setup.bash`
<!-- 2. Go to rrrobot_ws folder in container
- `cd /app/rrrobot_ws`
3. Build package
- `catkin_make clean`
- `catkin_make`
- `catkin_make install` -->
2. Run sample environment
- `roslaunch osrf_gear sample_environment.launch`
## Controlling Sample Environment
While sample environment is running, open a new terminal (see tips & tricks section of [home](./home.md)) on the running docker container. The following sections provide a brief overview of the commands that can be used to control various aspects of the simulation. For a full list, check out the [ARIAC 2019 Wiki](https://bitbucket.org/osrf/ariac/wiki/2019/tutorials/gear_interface).
[sample_run.sh](../rrrobot_ws/src/gear/sample_run.sh) moves arm 1 over the gasket part, picks it up, moves it to AGV1's tray, drops it, and moves back to the starting position.
### Start Competition
`rosservice call /ariac/start_competition`
### Controlling Arms
#### Gripper
- Turn gripper suction on
- `rosservice call /ariac/arm1/gripper/control "enable: true"`
- Turn gripper suction off
- `rosservice call /ariac/arm1/gripper/control "enable: false"`
#### Joints
Move `arm1` over a gasket part
```
rostopic pub /ariac/arm1/arm/command trajectory_msgs/JointTrajectory "{joint_names: \
['linear_arm_actuator_joint', 'shoulder_pan_joint', 'shoulder_lift_joint', 'elbow_joint', 'wrist_1_joint', 'wrist_2_joint', 'wrist_3_joint'], \
points: [ \
{time_from_start: {secs: 2}, \
positions: [0.15, 3.14, -1.570, 2.14, 3.1, -1.59, 0.126]}, \
{time_from_start: {secs: 4}, \
positions: [-0.35, 3.14, -0.6, 2.3, 3.0, -1.59, 0.126]}, \
{time_from_start: {secs: 6}, \
positions: [-0.35, 3.14, -0.5, 2.3, 3.05, -1.59, 0.126]}, \
]}" -1
```
Move part to `AGV1`'s tray
```
rostopic pub /ariac/arm1/arm/command trajectory_msgs/JointTrajectory "{joint_names: \
['linear_arm_actuator_joint', 'shoulder_pan_joint', 'shoulder_lift_joint', 'elbow_joint', 'wrist_1_joint', 'wrist_2_joint', 'wrist_3_joint'], \
points: [ \
{time_from_start: {secs: 2}, \
positions: [0.0, 3.14, -1.570, 2.14, 3.27, -1.51, 0.0]}, \
{time_from_start: {secs: 5}, \
positions: [1.0, 1.85, 0, -0.38, 1.57, -1.51, 0.00]}, \
{time_from_start: {secs: 7}, \
positions: [1.0, 1.507, 0, -0.38, 0.38, -1.51, 0.00]}, \
{time_from_start: {secs: 10}, \
positions: [1.18, 1.507, 0.38, -0.38, 1.55, 1.75, 0.127]}, \
]}" -1
```
Return to starting position
```
rostopic pub /ariac/arm1/arm/command trajectory_msgs/JointTrajectory "{joint_names: \
['linear_arm_actuator_joint', 'shoulder_pan_joint', 'shoulder_lift_joint', 'elbow_joint', 'wrist_1_joint', 'wrist_2_joint', 'wrist_3_joint'], \
points: [ \
{time_from_start: {secs: 5}, \
positions: [0.0, 3.14, -1.570, 2.14, 3.27, -1.51, 0.0]}, \
]}" -1
```

View File

@@ -8,8 +8,9 @@
- [Docker Compose Services](#docker-compose-services)
- [GUI Support](#gui-support)
- [Running Docker Containers](#running-docker-containers)
- [Warehouse Simulation](#warehouse-simulation)
- [Gazebo Grasping Simulation](#gazebo-grasping-simulation)
- [GEAR Simulation](#gear-simulation)
- [Tips & Tricks](#tips--tricks)
## Contributors
@@ -30,6 +31,7 @@
1. [Project Poster](1.%20Project%20Poster.pdf)
2. [Project Proposal](2.%20Project%20Proposal.pdf)
3. [Final Project - Overleaf (Read-Only)](https://www.overleaf.com/read/ncvksrzpvbmr)
## Introduction
@@ -59,6 +61,10 @@ ros is the production container for all ROS nodes we create. This is meant to ru
Similarly to ros, gazebo is the production container for gazebo. This is meant to run our final simulation.
#### gear <!-- omit in toc -->
The GEAR container includes the Gazebo Environment for Agile Robotics from the Agile Robotics for Industrial Automation Competition 2019.
### GUI Support
If using VcXsrv for Windows to enable GUI applications, run XLaunch using [config.xlaunch](utils/config.xlaunch). This will enable the following settings:
@@ -100,23 +106,6 @@ Additionally, be sure to update the `IP_ADDRESS` variable in [.env](src/.env) wi
4. Use Docker Compose to run a service (refer to [docker-compose.yml](src/docker-compose.yml) or [Docker Compose Services](#docker-compose-services))
- `docker-compose run --rm <service_name>`
### Warehouse Simulation
1. Go to `docker_env` folder
- `cd /PATH/TO/RRRobot/docker_env`
2. Start gazebo docker container
- `docker-compose run --rm warehouse`
3. Source ROS Setup
- `source /opt/ros/melodic/setup.bash`
4. Go to warehouse folder in container
- `cd /app/rrrobot_src/warehouse`
5. Build package
- `catkin_make clean`
- `catkin_make`
- `catkin_make install`
6. Run sample environment
- `roslaunch osrf_gear sample_environment.launch`
### Gazebo Grasping Simulation
1. Source ROS Setup
@@ -129,3 +118,16 @@ Additionally, be sure to update the `IP_ADDRESS` variable in [.env](src/.env) wi
4. Run the gazebo simulator - this will bring up gazebo with a robotic arm
- `gazebo /app/rrrobot_src/world/rrrobot.world`
5. Run control and perception programs
### GEAR Simulation
Instructions for working in the GEAR Simulation can be found on the [GEAR](gear.md) page.
### Tips & Tricks
- Clear space on docker machine
- `docker system prune --volumes`
- See running containers
- `docker ps`
- Attach a new terminal to a running container
- `docker exec -it <container> bash`