Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Mar 11 13:43
    GarvTambi commented on 0e218f5
  • Mar 04 15:32
    aracelivegamagro removed as member
  • Mar 04 15:23
    aracelivegamagro added as member
  • Jan 15 19:03
    fmrico added as member
  • Jul 11 2019 11:45
    orensbruli commented on aed5ae1
  • Jul 11 2019 11:23
    orensbruli commented on aed5ae1
  • Apr 25 2019 22:00
    pilarbachiller edited as member
  • Apr 25 2019 22:00
    pilarbachiller added as member
  • Apr 25 2019 22:00
    orensbruli edited as member
  • Apr 25 2019 22:00
    orensbruli added as member
  • Mar 28 2019 03:41
    parasKumarSahu commented on 2ec7dec
hugoziviani
@hugoziviani
yep, I've got this. Thanks @pbustos . But now I want to make the robots run each one by it self. I'm using different ports and some times they are going at the same velocity and looks synchronised. How can I do this aleatory? There is something I 'm doing wrong?. (spanish = yo logré que los robots suban cada cual en sus puertas y los puse todos en un unico rcis world. Pero a veces ellos ruedan sincronizados y no aleatoriamente, aunque yo ponga time.sleep() randomicamente.) Hay algo que estoy haciendo mal ?)
Pablo Bustos
@pbustos
Start doing simple tests: two robots , double speeds and see if it is a problem with RCIS or the code in your clients
hugoziviani
@hugoziviani
@pbustos thanks to answer me. I have made with two robots. I got the same problem. With just one it works fine. The specificWorker.py is configured just to turn right if the robot find an obstacle.
I recorded a little video to show.
Pablo Bustos
@pbustos
It is hard to see in the video. Can you program one robot (client component) to move the robot from left to rigth and the other to move the other robot from up to bottom of the world?
hugoziviani
@hugoziviani
The are responding by different commands on specific worker, but some times they are spinning out of control. The config is like this:
DifferentialRobotProxy = differentialrobot:tcp -h localhost -p 10004
LaserProxy = laser:tcp -h localhost -p 10005
these are the only configuration that I need to change to control them ? And the config of the other one is :
DifferentialRobotProxy = differentialrobot:tcp -h localhost -p 10006
LaserProxy = laser:tcp -h localhost -p 10007
Pablo Bustos
@pbustos
And those are the values in the xml file?
hugoziviani
@hugoziviani

yes. I made a script in python which generate the robots automatcally. With one robot is ok, but more than one no. I think is the cordinates px, pz on creation. I can understand some of properties intuitively on robot creation but not all.
This is the first robot code:

'<differentialrobot id="base1" port="10006">
<mesh id="base_robex1" file="/home/robocomp/robocomp/files/osgModels/robex/robex.ive" tx="500" ty="0" tz="0" scale="1000" />
<translation id="laserPose1" tx="0" ty="140" tz="200">
<laser id="laser1" port="10007" measures="100" min="100" max="30000" angle="3" ifconfig="10000" />
<plane id="sensorL1" nz="1" px="500" pz="-200" size="100" repeat="1" texture="#fff022" />
</translation>
<translation id="robotGeometricCenter1" tx="500" ty="0" tz="100">
</translation>
</differentialrobot> '

This is the second robot code:

'<differentialrobot id="base2" port="10006">
<mesh id="base_robex2" file="/home/robocomp/robocomp/files/osgModels/robex/robex.ive" tx="1000" ty="0" tz="0" scale="1000" />
<translation id="laserPose2" tx="0" ty="140" tz="200">
<laser id="laser2" port="10007" measures="100" min="100" max="30000" angle="3" ifconfig="10000" />
<plane id="sensorL2" nz="1" px="1000" pz="-200" size="100" repeat="1" texture="#008000" />
</translation>
<translation id="robotGeometricCenter2" tx="1000" ty="0" tz="150">
</translation>
</differentialrobot>'

