How to get started with a set of MyoMuscles, Ganglia and Flexray2USBAdapter.
Cabling and Power¶
- all motor cables are plugged in correctly. There are 2 ribbon cables (grey and rainbow coloured) that connect each motor with its motor driver board
- all sensor displacement cables are plugged in correctly
- all motor driver boards are connected to power with common ground and power is turned off
- all motor driver boards are connected to their respective ganglion (via SPI)
- all joint sensors are connected to ganglia
- all ganglia are connected to power with common ground and power is turned off
- all ganglia are connected to the flexray bus
- all power supplies are set to output at the very most 24V (for basic testing the 13 muscle MyoArm will run off a single 3A power supply)
- the Flexray2USB adapter is connected to power with common ground and power is turned off
- the Flexray2USB adapter is connected to the flexray bus
- turn the power on and check if
- all driver boards are lighting/flashing green
- the joint has a blinking light whose frequency changes with the joint’s angular displacement
- the software starts
These examples require ROS kinetic to be installed on Ubuntu 16.04.
Allow your user to access the serial device¶
By default Ubuntu does not let you access your serial adapters. To change that we will add your user to the group ‘dialout’. Execute the following in a terminal:
sudo usermod -a -G dialout $(whoami)
This only needs to be done once.
Create a new workspace¶
Create a new folder that will contain your ROS / catkin workspace and all code.
source /opt/ros/kinetic/setup.bash mkdir -p ~/MyoArm_ws/src && cd MyoArm_ws/src && catkin_init_workspace cd .. catkin_make
Now add the workspace to your ~/.bashrc so that it gets automatically sourced upon opening a shell:
echo 'source ~/MyoArm_ws/devel/setup.bash' >> ~/.bashrc
roscd && cd ../src git clone https://github.com/roboy/flexrayusbinterface.git -b develop roscd flexrayusbinterface && ./install_deps.sh
The ftd2xx driver does not get loaded automatically. In order to use it you need to either install our udev rules  (recommended):
roscd flexrayusbinterface && sudo ./install_udev_rules.sh
Or manually unload the standard drivers every time you re-plug the Flexray2USBInterface board:
sudo rmmod ftdi_sio sudo rmmod usbserial
Install ros_control_boilerplate fork¶
roscd && cd ../src git clone https://github.com/compiaffe/ros_control_boilerplate.git -b MyoArm
Also set the serial number in the corresponding yaml file as per Configure the myo_blink software example.. The yaml file is placed in
Install all ROS dependencies¶
apt-get install -y ros-kinetic-rosparam-shortcuts ros-kinetic-ros-control ros-kinetic-ros-controllers ros-kinetic-control-msgs ros-kinetic-urdf ros-kinetic-control-toolbox ros-kinetic-robot-state-publisher libgflags-dev libncurses5-dev libncursesw5-dev wget vim
roscd && cd .. catkin_make
ROS’ plentitute of terminals¶
For using ROS effectively, you will need a large number of terminals open at the same time. I recommend using the terminal app: terminator. Here you can split the screen into multiple terminals or add tabs. Once it is installed, see what a right-click allows you to do.
Install it using:
sudo apt-get install terminator -y