ROS Groovy and OROCOS 2.6

Hi all, I'm installing on a new Ubuntu 12.04 the ROS & OROCOS architecture.

I installed ros groovy with sudo apt-get install ros-groovy-desktop-full and then I installed manually the orocos stuff with that:

sudo apt-get install libreadline-dev omniorb omniidl omniorb-nameserver libomniorb4-1 libomniorb4-dev libomnithread3-dev libomnithread3c2 gccxml antlr libantlr-dev libxslt1-dev liblua5.1-0-dev ruby libruby rubygems 
 
git clone --recursive git://gitorious.org/orocos-toolchain/orocos_toolchain.git
git clone http://git.mech.kuleuven.be/robotics/rtt_ros_integration.git
git clone http://git.mech.kuleuven.be/robotics/rtt_ros_comm.git
git clone http://git.mech.kuleuven.be/robotics/rtt_common_msgs.git
git clone http://git.mech.kuleuven.be/robotics/rtt_geometry.git
roscd orocos_toolchain
git submodule init
git submodule update
source env.sh
rosmake orocos_toolchain rtt_ros_integration rtt_ros_comm rtt_common_msgs rtt_geometry

but first I got this error

rake setup[-DOROCOS_TARGET=gnulinux]
  cannot load the Hoe gem. Distribution is disabled
  WARN: cannot load RDoc, documentation generation disabled
  WARN:   no such file to load -- rdoc/task
  cannot load oroGen
    did you install Typelib's Ruby bindings and update the RUBYLIB environment variable accordingly ?
    did you add /home/username/Development/ros_workspace/orocos/orocos_toolchain/orogen/lib to RUBYLIB ?
  the error is: no such file to load -- facets/string/camelcase
    /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
    /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/typelib/bindings/ruby/lib/typelib.rb:8
    /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
    /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/orogen/Rakefile:6
    /usr/lib/ruby/vendor_ruby/rake/task.rb:205:in `call'
    /usr/lib/ruby/vendor_ruby/rake/task.rb:205:in `execute'
    /usr/lib/ruby/vendor_ruby/rake/task.rb:200:in `each'
    /usr/lib/ruby/vendor_ruby/rake/task.rb:200:in `execute'
    /usr/lib/ruby/vendor_ruby/rake/task.rb:158:in `invoke_with_call_chain'
    /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
    /usr/lib/ruby/vendor_ruby/rake/task.rb:151:in `invoke_with_call_chain'
    /usr/lib/ruby/vendor_ruby/rake/task.rb:144:in `invoke'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:116:in `invoke_task'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:94:in `top_level'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:94:in `each'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:94:in `top_level'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:133:in `standard_exception_handling'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:88:in `top_level'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:66:in `run'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:133:in `standard_exception_handling'
    /usr/lib/ruby/vendor_ruby/rake/application.rb:63:in `run'
    /usr/bin/rake:27
then I ran gem install hoe and now I have this error
rake setup[-DOROCOS_TARGET=gnulinux]
  WARN: cannot load RDoc, documentation generation disabled
  WARN:   no such file to load -- rdoc/task
  cannot load oroGen
    did you install Typelib's Ruby bindings and update the RUBYLIB environment variable accordingly ?
    did you add /home/username/Development/ros_workspace/orocos/orocos_toolchain/orogen/lib to RUBYLIB ?
  the error is: no such file to load -- facets/string/camelcase
    /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
    /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/typelib/bindings/ruby/lib/typelib.rb:8
    /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'
    /usr/lib/ruby/vendor_ruby/1.8/rubygems/custom_require.rb:36:in `require'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/orogen/Rakefile:6
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/task.rb:228:in `call'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/task.rb:228:in `execute'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/task.rb:223:in `each'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/task.rb:223:in `execute'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/task.rb:166:in `invoke_with_call_chain'
    /usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/task.rb:159:in `invoke_with_call_chain'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/task.rb:152:in `invoke'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:143:in `invoke_task'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:101:in `top_level'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:101:in `each'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:101:in `top_level'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:110:in `run_with_threads'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:95:in `top_level'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:73:in `run'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/lib/rake/application.rb:70:in `run'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/gems/rake-10.0.3/bin/rake:33
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/bin/rake:19:in `load'
    /home/username/Development/ros_workspace/orocos/orocos_toolchain/.gems/bin/rake:19
 
