Skip to content

robot development

Felix von Drigalski edited this page Nov 26, 2019 · 1 revision

Robot Development

Follow this step-by-step guide to start developing on the real robots. Make sure to complete the initial setup before proceeding further.

Note: If no Nvidia GPU is present, run cd ~/ur-o2as && export DOCKER_RUNTIME=runc && sh RUN-CONTAINER.sh to bypass nvidia-docker2 when entering the container. 3D accelerated graphics/tools (such as Gazebo and Rviz) will not work.

Step 0: Set up your terminals

It is recommended to use Terminator with a split window view (press Ctrl+E, Ctrl+O). It makes the process much easier.

  1. Make sure that your robot(s) are running, and the safety button is released. Enter the docker container in each of your terminals:
```shell 
cd ~/ur-o2as && sh RUN-CONTAINER.sh
```
  1. Switch to the network that connects to your robots. Test the connection by pinging the robots:

    ping 192.168.0.41
    ping 192.168.0.42
    ping 192.168.0.43

    If your IP addresses are different, you need to change the IP arguments in connect_real_robots.launch accordingly.

  2. If you only want to use some of the robots (not all 3 of them), you should comment out the driver nodes for the robots that you do not need in connect_real_robots.launch.

Step 1: Start up the controllers

  1. Bring up the robot drivers, robot description and gripper drivers via roslaunch:

    roslaunch o2as_examples connect_real_robots.launch
  2. Start up MoveIt! and Rviz, to visualize the scene and allow motion planning:

    roslaunch o2as_moveit_config o2as_moveit_planning_execution.launch

    You should be able to see the real robot positions (except the ones you have not connected) in Rviz. If you do not see the correct robot pose, something is wrong. Stop and troubleshoot before continuing!

  3. Launch the skill server, which offers the high-level actions we use to build routines.

    roslaunch o2as_skills o2as_skill_server.launch

Step 2: Use high-level actions to make a routine

  1. Start up the skill server:

    roslaunch o2as_skill_server o2as_skill_server.launch
  2. Check the example in the o2as_routines package, which shows how to make a Python script using the high-level actions offered by the skill server.

Step 3: Try things

See the readme of each package for more information and examples.

How to use the robots in Osaka University

Run these commands in one terminal:

 ```shell 
cd ~/ur-o2as && sh RUN-CONTAINER.sh
roslaunch o2as_moveit_planner connect_osaka_robots.launch
 ```

And these in a second terminal:

 ```shell
cd ~/ur-o2as && sh RUN-CONTAINER.sh
roslaunch o2as_osaka_config o2as_moveit_planning_execution.launch
 ```