refactor to also be used in py3.5

This commit is contained in:
Brian Delhaisse
2019-03-21 11:58:24 +01:00
parent 1028c65ca6
commit 8e10edbec5
134 changed files with 414 additions and 324 deletions
+31 -6
View File
@@ -5,24 +5,32 @@ This framework revolves mainly around 7 axes: simulators, worlds, robots, interf
## Requirements
The framework has been tested with Python 2.7 and Ubuntu 16.04 and 18.04. We plan to migrate soon to Python 3.5.
The framework has been tested with Python 2.7 and Ubuntu 16.04 and 18.04. We also tested parts of it with Python 3.5 on Ubuntu 16.04 and so far so good, but there might be some errors that escaped me.
## Installation
1. First download the `pip` Python package manager and create a virtual environment for Python 2.7 as described in the following link: https://packaging.python.org/guides/installing-using-pip-and-virtualenv/
1. First download the `pip` Python package manager and create a virtual environment for Python as described in the following link: https://packaging.python.org/guides/installing-using-pip-and-virtualenv/
On Ubuntu, in the terminal, you can type to download and install `pip` and `virtualenv`:
- In Python 2.7:
```bash
sudo apt install python-pip
sudo pip install virtualenv
```
- In Python 3.5:
```bash
sudo apt install python3-pip
sudo pip install virtualenv
```
You can then create the virtual environment by typing:
```bash
virtualenv -p /usr/bin/python2.7 <virtualenv_name>
virtualenv -p /usr/bin/python<version> <virtualenv_name>
# activate the virtual environment
source <virtualenv_name>/bin/activate
```
where `<virtualenv_name>` is a name of your choice for the virtual environment. For instance, it can be `py2.7`.
where `<version>` is the python version you want to use (select between `2.7` or `3.5`), and `<virtualenv_name>` is a name of your choice for the virtual environment. For instance, it can be `py2.7` or `py3.7`.
To deactivate the virtual environment, just type:
```bash
@@ -30,12 +38,29 @@ deactivate
```
2. clone this repository and install the requirements and the setup.py
In Python 2.7:
```bash
git clone https://github.com/robotlearn/pyrobolearn
cd pyrobolearn
pip install numpy cython
pip install http://github.com/cornellius-gp/gpytorch/archive/alpha.zip
pip install -e . # this will install pyrobolearn as well as all the required packages (so no need for: pip install -r requirements.txt)
pip install http://github.com/cornellius-gp/gpytorch/archive/alpha.zip # this is for Python 2.7
pip install -e . # this will install pyrobolearn as well as the required packages (so no need for: pip install -r requirements.txt)
```
In Python 3.5:
```bash
git clone https://github.com/robotlearn/pyrobolearn
cd pyrobolearn
pip install numpy cython
pip install gpytorch # this is for Python 3.5
pip install -e . # this will install pyrobolearn as well as the required packages (so no need for: pip install -r requirements.txt)
```
Depending on your computer configuration and the python version you use, you might need to install also the following packages through `apt-get`:
```bash
sudo apt-get install python-tk # if python 2.7
sudo apt-get install pytho3-tk # if python 3.5
```
## How to use it?
+14 -21
View File
@@ -2,41 +2,34 @@
import sys
# import simulators
# from simulators import *
import simulators
from . import simulators
# import robots
# from robots import *
import robots
from . import robots
# import worlds
# from worlds import *
import worlds
from . import worlds
# import states
# from states import *
import states
from . import states
# import actions
# from actions import *
import actions
from . import actions
# import rewards
# from rewards import *
import rewards
from . import rewards
# import environments
# from envs import *
import envs
from . import envs
# import models
import models
from . import models
# import approximators
import approximators
from . import approximators
# import policies
import policies
from . import policies
# import values
@@ -45,18 +38,18 @@ import policies
# import dynamical models
# import tools (interfaces and bridges)
# import tools
# from . import tools # uncommenting this will oblige the user to install a bunch of libraries which are not straightforward to install...
# import tasks
import tasks
from . import tasks
# import metrics
# import optimizers
# import optimizers
# from . import optimizers
# import algos
import algos
from . import algos
# import experiments
+3 -3
View File
@@ -1,9 +1,9 @@
# import action
from action import Action
from .action import Action
# import robot actions
from robot_actions import *
from .robot_actions import *
# import gym actions
from gym_actions import *
from .gym_actions import *
+2 -1
View File
@@ -8,7 +8,8 @@ the various policies defined in the pyrobolearn framework.
"""
import gym
from action import Action
from pyrobolearn.actions.action import Action
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
@@ -1,9 +1,9 @@
# import the basic robot actions
from robot_actions import *
from .robot_actions import *
# import the joint actions
from joint_actions import *
from .joint_actions import *
# import the link / end-effector actions
from link_actions import *
from .link_actions import *
@@ -6,7 +6,8 @@ This includes notably the joint positions, velocities, and force/torque actions.
import numpy as np
from abc import ABCMeta
from robot_actions import RobotAction
from pyrobolearn.actions.robot_actions.robot_actions import RobotAction
__author__ = "Brian Delhaisse"
@@ -5,7 +5,8 @@ This includes notably the link positions, velocities, and force/torque actions.
"""
from abc import ABCMeta
from robot_actions import RobotAction
from pyrobolearn.actions.robot_actions.robot_actions import RobotAction
__author__ = "Brian Delhaisse"
@@ -9,8 +9,9 @@ Dependencies:
"""
from abc import ABCMeta
from pyrobolearn.actions import Action
from pyrobolearn.robots import Robot
from pyrobolearn.actions.action import Action
from pyrobolearn.robots.robot import Robot
__author__ = "Brian Delhaisse"
+6 -6
View File
@@ -3,22 +3,22 @@
# from rl_algo import *
# import CEM
from cem import CEM
from .cem import CEM
# import CMAES
from cmaes import CMAES
from .cmaes import CMAES
# import from NEAT
from neat_algo import NEAT
from .neat_algo import NEAT
# import BO
from bo import BO
from .bo import BO
# import FD
from fd import FD
from .fd import FD
# import PoWER
from power import PoWER
from .power import PoWER
# import REINFORCE
# from reinforce import REINFORCE
+1 -1
View File
@@ -9,7 +9,7 @@ import torch
from pyrobolearn.envs import Env
from pyrobolearn.tasks import RLTask
# from rl_algo import GradientRLAlgo
# from pyrobolearn.algos.rl_algo import GradientRLAlgo
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+5 -5
View File
@@ -8,17 +8,17 @@ works with neural networks and is thus tightly coupled with its associated polic
import numpy as np
from pyrobolearn.envs import Env
from pyrobolearn.tasks import RLTask
from pyrobolearn.policies import NEATPolicy
# from rl_algo import RLAlgo
try:
import neat
# from neat import nn, population, config, statistics
except ImportError as e:
raise ImportError(e.__str__() + "\n HINT: you can install NEAT directly via 'pip install neat-python'.")
from pyrobolearn.envs import Env
from pyrobolearn.tasks import RLTask
from pyrobolearn.policies import NEATPolicy
# from pyrobolearn.algos.rl_algo import RLAlgo
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+2 -2
View File
@@ -5,12 +5,12 @@ This Policy learning by Weighting Exploration with the Returns (PoWER) algorithm
Expectation-Maximization (EM) algorithm. The exploration is carried out in the parameter space.
"""
# import sys
import numpy as np
import sys
from pyrobolearn.envs import Env
from pyrobolearn.tasks import RLTask
# from rl_algo import EMRLAlgo
# from pyrobolearn.algos.rl_algo import EMRLAlgo
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+1 -1
View File
@@ -1,3 +1,3 @@
# import function approximators
from approximator import *
from .approximator import *
+3 -3
View File
@@ -1,9 +1,9 @@
# import from envs
from env import Env, BasicEnv
from .env import Env, BasicEnv
# define wrapper for the gym environment
import gym_wrapper as gym
from . import gym_wrapper as gym
# import terminal conditions
from terminating_condition import *
from .terminating_condition import *
+13 -13
View File
@@ -1,44 +1,44 @@
# General model
from model import Model
from .model import Model
# General Learning models #
# Linear
from linear import Linear
from .linear import Linear
# PCA
from pca import PCA
from .pca import PCA
# Polynomial
from polynomial import Polynomial, PolynomialFunction
from .polynomial import Polynomial, PolynomialFunction
# Gaussian
from gaussian import Gaussian, MVN # MVN is an alias
from .gaussian import Gaussian, MVN # MVN is an alias
# GMM/GMR
from gmm import GMM
from .gmm import GMM
# GP
from gp import GPR
from .gp import GPR
# HMM
# from hmm import *
# from .hmm import *
# DNN
from nn import *
from .nn import *
# Learning model for trajectories (movement primitives) #
# CPG
from cpg import *
from .cpg import *
# DMP
from dmp import *
from .dmp import *
# ProMP
from promp import *
from .promp import *
# KMP
from kmp import *
from .kmp import *
+1 -1
View File
@@ -15,7 +15,7 @@ from sklearn.cluster import KMeans
from sklearn.mixture import GaussianMixture, BayesianGaussianMixture
# from model import Model
from gaussian import Gaussian
from pyrobolearn.models.gaussian import Gaussian
__author__ = "Brian Delhaisse"
+2 -2
View File
@@ -9,8 +9,8 @@ import numpy as np
from scipy.linalg import block_diag
import copy
# from model import Model
from gmm import GMM, Gaussian
# from pyrobolearn.models.model import Model
from pyrobolearn.models.gmm import GMM, Gaussian
__author__ = "Brian Delhaisse"
+8 -8
View File
@@ -1,24 +1,24 @@
# import general neural network model
from dnn import NN
from .dnn import NN
# import multilayer perceptron model
from mlp import *
from .mlp import *
# import NEAT model
from neat_model import NEATModel
from .neat_model import NEATModel
# import convolutional neural network
# from cnn import *
# from .cnn import *
# import recurrent neural network
# from rnn import *
# from .rnn import *
# import auto-encoder
# from ae import *
# from .ae import *
# import variational auto-encoder
# from vae import *
# from .vae import *
# import generative adversarial networks
# from gan import *
# from .gan import *
+1 -1
View File
@@ -22,7 +22,7 @@ import inspect
import numpy as np
import torch
from dnn import NN, NNTorch
from pyrobolearn.models.nn.dnn import NN, NNTorch
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+4 -1
View File
@@ -7,7 +7,10 @@ this policy (i.e. the neural network) is tightly coupled with the algorithm that
"""
import numpy as np
import cPickle as pickle
try:
import cPickle as pickle
except ImportError as e:
import pickle
try:
import neat
+2 -2
View File
@@ -11,8 +11,8 @@ import numpy as np
from scipy.linalg import block_diag
import scipy.interpolate
from model import Model
from gaussian import Gaussian
# from pyrobolearn.models.model import Model
from pyrobolearn.models.gaussian import Gaussian
__author__ = "Brian Delhaisse"
+6 -6
View File
@@ -1,18 +1,18 @@
# import general policy
from policy import Policy
from .policy import Policy
# import basic policies
from basic_policy import *
from .basic_policy import *
# import nn policies
from nn_policy import *
from .nn_policy import *
# import dmp policies
from dmp_policy import *
from .dmp_policy import *
# import cpg policies
from cpg_policy import *
from .cpg_policy import *
# import neat policies
from neat_policy import *
from .neat_policy import *
+2 -1
View File
@@ -5,7 +5,8 @@ Define the various basic policies such as the random policy, linear policy, poli
"""
import numpy as np
from policy import Policy
from pyrobolearn.policies.policy import Policy
from pyrobolearn.approximators import LinearApproximator
+1 -1
View File
@@ -8,7 +8,7 @@ import numpy as np
import torch
from pyrobolearn.models import CPGNetwork
from policy import Policy
from pyrobolearn.policies.policy import Policy
from pyrobolearn.states import State, PhaseState
from pyrobolearn.actions import JointAction, Action
+1 -1
View File
@@ -8,7 +8,7 @@ import numpy as np
import torch
from pyrobolearn.models import DMP, DiscreteDMP, RhythmicDMP, BioDiscreteDMP
from policy import Policy
from pyrobolearn.policies.policy import Policy
from pyrobolearn.states import State
from pyrobolearn.actions import Action, JointPositionAction, JointVelocityAction, JointAccelerationAction
+5 -3
View File
@@ -6,9 +6,11 @@ parameters/weights but also the topological structure of neural networks. Note t
this policy (i.e. the neural network) is tightly coupled with the algorithm that modifies it.
"""
import numpy as np
import cPickle as pickle
try:
import cPickle as pickle
except ImportError as e:
import pickle
try:
# from neat import nn, population, config, statistics
@@ -16,7 +18,7 @@ try:
except ImportError as e:
raise ImportError(e.__str__() + "\n HINT: you can install NEAT directly via 'pip install neat-python'.")
from policy import Policy
from pyrobolearn.policies.policy import Policy
from pyrobolearn.approximators import NEATApproximator
+1 -1
View File
@@ -5,7 +5,7 @@ Define the various neural network policies that can be used.
"""
from pyrobolearn.approximators import NNApproximator, MLPApproximator
from policy import Policy
from pyrobolearn.policies.policy import Policy
__author__ = "Brian Delhaisse"
+1 -1
View File
@@ -1,3 +1,3 @@
# import recorders
from recorder import *
from .recorder import *
+1 -1
View File
@@ -1,3 +1,3 @@
# import rewards
from reward import *
from .reward import *
+1 -1
View File
@@ -20,7 +20,7 @@ import numpy as np
import torch
# from objective import Objective
from reward import Reward
from pyrobolearn.rewards.reward import Reward
# class Cost(Objective):
+71 -71
View File
@@ -5,113 +5,113 @@ import importlib
import inspect
# General robot class
from base import Object, MovableObject, ControllableObject
from actuators import *
from sensors import *
from robot import Robot
from .base import Object, MovableObject, ControllableObject
from .actuators import *
from .sensors import *
from .robot import Robot
# Categories/types of robots
from legged_robot import *
from manipulator import *
from wheeled_robot import *
from uav import *
from usv import *
from uuv import *
from hand import *
from .legged_robot import *
from .manipulator import *
from .wheeled_robot import *
from .uav import *
from .usv import *
from .uuv import *
from .hand import *
# Mujoco models
from ant import Ant
from hopper import Hopper
from walker2d import Walker2D
from half_cheetah import HalfCheetah
from swimmer import Swimmer
from humanoid import Humanoid
from .ant import Ant
from .hopper import Hopper
from .walker2d import Walker2D
from .half_cheetah import HalfCheetah
from .swimmer import Swimmer
from .humanoid import Humanoid
# Quadruped
from aibo import Aibo
from minitaur import Minitaur
from littledog import LittleDog
# from anymal import ANYmal
from hyq import HyQ
from hyq2max import HyQ2Max
from opendog import OpenDog
from laikago import Laikago
from .aibo import Aibo
from .minitaur import Minitaur
from .littledog import LittleDog
# from .anymal import ANYmal
from .hyq import HyQ
from .hyq2max import HyQ2Max
from .opendog import OpenDog
from .laikago import Laikago
# Biped
from cassie import Cassie
from .cassie import Cassie
# Biped + Bi-manipulators
from atlas import Atlas
from nao import Nao
from icub import ICub
from coman import Coman
from walkman import Walkman
from cogimon import Cogimon
from darwin import Darwin
# from kondo import KHR3HV
from hubo import Hubo
from .atlas import Atlas
from .nao import Nao
from .icub import ICub
from .coman import Coman
from .walkman import Walkman
from .cogimon import Cogimon
from .darwin import Darwin
# from .kondo import KHR3HV
from .hubo import Hubo
# Hexapod
from crab import Crab
from sea_hexapod import SEAHexapod
from phantomx import PhantomX
from morphex import Morphex
from rhex import Rhex
from .crab import Crab
from .sea_hexapod import SEAHexapod
from .phantomx import PhantomX
from .morphex import Morphex
from .rhex import Rhex
# Manipulators
from rrbot import RRBot
from wam import WAM
from kuka_lwr import KukaLWR
from kuka_iiwa import KukaIIWA
from jaco import Jaco
from franka import Franka
from sawyer import Sawyer
from edo import Edo
from kr5 import KR5
from manipulator2d import Manipulator2D
from .rrbot import RRBot
from .wam import WAM
from .kuka_lwr import KukaLWR
from .kuka_iiwa import KukaIIWA
from .jaco import Jaco
from .franka import Franka
from .sawyer import Sawyer
from .edo import Edo
from .kr5 import KR5
from .manipulator2d import Manipulator2D
# Bi-Manipulators
from baxter import Baxter
from .baxter import Baxter
# Hands
from allegrohand import AllegroHand
from softhand import SoftHand
from .allegrohand import AllegroHand
from .softhand import SoftHand
# Wheeled
from epuck import Epuck
from f10_racecar import F10Racecar
from mkz import MKZ
from husky import Husky
from .epuck import Epuck
from .f10_racecar import F10Racecar
from .mkz import MKZ
from .husky import Husky
# Wheeled + (single) manipulator
from fetch import Fetch
from .fetch import Fetch
# Wheeled + Bi-manipulators
from pepper import Pepper
from pr2 import PR2
from .pepper import Pepper
from .pr2 import PR2
# Wheeled + Quadruped + Bi-manipulators
from centauro import Centauro
from .centauro import Centauro
# UAV
from quadcopter import Quadcopter
# from techpod import Techpod
from .quadcopter import Quadcopter
# from .techpod import Techpod
# UUV
# from ecaa9 import ECAA9
# from .ecaa9 import ECAA9
# USV
# Quadruped + UUV + USV
from pleurobot import Pleurobot
from .pleurobot import Pleurobot
# Others
from cartpole import CartPole
from cubli import Cubli
from sea_snake import SEASnake
from bb8 import BB8
from youbot import Youbot, YoubotBase, KukaYoubotArm, YoubotDualArm
from ballbot import Ballbot
from .cartpole import CartPole
from .cubli import Cubli
from .sea_snake import SEASnake
from .bb8 import BB8
from .youbot import Youbot, YoubotBase, KukaYoubotArm, YoubotDualArm
from .ballbot import Ballbot
# Robots #
+2 -2
View File
@@ -1,6 +1,6 @@
# import basic actuator
from actuator import Actuator
from .actuator import Actuator
# import joint actuators
from joints import *
from .joints import *
+1 -1
View File
@@ -4,7 +4,7 @@
import numpy as np
from actuator import Actuator
from pyrobolearn.robots.actuators.actuator import Actuator
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from legged_robot import QuadrupedRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
class Aibo(QuadrupedRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from hand import Hand
from pyrobolearn.robots.hand import Hand
# TODO: correct the inertia matrices and masses; they are too big!
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from legged_robot import QuadrupedRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
class Ant(QuadrupedRobot):
+3 -2
View File
@@ -3,8 +3,9 @@
"""
import os
from legged_robot import BipedRobot
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.legged_robot import BipedRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class Atlas(BipedRobot, BiManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from robot import Robot
from pyrobolearn.robots.robot import Robot
# TODO inertia are not corrects
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class Baxter(BiManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from robot import Robot
from pyrobolearn.robots.robot import Robot
class BB8(Robot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from legged_robot import BipedRobot
from pyrobolearn.robots.legged_robot import BipedRobot
class Blackbird(BipedRobot):
+1 -1
View File
@@ -8,7 +8,7 @@ import pybullet_data
import sympy
import sympy.physics.mechanics as mechanics
from robot import Robot
from pyrobolearn.robots.robot import Robot
from pyrobolearn.utils.orientation import getSymbolicMatrixFromAxisAngle
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from legged_robot import BipedRobot
from pyrobolearn.robots.legged_robot import BipedRobot
class Cassie(BipedRobot):
+3 -3
View File
@@ -5,9 +5,9 @@
import os
import numpy as np
from legged_robot import QuadrupedRobot
from wheeled_robot import WheeledRobot
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
from pyrobolearn.robots.wheeled_robot import WheeledRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class Centauro(WheeledRobot, QuadrupedRobot, BiManipulatorRobot):
+3 -2
View File
@@ -3,8 +3,9 @@
"""
import os
from legged_robot import BipedRobot
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.legged_robot import BipedRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class Cogimon(BipedRobot, BiManipulatorRobot):
+2 -2
View File
@@ -5,8 +5,8 @@
import os
import numpy as np
from legged_robot import BipedRobot
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.legged_robot import BipedRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class Coman(BipedRobot, BiManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from legged_robot import HexapodRobot
from pyrobolearn.robots.legged_robot import HexapodRobot
class Crab(HexapodRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from robot import Robot
from pyrobolearn.robots.robot import Robot
class Cubli(Robot):
+2 -2
View File
@@ -5,8 +5,8 @@
import os
import numpy as np
from legged_robot import BipedRobot
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.legged_robot import BipedRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class Darwin(BipedRobot, BiManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from manipulator import ManipulatorRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class Edo(ManipulatorRobot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from wheeled_robot import DifferentialWheeledRobot
from pyrobolearn.robots.wheeled_robot import DifferentialWheeledRobot
class Epuck(DifferentialWheeledRobot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from wheeled_robot import AckermannWheeledRobot
from pyrobolearn.robots.wheeled_robot import AckermannWheeledRobot
class F10Racecar(AckermannWheeledRobot):
+3 -2
View File
@@ -3,8 +3,9 @@
"""
import os
from wheeled_robot import WheeledRobot
from manipulator import ManipulatorRobot
from pyrobolearn.robots.wheeled_robot import WheeledRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class Fetch(WheeledRobot, ManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from manipulator import ManipulatorRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class Franka(ManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from robot import Robot
from pyrobolearn.robots.robot import Robot
class HalfCheetah(Robot):
+1 -1
View File
@@ -2,7 +2,7 @@
"""Provide the Hand abstract classes.
"""
from robot import Robot
from pyrobolearn.robots.robot import Robot
class Hand(Robot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from robot import Robot
from pyrobolearn.robots.robot import Robot
class Hopper(Robot):
+4 -3
View File
@@ -3,9 +3,10 @@
"""
import os
from legged_robot import BipedRobot
from manipulator import BiManipulatorRobot
from hand import TwoHand
from pyrobolearn.robots.legged_robot import BipedRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
from pyrobolearn.robots.hand import TwoHand
class Hubo(BipedRobot, BiManipulatorRobot, TwoHand):
+3 -2
View File
@@ -3,8 +3,9 @@
"""
import os
from legged_robot import BipedRobot
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.legged_robot import BipedRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class Humanoid(BipedRobot, BiManipulatorRobot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from wheeled_robot import DifferentialWheeledRobot
from pyrobolearn.robots.wheeled_robot import DifferentialWheeledRobot
class Husky(DifferentialWheeledRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from legged_robot import QuadrupedRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
class HyQ(QuadrupedRobot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from legged_robot import QuadrupedRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
class HyQ2Max(QuadrupedRobot):
+3 -2
View File
@@ -3,8 +3,9 @@
"""
import os
from legged_robot import BipedRobot
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.legged_robot import BipedRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class ICub(BipedRobot, BiManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from manipulator import ManipulatorRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class Jaco(ManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from manipulator import ManipulatorRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class KR5(ManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from manipulator import ManipulatorRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class KukaIIWA(ManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from manipulator import ManipulatorRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class KukaLWR(ManipulatorRobot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from legged_robot import QuadrupedRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
class Laikago(QuadrupedRobot):
+2 -1
View File
@@ -4,7 +4,8 @@
import collections
import numpy as np
from robot import Robot
from pyrobolearn.robots.robot import Robot
class LeggedRobot(Robot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from legged_robot import QuadrupedRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
class LittleDog(QuadrupedRobot):
+1 -1
View File
@@ -2,7 +2,7 @@
"""Provide the manipulator abstract classes.
"""
from robot import Robot
from pyrobolearn.robots.robot import Robot
class ManipulatorRobot(Robot):
+1 -1
View File
@@ -5,7 +5,7 @@
import os
import numpy as np
from manipulator import ManipulatorRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class Manipulator2D(ManipulatorRobot):
+2 -1
View File
@@ -5,7 +5,8 @@
import os
import collections
import numpy as np
from legged_robot import QuadrupedRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
class Minitaur(QuadrupedRobot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from wheeled_robot import AckermannWheeledRobot
from pyrobolearn.robots.wheeled_robot import AckermannWheeledRobot
class MKZ(AckermannWheeledRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from legged_robot import HexapodRobot
from pyrobolearn.robots.legged_robot import HexapodRobot
class Morphex(HexapodRobot):
+4 -3
View File
@@ -3,9 +3,10 @@
"""
import os
from legged_robot import BipedRobot
from manipulator import BiManipulatorRobot
from hand import TwoHand
from pyrobolearn.robots.legged_robot import BipedRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
from pyrobolearn.robots.hand import TwoHand
class Nao(BipedRobot, BiManipulatorRobot, TwoHand):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from legged_robot import QuadrupedRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
class OpenDog(QuadrupedRobot):
+3 -3
View File
@@ -3,10 +3,10 @@
"""
import os
from wheeled_robot import WheeledRobot
from manipulator import BiManipulatorRobot
from sensors import CameraSensor
from pyrobolearn.robots.wheeled_robot import WheeledRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
from pyrobolearn.robots.sensors.camera import CameraSensor
class Pepper(WheeledRobot, BiManipulatorRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from legged_robot import HexapodRobot
from pyrobolearn.robots.legged_robot import HexapodRobot
class PhantomX(HexapodRobot):
+4 -3
View File
@@ -3,9 +3,10 @@
"""
import os
from legged_robot import QuadrupedRobot
from uuv import UUVRobot
from usv import USVRobot
from pyrobolearn.robots.legged_robot import QuadrupedRobot
from pyrobolearn.robots.uuv import UUVRobot
from pyrobolearn.robots.usv import USVRobot
class Pleurobot(QuadrupedRobot, UUVRobot, USVRobot):
+3 -2
View File
@@ -3,8 +3,9 @@
"""
import os
from wheeled_robot import WheeledRobot
from manipulator import BiManipulatorRobot
from pyrobolearn.robots.wheeled_robot import WheeledRobot
from pyrobolearn.robots.manipulator import BiManipulatorRobot
class PR2(WheeledRobot, BiManipulatorRobot):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from uav import RotaryWingUAV
from pyrobolearn.robots.uav import RotaryWingUAV
class Quadcopter(RotaryWingUAV):
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from legged_robot import HexapodRobot
from pyrobolearn.robots.legged_robot import HexapodRobot
# TODO add inertial tags
+2 -1
View File
@@ -4,7 +4,8 @@
import os
import numpy as np
from manipulator import ManipulatorRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class RRBot(ManipulatorRobot):
+3 -2
View File
@@ -3,8 +3,9 @@
"""
import os
from wheeled_robot import WheeledRobot
from manipulator import ManipulatorRobot
from pyrobolearn.robots.wheeled_robot import WheeledRobot
from pyrobolearn.robots.manipulator import ManipulatorRobot
class Sawyer(ManipulatorRobot, WheeledRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from legged_robot import HexapodRobot
from pyrobolearn.robots.legged_robot import HexapodRobot
class SEAHexapod(HexapodRobot):
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from robot import Robot
from pyrobolearn.robots.robot import Robot
class SEASnake(Robot):
+8 -8
View File
@@ -1,24 +1,24 @@
# import basic sensor
from sensor import Sensor
from .sensor import Sensor
# import joint + encoder sensors
from joints import *
from .joints import *
# import link sensors
from links import *
from .links import *
# import ft sensors
from force_torque import *
from .force_torque import *
# import imu sensors
from imu import *
from .imu import *
# import camera sensors
from camera import *
from .camera import *
# import light / laser sensors
from light import *
from .light import *
# import miscellaneous sensors
from misc import *
from .misc import *
+1 -1
View File
@@ -6,7 +6,7 @@ Cameras have one of the most richest sensory inputs (i.e. visual).
import numpy as np
from links import LinkSensor
from pyrobolearn.robots.sensors.links import LinkSensor
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+1 -1
View File
@@ -2,7 +2,7 @@
"""Define contact sensors attached to a link.
"""
from links import LinkSensor
from pyrobolearn.robots.sensors.links import LinkSensor
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+1 -1
View File
@@ -4,7 +4,7 @@
import numpy as np
from joints import JointSensor
from pyrobolearn.robots.sensors.joints import JointSensor
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+1 -1
View File
@@ -6,7 +6,7 @@ angular rate, and sometimes the magnetic field surroundings the body, using a co
and gyroscopes, sometimes also magnetometers' (Wikipedia)
"""
from links import LinkSensor
from pyrobolearn.robots.sensors.links import LinkSensor
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+1 -1
View File
@@ -6,7 +6,7 @@ This mainly include encoders.
from abc import ABCMeta, abstractmethod
from sensor import Sensor
from pyrobolearn.robots.sensors.sensor import Sensor
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+1 -1
View File
@@ -4,7 +4,7 @@
import numpy as np
from links import LinkSensor
from pyrobolearn.robots.sensors.links import LinkSensor
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+1 -1
View File
@@ -6,7 +6,7 @@ These include IMU, contact, Camera, and other sensors.
from abc import ABCMeta, abstractmethod
from sensor import Sensor
from pyrobolearn.robots.sensors.sensor import Sensor
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+1 -1
View File
@@ -2,7 +2,7 @@
"""Define miscellaneous sensors.
"""
from links import Sensor, LinkSensor
from pyrobolearn.robots.sensors.links import Sensor, LinkSensor
__author__ = "Brian Delhaisse"
__copyright__ = "Copyright 2018, PyRoboLearn"
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from hand import Hand
from pyrobolearn.robots.hand import Hand
# TODO: correct the inertia matrices and masses; they are too big!
+2 -1
View File
@@ -3,7 +3,8 @@
"""
import os
from robot import Robot
from pyrobolearn.robots.robot import Robot
class Swimmer(Robot):
+1 -1
View File
@@ -2,7 +2,7 @@
"""Provide the Unmanned Aerial Vehicle (UAV) robot abstract classes.
"""
from robot import Robot
from pyrobolearn.robots.robot import Robot
class UAVRobot(Robot):
+1 -1
View File
@@ -2,7 +2,7 @@
"""Provide the Unmanned Surface Vehicle (USV) robot abstract classes.
"""
from robot import Robot
from pyrobolearn.robots.robot import Robot
class USVRobot(Robot):

Some files were not shown because too many files have changed in this diff Show More