...
 
[ rosmake ] Halting due to failure in package orogen.
for which I can't find a solution.

Why is orogen creating such an error? Which is the dependency I am missing?

Thank you for your help,

Best regards

ROS Groovy and OROCOS 2.6

Hi Mirko,

On Thu, Jan 31, 2013 at 8:21 PM, <mirko [dot] comparetti [..] ...> wrote:
> Hi all,
> I'm installing on a new Ubuntu 12.04 the ROS & OROCOS architecture.
>
> I installed ros groovy with

sudo apt-get install
> ros-groovy-desktop-full
and then I installed manually the orocos stuff
> with that:
>
>
sudo apt-get install libreadline-dev omniorb omniidl omniorb-nameserver
> libomniorb4-1 libomniorb4-dev libomnithread3-dev libomnithread3c2 gccxml
> antlr libantlr-dev libxslt1-dev liblua5.1-0-dev ruby libruby rubygems
 
Don't do this manually, since you're bound to mis out some
dependencies or install the wrong ones.
 
Instead, use rosdep to resolve them, after you cloned the git repositories:
 
sudo apt-get install python-rosinstall python-rosdep python-vcstools
sudo rosdep init
rosdep update
rosdep install orocos_toolchain
 
>
> git clone --recursive
> git://gitorious.org/orocos-toolchain/orocos_toolchain.git
> git clone http://git.mech.kuleuven.be/robotics/rtt_ros_integration.git
> git clone http://git.mech.kuleuven.be/robotics/rtt_ros_comm.git
> git clone http://git.mech.kuleuven.be/robotics/rtt_common_msgs.git
> git clone http://git.mech.kuleuven.be/robotics/rtt_geometry.git
> roscd orocos_toolchain
> git submodule init
> git submodule update
> source env.sh
> rosmake orocos_toolchain rtt_ros_integration rtt_ros_comm rtt_common_msgs
> rtt_geometry

>
> but first I got this error

The errors should be gone after the rosdep steps...if you got these
steps from a wiki page, please update them for groovy !

Peter

ROS Groovy and OROCOS 2.6

Hi Mirko,

On Mon, Feb 4, 2013 at 2:35 PM, <mirko [dot] comparetti [..] ...> wrote:
> Finally the solution was to remove ROS groovy and to install fuerte and do
> the process again.
> I think that the new ROS groovy has several changes, which prevents OROCOS to
> work correclty in that architecture, unfortunately.
>
> Thank you for your help,

Thanks for the update. Regarding the 'sudo', we don't run with sudo
and can still access the RT scheduler using this command:

sudo setcap cap_sys_nice=ep deployer-gnulinux

Then you don't need to run it as root. But be sure to re-run this each
time the deployer-gnulinux was recompiled !

Still, stick with fuerte, since we're also discovering issues with
groovy on a daily basis (both in groovy itself as in RTT-ROS
integration).

Cheers,
Peter

>
> Best regards,
>
> MDC
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users

ROS Groovy and OROCOS 2.6

Hi Peter,
Thank you for the hint about the RT scheduler. I was trying to set it but I
found deployers in the two following folders:
- <...>/ros_workspace/orocos/orocos_toolchain/ocl/bin/
- <...>/ros_workspace/orocos/orocos_toolchain/install/bin/

in different flavours: deployer, deployer-gnulinux, deployer-corba,
cdeployer, cdeployer-gnulinux.
Do I need to "setcap" to all of them?
I run the command "rosrun ocl deployer" with the OROCOS_TARGET environment
variable set to gnulinux, from which folder am I actually executing the
deployer?

Thank you again,

Regards,

- - -
Mirko D. Comparetti

M.Sc., Eng'r, *PhD Student*
Politecnico di Milano - ICT and Bioengineering Department (DEIB)
Neuro Engineering and medicAl Robotics Lab,
Piazza Leonardo da Vinci, 32
20133 Milan, Italy
www.nearlab.polimi.it