Pablo Bustos
@pbustos
Maybe you can translate each robot with a transform statement so they are not created in the same spot
hugoziviani
@hugoziviani
perfect, I gonna try it. Thanks a lot and have a good fathers day if you are daddy. Thanks a lot mate!
hugoziviani
@hugoziviani
@pbustos Thanks a lot mate! this worked pretty well. Now I'm gonna try map the robot way on the world. Thanks a lot. cheers.
Pablo Bustos
@pbustos
We are roing something similiar to simulate a stockyard
with a herd of lambs
hugoziviani
@hugoziviani
This is very nice. If I got something interesting I share here with all. I'm just trying to control the route of a swarm, but I'm too new on this. My code to create a lot of robots xml script is working if you want I can share. Is it a bit mess, haha but I can organize it.
hugoziviani
@hugoziviani
Do you have any example how to use
self.differentialrobot_proxy.correctOdometer(...) ?
Pablo Bustos
@pbustos
Do you want it to initialise the robots in different positions?
If so, setOdometer should do it
hugoziviani
@hugoziviani
Yes, they will be in different (x,z) positions. And it allows me get the instantaneous velocity ?
Pablo Bustos
@pbustos
yes, it should
hugoziviani
@hugoziviani
how can I get the X, Z and aplha value to pass for self.differentialrobot_proxy.correctOdometer(...)?
Pablo Bustos
@pbustos
for setOdometer(), you put the values of the initial offset created in the xml file (the separation among robots) so the odometer starts with that value
hugoziviani
@hugoziviani
and how can I get the value of instantaneous velocity, after setOdometer() ?
Pablo Bustos
@pbustos
it should be in the DifferentialRobot::TBaseState struct. Check the idsl definition in robocomp/interfaces/IDSLs
hugoziviani
@hugoziviani
there is a lot of components, but not an specific which make mention to odometer. Do you know any other component could help me make the robot route?
hugoziviani
@hugoziviani
Pablo, I found the https://github.com/robocomp/robocomp-ursus-rockin/tree/master/components/trajectoryrobot2d made by you, can I use this module in python3?
Pablo Bustos
@pbustos
no
components implement interfaces or use them
In yout case RCIS implements DifferentialRobot so you need to create a component that "requires" that interface and do something with the robot using its methods: setSpeedBase(), etc
You can create the component in Python. There is a nice tutorial in RoboComp
hugoziviani
@hugoziviani
I got to create the component it in python. how can I use this interface throw self.trajectoryrobot2d_proxy on my specificworker.py? And how can I create and set this component on my rcis xml file ?
Pablo Bustos
@pbustos
I think you need to go over through the basics of RoboComp. There tutorials to create components, interfaces and deploy groups of components talking to each other.
The basic setup though is, RCIS offers DifferentialRobot and Laser interfaces, your new componente uses them to get laser data, do something thoughtful and send velocity commands back.
hugoziviani
@hugoziviani
Yep! I'm going throw it. Thanks mate.
hugoziviani
@hugoziviani

Hello, I got to create the component and use the interface. But, mate @pbustos , what I do to know the arguments of these functions:

self.trajectoryrobot2d_proxy.changeTarget(...)
self.trajectoryrobot2d_proxy.getState(...)
self.trajectoryrobot2d_proxy.go(...)
self.trajectoryrobot2d_proxy.goBackwards(...)
self.trajectoryrobot2d_proxy.goReferenced(...)
self.trajectoryrobot2d_proxy.mapBasedTarget(...)
self.trajectoryrobot2d_proxy.setHumanSpace(...)
self.trajectoryrobot2d_proxy.stop(...)

hugoziviani
@hugoziviani
and how can I use It. like create a new target to the bot go.
Pablo Bustos
@pbustos
That is an interface. It does not implement anything unless you use a component that do it. We currently don't have one so you will need to code it yourself.
VishwaroopShah
@VishwaroopShah
Hello everyone i am a beginner and i want to contribute in it. Could you throw some ideas on where to start.
Nivedita Rufus
@niveditarufus
@VishwaroopShah Hi there, you can start by installation and setting up the RoboComp environment and go over the tutorials in the repo.
Manohar bhat
@manoharbhat
Hello everyone, I am a beginner and I want to contribute here. I have followed the instructions in robocomp github to download the robocomp environments, I have got the following error when I executed the command rcis
Usage: rcis InnerModelFile.xml [-p INNERMODEL_MANAGER_PORT] [-f MSECS]
Aborted (core dumped)
and following lines are saved in bashrc file

export ROBOCOMP=~/robocomp
export PATH=$PATH:/opt/robocomp/bin

if [ -f /opt/robocomp/share/rccd.sh ]; then
. /opt/robocomp/share/rccd.sh
fi

pls let me know where I was wrong
Esteban Martinena Guerrero
@orensbruli
@manoharbhat can you paste the command you used to start rcis?
Manohar bhat
@manoharbhat
rcis
Esteban Martinena Guerrero
@orensbruli
with no file? Have you tried with the XML file?
Esteban Martinena Guerrero
@orensbruli
I have just fixed the coredump message, but I'm pretty sure that the problem is that you are not giving the mandatory XML file.
Manohar bhat
@manoharbhat
ok ill re-install, and respond
simpleworld.xml?
Manohar bhat
@manoharbhat
Thanks @orensbruli robocomp environment is setup properly now