controlling robot

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

controlling robot

Goutham Mallapragada
Hi Rosen,

How do we control real robots with open rave? The robot that we have is controlled by sending incremental joint angles at a rate of 2ms.
Do I write a controller plugin and override the SetDesired, SetPath methods? Should I send the actual joint angle increments to the robot
in the Simulation Step? If so, how can I ensure the simulation step executes at 2ms intervals.

Goutham

------------------------------------------------------------------------------

_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users
Reply | Threaded
Open this post in threaded view
|

Re: controlling robot

Rosen Diankov
Administrator
hi goutham,

the simulation thread runs at an irregular rate and its purpose is not
to sync with real-time as much as to accurately simulate a given step
time. For your controller, you should create a separate thread that
you can guarantee is called at a certain rate. Then the
SetDesired/SetPath methods will lock some mutex and add the commands
to a queue. Your 2ms thread will read those commands and process them.
Whenever your thread needs to read the openrave environment or update
it, it has to lock the environment's mutex
(EnvironmentBase::GetMutex()). If you need to add any custom commands,
you can override the SendCommand function.

Also, if you want to ensure 2ms.... perhaps you should think about
...real-time threads

hope this helps!
rosen,

2010/4/22 Goutham Mallapragada <[hidden email]>:

> Hi Rosen,
>
> How do we control real robots with open rave? The robot that we have is
> controlled by sending incremental joint angles at a rate of 2ms.
> Do I write a controller plugin and override the SetDesired, SetPath methods?
> Should I send the actual joint angle increments to the robot
> in the Simulation Step? If so, how can I ensure the simulation step executes
> at 2ms intervals.
>
> Goutham
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Openrave-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/openrave-users
>
>

------------------------------------------------------------------------------
_______________________________________________
Openrave-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/openrave-users