Email: mirko [dot] comparetti [..] ...
Phone: +39 02 2399 9013
Fax: +39 02 2399 9003

- .... . / -- .. -. -.. / .. ... / .-.. .. -.- . / .- / .--. .- .-. .- -.-.
.... ..- - .
.. - / .-- --- .-. -.- ... / --- -. .-.. -.-- / .-- .... . -. / .. - / ..
... / --- .--. . -.

2013/2/4 Peter Soetens <peter [..] ...>

> Hi Mirko,
>
>
> On Mon, Feb 4, 2013 at 2:35 PM, <mirko [dot] comparetti [..] ...> wrote:
> > Finally the solution was to remove ROS groovy and to install fuerte and
> do
> > the process again.
> > I think that the new ROS groovy has several changes, which prevents
> OROCOS to
> > work correclty in that architecture, unfortunately.
> >
> > Thank you for your help,
>
> Thanks for the update. Regarding the 'sudo', we don't run with sudo
> and can still access the RT scheduler using this command:
>
> sudo setcap cap_sys_nice=ep deployer-gnulinux
>
> Then you don't need to run it as root. But be sure to re-run this each
> time the deployer-gnulinux was recompiled !
>
> Still, stick with fuerte, since we're also discovering issues with
> groovy on a daily basis (both in groovy itself as in RTT-ROS
> integration).
>
> Cheers,
> Peter
>
> >
> > Best regards,
> >
> > MDC
> > --
> > Orocos-Users mailing list
> > Orocos-Users [..] ...
> > http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>

ROS Groovy and OROCOS 2.6

Hi Mirko,

We definitely need a wiki page for this FAQ !

On Tue, Feb 5, 2013 at 10:43 AM, Mirko Daniele Comparetti
<mirko [dot] comparetti [..] ...> wrote:
> Hi Peter,
> Thank you for the hint about the RT scheduler. I was trying to set it but I
> found deployers in the two following folders:
> - <...>/ros_workspace/orocos/orocos_toolchain/ocl/bin/
> - <...>/ros_workspace/orocos/orocos_toolchain/install/bin/

I'd recommend both. ocl/bin is used by rosrun, install/bin is in your PATH.

>
> in different flavours: deployer, deployer-gnulinux, deployer-corba,
> cdeployer, cdeployer-gnulinux.
> Do I need to "setcap" to all of them?

Only the -gnulinux ones. The others are scripts that call the -gnulinux ones.

> I run the command "rosrun ocl deployer" with the OROCOS_TARGET environment
> variable set to gnulinux, from which folder am I actually executing the
> deployer?

Hmm. If I recall correctly, rosrun changes the CWD. So better source
'env.sh' of orocos_toolchain and run the 'deployer' from your PATH,
which will have the current directory as CWD

Peter

ROS Groovy and OROCOS 2.6

On Tue, Feb 5, 2013 at 10:47 AM, Peter Soetens <peter [..] ...>wrote:

> Hi Mirko,
>
> We definitely need a wiki page for this FAQ !
>

I have also noticed that quite a number of people (including myself) do
work 'a while' with Orocos before finding out about how to use/get access
to the RT scheduler...

> On Tue, Feb 5, 2013 at 10:43 AM, Mirko Daniele Comparetti
> <mirko [dot] comparetti [..] ...> wrote:
> > Hi Peter,
> > Thank you for the hint about the RT scheduler. I was trying to set it
> but I
> > found deployers in the two following folders:
> > - <...>/ros_workspace/orocos/orocos_toolchain/ocl/bin/
> > - <...>/ros_workspace/orocos/orocos_toolchain/install/bin/
>
> I'd recommend both. ocl/bin is used by rosrun, install/bin is in your PATH.
>
> >
> > in different flavours: deployer, deployer-gnulinux, deployer-corba,
> > cdeployer, cdeployer-gnulinux.
> > Do I need to "setcap" to all of them?
>
> Only the -gnulinux ones. The others are scripts that call the -gnulinux
> ones.
>

