Skip to content

AllenIsaacJose/ss22-motion-primitive-freddy

 
 

Repository files navigation

Motion Primitive for Robile (Freddy)

Ramping behaviour of the robile platform using motion primitives.

The aim of the project is performing a controlled movement over the ramp using motion primitives for the robile platform robot. Based on previous semester SDP (WS2021) Kelo 500 motion control which uses force control.

You can find videos regarding the project here!

Getting started

Required library

  • Simple Open EtherCAT Master (SOEM) - communication between robot and the actuators. SOEM
  • robif2b - robot control interface robif2b
  • GSL - GNU Scientific Library GSL
  • WS21 SDP repository: Motion Control of the KELO 500 Kelo 500 motion control

[**TODO 1: how to create an install folder (where we keep all SOEM files)?]

[**TODO 2: instructions for WS21 ?]

Building SOEM library

git clone https://github.com/OpenEtherCATsociety/SOEM

Replace STATIC with SHARED on line 72 in CMakeList.txt, it should look like the code block below,

add_library(soem SHARED
  ${SOEM_SOURCES}
  ${OSAL_SOURCES}
  ${OSHW_SOURCES}
  ${OSHW_EXTRA_SOURCES})
target_link_libraries(soem ${OS_LIBS})

Continue building steps:

cd SOEM
mkdir build
cd build
cmake ..
make

Building robif2b library

cd robif2b
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=<path to install your folder>/install ..
cmake -DCMAKE_C_FLAGS="-I<path to install your folder>/install/include" -DENABLE_ETHERCAT=ON -DENABLE_KELO=ON ..

How to get active wheels (slaves) indexes:

cd SOEM/build/test/linux/slaveinfo
sudo ./slaveinfo <your-ethernet-port-id>

[FYI: get the ethernet port id by running ifconfig or ip a]

Running the code.

cd robif2b/build
make
sudo ./src/example/<name-of-the-executable-file>

How to make any library as package:

TODO: instructions for making a library 

User stories / TODO:

  • Running previous semester SDP (Force distribution).
  • Orientation of wheel units to disired configuration.
  • Align the robot with ramp base.
  • Implement ramp-up behaviour.
  • Integrate sub-modules as a complete state machine.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 64.2%
  • Makefile 16.2%
  • CMake 10.0%
  • C++ 5.4%
  • TeX 3.4%
  • Python 0.4%
  • Other 0.4%