Skip to content

Getting Started

Vivian Chu edited this page Jul 26, 2016 · 7 revisions

Requirements

  • Ubuntu 14.04 Trusty (this is the only distro we've tested on so far)
  • ROS Indigo
  • Stanley Vector Repo
  • Gazebo 2 (included in ROS Indigo)

About the simulator

Currently we are using Gazebo 2 - the default Gazebo version that comes with Indigo. There are some plans to upgrade this to Gazebo 7, but currently it is not supported.

Assumptions

The simulator currently makes some assumptions about the platform.

  • The Kinova Jaco2 Arm has velocity, position, and torque based control. The simulator supports only position based control. This is due to Gazebo being poor at setting joint velocities to 0. In velocity control the arm tends to drift. Future plans will add this ability, but for now only position trajectories can be sent.
  • We communicate to the simulator robot through a conversion script that takes commands sent to the real robot topics and sends them to simulated topics. Unfortunately, the real robot uses low-level Kinova controllers for cartesian velocity control of the arm. To simulate this we use MoveIt! and a simple position estimation given a specific velocity. Future editions of this script will remove dependencies to MoveIt!
  • To launch the teleop script, it is the same command that is run on the real robot:
    • roslaunch vector_remote_telop vector_remote_teleop.launch

Configuration

The simulator has several flags that can toggle different functionality depending on what you want to be running at default launch. These flags are mostly identical to the ones in the hlpr_vector_wpi_jaco_moveit_config package. These flags are used currently because we added Cartesian velocity teleop control to the simulator and it is linked to wpi_jaco and MoveIt!. You can find these flags in vector_controller.launch By default teleop with the arm is disabled unless these flags are set. The flags are as follows:

  • moveit_launch: This flag determines if we launch MoveIt! at all. If this is set to false, then the following flags will not matter. MoveIt! will not be launched and teleop with the arm is disabled in simulation.
  • wpi_jaco_launch: This flag will launch the wpi_jaco_arm launch file arm.launch. This is currently the main driver we're using to interface with the arm
  • use_wpi_jaco_exec: This flag tells MoveIt! that we want to use the wpi_jaco_wrapper controllers to send commands when interfacing with MoveIt! If you do not want to send commands through MoveIt! then this can be sent to false. Warning You cannot set this to true and set wpi_jaco_launch to false. MoveIt! will look for the wpi_jaco_wrapper driver and will crash because it cannot find it

Setup

This assumes you are continuing from the installation from the Stanley wiki.

Grab the hlpr_simulation packages

  1. Clone the hlpr_simulation package
  • We suggest putting it in a ~/Software/HLP-R/ folder
  1. Add hlpr_simulation package to your catkin workspace
  • ln -s ~/Software/HLP-R/hlpr_simulation/ ~/vector_ws/src/
  1. Run catkin_make on your workspace

Startup

Simply launch the whole pipeline (make sure your flags are set correctly in vector_controller.launch)

  • roslaunch hlpr_gazebo vector.launch
Clone this wiki locally