Hmm, I did do the sudo setcap cap_sys_nice=ep ...-gnulinux command for all
scripts ending with -gnulinux, in both the oc/bin and the install/bin
folder and I still get the following message:

1.656 [ Warning][Thread] Lowering scheduler type to SCHED_OTHER for
non-privileged users..
1.656 [ Warning][Thread] Forcing priority (98) of thread with SCHED_OTHER
policy to 0.

I am using Electric with Orocos 2.5 on a Xenomai system ( the pma-robot-lwr
PC)

> > I run the command "rosrun ocl deployer" with the OROCOS_TARGET
> environment
> > variable set to gnulinux, from which folder am I actually executing the
> > deployer?
>
> Hmm. If I recall correctly, rosrun changes the CWD. So better source
> 'env.sh' of orocos_toolchain and run the 'deployer' from your PATH,
> which will have the current directory as CWD
>
> Peter
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>

ROS Groovy and OROCOS 2.6

2013/2/7 Bert Willaert <bert [dot] willaert [..] ...>

>
> On Tue, Feb 5, 2013 at 10:47 AM, Peter Soetens <peter [..] ...>wrote:
>
>> Hi Mirko,
>>
>> We definitely need a wiki page for this FAQ !
>>
>
> I have also noticed that quite a number of people (including myself) do
> work 'a while' with Orocos before finding out about how to use/get access
> to the RT scheduler...
>
>
>> On Tue, Feb 5, 2013 at 10:43 AM, Mirko Daniele Comparetti
>> <mirko [dot] comparetti [..] ...> wrote:
>> > Hi Peter,
>> > Thank you for the hint about the RT scheduler. I was trying to set it
>> but I
>> > found deployers in the two following folders:
>> > - <...>/ros_workspace/orocos/orocos_toolchain/ocl/bin/
>> > - <...>/ros_workspace/orocos/orocos_toolchain/install/bin/
>>
>> I'd recommend both. ocl/bin is used by rosrun, install/bin is in your
>> PATH.
>>
>> >
>> > in different flavours: deployer, deployer-gnulinux, deployer-corba,
>> > cdeployer, cdeployer-gnulinux.
>> > Do I need to "setcap" to all of them?
>>
>> Only the -gnulinux ones. The others are scripts that call the -gnulinux
>> ones.
>>
>
> Hmm, I did do the sudo setcap cap_sys_nice=ep ...-gnulinux command for all
> scripts ending with -gnulinux, in both the oc/bin and the install/bin
> folder and I still get the following message:
>
> 1.656 [ Warning][Thread] Lowering scheduler type to SCHED_OTHER for
> non-privileged users..
> 1.656 [ Warning][Thread] Forcing priority (98) of thread with SCHED_OTHER
> policy to 0.
>
> I am using Electric with Orocos 2.5 on a Xenomai system ( the
> pma-robot-lwr PC)
>

I tried it too, and unfortunately it also doesn't work here... I'm using
ros Fuerte, Orocos 2.6 (gnulinux), ubuntu 12.04

> I run the command "rosrun ocl deployer" with the OROCOS_TARGET environment
>> > variable set to gnulinux, from which folder am I actually executing the
>> > deployer?
>>
>> Hmm. If I recall correctly, rosrun changes the CWD. So better source
>> 'env.sh' of orocos_toolchain and run the 'deployer' from your PATH,
>> which will have the current directory as CWD
>>
>> Peter
>> --
>> Orocos-Users mailing list
>> Orocos-Users [..] ...
>> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>>
>
>

ROS Groovy and OROCOS 2.6

