Coder Social home page Coder Social logo

roboticslab-uc3m / asibot-main Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 21.84 MB

ASIBOT assistive robot: super/meta repository.

Home Page: http://roboticslab.uc3m.es/roboticslab/robot/asibot

License: GNU Lesser General Public License v2.1

CMake 100.00%
asibot-assistive-robot superbuild

asibot-main's People

Contributors

amridriss avatar jgvictores avatar peterbowman avatar raulfdzbis avatar rsantos88 avatar serna92 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

asibot-main's Issues

Unable to establish remote connection to GH via git command

Log in into ASIBOT's onboard CPU and perform any kind of remote request to GitHub, e.g. git pull or git clone. The command hangs, but it prints the following output if the GIT_TRACE and GIT_CURL_VERBOSE environment variables are set (docs):

asibot2@asibot:~/yarp-devices$ GIT_TRACE=1 GIT_CURL_VERBOSE=1 git pull --verbose
trace: exec: 'git-pull' '--verbose'
trace: run_command: 'git-pull' '--verbose'
trace: built-in: git 'rev-parse' '--git-dir'
trace: built-in: git 'rev-parse' '--show-toplevel'
trace: built-in: git 'ls-files' '-u'
trace: built-in: git 'symbolic-ref' '-q' 'HEAD'
trace: built-in: git 'config' '--bool' 'branch.develop.rebase'
trace: built-in: git 'rev-parse' '-q' '--verify' 'HEAD'
trace: built-in: git 'fetch' '-v' '--update-head-ok'
trace: run_command: 'git-remote-https' 'origin' 'https://github.com/roboticslab-uc3m/yarp-devices'
* Couldn't find host github.com in the .netrc file; using defaults
* About to connect() to github.com port 443 (#0)
*   Trying 192.30.253.112... * Connected to github.com (192.30.253.112) port 443 (#0)
* found 141 certificates in /etc/ssl/certs/ca-certificates.crt
* gnutls_handshake() failed: A TLS fatal alert has been received.
* gnutls_handshake() failed: The specified session has been invalidated for some reason.
[...last line gets printed indefinitely...]

This used to work a few months ago.

Problemas con movimiento cartesiano

Al intentar mover el robot desde la terminal (2) ejecutando los siguientes comandos:
yarp rpc /ravebot/cartesianServer/rpc:i
[movl] (.1 .3 .8 90 0)

en la terminal (1) donde he lanzado la instancia de cartesianServer me sale el siguiente error de ravebot:

[RaveBot] fail: RaveBot will not velocityMove as not in velocityMode
[CartesianBot] warning: FAILED ON VELOCITY MOVE!!!

a pesar de que en la terminal (2) donde se ejecuta el movimiento sale como que todo esta correcto

[movl] (.1 .3 .8 90 0) 
Response: [ok]

Do something with TaskLib

As a recap of #21 #28 #38 (clean programs, libraries, and share), all that is missing is TaskLib.
Let's sum up what's on ycm-migration.

  • Programs:
    • asibotTasks -> Sounded like a great idea, think I actually did some full trajectories like a man moving around a simulated environment and putting on some make-up, but can't think of a practical use for this. I actually recall this was when I was motivated with automated planning such as PDDL and wanted these to be atomic tasks. An idea is to migrate these demo-like behaviours to an interpreted language. GOOD TO KEEP 😄
    • taskServer -> Most probably related to asibotTasks. I'd probably IMPROVE it, since it certainly isn't even a nice wrapper as in YARP devices. Was marked as GOOD TO KEEP 😄🚚 demoServer
  • Libraries:
    • TaskLib: An idea is to migrate these demo-like behaviours to an interpreted language. Was marked as GOOD TO KEEP 😄 tools
  • Share:
    • asibotTasks

Clean asibot-main programs/modules

There are a number of modules that should go elsewhere or become deprecated in favor of advances. This is not mandatory, but we have been working a lot elsewhere! I'm going to try to describe as honestly as possible the situation/past/present of each module.

  • testRaveBot -> Work in progress is to use openrave-yarp-plugins with separate model repos similar to teo-openrave-models to substitute testRaveBot and also teoSim of teo-main. For now only joint movements are implemented, but plugins for creating objects, publishing sensor data etc are on the way. GOOD TO KEEP 😄🚐 (roboticslab-uc3m/openrave-yarp-plugins#26)
  • webInterface -> It's relatively pretty... GUIs are always nice... let's speak about this in person! (btw, in teo we're simply using the yarpmotorgui). GOOD TO KEEP 😄🚐 hmi (roboticslab-uc3m/asibot-hmi#1)
  • pointAtObjectServer -> This was a PCL-based project, you sent a vector to it describing where you were pointing at (from some Windows Kinect software), and it did the classic RANSAC background extraction, Eucledean clustering to get objects, create meshes through Possion, and finally use VTK to get the intersection of the vector with one of the object meshes. GOOD TO KEEP 😄🚚 vision
  • robotDraw -> Was used for the first xgnitive RIS paper, should be moved to xgnitive Don't remember actual implementation, and can only think of keeping it for historical reasons. MOVE. 🚚 xgnitive
  • cartesianServer -> teo-main BasicCartesianControl which also has a nice server wrapper + client pair in the same tree. My suggestion: ELIMINATE ☠️ (and move on to BasicCartesianControl, which is already a plugin).
  • colorSegmentor -> First one of the saga. 2D, had issues with blobs in OpenCV and ended up using a third-party library that's bulk imported. My suggestion: ELIMINATE. ☠️
  • kinectPxToReal ->Takes kinect X [px] and Y [px], joins with Z [m] to output X [m] Y [m] Z [m]. This is, it was a transition from 2D to 3D in a separate program. MOVE. 🚚 vision
  • colorDepth -> Passes colorSegmentor to 3D. In fact, all colorDepth does is extract the depth of the corresponding pixel. Preserves issues with blobs in OpenCV and ended up using a third-party library that's bulk imported. My suggestion: ELIMINATE. ☠️ vision
  • visionSegmentor -> Improvement on colorDepth using travislib. Is 2D. Depends on travislib (our wrapper of opencv). It feels like it could be a part of of somehow integrated within colorRegionDetection, but I really don't know how. GOOD TO KEEP 😄🚚 because it's 2D. vision
  • visionDepth ->Improvement on colorDepth using travislib. Is 3D. Depends on travislib. In colorRegionDetection is an exact copy, just actually made a bulk copy of travislib so you do not have to install it. However, we did do some improvements in documentation. My suggestion: ELIMINATE ☠️ (and move on to colorRegionDetection which is more documented).
  • premultH -> Pre-multiplies an H, for an application such as premultiplying H_root_kinect to an incoming H_kinect_object to get H_root_object. Seems like overkill, but ROS's tf approach also feels like overkill. Another option is hard-coding an H0 into colorRegionDetection and similar. GOOD TO KEEP 😄🚚 kinematics
    • Alternatives include small library part of programs, or yarp port arbitration.
  • wiimoteServer -> Was nice, but could be better. For instance, I recall there was a hard-coded gui. A different solution with no dependencies on graphical environments, and better as a plugin, would be preferable. GOOD TO KEEP 😄🚚 yarp-devices
  • asibotTasks -> Sounded like a great idea, think I actually did some full trajectories like a man moving around a simulated environment and putting on some make-up, but can't think of a practical use for this. I actually recall this was when I was motivated with automated planning such as PDDL and wanted these to be atomic tasks. An idea is to migrate these demo-like behaviours to an interpreted language. GOOD TO KEEP 😄
  • taskServer -> Most probably related to asibotTasks. I'd probably IMPROVE it, since it certainly isn't even a nice wrapper as in YARP devices. GOOD TO KEEP 😄🚚 demoServer

CartesianServer fails when starting, due to controlboard and controlboardwrapper2 issues

Hi jgvictores

I encountered another issue while running the cartesianServer instance. I did a fresh install of Ubuntu 14.10 on my computer (I previously had it on a Virtual Machine) and now I can't run the instance. OpenRAVE is the one that seems to fail, but I reinstalled it a couple times (without uninstalling first) even with the cmake videorecording-option Off. I also reinstalled yarp and the asibot-main repository.

I leave the log, when running cartesianServer:

iagson@iagsons-MagicBox:~$ cartesianServer
||| clearing context
||| adding context [cartesianServer/conf]
||| configuring
||| policy set to ASIBOT_ROOT
||| ASIBOT_ROOT: /home/iagson/asibot-main
||| loading policy from /home/iagson/asibot-main/ASIBOT_ROOT.ini
yarp: cannot read from /home/iagson/asibot-main/ASIBOT_ROOT.ini
||| loading policy from /home/iagson/.yarp/ASIBOT_ROOT.ini
yarp: cannot read from /home/iagson/.yarp/ASIBOT_ROOT.ini
||| loading policy from /etc/yarp/policies/ASIBOT_ROOT.ini
yarp: cannot read from /etc/yarp/policies/ASIBOT_ROOT.ini
||| loading policy from /etc/ASIBOT_ROOT.ini
yarp: cannot read from /etc/ASIBOT_ROOT.ini
||| loading policy from /usr/local/etc/ASIBOT_ROOT.ini
yarp: cannot read from /usr/local/etc/ASIBOT_ROOT.ini
||| failed to load policy from /home/iagson/asibot-main/ASIBOT_ROOT.ini /home/iagson/.yarp/ASIBOT_ROOT.ini /etc/yarp/policies/ASIBOT_ROOT.ini /etc/ASIBOT_ROOT.ini /usr/local/etc/ASIBOT_ROOT.ini
||| default config file specified as cartesianServer.ini
||| checking /home/iagson/cartesianServer.ini
||| checking [/home/iagson/.config/yarp/robots/default](robot YARP_CONFIG_HOME)
||| checking [/home/iagson/.local/share/yarp/robots/default](robot YARP_DATA_HOME)
||| checking [/etc/xdg/xdg-ubuntu/yarp/robots/default](robot YARP_CONFIG_DIRS)
||| checking [/usr/share/upstart/xdg/yarp/robots/default](robot YARP_CONFIG_DIRS)
||| checking [/etc/xdg/yarp/robots/default](robot YARP_CONFIG_DIRS)
||| checking [/usr/share/ubuntu/yarp/robots/default](robot YARP_DATA_DIRS)
||| checking [/usr/share/gnome/yarp/robots/default](robot YARP_DATA_DIRS)
||| checking [/usr/local/share/yarp/robots/default](robot YARP_DATA_DIRS)
||| checking [/usr/share/yarp/robots/default](robot YARP_DATA_DIRS)
||| checking [/usr/share/ubuntu/yarp/config/path.d](robot path.d YARP_DATA_DIRS)
||| checking [/usr/share/gnome/yarp/config/path.d](robot path.d YARP_DATA_DIRS)
||| checking [/usr/local/share/yarp/config/path.d](robot path.d YARP_DATA_DIRS)
||| checking [/usr/share/yarp/config/path.d](robot path.d YARP_DATA_DIRS)
||| checking /home/iagson/asibot-main/app/cartesianServer/conf/cartesianServer.ini
||| found /home/iagson/asibot-main/app/cartesianServer/conf/cartesianServer.ini
Run "cartesianServer --help" for options.

cartesianServer checking for yarp network... [ok]

CartesianServer using controller: cartesianbot, prefix: /ravebot.

CartesianServer using movjLocal: /ravebot/movjCartesianServer, movjRemote: /ravebot.

CartesianBot using A0: 0.300000, A1: 0.400000, A2: 0.400000, A3: 0.300000.
CartesianBot using cmcMs: 30.000000, duration: 20.000000, maxAcc: 0.200000, maxVel: 7.500000.
CartesianBot using robotDevice: controlboard, robotSubDevice: ravebot, robotName: /ravebot.
CartesianBot using robotLocal: N/A, robotRemote: N/A.

[INFO]ControlBoard subdevice is ravebot

RaveBot using numMotors: 5, env: asibot_kitchen.env.xml, externObj: none, extraRobot: none.
RaveBot using genInitPos: 0.000000, genJointTol: 0.250000, genMaxLimit: 360.000000, genMinLimit: -360.000000.
RaveBot using genRefSpeed: 7.500000, genEncRawExposed: 0.017453, genVelRawExposed: 0.017453.
RaveBot using jmcMs: 20.000000, jmcMsAcc: 1.000000, modePosVel: 0, physics: none, viewer: 1.
RaveBot not using individual initPoss, defaulting to genInitPos.
RaveBot not using individual jointTols, defaulting to genJointTol.
RaveBot not using individual maxLimits, defaulting to genMaxLimit.
RaveBot not using individual minLimits, defaulting to genMinLimit.
RaveBot not using individual refSpeeds, defaulting to genRefSpeed.
RaveBot not using individual encRawExposeds, defaulting to genEncRawExposed.

RaveBot not using individual velRawExposeds, defaulting to genVelRawExposed.

[plugindatabase.h:577 Create] Failed to create name viewerrecorder, interface module
[environment-core.h:800 SetPhysicsEngine] setting ode physics engine
[odephysics.h:255 InitEnvironment] ode params: erp=1.000000e-02 (2.000000e-01), cfm=1.000000e-05 (1.000000e-10), itrs=20 (20)
[success] RaveBot loaded environment.
RaveBot using robot 0 (asibot) as main robot.
Sensors found on robot 0 (asibot): 0.
yarp: Port /ravebot/world active at tcp://192.168.1.34:10002
[success] ravebot threadInit()
[INFO]created device . See C++ class RaveBot for documentation.
yarp: Port /ravebot/rpc:i active at tcp://192.168.1.34:10003
yarp: Port /ravebot/command:i active at tcp://192.168.1.34:10004
yarp: Port /ravebot/state:o active at tcp://192.168.1.34:10005
[RaveBot] getAxes reporting 5 axes are present
[RaveBot] getAxes reporting 5 axes are present
[RaveBot] getAxes reporting 5 axes are present
[INFO]Server control board starting
[INFO]created wrapper . See C++ class yarp::dev::ServerControlBoard for documentation.
[CartesianBot] success: Acquired robot interfaces.
[CartesianBot] success: threadInit() started 30.000000 ms ratethread
[INFO]created device . See C++ class CartesianBot for documentation.
[CartesianServer] success: Acquired cartesian interface.
yarp: Port /ravebot/movjCartesianServer/rpc:o active at tcp://192.168.1.34:10006
yarp: Port /ravebot/movjCartesianServer/command:o active at tcp://192.168.1.34:10007
yarp: Port /ravebot/movjCartesianServer/state:i active at tcp://192.168.1.34:10008
yarp: Port /ravebot/movjCartesianServer/stateExt:i active at tcp://192.168.1.34:10009
yarp: Receiving input from /ravebot/movjCartesianServer/rpc:o to /ravebot/rpc:i using tcp
yarp: Sending output from /ravebot/movjCartesianServer/rpc:o to /ravebot/rpc:i using tcp
yarp: Receiving input from /ravebot/movjCartesianServer/command:o to /ravebot/command:i using udp
yarp: Sending output from /ravebot/movjCartesianServer/command:o to /ravebot/command:i using udp
yarp: Receiving input from /ravebot/state:o to /ravebot/movjCartesianServer/state:i using udp
yarp: Sending output from /ravebot/state:o to /ravebot/movjCartesianServer/state:i using udp
* Extended port /ravebot/stateExt:o was not found on the controlBoardWrapper I'm connecting to. Falling back to compatibility beaviour
Updating to newer yarp and the usage of controlBoardWrapper2 is suggested
*
received an unknown request after a VOCAB_GET: prot
[ERROR]expecting protocol 1 1 0, but remotecontrolboard returned protocol version 0 0 0
[ERROR] please update YARP or the remotecontrolboard implementation
yarpdev: _ERROR_ driver <remote_controlboard> was found but could not open
yarp: Removing input from /ravebot/state:o to /ravebot/movjCartesianServer/state:i
yarp: Removing output from /ravebot/state:o to /ravebot/movjCartesianServer/state:i
yarp: Removing input from /ravebot/movjCartesianServer/command:o to /ravebot/command:i
yarp: Removing output from /ravebot/movjCartesianServer/command:o to /ravebot/command:i
yarp: Removing output from /ravebot/movjCartesianServer/rpc:o to /ravebot/rpc:i
yarp: Removing input from /ravebot/movjCartesianServer/rpc:o to /ravebot/rpc:i
[error] Class instantiation not worked.

[error] movjRemote not valid, has a remotely accessible device been open?

Module failed to open
[INFO]Server control board stopping
RaveBot::close() Closing ports...
[WorldRpcResponder] Got
[WorldRpcResponder] Got
[qtcoinviewer.cpp:3041 UpdateFromModel] auto-setting camera location
RaveBot::close() Ports closed. Closing environment...
[environment-core.h:221 Destroy] destroy module
[environment-core.h:237 Destroy] quitting viewer qtcoin
[qtcoinviewer.cpp:375 ~QtCoinViewer] destroying qtcoinviewer
RaveBot: close() joining...
Segmentation fault (core dumped)

AND HERE I leave the execution of openrave:

iagson@iagsons-MagicBox:~$ openrave
[textserver.h:403 main] text server listening on port 4765
[plugindatabase.h:577 Create] Failed to create name viewerrecorder, interface module

openrave installation problems

Following the opnerave installation tutorial for ubuntu, when i type:
sudo apt-get install libsoqt4-dev libcoin60-dev
get the error:

Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
El paquete libcoin60-dev no está disponible, pero algún otro paquete hace referencia
a él. Esto puede significar que el paquete falta, está obsoleto o solo se
encuentra disponible desde alguna otro origen

E: El paquete «libcoin60-dev» no tiene un candidato para la instalación

Simulación Asibot en OpenRave.

Buenas,

Quisiera saber si aún se puede instalar y utilizar cartesian server pues a la hora de hacer el ccmake .. ya no veo la opción cmake .. -DENABLE_cartesianServer. En caso negativo, ¿De qué manera podría realizar una simulación de Asibot con OpenRave?.

Saludos y gracias por adelantado.

Problemas para ejecutar la tarea en webInterface y el movimiento cartesiano.

Buenas tardes,

Tengo problemas al ejecutar una tarea en webInterface desde la pestaña launcher.
Cuando ejecuto la tarea me dice que el módulo AsibotPy no existe para ser importado. Agregué el archivo en el userpath (/home/miguel/.local/share/yarp/contexts/webInterface) y pasaba a decirme que no existía el módulo Yarp el cual no llegue a encontrar.

Creo que tras la instalación del webInterface, no se me están creando archivos o, como el userpath, parece que toma una ruta incorrecta donde crearlos.

Adjunto una foto tanto del userpath que se creó y de la carpeta que se instaló en "/usr/local/share/asibot/contexts/webInterface".

También, aun existe el problema en el cartesianServer de que no se alterna entre movimiento cartesiano y movimiento articular cuando cartesianServer esta funcionando, o se lanza cartesianServer inicialmente con un tipo de movimiento o se lanza con el otro.

Gracias por adelantado y disculpa las molestias.

captura de pantalla de 2016-10-10 17 53 33
captura de pantalla de 2016-10-10 17 53 45
captura de pantalla de 2016-10-10 17 54 18

Use std::string instead of yarp::os::ConstString

As stated in its documentation, it's:

A string with almost the same api as std::string. It adds a hash function for compatibility with certain versions of the ACE library.

In fact, yarp::os::ConstString seems to be a mere wrapper around std::string. TEO code happens to use this class scarcely, putting much more stress on the latter.

Alternative to simCart.wait() for `pos.positionMove`

Hi,

When I use pos.positionMove, my pogram continue running to the next line which is a simCart.movl(). Then both robot movements are executed at the same time. Im using yarp.Time.delay(20) but is too variable since some movements last 18 seconds but others can last 25 seconds. I would like to make it wait till the target position was reached.

There is a code similar to simCart.wait() but for pos.positionMove?

How to add plannification in an asibotpy program?

Hello,

I'm using Ubuntu 16.04.2 and I have a .py file with a simulation but I'm using intermediate targets to avoid obstacles. How can I add in this program the needed plannification in order to find a collisions free path?.

Thank you very much.

Estabilidad de motor fisico en simulación

Al intentar mover el robot desde la interfaz web, este se desancla o desensambla y las articulaciones del robot empiezan a moverse libremente por el entorno.
He intentado moverlo directamente desde el simulador pero es como que quiere moverse pero no consigue hacerlo y vuelve a su posición de partida, es decir, el motor no se estabiliza cuando se intenta un movimiento ya sea desde la interfaz o desde el propio simulador.

Clean asibot-main libraries

There are a number of libraries that should go elsewhere or become deprecated in favor of advances. This is not mandatory, but we have been working a lot elsewhere

  • CartesianClientLib. (see cartesianServer on #21). ELIMINATE ☠️
  • CartesianServerLib. (see cartesianServer on #21). ELIMINATE ☠️
  • ColorClientLib. I'd replace it by an issue on the final vision-related repository mentioning that a API for all vision libs with a nice server/client pair would be nice. ELIMINATE ☠️
  • RavePlugins. Can improve (not only redCan) and move to openrave-yarp-plugins. 😄🚚 (roboticslab-uc3m/openrave-yarp-plugins#26)
  • RlPlugins
    • cartesianbot. Can be made into a plugin similar to KdlSolver. GOOD TO KEEP 😄🚚 because it has the ASIBOT analytic solution of FK and IK (as far as I recall). kinematics (roboticslab-uc3m/kinematics-dynamics#96)
    • kdlbot. (see cartesianServer on #21). ELIMINATE ☠️
    • ravebot. Work in progress is to use openrave-yarp-plugins with separate model repos similar to teo-openrave-models to substitute testRaveBot and also teoSim of teo-main. For now only joint movements are implemented, but plugins for creating objects, publishing sensor data etc are on the way. GOOD TO KEEP 😄🚐 (roboticslab-uc3m/openrave-yarp-plugins#26)
    • skymegabot: Was used to send commands to an Arduino connected to a Hand controlled by PWM. Many copies in many places. A pretty functional yarp plugin is LaserTowerOfDeathController. ELIMINATE ☠️
  • TestRaveBotLib: Same as ravebot and testRaveBot. GOOD TO KEEP 😄🚐 (roboticslab-uc3m/openrave-yarp-plugins#26)
  • TinyMath: It's a nice thing to have around when you already depend on YARP, don't want to thing about KDL, and want to play around with transformation matrices. Uses YARP_math for operators and eye(). Possibly used by several programs, which should be identified. GOOD TO KEEP 😄🚚 kinematics (roboticslab-uc3m/kinematics-dynamics#96)
  • TrajGen: Interesting experimental class for trajectories that does not depend on KDL, seems to be used by cartesianbot. GOOD TO KEEP 😄🚚 (to be moved together with cartesianbot). kinematics (roboticslab-uc3m/kinematics-dynamics#96)
  • TaskLib: An idea is to migrate these demo-like behaviours to an interpreted language. GOOD TO KEEP 😄 tools

Change robot position without closing a cartesianserver instance.

Hello,

I did an Asibot user interface to load each of the tasks I implemented. These tasks has the chair and the robot in different positions in order to be in range to grab and release the different objects.

Before launch each task, I modify the position of the objects, the robot and the wheelchair reading and writing the xml file.

I can delete and add again the objects but in the case of the robot I get an error if cartesianServer is launched without it. It's possible to reload the environment or change the position of the robot once cartesianServer is loaded?.

Thanks.

Segmentation fault: cannot render offscreen (cartesianServer and any module that uses RaveBot/OpenRAVE cameras)

Hello jgvictores,

I was trying to start an instance of a cartesianServer, to see if all software was installed correctly and the kitchen appears to initialise upside down. That isn't so bad, but when you try to input some extra commands like " cartesianServer --env asibot_kitchen_cameras.env.xml " the GUI doesn't start beacuse of an error (already tried by changing the .ini file)

It's also true that I didn't install the asibot repository from github, but from Subversion, maybe that's the problem.

These are the screen prints I took:
ubuntu 14 10probcartesianserver camara2
ubuntu 14 10probcartesianserver camara

Thank you very much.

[environment-core.h:475 Load] load failed on file [error] RaveBot could not load environment.

Hello jgvictores,

I'm using Ubuntu 14.04 and I compiled the asibot-main repository and executed "cartesian server" command after installing it by the following tutorial:

http://robots.uc3m.es/dox-asibot-main/install_on_ubuntu.html

I attach the output of the command "cmake" and the command "cartesian server".

I also have problems with Intel drivers but it seems that there is no support for Ubuntu Trusty.

cmake.txt
cartesian_server.txt

Problemas para compilar asibot-main.

Buenos días,

Al ejecutar el comando make aparece el siguiente error:

[ 25%] Building CXX object src/libraries/RlPlugins/ravebot/CMakeFiles/ravebot.dir/////generated_code/RlPlugins_add_ravebot.cpp.o
In file included from /usr/local/include/yarp/os/SharedLibraryFactory.h:16:0,
from /usr/local/include/yarp/os/SharedLibraryClassFactory.h:13,
from /usr/local/include/yarp/os/SharedLibraryClass.h:13,
from /home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp:10:
/home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp: In function ‘void* ravebot_create()’:
/home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp:35:38: error: cannot allocate an object of abstract type ‘RaveBot’
YARP_DEFINE_SHARED_SUBCLASS(ravebot, RaveBot, yarp::dev::DeviceDriver)
^
In file included from /home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp:12:0:
/home/miguel/asibot-main/src/libraries/RlPlugins/ravebot/RaveBot.h:73:7: note: because the following virtual functions are pure within ‘RaveBot’:
class RaveBot : public DeviceDriver, public RateThread, public IPositionControl, public IVelocityControl, public IEncodersTimed, public IControlLimits, public IControlMode {
^
In file included from /usr/local/include/yarp/dev/ControlBoardInterfaces.h:26:0,
from /home/miguel/asibot-main/src/libraries/RlPlugins/ravebot/RaveBot.h:8,
from /home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp:12:
/usr/local/include/yarp/dev/IPositionControl.h:190:18: note: virtual bool yarp::dev::IPositionControl::setPositionMode()
virtual bool setPositionMode()=0;
^
In file included from /usr/local/include/yarp/dev/ControlBoardInterfaces.h:24:0,
from /home/miguel/asibot-main/src/libraries/RlPlugins/ravebot/RaveBot.h:8,
from /home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp:12:
/usr/local/include/yarp/dev/IVelocityControl.h:135:18: note: virtual bool yarp::dev::IVelocityControl::setVelocityMode()
virtual bool setVelocityMode()=0;
^
In file included from /home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp:11:0:
/usr/local/include/yarp/dev/Drivers.h: In instantiation of ‘yarp::dev::DeviceDriver* yarp::dev::DriverCreatorOf::create() [with T = RaveBot]’:
/home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp:35:1: required from here
/usr/local/include/yarp/dev/Drivers.h:135:20: error: cannot allocate an object of abstract type ‘RaveBot’
return new T;
^
In file included from /home/miguel/asibot-main/build/generated_code/RlPlugins_add_ravebot.cpp:12:0:
/home/miguel/asibot-main/src/libraries/RlPlugins/ravebot/RaveBot.h:73:7: note: since type ‘RaveBot’ has pure virtual functions
class RaveBot : public DeviceDriver, public RateThread, public IPositionControl, public IVelocityControl, public IEncodersTimed, public IControlLimits, public IControlMode {
^
make[2]: * [src/libraries/RlPlugins/ravebot/CMakeFiles/ravebot.dir////**/generated_code/RlPlugins_add_ravebot.cpp.o] Error 1
make[1]: *** [src/libraries/RlPlugins/ravebot/CMakeFiles/ravebot.dir/all] Error 2
make: *** [all] Error 2

¿Qué debería hacer para solucionarlo?

Peak-CAN comms fail with IRQ error

ASIBOT has undergone a major SO upgrade from old Debian 6.0 ("squeeze") to Debian 8.0 ("jessie"), see roboticslab-uc3m/questions-and-answers#20. Everything went fine but the ability to read/write via CAN. Perhaps this is linked to the fact that I installed old HiCO.CAN kernel drivers first, checked that they worked, and then tried the Peak CAN ones. It seems that initial communication succeeds within a CAN-based application (e.g. oneCanBusOneWrapper), but it is not capable of performing CAN transfers afterwards.

I traced this error down to kernel log messages and found an obscure "irq 9: nobody cared (try booting with the "irqpoll" option)". I reached out to PEAK support and obtained no answer. I'm pasting here the same kernel log excerpts shared with support, plus this SO link: https://stackoverflow.com/q/13861282.

Hello. I'm reaching out to you regarding a strange kernel message that is shown up right after I start my CAN application:

kernel: [ 185.154899] Disabling IRQ #9

The app succeeds in establishing a communication (receives and transmits CAN frames) only for a few seconds, then it freezes. Same error is observed upon launching PCAN's test apps.

dmesg output:

[ 154.449561] irq 9: nobody cared (try booting with the "irqpoll" option)
[ 154.449652] CPU: 0 PID: 718 Comm: oneCanBusOneWra Tainted: G W O 3.16.0-6-586 #1 Debian 3.16.57-2
[ 154.449672] ce407f80 ce407f80 c107f899 c1525a80 00000009 00000009 ce404480 00000000
[ 154.449716] ce407fa4 c107fb94 fbb27658 00000000 ce404480 00000000 ce404480 00000009
[ 154.449753] 00000000 ce407fe0 c107deb2 c1080020 ce407fd0 c144ecc7 00000000 00000007
[ 154.449791] Call Trace:
[ 154.449839] [<c107f899>] ? __report_bad_irq.isra.6+0x29/0xc0
[ 154.449866] [<c107fb94>] ? note_interrupt+0x204/0x240
[ 154.449907] [<c107deb2>] ? handle_irq_event_percpu+0x132/0x1a0
[ 154.449932] [<c1080020>] ? handle_edge_irq+0x100/0x100
[ 154.449970] [<c144ecc7>] ? printk+0x1c/0x21
[ 154.449996] [<c1080020>] ? handle_edge_irq+0x100/0x100
[ 154.450023] [<c107df41>] ? handle_irq_event+0x21/0x30
[ 154.450047] [<c108007f>] ? handle_level_irq+0x5f/0xe0
[ 154.450075] [<c1003f63>] ? handle_irq+0xa3/0xc0
[ 154.450088] <IRQ> [<c1453df9>] ? do_IRQ+0x39/0xc0
[ 154.450166] [<d0810f9b>] ? r6040_poll+0x21b/0x230 [r6040]
[ 154.450195] [<c1043ab0>] ? __hrtimer_tasklet_trampoline+0x20/0x20
[ 154.450222] [<c1453633>] ? common_interrupt+0x33/0x40
[ 154.450247] [<c1043ab0>] ? __hrtimer_tasklet_trampoline+0x20/0x20
[ 154.450273] [<c1043b17>] ? __do_softirq+0x67/0x240
[ 154.450302] [<c1043ab0>] ? __hrtimer_tasklet_trampoline+0x20/0x20
[ 154.450327] [<c1003df5>] ? call_on_stack+0x45/0x50
[ 154.450340] <IRQ> [<c1043e55>] ? irq_exit+0x95/0xa0
[ 154.450378] [<c1453e02>] ? do_IRQ+0x42/0xc0
[ 154.450493] [<d0a68913>] ? scsi_request_fn+0x33/0x4b0 [scsi_mod]
[ 154.450590] [<d090ec60>] ? pcan_pci_cleanup+0x100/0x100 [pcan]
[ 154.450618] [<c1453633>] ? common_interrupt+0x33/0x40
[ 154.450663] [<d090ec60>] ? pcan_pci_cleanup+0x100/0x100 [pcan]
[ 154.450689] [<c1080000>] ? handle_edge_irq+0xe0/0x100
[ 154.450713] [<c107ef57>] ? __setup_irq+0x237/0x4e0
[ 154.450758] [<d090ec60>] ? pcan_pci_cleanup+0x100/0x100 [pcan]
[ 154.450783] [<c107f336>] ? request_threaded_irq+0xa6/0x130
[ 154.450826] [<d090ed28>] ? __pcan_pci_req_irq+0x58/0xb0 [pcan]
[ 154.450869] [<d090edcd>] ? pcan_pci_req_irq+0x4d/0x60 [pcan]
[ 154.450910] [<d0908329>] ? pcan_open_path+0x139/0x260 [pcan]
[ 154.450951] [<d09084f3>] ? pcan_open+0xa3/0x1a0 [pcan]
[ 154.450992] [<d0908549>] ? pcan_open+0xf9/0x1a0 [pcan]
[ 154.451022] [<c113a530>] ? mount_fs+0x190/0x190
[ 154.451049] [<c113ad14>] ? chrdev_open+0x84/0x140
[ 154.451087] [<c1134d0a>] ? do_dentry_open+0x19a/0x2d0
[ 154.451111] [<c113ac90>] ? cdev_put+0x30/0x30
[ 154.451138] [<c1134fca>] ? finish_open+0x2a/0x40
[ 154.451164] [<c11453f2>] ? do_last+0xae2/0xf90
[ 154.451191] [<c114ee00>] ? set_nlink+0x40/0x40
[ 154.451217] [<c1145cd4>] ? path_openat+0x434/0x5a0
[ 154.451246] [<c11465f1>] ? do_filp_open+0x31/0x90
[ 154.451282] [<c11364f3>] ? do_sys_open+0x113/0x220
[ 154.451311] [<c1136622>] ? SyS_open+0x22/0x30
[ 154.451338] [<c145308d>] ? syscall_call+0x10/0x10
[ 154.451355] handlers:
[ 154.451409] [<d090ec60>] pcan_pci_irqhandler [pcan]
[ 154.451445] Disabling IRQ #9

lsmod output:

Module Size Used by
8192cu 498104 0
mac80211 437441 0
cfg80211 366068 2 mac80211,8192cu
ftdi_sio 41955 0
usbserial 31597 1 ftdi_sio
rfkill 18387 1 cfg80211
evdev 17137 0
pcspkr 12531 0
serio_raw 12737 0
pcan 83138 0
autofs4 30769 2
ext4 442358 1
crc16 12327 1 ext4
mbcache 12892 1 ext4
jbd2 72871 1 ext4
sg 25643 0
sd_mod 43760 3
crc_t10dif 12399 1 sd_mod
crct10dif_generic 12517 1
crct10dif_common 12340 2 crct10dif_generic,crc_t10dif
ata_generic 12450 0
pata_rdc 12568 2
ohci_pci 12704 0
libata 161817 2 pata_rdc,ata_generic
ohci_hcd 42566 1 ohci_pci
ehci_pci 12464 0
ehci_hcd 64933 1 ehci_pci
scsi_mod 168109 3 sg,libata,sd_mod
usbcore 174991 7 usbserial,ohci_hcd,ohci_pci,ehci_hcd,ehci_pci,8192cu,ftdi_sio
r6040 17230 0
libphy 27572 1 r6040
usb_common 12484 1 usbcore

lspci -v output:

00:00.0 Host bridge: RDC Semiconductor, Inc. R6021 Host Bridge (rev 02)
Flags: bus master, medium devsel, latency 0

00:03.0 Network controller: PEAK-System Technik GmbH PCAN-PCI CAN-Bus controller (rev 02)
Subsystem: PEAK-System Technik GmbH 2 Channel CAN Bus SJC1000
Flags: medium devsel, IRQ 9
Memory at fefd0000 (32-bit, non-prefetchable) [size=64K]
Memory at fefc0000 (32-bit, non-prefetchable) [size=64K]
Kernel driver in use: pcan

00:07.0 ISA bridge: RDC Semiconductor, Inc. R6031 ISA Bridge (rev 02)
Flags: bus master, ?? devsel, latency 0

00:08.0 Ethernet controller: RDC Semiconductor, Inc. R6040 MAC Controller
Flags: bus master, medium devsel, latency 128, IRQ 10
I/O ports at df00 [size=256]
Memory at fefff400 (32-bit, non-prefetchable) [size=256]
Expansion ROM at fefe0000 [disabled] [size=64K]
Kernel driver in use: r6040

00:0a.0 USB controller: RDC Semiconductor, Inc. R6060 USB 1.1 Controller (rev 12) (prog-if 10 [OHCI])
Flags: bus master, medium devsel, latency 128, IRQ 11
Memory at feffd000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ohci-pci

00:0a.1 USB controller: RDC Semiconductor, Inc. R6061 USB 2.0 Controller (rev 03) (prog-if 20 [EHCI])
Flags: bus master, medium devsel, latency 128, IRQ 11
Memory at fefff800 (32-bit, non-prefetchable) [size=256]
Kernel driver in use: ehci-pci

00:0b.0 USB controller: RDC Semiconductor, Inc. R6060 USB 1.1 Controller (rev 12) (prog-if 10 [OHCI])
Flags: bus master, medium devsel, latency 128, IRQ 11
Memory at feffe000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ohci-pci

00:0b.1 USB controller: RDC Semiconductor, Inc. R6061 USB 2.0 Controller (rev 03) (prog-if 20 [EHCI])
Flags: bus master, medium devsel, latency 128, IRQ 11
Memory at fefffc00 (32-bit, non-prefetchable) [size=256]
Kernel driver in use: ehci-pci

00:0c.0 IDE interface: RDC Semiconductor, Inc. Device 1011 (rev 01) (prog-if 8a [Master SecP PriP])
Subsystem: RDC Semiconductor, Inc. Device 1011
Flags: bus master, medium devsel, latency 64, IRQ 14
I/O ports at 01f0 [size=8]
I/O ports at 03f4
I/O ports at 0170 [size=8]
I/O ports at 0374
I/O ports at ef00 [size=16]
Kernel driver in use: pata_rdc

cat /proc/interrupts:

CPU0
0: 188192 XT-PIC-XT-PIC timer
1: 2 XT-PIC-XT-PIC i8042
2: 0 XT-PIC-XT-PIC cascade
8: 0 XT-PIC-XT-PIC rtc0
9: 100000 XT-PIC-XT-PIC
10: 4543 XT-PIC-XT-PIC eth1
11: 4073 XT-PIC-XT-PIC ehci_hcd:usb1, ehci_hcd:usb2, ohci_hcd:usb3, ohci_hcd:usb4
14: 1907 XT-PIC-XT-PIC pata_rdc
15: 76 XT-PIC-XT-PIC pata_rdc
NMI: 0 Non-maskable interrupts
LOC: 0 Local timer interrupts
SPU: 0 Spurious interrupts
PMI: 0 Performance monitoring interrupts
IWI: 0 IRQ work interrupts
RTR: 0 APIC ICR read retries
HYP: 0 Hypervisor callback interrupts
ERR: 1
MIS: 0

uname -r: 3.16.0-6-586

Tested with v8.5.1 and v8.7.0 drivers on Debian 8 32 bit. I tried the following, to no avail (troubleshooting guide for Ubuntu):

https://help.ubuntu.com/community/DebuggingIRQProblems

Said drivers were compiled with (only chardev):

make DNG=NO_DONGLE_SUPPORT USB_NO_USB_SUPPORT PCI=PCI_SUPPORT PCIEC=NO_PCIEC_SUPPORT ISA=NO_ISA_SUPPORT PCC=NO_PCARD_SUPPORT

I'm not sure what can I try next. We were using another mini-PCI CAN board prior to this whiich perhaps had not been completely uninstalled (several Google results point to some kind of hardware conflict, others refer to faulty firmware).

Adding a Kinbody after an environment has been loaded by cartesianserver or testravebot.

Hello,

I need to add an object depending on the task I want to simulate with the robot asibot.

As you can see the environment and the objects that I use are in different files:

Another possible solution is to have 3 environment (1 per implemented task) and launch cartesianserver / testravebot with one of these environments as argument. In that case, how can I launch them inside a python file instead of command line?

Thanks and sorry by the inconveniences.

enable webInterface

No puedo habilitar ni instalar la app de webInterface de ASIBOT.
El texto dice lo siguiente "The module is compiled when ENABLE_webInterface is activated (default: OFF)" pero no lo puedo habilitar. No se si tengo que hacer algo antes.
He seguido el siguiente tutorial "http://robots.uc3m.es/dox-asibot-main/install_on_ubuntu.html" pero ahora quiero utilizar la webInterface pero no puedo.

Gracias de antemano.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.