Hexapod: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
Line 57: Line 57:
   *.rej *~ #*# .#* .*.swp .DS_Store lib build bin .tb_history msg_gen srv_gen
   *.rej *~ #*# .#* .*.swp .DS_Store lib build bin .tb_history msg_gen srv_gen
</pre>
</pre>
= Hardware =
The TU/e hexapod is a six legged robot with compliant joints. The compiance is obtained by using torsional springs between the actuators and the joints. The motors as well as the joints have absolute encoders. From the difference between these readings, the torsion in the springs can be calculated.
There are three main PCBs on the robot. The PCB inside the bottom of the robot (data aquisition module or DAM1) communicates with a computer. This can be the on board computer or an external pc. It is also equipped with an IMU that can measure pitch and roll angles, roll rates about three axes and accelleration along three axes. Furthermore, it receives power directly from the battery or external power supply and feeds it to the other boards.
The PCB on top of the robot (DAM 2) translates the signals it receives from a controller to electric currents for the actuators.
The middle PCB is the on board computer on which it is possible to run the robot's software.


= Start up =
= Start up =
== Hardware ==
== Hardware ==
To power the hardware, there is a 24V connection on the bottom of the robot. There is a possibility to connect one of the LiPo battery packs or alternatively to wire the robot to a laboratory power supply. Once this is connected, the robot can be booted using the small button that is connected to two loose wires.
To power the hardware, there is a 24V connection on the bottom of the robot. There is a possibility to connect one of the LiPo battery packs or alternatively to wire the robot to a laboratory power supply. Once this is connected, the robot can be booted using the small button that is connected to two loose wires.  
 
There is an on board computer on which software may be run. However, it seems that so far only external computers have been used. Such a computer should be connected using an Ethernet cable between the IN port of the EtherCat board on top of the robot.


= Troubleshooting =
= Troubleshooting =

Revision as of 16:33, 4 February 2014

Installation

The installation assumes that Ubuntu 12.04 LTS is installed. If not you should install an Ubuntu version. Notice that the version of Ubuntu determines line 3 in the following code i.e. precise.

# Setup your computer to accept software from ROS.org
# 12.04 (precise)
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu precise main" > /etc/apt/sources.list.d/ros-latest.list'

# Set up your keys
wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

# Installation
sudo apt-get update
sudo apt-get install ros-fuerte-desktop-full
sudo apt-get install ros-fuerte-orocos-toolchain
sudo apt-get install ros-fuerte-rtt-common-msgs

# Create your personal ros directory
mkdir ~/ros_personal

echo "source /opt/ros/fuerte/setup.bash" >> ~/.bashrc
echo "export ROS_PACKAGE_PATH=/opt/ros/fuerte/stacks:~/ros_personal" >> ~/.bashrc
echo "export RTT_COMPONENT_PATH=/opt/ros/fuerte/stacks/orocos_toolchain/install/lib/orocos" >> ~/.bashrc
echo "source /opt/ros/fuerte/stacks/orocos_toolchain/env.sh" >> ~/.bashrc
. ~/.bashrc

# Build SOEM
cd ~/ros_personal
git clone http://git.mech.kuleuven.be/robotics/soem.git
cd soem
git checkout origin/electric
rosmake soem

# Build hexapod
cd ~/ros_personal
svn checkout http://hexapod.wtb.tue.nl/svn/hexapod ./hexapod
roscd hexapod
rosrun rtt_rosnode create_rtt_msgs hexapod_msgs
rosmake

# You still should get
## (1) pr2_spring_transmission_example
## (2) orocos_components_dev

It is possible to put the code in a shell-file and run it.

SVN

The code can be found on: http://hexapod.wtb.tue.nl/svn/hexapod/.

To obtain an account you should contact Patrick van Brakel. To keep the svn clean i.e. no build, bin or lib files do the following:

sudo gedit /etc/subversion/config 

Uncomment, by removing the '#' and add

global-ignores = *.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo
  *.rej *~ #*# .#* .*.swp .DS_Store lib build bin .tb_history msg_gen srv_gen

Hardware

The TU/e hexapod is a six legged robot with compliant joints. The compiance is obtained by using torsional springs between the actuators and the joints. The motors as well as the joints have absolute encoders. From the difference between these readings, the torsion in the springs can be calculated.

There are three main PCBs on the robot. The PCB inside the bottom of the robot (data aquisition module or DAM1) communicates with a computer. This can be the on board computer or an external pc. It is also equipped with an IMU that can measure pitch and roll angles, roll rates about three axes and accelleration along three axes. Furthermore, it receives power directly from the battery or external power supply and feeds it to the other boards.

The PCB on top of the robot (DAM 2) translates the signals it receives from a controller to electric currents for the actuators. The middle PCB is the on board computer on which it is possible to run the robot's software.

Start up

Hardware

To power the hardware, there is a 24V connection on the bottom of the robot. There is a possibility to connect one of the LiPo battery packs or alternatively to wire the robot to a laboratory power supply. Once this is connected, the robot can be booted using the small button that is connected to two loose wires.

Troubleshooting

  • The Soem master could not initialize on eth1
  1. Make sure that you connected to eth1 otherwise change it in the *.ops file.

To list the network ID's form your PC use the following command in the terminal:

ifconfig
  • If the setcap cannot be found.

install the setcap

sudo apt-get install libcap2-bin
  • If the followin error occurs:

[ ERROR ][Soem] Could not initialize master on eth1.

Set the permission for the deployer-gnulinux such that it can use ethernet.

roscd ocl
cd bin
sudo setcap cap_net_raw+ep ./deployer-gnulinux