On 07.02.2013 12:04, Bert Willaert wrote:
>
>
>
> On Tue, Feb 5, 2013 at 10:47 AM, Peter Soetens
> <peter [..] ... peter [..] ...>> wrote:
>
> Hi Mirko,
>
> We definitely need a wiki page for this FAQ !
>
>
> I have also noticed that quite a number of people (including myself)
> do work 'a while' with Orocos before finding out about how to use/get
> access to the RT scheduler...
>
>
> On Tue, Feb 5, 2013 at 10:43 AM, Mirko Daniele Comparetti
> <mirko [dot] comparetti [..] ...
> <mailto:mirko [dot] comparetti [..] ...>> wrote:
> > Hi Peter,
> > Thank you for the hint about the RT scheduler. I was trying to
> set it but I
> > found deployers in the two following folders:
> > - <...>/ros_workspace/orocos/orocos_toolchain/ocl/bin/
> > - <...>/ros_workspace/orocos/orocos_toolchain/install/bin/
>
> I'd recommend both. ocl/bin is used by rosrun, install/bin is in
> your PATH.
>
> >
> > in different flavours: deployer, deployer-gnulinux, deployer-corba,
> > cdeployer, cdeployer-gnulinux.
> > Do I need to "setcap" to all of them?
>
> Only the -gnulinux ones. The others are scripts that call the
> -gnulinux ones.
>
>
> Hmm, I did do the sudo setcap cap_sys_nice=ep ...-gnulinux command for
> all scripts ending with -gnulinux, in both the oc/bin and the
> install/bin folder and I still get the following message:
>
> 1.656 [ Warning][Thread] Lowering scheduler type to SCHED_OTHER for
> non-privileged users..
> 1.656 [ Warning][Thread] Forcing priority (98) of thread with
> SCHED_OTHER policy to 0.
>
> I am using Electric with Orocos 2.5 on a Xenomai system ( the
> pma-robot-lwr PC)

As far as I know, the permissions to run threads/processes with
real-time priority (SCHED_FIFO or SCHED_RR) are handled by ulimit in
Linux. The nice level is only important for threads running with
SCHED_OTHER policy.

"man sched_setscheduler" contains some details about schedulers,
privileges and resource limits. At least in Ubuntu, the upper bound for
the static real-time priority of unprivileged processes can be changed
by adding the following line to /etc/security/limits.conf:

#<domain> <type> <item> <value>
#
* - rtprio 99

With these settings (after a reboot) it is possible to run threads with
arbitrary priorities in Orocos even as unprivileged user. I don't know
if adding the cap_sys_nice capability is somehow equivalent, but I guess
it is not relevant here.

Johannes

>
>
> > I run the command "rosrun ocl deployer" with the OROCOS_TARGET
> environment
> > variable set to gnulinux, from which folder am I actually
> executing the
> > deployer?
>
> Hmm. If I recall correctly, rosrun changes the CWD. So better source
> 'env.sh' of orocos_toolchain and run the 'deployer' from your PATH,
> which will have the current directory as CWD
>
> Peter
> --
> Orocos-Users mailing list
> Orocos-Users [..] ...
> <mailto:Orocos-Users [..] ...>
> http://lists.mech.kuleuven.be/mailman/listinfo/orocos-users
>
>
>
>

ROS Groovy and OROCOS 2.6

On Thu, Feb 7, 2013 at 12:27 PM, Johannes Meyer
<meyer [..] ...> wrote:
> On 07.02.2013 12:04, Bert Willaert wrote:
>
>
>
>
> On Tue, Feb 5, 2013 at 10:47 AM, Peter Soetens <peter [..] ...>
> wrote:
>>
>> Hi Mirko,
>>
>> We definitely need a wiki page for this FAQ !
>
>
> I have also noticed that quite a number of people (including myself) do work
> 'a while' with Orocos before finding out about how to use/get access to the
> RT scheduler...
>
>>
>> On Tue, Feb 5, 2013 at 10:43 AM, Mirko Daniele Comparetti
>> <mirko [dot] comparetti [..] ...> wrote:
>> > Hi Peter,
>> > Thank you for the hint about the RT scheduler. I was trying to set it
>> > but I
>> > found deployers in the two following folders:
>> > - <...>/ros_workspace/orocos/orocos_toolchain/ocl/bin/
>> > - <...>/ros_workspace/orocos/orocos_toolchain/install/bin/
>>
>> I'd recommend both. ocl/bin is used by rosrun, install/bin is in your
>> PATH.
>>
>> >
>> > in different flavours: deployer, deployer-gnulinux, deployer-corba,
>> > cdeployer, cdeployer-gnulinux.
>> > Do I need to "setcap" to all of them?
>>
>> Only the -gnulinux ones. The others are scripts that call the -gnulinux
>> ones.
>
>
> Hmm, I did do the sudo setcap cap_sys_nice=ep ...-gnulinux command for all
> scripts ending with -gnulinux, in both the oc/bin and the install/bin folder
> and I still get the following message:
>
> 1.656 [ Warning][Thread] Lowering scheduler type to SCHED_OTHER for
> non-privileged users..
> 1.656 [ Warning][Thread] Forcing priority (98) of thread with SCHED_OTHER
> policy to 0.
>
> I am using Electric with Orocos 2.5 on a Xenomai system ( the pma-robot-lwr
> PC)
>
>
> As far as I know, the permissions to run threads/processes with real-time
> priority (SCHED_FIFO or SCHED_RR) are handled by ulimit in Linux. The nice
> level is only important for threads running with SCHED_OTHER policy.
>
> "man sched_setscheduler" contains some details about schedulers, privileges
> and resource limits. At least in Ubuntu, the upper bound for the static
> real-time priority of unprivileged processes can be changed by adding the
> following line to /etc/security/limits.conf:
>
> #<domain> <type> <item> <value>
> #
> * - rtprio 99
>
> With these settings (after a reboot) it is possible to run threads with
> arbitrary priorities in Orocos even as unprivileged user. I don't know if
> adding the cap_sys_nice capability is somehow equivalent, but I guess it is
> not relevant here.

>From the capabilities (7) man page:

CAP_SYS_NICE
* Raise process nice value (nice(2), setpriority(2)) and
change the nice value for arbitrary processes;
* set real-time scheduling policies for calling process,
and set scheduling policies and priorities for arbitrary processes
(sched_setscheduler(2), sched_setparam(2));
* set CPU affinity for arbitrary processes (sched_setaffinity(2));
* set I/O scheduling class and priority for arbitrary
processes (ioprio_set(2));
* apply migrate_pages(2) to arbitrary processes and
allow processes to be migrated to arbitrary nodes;
* apply move_pages(2) to arbitrary processes;
* use the MPOL_MF_MOVE_ALL flag with mbind(2) and move_pages(2).

So it covers what we need: setting the scheduler and the priority. We
don't use the limits.conf approach anymore in new systems.

Peter

ROS Groovy and OROCOS 2.6

Hi Peter, hi all,
So your fix allowed me to install all the dependencies and to successfully
compile the orocos_toolchain stack and all my packages.

At the moment the problem I'm facing is this one:

# rosrun ocl deployer-gnulinux
Real-time memory: 517904 bytes free of 524288 allocated.
Switched to : Deployer

This console reader allows you to browse and manipulate TaskContexts.
You can type in an operation, expression, create or change variables.
(type 'help' for instructions and 'ls' for context info)

TAB completion and HISTORY is available ('bash' like)

Use 'Ctrl-D' or type 'quit' to exit this program.

Deployer [S]> import("ocl")
= true

Deployer [S]> import("rtt_rosnode")
[rospack] Error: the rosdep view is empty: call 'sudo rosdep init' and
'rosdep update'
[librospack]: error while executing command
= true

Deployer [S]> import("naxes_motion_control")
[rospack] Error: the rosdep view is empty: call 'sudo rosdep init' and
'rosdep update'
[librospack]: error while executing command
= true

which prevents me to load anything and to work with the deployer, while the
packages compile without any problem.
I did the suggested steps (call 'sudo rosdep init' and 'rosdep update') at
the installation time and also after discovering this error, but
unfortunately this was not a good fix. Do you think this is a rosdep
related problem in groovy? Or is it something else?

Thank you,

Best regards,

- - -
Mirko D. Comparetti

M.Sc., Eng'r, *PhD Student*
Politecnico di Milano - ICT and Bioengineering Department (DEIB)
Neuro Engineering and medicAl Robotics Lab,
Piazza Leonardo da Vinci, 32
20133 Milan, Italy
www.nearlab.polimi.it

Email: mirko [dot] comparetti [..] ...
Phone: +39 02 2399 9013
Fax: +39 02 2399 9003

- .... . / -- .. -. -.. / .. ... / .-.. .. -.- . / .- / .--. .- .-. .- -.-.
.... ..- - .
.. - / .-- --- .-. -.- ... / --- -. .-.. -.-- / .-- .... . -. / .. - / ..
... / --- .--. . -.

2013/1/31 Peter Soetens <peter [..] ...>

> Hi Mirko,
>
> On Thu, Jan 31, 2013 at 8:21 PM, <mirko [dot] comparetti [..] ...> wrote:
> > Hi all,
> > I'm installing on a new Ubuntu 12.04 the ROS & OROCOS architecture.
> >
> > I installed ros groovy with

sudo apt-get install
> > ros-groovy-desktop-full
and then I installed manually the orocos
> stuff
> > with that:
> >
> >
sudo apt-get install libreadline-dev omniorb omniidl
> omniorb-nameserver
> > libomniorb4-1 libomniorb4-dev libomnithread3-dev libomnithread3c2 gccxml
> > antlr libantlr-dev libxslt1-dev liblua5.1-0-dev ruby libruby rubygems
>
> Don't do this manually, since you're bound to mis out some
> dependencies or install the wrong ones.
>
> Instead, use rosdep to resolve them, after you cloned the git repositories:
>
> sudo apt-get install python-rosinstall python-rosdep python-vcstools
> sudo rosdep init
> rosdep update
> rosdep install orocos_toolchain
>
> >
> > git clone --recursive
> > git://gitorious.org/orocos-toolchain/orocos_toolchain.git
> > git clone http://git.mech.kuleuven.be/robotics/rtt_ros_integration.git
> > git clone http://git.mech.kuleuven.be/robotics/rtt_ros_comm.git
> > git clone http://git.mech.kuleuven.be/robotics/rtt_common_msgs.git
> > git clone http://git.mech.kuleuven.be/robotics/rtt_geometry.git
> > roscd orocos_toolchain
> > git submodule init
> > git submodule update
> > source env.sh
> > rosmake orocos_toolchain rtt_ros_integration rtt_ros_comm rtt_common_msgs
> > rtt_geometry

> >
> > but first I got this error
>
> The errors should be gone after the rosdep steps...if you got these
> steps from a wiki page, please update them for groovy !
>
> Peter
>
>

ROS Groovy and OROCOS 2.6

On Fri, Feb 1, 2013 at 8:23 PM, Mirko Daniele Comparetti
<mirko [dot] comparetti [..] ...> wrote:
> Hi Peter, hi all,
> So your fix allowed me to install all the dependencies and to successfully
> compile the orocos_toolchain stack and all my packages.
>
> At the moment the problem I'm facing is this one:
>
> # rosrun ocl deployer-gnulinux

Are you running this as root ?? Make sure that you run rosdep update
as the same user as the user which runs the deployer.

> Real-time memory: 517904 bytes free of 524288 allocated.
> Switched to : Deployer
>
> This console reader allows you to browse and manipulate TaskContexts.
> You can type in an operation, expression, create or change variables.
> (type 'help' for instructions and 'ls' for context info)
>
> TAB completion and HISTORY is available ('bash' like)
>
> Use 'Ctrl-D' or type 'quit' to exit this program.
>
> Deployer [S]> import("ocl")
> = true
>
> Deployer [S]> import("rtt_rosnode")
> [rospack] Error: the rosdep view is empty: call 'sudo rosdep init' and
> 'rosdep update'
> [librospack]: error while executing command
> = true
>
> Deployer [S]> import("naxes_motion_control")
> [rospack] Error: the rosdep view is empty: call 'sudo rosdep init' and
> 'rosdep update'
> [librospack]: error while executing command
> = true

I have never seen this error. However, the =true means that the import
was a success, so you can at least continue working for now ?

>
>
>
> which prevents me to load anything and to work with the deployer, while the
> packages compile without any problem.

So it returns true but the import failed ?

> I did the suggested steps (call 'sudo rosdep init' and 'rosdep update') at
> the installation time and also after discovering this error, but
> unfortunately this was not a good fix. Do you think this is a rosdep related
> problem in groovy? Or is it something else?

Just make sure you don't mix users...

Peter

ROS Groovy and OROCOS 2.6

2013/2/1 Peter Soetens <peter [..] ...>

> On Fri, Feb 1, 2013 at 8:23 PM, Mirko Daniele Comparetti
> <mirko [dot] comparetti [..] ...> wrote:
> > Hi Peter, hi all,
> > So your fix allowed me to install all the dependencies and to
> successfully
> > compile the orocos_toolchain stack and all my packages.
> >
> > At the moment the problem I'm facing is this one:
> >
> > # rosrun ocl deployer-gnulinux
>
> Are you running this as root ?? Make sure that you run rosdep update
> as the same user as the user which runs the deployer.
>

Yes, I'm running the deployer as root in order to access the RT scheduler.
I'm running everything else (included rosdep update) as a normal user,
otherwise I'm not able, for instance, to rosmake anything as a normal user.
Actually this is what is suggested by the error in rospack down here and
what I usually do in other computer with this setup apart from the ros
version which, in the present case, is groovy, and not electric or fuerte.

> Real-time memory: 517904 bytes free of 524288 allocated.
> > Switched to : Deployer
> >
> > This console reader allows you to browse and manipulate TaskContexts.
> > You can type in an operation, expression, create or change variables.
> > (type 'help' for instructions and 'ls' for context info)
> >
> > TAB completion and HISTORY is available ('bash' like)
> >
> > Use 'Ctrl-D' or type 'quit' to exit this program.
> >
> > Deployer [S]> import("ocl")
> > = true
> >
> > Deployer [S]> import("rtt_rosnode")
> > [rospack] Error: the rosdep view is empty: call 'sudo rosdep init' and
> > 'rosdep update'
> > [librospack]: error while executing command
> > = true
> >
> > Deployer [S]> import("naxes_motion_control")
> > [rospack] Error: the rosdep view is empty: call 'sudo rosdep init' and
> > 'rosdep update'
> > [librospack]: error while executing command
> > = true
>
> I have never seen this error. However, the =true means that the import
> was a success, so you can at least continue working for now ?
>

So If I run the deployer as a normal user I cannot use the RT scheduler and
my XML deployer files seems to be working with no errors.
If I run the deployer as sudo with the problem on rosdeb as listed up here,
my deployment xml doesn't work anymore; if I do `sudo rosdep update` I
can't rosmake anymore and the problems in the deployer are not solved.

>
> >
> >
> > which prevents me to load anything and to work with the deployer, while
> the
> > packages compile without any problem.
>
> So it returns true but the import failed ?
>
> > I did the suggested steps (call 'sudo rosdep init' and 'rosdep update')
> at
> > the installation time and also after discovering this error, but
> > unfortunately this was not a good fix. Do you think this is a rosdep
> related
> > problem in groovy? Or is it something else?
>
> Just make sure you don't mix users...
>

I'm "mixing" users but this is something we always do in this way in our
lab and it works...

It is really strange... Can it be a compatibility problem with ros groovy?

Also I noticed that everytime I re-compile one of my module, the rosmake
command anwlays recompiles some of the dependencies which was already
compiled, making the compiling process to last ages! Here I attached an
example: I did a rosmake of all the packages togheter and, at the end of
the process I did the rosmake again on the same packages and this is the
output. As you can see, the previously compiled packages (5 min before) are
compiled again, and the process takes a long time (~30s per package) For
me, is the first time I see such behaviour.

Thank you again for your help,

Mirko

> Peter
>
>

ROS Groovy and OROCOS 2.6

Finally the solution was to remove ROS groovy and to install fuerte and do the process again. I think that the new ROS groovy has several changes, which prevents OROCOS to work correclty in that architecture, unfortunately.

Thank you for your help,

Best regards,

MDC

Solved

Hi Peter, This solution fixed the problem. Now I'll write to the ROS gui to update the wiki page about OROCOS installation inside ROS.

Thank you so much,

Mirko